Syncing FileMaker Found Sets with GoZync 5

GoZync 5 was just released, YAY!. We made some changes to how filtering works to take advantage of some new features that came with FileMaker 13. In this video we cover how filtering works when you are syncing FileMaker with GoZync 5 Read more

Insert From URL Methods And Headers

I needed to figure out what method and headers Insert from URL sent when making requests.  Insert from URL supports a number of different protocols, now.  The two that I was interested in were “http” and “httppost”.  Here is what I found. Read more

Printing Barcodes

Printing Barcodes with FileMaker

I have had a couple of customers of our Barcode Creator product ask me about printing Barcodes.  I referred them to FileMaker’s help on creating label layouts. But there are a couple of oddities about the FileMaker 13 label wizard so I thought I would cover some them in a blog and video. Read more

FileMaker MD5 Hash Function

FileMaker 13 shipped with a new function called GetContainerAttribute().  The function is ostensibly about container fields and their contents. It was designed to let you query the metadata that is often stored along with images; things like geotags, dimensions etc. One the “attributes” that you can get from an image is its MD5 hash.  And that’s where things get interesting.

Read more

FileMaker Draw

Announcing GoDraw v2

FileMaker Drawing Tool

We are very excited to release GoDraw v2.0 today.  GoDraw is a full featured drawing editor that you can easily add to your FileMaker applications. You can give your users the ability to draw on or annotate images, photos, and diagrams. Or you could use it to give your users a FileMaker based whiteboard. In addition to all the new features, GoDraw v2.o runs now runs  on Macs, PC, as well as iPads.

Read more

Checklist For Moving FileMaker Code

Whenever you move FileMaker code from one file to another, you need to do things in the right order. If you follow this checklist everything will work correctly when it is in the new file.  Some of this stuff you can copy and paste or import. The rest you will have to manually copy. It’s not fun, but if you need to rebuild a bad file, merge two files together, or just get a code chunk from one file to another, following these steps can get the job done.

  1. Custom Functions –  Copy and Paste or Import
  2. Tables – Copy and Paste or Import
  3. Graph – Manual Fix. Make sure relationships and names are set up correctly
  4. Adjust Fields –  Any fields that needed relationships will need to be adjusted. One way to do this is to delete all the fields and re-copy and paste the fields from the old file to the new.  That will break relationships, but those might be easier to fix than all of the broken calcs.
  5. Layouts – Manual.  make the layouts with the correct names. Skip content for now. That comes later
  6. Scripts – Copy and Paste or Import
  7. Value Lists – Manual
  8. Themes – Import ( Technically these can go any time before step 9)
  9. Layout Contents – Copy and Paste content, manually set sizes and parts.
  10. Layout Based Script Triggers – Manual
  11. Security ie Accounts and Privilege Sets – Manual
  12. Custom Menus – Manual
  13. File Options – Default Passwords and Window Based Script Triggers

Yes, this is a tedious, time-consuming, fragile process.  But it is the best we have. In the case of smaller code chunks that have been designed with this in mind, like modules, it can be made to work.

FileMaker Multiple Parameters

My Top Feature Request For FileMaker 14

My top feature request for FileMaker 14 is Multiple Parameters for Scripts. It’s a critical part of building complex apps. It’s not yet satisfactorily solved. Compared to other technical issues that FileMaker has taken on like WebDirect, it’s easy. Yet it’s positive impact on the ecosystem would be huge.

FileMaker Inc. has decided  that FileMaker is a platform.  Platforms live and die based on their ability to create a network effect. Recently I wrote about what the network effect did for WordPress and how FileMaker could learn from it. To sum it up, we need more people, sharing more code. I believe that the biggest impediment to that, is our inability to have a native, standard way to pass more than one parameter to scripts.

What’s my evidence?  Years of arguing, wrangling, convincing and cajoling that has gone on in this community over how to do it best. It maybe the number one topic of discussion at I know it has taken  a couple of years to come up with thiers.  Imagine what that energy could have spent on, instead of being wasted over something that should be built in.

As an example, this just came up today on Twitter.

@fmsimplicity ( Drew Sanderson ) is hitting the nail right on the head. “This is a pain with out CFs, yet I don’t want to use somebody else’s”.  There is nothing wrong with the sentiment. It’s legit.

Technical Solutions to Multiple Parameters

There are lots of good technical solutions. Some that rely on custom functions. Some that do not.  Here is a short list.

There are many more. Incidentally there is a new way that just became reasonable. I will discuss that in another post tomorrow. It’s interesting but I don’t think it solves the problem completely.

Good technical solutions aren’t always what’s best for a community hoping for a network effect.  We need solutions that encourage ways of working that allow us to share. Custom Functions do not, as I have argued before.  That is the main reason I support’s Parameters.  You can use that standard without custom functions.  I wouldn’t quite say it’s the lesser of all evils.  But at least it can be made to work without CFs.  But it is not as easy as it needs to be.

Watch out for Anti-Patterns

I have shared my opinion on this with all of the project management team at FileMaker Inc. And while they seem to agree that it is important, it never seems to make the list of new features. I think this is because it seems like it is solved well enough for those who care.  The custom function solutions do sort of work. But only in the way that all anti-patterns do.  They work at first, but eventually lead you down the wrong path.  In this case they lead into fragmentation and fragility.  These are exactly the kind of problems that must be solved at the platform level.

Pass it On!

We need the ability to pass multiple parameters to scripts to be a core, native feature of FileMaker.  We need it ASAP!  If you believe this to be true as well, why not help spread the word? Maybe if enough of us ask nicely, we can get some tractions.

GoSign 3.0.2 Gets Easier To Try with FMP 13.0v2

As I mentioned earlier this week, FileMaker released FMP 13.0v2 with a fix for the FMP URL protocol. This fix let us get rid having to self host GoSign if you wanted to use it locally, without a server. Today we released a new version of GoSign to accommodate those changes.

There is no new functionality beyond removing the self host warning, when launching in FileMaker 13.0v2 or greater. You don’t need to re-integrate GoSign 3 if you already have it embedded into your solution.  This only effects new users trying GoSign.

If you still have GoSign 2 and you are ready to upgrade, please email us. We would be happy to extend a 50% discount to you.

FileMaker 13.0v2 Fixes the FMP URL Protocol

FileMaker 13.0v2 shipped today. One of the things that got fixed was the FileMaker Pro URL protocol. Previously you could only use the URL protocol with FileMaker Go, or with FileMaker Pro hosted files.  If you wanted to talk to FileMaker Pro files that were local on your machine you were out of luck.  13.0v2 fixes this (mostly – see limitation below ).

This is big news and has a wide reaching impacts. I’ll have a lot more to say on it soon. But for now, let me just point out that one of the things it does is make integrating the FileMaker WebViewer with FileMaker itself easier. You can now call scripts from web apps, and web pages running in FileMaker WebViewers. We make heavy use of this technique in two of our products, GoSign and GoDraw. Now it will be easier to get these kinds of apps to work.

If your curious about this sort of thing you might want to check out the above mentioned products, or the free Module,  “Watermark” that makes use of this technique as well. There is a unlocked demo file you can tear apart if you want.

There is still a limitation on Windows.  FileMaker’s WebViewer is powered by Internet Explorer. Internet Explorer doesn’t allow long URLs. That means you can’t pass back long parameters to scripts.  I think the length is about 500 characters, but I’ll have to test it again. [ UPDATE  – 4/4/2014] It looks like that limit is 2048 characters.

more soon…

WaterMarking Photos with the FileMaker WebViewer

All our videos are HD. Please enjoy in full screen. 🙂

The FileMaker WebViewer is a powerful JavaScript Runtime engine.  If you know how to exchange data between the WebViewer and FileMaker you can do all sorts of cool things. In this video we look at a new ModularFileMaker Module I just released, called “Waterwark”. It uses HTML5 and Javascript to get FileMaker’s WebViewer to “watermark” photos for us.


Watermark uses the HTML5 canvas element to place a “watermark” on an another image in a given location, and at a given opacity. Both the photo and the watermark can come from FileMaker container fields.  You can control, the opacity, position and offset from within FileMaker as well. You don’t need to know anything about HTML5 or JavaScript to use this module.

FileMaker WebViewer and HTML5

GoDraw, our drawing add-on and GoSign, our signature capture add-on, both make use of HTML5 , the Canvas element and Javascript to do their magic.  You may want to check them out to see what else you can do with the FileMaker Webviewer.

FileMaker Webviewer Data URLs

We calculate a web page to display in the FileMaker WebViewer control.  That web page contains all of the code needed to produce the final watermarked image. We then display that web page using a data url.  The web page then calls a FileMaker script using the fmp:// url protocol.  The script gets the Base64 encoded image as a script parameter.

The file is hosted and available for download at