At PauseOnError, Vincenzo Menanno led the session on FileMaker User Experience (UX) for Developers, brainstorming how to improve the tools we use as FileMaker developers. There were a couple dozen participants, including Heather Winkle, Product Manager for User Experience at FileMaker Inc.
In February, four Beez traveled to New York for PauseOnError, the annual winter gathering of FileMaker developers. PauseOnError runs as an “Unconference”; attendees organize the entire agenda, and work together to support presentations and ad-hoc discussions. This makes for a highly-relevant and participatory experience.
The attached file demonstrates a technique for opening/closing areas of a record, allowing a user to hide the information they don’t want to see.
FileMaker File: DisclosureAreas2.fp7
Neither I nor my client can anticipate every chart that the solution’s users might want to see. A user’s desire to view a high-level visual representation of their data can be spontaneous and idiosyncratic. This technique allows for the user to create an ad hoc chart, albeit within narrow parameters (i.e. the chart is simple, presents only counts of values, and is pre-formatted).
FileMaker File: ChartActiveField.fp7
I wanted to quickly create a firewall port forward (AKA NAT rule) for the Terminal Services port on a Cisco ASA 5505. Since it had initially been setup using ASDM, it seemed natural to also create the port forward this way.
I recently needed to total up some records in a found set in a FileMaker solution, but I wanted to keep all the revisions within the scripts so that I could easily migrate the changes from the development system to production. This solution also already had quite a few “special case” calcs and fields, and I didn’t want to add any more clutter to the schema.
We recently needed to remove the intermediate directories in a large number of parent directories. So, if we started with /A/B/C/D, we wanted to end up with /A/B/D. It seemed simple at the time, so I blithely said “Sure, I can write that easily as a shell script”.
We have a wiki server running Mac OS X Server 10.6, and rather than have users type something like this:
which would be the standard URL, we instead wanted to use the much simpler:
If you have a FileMaker system and you need to script the processing of adding or removing files on the server, the first problem you are going to come across is: how do I stop the server from a script?
You may already be familiar with the fmsadmin command. This is present on both Mac OS and Windows installs of FileMaker server. You can simply run the following command in Terminal to stop the server:
fmsadmin stop server
FileMaker 11 is here! Are you ready for the next generation of the world’s most widely used, easy-to-use database?
As Platinum members of the FileMaker Business Alliance and long-term beta testers with FileMaker, we’ve been testing the new version of FileMaker for a while now and wanted to share some of what we’ve learned.
[Authored by Alex G]
There are many cases where FileMaker’s scripting isn’t always the best tool for the job and where a language like Ruby can bring a lot of power to your FileMaker development. The following is a description of a simple technique for using ruby scripts from within a FileMaker solution without the use of a plugin. I’ve found this technique useful for employing regular expressions for complex text parsing, making web requests to work with web APIs, and for parsing and generating XML and other serialized data structures. Ruby has a wealth of great libraries for doing anything you can imagine and is just plain fun to write.
Most FileMaker Server setups on OSX that I have seen are using the default permissions as set by the FilerMaker Server (FMS) installer. When viewed in the Terminal, they look like this:
drwxrwxr-x 11 fmserver fmsadmin 374 Jul 16 12:54 Databases
[Authored by Ian]
Doing a Google search for “FileMaker web” brings up a bevy of methods, technologies, and acronyms that all seem to have something to do with making FileMaker available to Web users. What follows is a digest of many of these technologies, based on Beezwax’s extensive experience with them. While all of them claim to be the be-all-and-end-all, we’ve found that many of them are dead-ends. Others are useful, but only in very narrow cases. Hopefully, our experience will help you sort the wheat from the chaff and choose a solution that works for your needs. Be warned, however: there is no silver bullet.
[Authored by Ian]
This was the first of several articles around 2009 on designing and implementing FM/Web integrations. Some methods are outdated, but we’ve kept them on our blog because we like some of the general approaches described.
One of the basic questions when considering a FM/Web hybrid solution is how FM and the Web will relate to each other as clients, servers, or peers1. Each possible architecture has characteristic strengths and weaknesses.
[Authored by Alex_g]
[01/04/15 – Editor’s note: Beezwax no longer maintains FMCakeMix, but the open source project became maintained by Atsushi Matsuo. You may find more information, and his contact info on the FMCakeMix GitHub project.]
Today we are making bBox, our toolbox of external functions for FileMaker, freely available to all FileMaker developers. Use it to extend the reach of your FileMaker solutions to resources outside of FileMaker by launching and communicating with other programs, utilizing the powerful commands built-in to Mac OS X, and easily creating, processing, and managing files.
[Authored by Ian]
I’ve been doing work on a couple projects integrating Rails with FileMaker Pro (FMP) over HTTP. There are a few different FMP features and plugins the FMP developers use to connect to Rails, none of which I truly grok. Notwithstanding my lack of FMP knowledge, I wanted to write-up what I expect from FMP as an HTTP client, and what I think would be neat to see.
Passing values between FileMaker and AppleScript can be a pain. Sure, you can use a named field and table in FileMaker to do this, but if you (or someone else) ever changes either of the names your AppleScript routine breaks. So, even though its not the most efficient way to do things, for short routines I often prefer to use FIleMaker’s ability to run a “Calculated AppleScript” (i.e., compile and run a script from a calculated text).
Other than efficiency, one problem with this approach is that you need to convert data into an AppleScript expression. This custom function makes it a simple task to pass a values list from FileMaker to an AppleScript subroutine:
ValueCount ( FilterValues ( lst ; value ) )
Ben Miller and I came up with this tiny little function to tell us how many times a specific value occurs in a list. It’s smart enough to consider full values (carriage-return delimited), rather than partial text strings.
If you’re working with data from outside of FileMaker, you’ll commonly have to work with dates that FileMaker’s GetAsDate function won’t understand. To handle this, I created a custom function that allows conversion of a wide variety of date formats.
Some examples of how the function works: