FileMaker-Drupal Synchronization
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

FileMaker-Drupal Synchronization

  • 2,367 views
Uploaded on

An overview of different approaches to synchronizing your FileMaker databases with Drupal, and vice-versa.

An overview of different approaches to synchronizing your FileMaker databases with Drupal, and vice-versa.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
2,367
On Slideshare
2,367
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
17
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Filemaker & DrupalDrupalCamp Florida, 2013Derek DeRaps derek.deraps@mediacurrent.com drupal.org/user/1571646/contact
  • 2. Todays Program1. About me2. Why FileMaker?3. Methods for Synchronization4. What are Web Services?5. Implementation Overview
  • 3. AboutDerek
  • 4. About Me.2008 Graduated Georgia Tech with BS in CS2010 Introduced to Drupal2011 Launched first Drupal 6 site2012 Launched two Drupal 7 sites2013 Came to work for Mediacurrent My first project at Mediacurrent? FileMaker & Drupal integration!
  • 5. TheProject
  • 6. My first MC Client● FileMaker back-end: Customers, Orders, Products● Orders submitted via Webform (D6)● Then processed manually● Lots of inefficiency, opportunity for automation● Goal: Automate communication of commerce data between FileMaker and Drupal
  • 7. What isFileMaker?
  • 8. FileMaker● Powerful, easy-to-use database software● Made for non-technical users (no coding)● Easily create forms, reports, labels, etc.● Drag & drop scripting editor● Web-publishing engine● Mobile app
  • 9. Over 9 zillion people useFileMaker
  • 10. Lets getSynchronized!
  • 11. Option 1 FileMaker PUSH + Drupal PUSH = Simplest SolutionFileMaker Scripts WSClient module Happy Devs. + HTTP Plugin + Drupal Rules Happy Client. Push data to Push data to Happy Buddha!"Drupal Services" "FileMaker RESTfm"
  • 12. Option 1 Drupal Push via Troi URL Plugin ServicesRESTfm Push via WSClient
  • 13. Not so fast,Buckaroo
  • 14. :(● FileMaker hooks are quirky: No easy way to capture create/delete/update actions.● Plus, FileMaker scripting = easy-to-learn but a headache for developers.● In the end, too much dependency on client to develop and maintain the FileMaker scripts.● How to get FileMaker changes into Drupal?
  • 15. Gotta be aBetter Way
  • 16. Option 2● FileMaker is NOT developer-friendly● So let Drupal do the heavy lifting● No change to Drupal→FM PUSH● Replace FM→Drupal PUSH with a Drupal sync script that PULLs records from FileMaker
  • 17. Option 2 Drupal Services PULL via WSClientRESTfm Push via WSClient
  • 18. (super secret)Option Three
  • 19. What areWeb Services?
  • 20. RESTful Web Services● REST = Representational State Transfer● Exposes resources in a standard way for external "consumption"● Data sent and retrieved in standard formats: XML, JSON, etc.● Follows a standard URL pattern for interaction: Action HTTP method URI CREATE POST /resource-type RETRIEVE GET /resource-type/id UPDATE PUT /resource-type/id DELETE DELETE /resource-type/id LIST / INDEX GET /resource-type
  • 21. Drupal → FileMaker PUSH
  • 22. PUSH via RulesReact on Events● Entity Create, Update, or Delete● Commerce CheckoutConditions● Entity is of Bundle● Field "Do-Not-Sync" = FALSEActions● Create Data Structures to hold entity data● Execute WSClient operation to send REST request
  • 23. Drupal ← FileMaker PULL
  • 24. Pulling FM RecordsCustom Module● LIST records and process them into Drupal Entities● Hint: EntityMetadataWrapper is your friendCron Job● Executes your custom modules sync code● Ideal frequency? Every few minutesPreventing Timeout● Use RESTfm filters and timestamp fields to limit LIST response● For recordsets < 100, easier to just sync all records
  • 25. Further ReadingMediacurrent Blog posts with code examples PUSH: bit.ly/XBBVhc PULL: bit.ly/WRdAqRDownload these slides PDF: bit.ly/14ENET1
  • 26. What Did You Think? Please Evaluate this session at:fldrupalcamp.org/program/schedule
  • 27. Questions? derek.deraps@mediacurrent.com drupal.org/user/1571646/contactBlog Posts Further Reading ● mediacurrent.com/blog/featured-recipe-filemaker-and-drupal ● mediacurrent.com/blog/9-steps-sync-your-filemaker-data-drupal