Today we’ve made available version 2.0 of our free FileMaker plugin. You can grab a copy here :

Mac Version
Windows 32 bit Version
Windows 64 bit Version

This is our first big release since version 1 and so we’ve bumped the version number to 2.0. There is lots of new and changed functionality in this release.


Added a BE_Base64_URL_Encode function.

This is as well as the existing BE_Base64_Encode. The difference is in the character set and details of the encode. The short explanation is that if you’re using the built in encode / decode, then it will all work fine. However, you’re sending data to web services that use, for example, the php based base64 library then the character set they’re using, and the encode method is slightly different. This often results in values that don’t quite work at one end. The new function produces url safe output and also pads the value in the same way as the web version.

Added BE_CurrentTimeMilliseconds, BE_UTCMilliseconds, and BE_TimeZoneOffset.

BE_CurrentTimeMilliseconds is effectively a copy of GetAsNumber ( Get ( CurrentTimestamp ) ) but was being added anyway with the offset coding.

BE_UTCMilliseconds is just the UTC version of BE_CurrentTimeMilliseconds, but for the UTC timezone.

BE_TimeZoneOffset is the difference ( in minutes ) between UTC and local time. This one will be really handy when doing remote data entry and having to sync back to a server that is outside the current timezone.

BE_ExecuteShellCommand was deprecated. The function still exists, and will still work exactly as before, but no longer appears in the function list when editing a calculation. If typed, or copied it will continue to work though. It’s been replace by …

BE_ExecuteSystemCommand was added. This changes slightly the operation in terms of having a different second optional parameter. Now instead of a waitForResponse option, you can specify a timeout. This is much better in that you no longer get stuck if your process gets stuck. There is still the option to wait for ever by using a -1 parameter, or not at all with a value of 0.

Added BE_FileSize function.

Changed the way the BE_GetLastError function works, so that it doesn’t reset on successive calls. So you can test the value of this result with multiple calls to the function and it doesn’t change until you call some other BE plugin function.

Added BE_HTTP_DELETE and BE_HTTP_PUT, so we now have the full complement of GET, PUT, POST and DELETE, plus we added basic authentication to all of the HTTP functions.

Added default folders to the BE_SelectFile and BE_SelectFolder functions so now you can choose what folder it will start in.

Added a function BE_StripXMLNodes which although not useful to many people is going to be handy to us in the future for our changes to the BaseElements import process which hopefully gives us some useful optimisations we can do.

To Recap

Our BaseElements plugin continues to be free and open source. You don’t need to licence it, register it or pay for it. You don’t even need to tell us you use it, but if you like it, please let us know.

I’ve updated the Functions list with all of the new details and the Todo List page with the changes.

The Future

We already have some things we’d like to do, possibly in point releases of 2.x but possibly also in a 3.0 version. I’d like to add a progress dialog, just something basic with a start and an end. And then I’d like to look at both XQuery and SMTP support. SMTP is an optional one, so anyone who would like this functionality and would consider sponsoring us should get in touch.