FileMaker Server-side Scripting

Running scripts from FileMaker Server can dramatically reduce execution time. I have been an avid fan of server-side scripting since it was introduced in FileMaker 9. Now, with the introduction of FileMaker Go it is more important to take the burden away from the client and do as much processing on the server as possible. There’s no need to bog down a client when the server can take care of the task in the fraction of the time it takes to run from client. You can use server side scripting to automate record updates from external sources, prepare those pesky Monday morning reports so they are printed by the time everyone comes in or simply use it to update stored data instead of using calculations.

You can run FileMaker scripts or System Level Scripts or even combine them to run a script sequence now! This article deals with FileMaker scripting.

We tend to think, now that we have this feature, we can just build our scripts, run them from server and be done. This isn’t quite true…we have to follow up with the all-important troubleshooting period. At least in my experience, there is no server-proof script that can be installed on a server without further testing and digging and modifications.

So, I collected some pointers from my–and fellow FileMaker developers’–experience that might help you speed up your development when running scripts from server. Don’t be discouraged. You will be happy with the results. Jump in and put some of those tedious scripts on the server, so you and your users can forget about them.

Things to know:

  • Make sure all your script steps are server compatible (choose “Server” under “Show Compatibility”–bottom left corner of “Manage Scripts”).
  • The server runs the opening and closing routines, so you might want to revise your “onOpen” and “onClose” script to bypass some steps that are not relevant to the server.*
  • Globals are set. This may not be an issue, but might be worth paying attention to.
  • No need to script opening a new window, because the server does not execute the scripts from physical windows, but rather a virtual space.
  • If you are referring to an external file in Manage/External Data Sources, folder names have to be hard-coded in the string (such as file:/folder name/folder name/file name.fp7 or filewin:/ if you are on Windows Server).
  • Import locations can only be either:
    • the Documents folder within the Data folder under the FileMaker Server root on your server machine (you can use Get ( DocumentsPath) to get you the right path; Windows users, don’t forget to use the “filewin” prefix);
    • the Temp folder (you can use Get ( TemporaryPath) and see the notes above).
  • Watch the log after you set your script to run, it can only help you!
  • Set up notification emails so you can be aware if something went wrong (you can turn these off after awhile).
  • Errors reported are FileMaker errors, not server errors.

Some caveats:

  • Lack of instant feedback. Even though you test until death locally, new problems can arise when running from server. Put in error checking after every step. I would also highly recommend logging script times.
  • You have to disconnect the client that runs the server script if a script hangs.
  • The script will hang if you forget to put in the “Perform Find” script step (possibly other actions or lack of them can hang the script, as well).

That’s it for now, but I will be adding to this article, so feel free to check back on occasion.

* I usually set up an account called “fmserver” to run the scheduled scripts with. Then I edit my onOpen script to bypass the opening routine if the account is fmserver. That can cut down on time and avoid unnecessary script steps.

Credit: Steven Blackwell, Todd Geist


Agnes Riley presented the FOCUS Framework to the NY FileMaker Developers’ Group

On June 10, 2010 Agnes Riley of ZeroBlue presented the FOCUS framework to the NY FileMaker Developers’ Group. The demonstration included the main features of the free FOCUS framework, from how to quickly create tables and layouts and how privileges allow/disallow navigation. Participants also learned how you can modify the framework with your own design: theme and icon set. For ZeroBlue development starts with the FOCUS framework. It enables the developers to get a project off the ground in significantly less time than if created from scratch. The framework also comes with a large number of invaluable custom functions such as Geoff Coffee’s function for passing variables and several other ones by Will Baker. The modified version includes custom search and QuickFind capabilities. While this version of the framework was created for FileMaker 10, it works just as well for FileMaker 11.

The framework was developed by Vincenzo Menanno and Will Baker of Beezwax and can be customized to each customer’s needs.

To learn more about how your database can be created by using the streamlined FOCUS framework to cut down on development time, please contact us.



iPad Quiz Results in a FileMaker Chart (with demo file)

All of you who have taken my iPad Quiz probably wondered where the results went. Well, I’ve been busy and most of you probably pre-ordered an iPad by now, but here are the results anyway. I am also including a demo FileMaker file to see how the results were charted. The data comes from the same source table, hence the anomalies on the charts.

Exporting Container Field Contents To Folders From FileMaker

Someone asked me today to help export container field contents. The additional requirement was to store the images in unique folders (because the container field contents might not have unique file names). I have created a short video to share the process with people:

Click here to watch this video in high resolution.

I highly recommend replacing your old method of storing images in container fields with a new method: SuperContainer from 360 Works. It has a lot of advantages, one of them is reducing the file size tremendously. I use SuperContainer in almost every solution I build.

Download demo file

Special Thanks:

I’d like to thank the following people for their help in getting me on the right track here:

Steven Blackwell
Lee Hoong
Bruce Robertson


Adding shortcuts to FileMaker on Mac OS X

I have a seen a lot of complaints on mailing lists about shortcuts – that developers are used to – that are now missing from FileMaker 11. I may not be able to help restore those shortcuts, but I would like to show you how you can add shortcuts to menu items that do not have one.

Click here to view the video in high-quality.

In addition, you can invoke the “Inspector” by hitting Command + “I”, and you can switch between the tabs by hitting Command + “1” for Position, Command + “2” for Appearance and Command + “3” for Data.


Importing RSS Feed Into FileMaker with XSLT


Per popular request I am revisiting this article. I made some edits and also now you can download the the demo file.

Someone sent an email to our FileMaker group to request information about importing RSS feed into FileMaker. Since I have done this and it’s actually quite easy, I thought I’d post the method here.


  1. FileMaker (8.5 or later because you need Web Viewer);
  2. A FileMaker database ;
  3. An XSLT style sheet; (I found this style sheet somewhere some time ago; didn’t write it myself)
  4. A web host where you can post the XSLT file;
  5. An RSS feed that actually works with this (e.g. Yahoo Stocks:;
  6. A script that pulls the info (which now can be run on server if you have FMS 9 or 10);
  7. A table in your DB for storing the RSS feeds;
  8. A portal on your layout that shows the list of RSS feeds;
  9. A web viewer in your database that can display the resulted web page;
  10. A script that tells the web viewer to show the requested article.



  1. Create a new table called ‘RSS_Feed’ in your solution (since this only works in FM 8.5 and later, there’s no need for a separate file). Create the following fields: ID, Title, Description, Link, PubDate, SelectedLink;
  2. Link the new table to your preferred table (Global, Solution, etc.) by showing all records (‘x’ symbol);
  3. Create a new layout in your solution, place a portal on it showing the records from the RSS Feed table (link and description fields, minimum). Place a web viewer next to it. Name your web viewer object “article”;
  4. Create a script similar to this example to refresh the feed (you can run this script from a button on your layout or at certain intervals from the server):
Go to Layout [ "Layout Name" (Table Name) ] Enter Browse Mode Show All Records Delete All Records [ No dialog ] Import Records [ XML (from http):; XSL (from http): ] [ No dialog ] Go to Layout [ original layout ] 
  1. Create a script for showing the article:
 Set Field [ RSS_Feed::SelectedLink; RSS_Feed::Link ] Set Web Viewer [ Object Name: "article"; URL: RSS_Feed::SelectedLink ] 
  1. Turn your title field on your portal into a button and link to perform the script above.

This is most likely not the only method; it may not be the best method either. It is, however a working method.

Any questions, suggestions, feel free to respond.


Demo of the FMTouch iPhone App with a FileMaker database

Photo by Sandy Hechtman

December 11, 2008: Agnes Riley presented a FileMaker-made-mobile solution to the members of the New York Motion Picture Collective and the New York FileMaker Developer Group. The presentation demonstrated bringing a database from FileMaker to the iPhone through the use of FMTouch.

Click the images below to get a closer look:

Click the image below to see the video:

Now, let’s look at how this is done. To get started with porting your own database to the iPhone or iPod Touch, you will need the following:

It may seem daunting at first, but these simple steps will allow you to begin:

  1. Design your layouts you would like to use on the iPhone according to the style guide;
  2. Buy FMTouch form the iTunes Store;
  3. Download the synch plug-in and place it in your FileMaker?s extension folder, then restart FileMaker.
  4. Make sure the plug-in is enabled.
  5. Set up synching to your database on the iPhone (check the User?s Guide for more on this);
  6. Transfer DDR to iPhone;
  7. Name your Database;
  8. Initialize DDR;
  9. Choose the layouts you want to see;
  10. Re-initialize;
  11. Synch your database to get the data from the computer;
  12. Open your database.

Congratulations! Now that you have a FileMaker database working on an iPhone or iPod Touch, here is a list of tips and tricks that might be helpful to you, as well as observations to be mindful of as you move forward in your own development.


* You can design the layouts based on the example DB and provided style guide. Make sure you pay attention to scrolling with fingers. If you don?t want editable fields to get in the way of scrolling, make sure to lock them down.
* With FMTouch you can show layouts in ?portrait? (vertical), ?landscape? (horizontal) or ?both? modes. The iPhone is not able to differentiate between layouts whether they are designed for portrait or landscape modes. So you cannot simply rotate the phone in the hope that it will switch to a different layout. So, at this point you?re better off locking FMTouch to either vertical or horizontal mode, which you can do if you go to ?Settings? after you click on the little ?i? on the bottom right.
* Every time you change the layouts you would like to show, you have to reinitialize your solution.


FMTouch is currently unable to show more than one line in a label showing text on the layout. You can, however, use two different workarounds:

  • You can type every line of text into a new label;
  • Or you can create a calculation field with the text you would like to show and place that on the layout.


You can use container fields in layouts, but they can only show a reference to an image. Only import the reference when you import an image; it will not show in FMTouch otherwise.


You can use the following script steps attached to a button on a layout:

  • Go to Layout*
  • Go to Record
  • New Record
  • Delete Record
  • Set Field
  • Go to related record.

* Note: You can use the ?GoToLayout? script step directly from a button, but you cannot use this script step as part of a script, because ?Perform Script? is not a supported script step.

Special thanks to Christina Tsao for her help with the database layouts.

Downnload the instructions (PDF)

I hope this has been helpful.



This is exactly how I envisioned my application over a year ago, when I started working on it with some developer friends, except one or two EXTRA features, which I am not going to elaborate on.

Evernote, however is an excellent application for collecting notes from the web or your head and then syncing them automatically to different platforms, such as your iPhone. I have already made a nice FileMaker-related notebook on my Mac desktop app from different sources. The information can be tagged and is searchable, as well as you can email notes as PDFs automatically. Two thumbs up, Evernote!

In the image below you can see my collection of FileMaker-related notes:


[cta title=”Get Custom Development” btnurl=”/contact” btntext=”Contact Us” btncolor=”blue”]

At ZeroBlue we shine at building custom FileMaker solutions that do exactly what you need them to do with a focus on ease of use paired with crisp interfaces.