Filemaker & DrupalDrupalCamp Florida, 2013Derek DeRaps                            derek.deraps@mediacurrent.com           ...
Todays Program1. About me2. Why FileMaker?3. Methods for Synchronization4. What are Web Services?5. Implementation Overview
AboutDerek
About Me.2008   Graduated Georgia Tech with BS in CS2010   Introduced to Drupal2011   Launched first Drupal 6 site2012   L...
TheProject
My first MC Client● FileMaker back-end: Customers, Orders, Products● Orders submitted via Webform (D6)● Then processed man...
What isFileMaker?
FileMaker● Powerful, easy-to-use database software● Made for non-technical users (no coding)● Easily create forms, reports...
Over 9 zillion people useFileMaker
Lets getSynchronized!
Option 1 FileMaker PUSH     +   Drupal PUSH    =     Simplest SolutionFileMaker Scripts        WSClient module      Happy ...
Option 1                                          Drupal         Push via Troi URL Plugin                                 ...
Not so fast,Buckaroo
:(● FileMaker hooks are quirky: No easy way to  capture create/delete/update actions.● Plus, FileMaker scripting = easy-to...
Gotta be aBetter Way
Option 2● FileMaker is NOT developer-friendly● So let Drupal do the heavy lifting● No change to Drupal→FM PUSH● Replace FM...
Option 2                               Drupal                               Services           PULL via WSClientRESTfm    ...
(super secret)Option Three
What areWeb Services?
RESTful Web Services●   REST = Representational State Transfer●   Exposes resources in a standard way for external "consum...
Drupal → FileMaker    PUSH
PUSH via RulesReact on Events● Entity Create, Update, or Delete● Commerce CheckoutConditions● Entity is of Bundle● Field "...
Drupal ← FileMaker    PULL
Pulling FM RecordsCustom Module● LIST records and process them into Drupal Entities● Hint: EntityMetadataWrapper is your f...
Further ReadingMediacurrent Blog posts with code examples  PUSH:      bit.ly/XBBVhc  PULL:      bit.ly/WRdAqRDownload thes...
What Did You Think?    Please Evaluate this session at:fldrupalcamp.org/program/schedule
Questions?                      derek.deraps@mediacurrent.com                     drupal.org/user/1571646/contactBlog Post...
FileMaker-Drupal Synchronization
FileMaker-Drupal Synchronization
Upcoming SlideShare
Loading in...5
×

FileMaker-Drupal Synchronization

1,857

Published on

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

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,857
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
23
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

FileMaker-Drupal Synchronization

  1. 1. Filemaker & DrupalDrupalCamp Florida, 2013Derek DeRaps derek.deraps@mediacurrent.com drupal.org/user/1571646/contact
  2. 2. Todays Program1. About me2. Why FileMaker?3. Methods for Synchronization4. What are Web Services?5. Implementation Overview
  3. 3. AboutDerek
  4. 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. 5. TheProject
  6. 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. 7. What isFileMaker?
  8. 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. 9. Over 9 zillion people useFileMaker
  10. 10. Lets getSynchronized!
  11. 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. 12. Option 1 Drupal Push via Troi URL Plugin ServicesRESTfm Push via WSClient
  13. 13. Not so fast,Buckaroo
  14. 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. 15. Gotta be aBetter Way
  16. 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. 17. Option 2 Drupal Services PULL via WSClientRESTfm Push via WSClient
  18. 18. (super secret)Option Three
  19. 19. What areWeb Services?
  20. 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. 21. Drupal → FileMaker PUSH
  22. 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. 23. Drupal ← FileMaker PULL
  24. 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. 25. Further ReadingMediacurrent Blog posts with code examples PUSH: bit.ly/XBBVhc PULL: bit.ly/WRdAqRDownload these slides PDF: bit.ly/14ENET1
  26. 26. What Did You Think? Please Evaluate this session at:fldrupalcamp.org/program/schedule
  27. 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
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×