Every business needs to have a strong public facing website to be viable in today’s market. WordPress is our recommendation for the best tool available to build that website today.
WordPress powers 28% of the internet, it’s easy to update, provides responsive themes that work on mobile devices, ranks highly with SEO, and has a thriving engaged user community with lots of support. See What Can WordPress Teach FileMaker? by Todd Geist. For more details about WordPress, see this article for Why WordPress?.
Most companies also need a robust custom application solution that automates business processes and makes sharing information easy within their organization. FileMaker fits this perfectly and can act as an information hub that allows many systems to talk to each other. See here for more FileMaker advantages.
Using WordPress and FileMaker Together
So WordPress is the public facing view of the company with information fed to it from FileMaker as well as taking information in via forms and feeding those to the FileMaker solution. FileMaker is the master database used for backend administrative functions, custom reporting, etc. It can also provide rapid iOS development opportunities with FileMaker Go and the iOS Application SDK.
Getting WordPress and FileMaker to talk
So given that WordPress and FileMaker play their respective roles for your company toolset, how do we get them to talk to each other?
We’ve detailed many ways that you can publish FileMaker information on the web through custom web publishing. Pushing and pulling information from a web site is a two way system. Information can be entered in FileMaker and displayed on the web as well as information can be accepted on the web and pulled into FileMaker.
Wait a minute… Why not use WebDirect? WebDirect is a fine solution for internal access to a FileMaker database within a company but it does not scale to thousands of users like a web site must. It is not ideal for creating an entire web site experience the way WordPress does. It can provide a great experience for people that need access to FileMaker information within a specific workflow or for access to FileMaker information similar to FileMaker Go on an Android system.
The advantage of WebDirect is providing a user experience similar to FileMaker with no client installation required as well as no traditional web development skills required. Its disadvantages is that it is not scalable to as many users nor is it ideal to create a modern marketing web site experience with blogs, etc.
There is a product called WordPress FileMaker Sync. It is a simple solution that allows posting (pushing) from FileMaker to WordPress using a plug-in that talks to the WordPress XML-RPC API. We’re talking here about a more robust solution that allows full two-way communication between FileMaker and WordPress that doesn’t require you to learn the XML-RPC API.
We need to create specific tables within the MySQL database that are in a format that is easily readable and writable by FileMaker via ESS. Then WordPress can also access these tables to display or populate information.
The FileMaker Tools
We use ESS (External SQL Sources) and an appropriate ODBC connector to connect FileMaker directly to the MySQL database in WordPress. Then through selective synchronizations at appropriate times we can exchange information back and forth. It’s really easy to work with on the FileMaker side providing a full view into the relevant WordPress info.
An important consideration is the location of the FileMaker Server in this scenario. An onsite FileMaker server makes sense if internet connection is slow or there are a lot of users onsite in one office location. Otherwise, external FileMaker hosting is more cost effective and less work for IT staff. If the FileMaker server is located onsite and the internet connection is not reliable using the direct PHP method could render the web site unusable. So the ESS syncing method is preferable.
360Works outlines a process to Sync WordPress and FileMaker Server using MirrorSync via table sync in the following video. The method displayed is of limited usefulness because WordPress has it’s own table structure and changing that on the FIleMaker side can cause major problems. It could however be used specifically on the specialized tables we will create in WordPress that require synchronization.
The WordPress Tools
We’ve used an internally developed tool called wpIgnite on the WordPress side to create and work with these specialized tables.
The other major tool we use is Gravity Forms … an extremely popular WordPress plugin that provides a rich tool for forms management and generation. It integrates with tons of services making it easy to take payments and send information to many places including FileMaker. For eCommerce websites WooCommerce is available and can also be connected to FileMaker.
There is an article “Getting Data from WordPress to FileMaker” where Agnes Riley used Contact Form 7 which is an alternative to Gravity Forms to get data one way from WordPress to FileMaker. Contact 7 has less functionality and community support than Gravity Forms but is popular (mostly due to the price tag).
So what is the secret sauce to make this two-way information exchange work?
It’s in the connectors. At Cimbura.com we’ve written custom WordPress plugins for WordPress to connect GravityForms and WooCommerce output to a custom tables that can be accessed via FileMaker directly with ESS. We’ve also written code that pushes the GravityForms data directly to the FileMaker database via the PHP API or pre-populates forms on a WordPress website with existing information from FileMaker. With all these tools in place we can create quite complex workflows with scalability and flexibility, taking advantage of all the strengths of WordPress and FileMaker together.
We did some selective demos of this technology at the FileMaker DevCon 2015 and further demonstrated it at an unconference session at FileMaker DevCon 2016. We’ve made the connectors available in BrilliantSync! Let us know via a project request if you’d like to see this technology used in your business.