Hello everyone,
I thought you would all be interested to know that I am working with Tommy K (in this group) and a Drupal developer named Kris Shinn to build a Filemaker module for Drupal.
We have scoped out very modest goals for the initial release.
The module will:
- Take the XML returned by Filemaker Server via a URL query string, parse it and store it in a local MySQL table with a refresh/requery time assigned to each query.
- The resulting table data will be available to Views for incorporating into an existing Drupal site
At this point we have a working module but it hasn't been tested outside of a controlled environment and still has a few parts of Views to be integrated and the documentation hasn't been written.
Besides requiring FileMaker Server the only two things to note are that for the initial release neither portals nor containers will be supported.
Once we are ready to have more people test this I will post to the group. Hopefully it will be in the next two weeks.
Thanks,
David

Comments
Great news!
Thanks David. Really cool that this is coming together.
I'm not a strong developer, but would be happy to help in anyway I could.
Thanks
Thanks for the effort. keep it coming...
early version for testing
Hi,
We have a version of the Filemaker module that basically works and if anyone is willing to do some testing and provide feedback I would appreciate it. We are working on getting it posted to the modules section of the Drupal site too.
Here's the basic idea of how it works:
----
There is some basic error checking here and if you have a bad datasource the datasource entry will still be entered in the database but you will be returned a Filemaker error as well.
----
Once your datasource is configured go to build/views and add a new view
- under "View Type" you should see an entry for your datasource
- build your view as normal
----
What definitely isn't working:
----
PHP 5.3 is not recommended as it isn't compatible with Views and other parts of Drupal 6.
Depending on your web host you may run into Apache timeouts or MySQL max packet size errors, setting the max packet size to 32M seems to take care of most errors I get on large datasets, upping Apache or PHP timeouts hasn't been necessary yet, but it may.
It's not recommended to run this in a production environment.
Please post feedback to this thread, I'll try to reply but I can't do too much tech support.
You can get the file from my public Dropbox folder until we are up in the modules section:
http://dl.dropbox.com/u/5054917/filemaker_drupal_module-04052010.zip
Filemaker reference
Filemaker has available an XSLT starter solution which includes a database called "Query String Reference" which will help you build datasource strings in custom web publishing and in use with this module; http://www.filemaker.com/support/technologies/xslt.html - scroll all the way down to "Custom Web Publishing reference databases" in the XSLT Starter Solution section of the page.
Thank you for your work
Maybe I can use it for a project I'm working on right now.
I have to include a FM-database (parts of it, actually) into a drupal page.
Problem is, it's a special FM-solution based on a very early FM-version and it's NOT the server one.
I wonder if I still can build s.th. on your module. Is there a way to easy change the input of your module from FM-server-URL to a xml-file?
I would appreciate pointing me to the right direction.
Regards,
krabbe
Maybe . . .
All we are doing is taking the XML that comes out of server and parsing it into it's own table and accessing it by Views.
I'm pretty sure you can do that same thing, more or less, so long as your XML file is in the same format/structure as FileMaker uses in the FMPXMLRESULT and you can get the module to pick up your XML file by some URL (i.e. http://127.0.0.1/MyXML_file.xml)
If you have access to Filemaker Server and a copy of Firefox it's very easy to look at the structured XML, there's also sure to be some documentation on filemaker.com about the doc. structure and maybe a style sheet that will help you with exporting your data into the right format.
I've also uploaded a sample with two records (FMPXMLRESULT.xml) file to my Dropbox, this is taken from Brian Dunning's sample file of 5000 Names - the data is not real:
http://dl.dropbox.com/u/5054917/FMPXMLRESULT.xml
I'll give it a try and get
I'll give it a try and get you informed.
Thanx a lot
What happens to the data after import
Integrating your test-db worked perfect.
After adding the source I found three new tables in my drupal-db, one filled with data from the xml-file.
This leads to the next question:
What happens to these records if the xml-source-file changes? I.E., there are some records deleted and some added in filemaker, I export an xml-file, update it to the server. Are the changes transfered to the FM-table in drupal-db automatically (maybe with cron)?
In other words, does your module sync the xml-data with the drupal-db?
Once again, thanks for your work.
It seems, another great drupal-module is born...
Regards,
krabbe
That's great, glad to hear
That's great, glad to hear it's working for you.
The refresh cache value that you set in the datasource form triggers a new import at each interval - and yes, this is triggered by cron so you need cron to run periodically.
The way we did is to dump and reimport the table so to make sure we can pick up any schema changes.
So, what you have is a kind of snapshot of your filemaker data that is as current as your refresh rate.
Best,
David
So, what you have is a kind
And that's exactly what I need. Perfect.
say...
I haven't test the module. will do that after my new machine come in.
I was wondering how do you get data from FileMaker Pro server? Can we do it through FileMaker CDML query? I think this will be useful to get data from a large/multiple database as would have query it through FileMaker CDML query.
Example:
-db=TestDatabase=XMLFind&-format=-dso_xml&-op=eq&Item=Test123&-max=all&-find
Cheers,
Jeno
Ooops..
Just realized that The latest version of FileMaker 11 Server doesn't have CDML anymore, instead they are using XSLT/PHP.
I am still on server 8
Yes, you'll need a newer
Yes, you'll need a newer version of FMS and in the extended privileges allow Access via XML Web publishing for the account you want to use as your web enabled user.
Search by Page module
For anyone using the Filemaker module to build Views and wants to have them searchable I would recommend using the Search by Page module, http://drupal.org/project/search_by_page
There is very little chance we will be building a hook into core search as part of the Filemaker module; please let me know if there are any other ways of searching pages defined by Views, it's always good to have options.
How is the project going?
We have several FileMaker dbs that we currently pull data from to our existing website using Lasso, however, we will be moving that site to Drupal in the next month or so and don't want to lose any of the current functionality we have. It would be great if we could talk directly to FMS (11) from Drupal. We don't need to be able to use Drupal's native search functionality for the pages, just display data and in some cases use a form to send data directly to FileMaker. Being an absolute Drupal newbie, your module sounds exactly like what I'm looking for, but I'm just wondering if the development on the module is continuing?
Thanks!
The module is done for the
The module is done for the time being, it's in the process of being added to the Drupal Modules directory and we'll be putting it into production on a couple of sites this summer - but it doesn't handling editing Filemaker records, for you that would need to either add that functionality into the module or use some other method such as FX.php or the FileMaker PHP API.
Error?
I am getting an error. not sure how to fix it.
array(4) { ["type"]=> int(64) ["message"]=> string(83) "require_once(): Failed opening required './filemaker_table.php' (include_path='.:')" ["file"]=> string(78) "/opt/local/apache2/htdocs/drupal/sites/all/modules/filemaker/filemaker.install" ["line"]=> int(92) } n/a
Can you give me some more
Can you give me some more information about what you have going on and when the error occurs?
From the path is seems like you are running this on a MacPorts install of Apache, if you can give some details about what version of PHP and Drupal and MySQL you have installed that would also be helpful.
Thanks.
ok
sorry for not being specified.
-MacPorts 1.9.1 on Mac OS X 10.5.8
-Apache 2.2.15
-PHP Version 5.3.2
-mysql5 5.1.48_0
I was reinstalling the module the second time. (I put in a wrong FileMaker path the first time and it won't allow me to edit, it also prompt me about a time zone error in the php file).
I'm guessing you mean you put
I'm guessing you mean you put in the wrong path to your datasource at /admin/build/filemaker - but the module should be allowing you to edit or delete it, are you using the most recent version of the files?
http://dl.dropbox.com/u/5054917/filemaker_drupal_module-04052010.zip
In any case, you can dump the tables from the database and start over and that should clear it up.
Let me know how it goes.
OK
Thanks David.
OK, I've managed to get it working again. I am still seeing the settings I created previously.
warning: strftime(): It is not safe to rely on the system's timezone settings. You are required to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier
When I try to delete it, it return me an error:
The requested URL /admin/build/filemaker/1/delete was not found on this server.
Thanks,
Jeno
Hi Jeno, I've had both these
Hi Jeno,
I've had both these problems in the past, but was able to get around them by going to an earlier version of PHP and clearing the caches after I dumped the tables to start over.
The strftime error results from a conflict php5.3 and Drupal 6's date/time handling. My understanding is that while some parts of Drupal 6 have been patched to work with php5.3 many functions will still throw an error and it won't really be compatible until Drupal 7.
MacPorts has a php52 port which is what I ended up going with, or you can do Drupal development with the MAMP application, they have an older installer that runs 5.2
You can clear the caches under administer/performance or through the Admin menu module if you have that installed.
Thanks,
David
Hello David, Sorry for the
Hello David,
Sorry for the late reply, I am having some problem rebuilding my system. The mysqld.sock file just doesn't want to stick :(
This is how my system looks like now:
-Macports 1.9.1
-Apache 2.2.15
-PHP 5.2.13
-Mysql 5.1.48
OK, back to the module. I re-look into the settings and I realized I need a way to query the Filemaker database from within drupal.
Where should I put the setting?
Filemaker Settings (under Home › Administer › Site configuration)
Filemaker FX settings (under Home › Administer › Site building › Filemaker)
Also, what would I have to put in as the source in order for me to make query?
This is an example query I would use when using a web browser:
h t t p://user:user@xxx.xxx.xxx.xxx:xxx/FMPRO?-db=dummy1&-lay=XMLFind&IdNoJob=1234567&-format=-dso_xml&-max=100&-find
For every query, I change the "1234567 to whatever job I want to look at in a web browser. I am wondering what "generic" address I should put in as source to enable me to search job.
Cheers,
Jeno
Hi Jeno, I'm not sure I
Hi Jeno,
I'm not sure I understand, but I think you are trying to do something that is not possible with this module.
What this module does is take Filemaker Custom Web Publishing XML output and parses it into a MySQL table within your Drupal database. That table is then accessed by building a view with the Views module so the data can be presented as a page or a block or a panel or whatever in your Drupal site.
If you want to do a live search on your database with a Drupal interface I would recommend using the FX.php library to build PHP pages have the search go through FX which allows you to directly query the Filemaker database.
ahhhh.....thats what I
ahhhh.....thats what I thought. Sorry for being so greedy, maybe I am thinking too far :)
OK, I will play with it during the weekend and see what else can I come out with.
Thanks & Regards,
Jeno
Viewing results of the xml
Hi all,
I am trying to use this module. I need a little push in the right direction.
So far I did the following
Installed the module
Created a new Filemaker source, that contains a sample query
Installed the Views module
Used the views tutorial to create views of my Dural data.
How do I now use Views to view the Filemaker data from my query?
What type of view do I start with (Node, Comment, File etc).
Where do I see the Filemaker fields, or data?
Suggestions would be appreciated. This tool seems like just what I need. I only wish I knew how to use it :)
Joe
XML views
David
I am getting close. The screen shots definitely helped.
My problem is, still the same. At least I know where to look :)
I put in a valid URL into the setup of the Filemaker module.
(the URL pulls info from one record, all info is hard coded and if I paste it in a browser I get the data I expect)
I go to views, and my data source is not listed.
That do you think I am doing wrong? How do I know I have the most recent version of the module.
Joe
Hi Joe, The most common
Hi Joe,
The most common problem I've run into is with bad datasources getting entered and keeping the rest of the module from working, have you tried de-activating and uninstalling the module and manually clearing out any residual tables if they still exist (the uninstall process should dump everything if it's working right).
Once you are sure it's all cleaned out try activating the module again and set up a new datasource and see if it shows up as a view type.
Quick and dirty instructions
Hi Joe,
I'm sorry I haven't taken the time to write up proper instructions - but I did make a very quick and dirty series of screenshots that will hopefully get you where you need.
http://dl.dropbox.com/u/5054917/FMP-Views.jpg
SQL error
David
Progress!
I was able to see the source in my view.
But I get this error when trying to preview.
user warning: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Name, FM_holme.
StudentIDAS StudentID FROM FM_holme FM_holme LIMIT 0' at line 2 query: SELECT FM_holme.id AS id, FM_holme.Student NameAS Student Name, FM_holme.StudentIDAS StudentID FROM FM_holme FM_holme LIMIT 0, 10 in /Users/jsalem/Sites/acquia-drupal/modules/acquia/views/includes/view.inc on line 771.FWIW, I am using Aqual Drupal stack on a Mac.
suggestions?
Joe
Most likely you have a
Most likely you have a Filemaker field with a name that is reserved for use by MySQL, i.e. Key, or maybe Name. Try renaming your fields to be something safe. What I've started doing is making a related table with names like web_name, web_key, web_address, etc. so I know I won't run into this if the database hasn't been built with some kind of naming convention that would otherwise prevent this from happening.
Having trouble connecting to FM Server...
Hi David-
Thanks to you and the team for all the work you're doing on this module. I hope you know how much it's appreciated! I'm running into some issue(s) though that I hope can get me steered straight on:
When I setup the connection in the FileMaker Settings area under Site Configuration, using the syntax posted above, it doesn't appear to be making a connection. I say this because after setting it up in the config window and then visiting the the Add Source page under Site Building, I get a blank page. I've used these settings:
http://IPADDRESS/fmi/xml/FMPXMLRESULT.xml?-db=DBNAME&-lay=DBLAYOUTNAME&-... and
http://web:web@IPADDRESS/fmi/xml/FMPXMLRESULT.xml?-db=DBNAME&-lay=DBLAYO... and
http://web:web@IPADDRESS:8000/fmi/xml/FMPXMLRESULT.xml?-db=DBNAME&-lay=D... and
FM Port: 80
FM Server Type: FileMaker Pro 7 (it's running FMSA11)
User & PW specified
What's curious is that if I just plug in the IP address of my FMSA rig and then visit the Add Source page under Site Building, I can see all of the layouts in my system. Once I select the layout that I'd like to use (plain layout with only the fields I'm interested in) and hit Save, I receive the following warning:
• warning: fopen() [function.fopen]: Filename cannot be empty in /Applications/MAMP/htdocs/SITENAME/sites/all/modules/filemaker/filemaker.module on line 190.
• Invalid Filemaker data source:
Lastly, when I paste the following URL in my browser, I get all of the data flowing in as I would expect (rawly formatted):
http://IPADDRESS/fmi/xml/FMPXMLRESULT.xml?-db=DBNAME&-lay=DBLAYOUTNAME&-...
Any ideas or suggestions would be greatly appreciated. Thanks for all of the efforts on this module to date!
Sean
Unfortunately that part of
Unfortunately that part of the module isn't completed - the idea was to create a way to configure FX.php via Drupal's interface but we never did it. Everything that relates to setting up the datasource is under admin/build/filemaker and then configured in admin/build/views
Is something wrong in my URL then...
Thanks for the reply David.
I'm wondering if something is wrong then in my URL that I'm using to connect to the server. It doesn't seem as if I'm getting as far as some of the users on this thread.
Any way you could break it down so that I can determine where I'm slipping up?
Thanks!
Sean
step 1: take the url and go
step 1: take the url and go to admin/build/filemaker and use it to create a datasource
step 2: go to admin/build/views/add and create a new view with a view type of your datasource (the one you created in step 1)
step 3: using the fields created by your datasource in admin/build/views/edit/your_view_name - select the filemaker fields pulled from your datasource to create your view.
this is what I was trying to illustrate in my image here: http://dl.dropbox.com/u/5054917/FMP-Views.jpg
let me know what parts are confusing or don't seem to work and I'll do my best to help.
The URL
Thanks for your help David.
I think the hurdle I'm trying to get over is the format of the URL. I'm pretty clear on 2 & 3 though. My Drupal install isn't taking my URL in the format you've laid out above and I'm afraid I'm not specifying a parameter correctly.
Thanks!
Since you are using MAMP I'm
Since you are using MAMP I'm going to guess that you'll need to specify a port to get to the FM server if it's on the same machine, anyway, the best thing to do is to check your URL in firefox and make sure you are getting a valid result. Once you've got that try using the URL in Drupal with a new datasource with a new name - just in case you've got some old temp tables in there still from the failed attempts.
Still something missing
So, I uploaded a differently named copy of the database to my FileMaker server and fired it up. I then pasted the following URL in firefox:
h t t p://IP.IP.IP.IP/fmi/xml/FMPXMLRESULT.xml?-db=DBNAMEHERE&-lay=DBLAYOUTNAMEHERE&-findall
and after providing my user creds, got a big data dump on screen.
I then proceeded to Administer->Site Configuration->Filemaker Settings. There, I pasted the URL used above and entered FM port 80, FM Server type FileMaker 7 and the correct username and password and saved it.
After the configuration was saved, I proceeded to Administer->Site Building->Filemaker and clicked the Add Source button. Upon doing that, it took me to a blank page at the following address:
h t t p://localhost:80/SITEDIRECTORY/admin/build/filemaker/add
Any other ideas? As I mentioned above, pasting the URL above gets me a successful data dump, but the drupal module can't seem to make a go of it.
Thanks again David!
Sean
add page follow up.
I did a new install of the module, so now when I add the source, I'm getting a page with the following fields:
Label
Name
Source URL
Cache Length (default value = 60)
I created a name and a label and re-entered my URL that gave me the datadump earlier. When I click save, I'm confronted with these errors:
• warning: fopen(h t t p://IPADDRESS/fmi/xml/FMPXMLRESULT.xml?-db=DBNAME&-lay=DBLAYOUTNAME&-findall) [function.fopen]: failed to open stream: HTTP request failed! HTTP/1.1 401 Unauthorized in /Applications/MAMP/htdocs/anaheimoc-sandbox/sites/all/modules/filemaker/filemaker.module on line 190.
• Invalid Filemaker data source: h t t p://IPADDRESS/fmi/xml/FMPXMLRESULT.xml?-db=DBNAME&-lay=DBLAYOUTNAME&-findall
Also, FWIW, the drupal install and the FMSA are on two separate boxes.
Ugh! Thanks!
Sean
I'm pretty sure that error is
I'm pretty sure that error is coming back from your FM Server and 401 errors are authentication errors, you have a permission problem somewhere in your setup - Does your data source URL contain the username and password at the start of the URL?
From your post it looks like you are using:
h t t p://IPADDRESS/fmi/xml/FMPXMLRESULT.xml?-db=DBNAME&-lay=DBLAYOUTNAME&-findall
but you should be using:
h t t p://USERNAME:PASSWORD@IPADDRESS/fmi/xml/FMPXMLRESULT.xml?-db=DBNAME&-lay=DBLAYOUTNAME&-findall
Whatever became of this module?
Did you ever apply for a project page?
yes, but . . .
http://drupal.org/node/807010
We are looking into our options, would you be interested in doing some of the work to address the issues noted?
Yet another FileMaker module
I have an alternative module that interacts with live FileMaker databases, as opposed to importing/exposing to views. It is based on the FileMaker API. I was about to contribute it, but see that getting CVS access and a project page is perhaps not as easy as I hoped.
Are you interested in seeing my module? Possibly combining forces?
Having trouble in integration of module
Have tried installing this module. I followed all steps provided in README.txt file and getting error as Libraries: (missing). Possibally m missing something. Any ideas or suggestions would be appreciated.
Thanks for all of the efforts..
Thanking you,
Amresh
FileMaker module troubles...
1) You might want to post this in the module issues queue instead of here.
2) You need to install the libraries module, which is responsible for ensuring the FileMaker API for PHP in installed.
FileMaker module troubles
Tedstein,
Thanks for your reply.
Have placed module here
C:\xampp\xampp\htdocs\drupal6\sites\all\modules\filemaker
and
Filemaker API here in library folder
C:\xampp\xampp\htdocs\drupal6\sites\all\libraries\filemakerapi
Still I am getting same error.
Thanking you.
Close. Just install and
Close.
Just install and ebable the libraries module:
https://drupal.org/project/libraries
If you have any additional issues, please add them as issues to the issue queue for the FileMaker module.
Closed File maker implementation
Tedstein,
Thanks a lot for helping me out now its working :).
Thanking you,
Amresh
FileMaker Module
I am looking for a good working FileMaker Module for Drupal
FileMaker Module
I am looking for a good working FileMaker Module for Drupal