Signature Capture FileMaker Implementation Details

John Sindelar suggested that I include some more details about our FileMaker Pro/Go Signature Capture Method.

It runs completely within FileMaker. There are no plugins needed and it doesn't communicate with server. It works like this:

  • You load the signature capture layout. It has a webviewer that displays the interface so the user can use their finger to sign the screen.
  • When the record loads, an OnTimer starts to watch the URL of the webviewer for a code indicating that the URL has changed.
  • The user signs the page, enters their name, and enters any other fields that you might add. The Name field is optional.
  • The user submits the web form that's in the webviewer. It uses javascript to change the webviewer URL to a Thank You message with an html comment containing a text flag and the fields including the text representation of the signature as parameters.
  • The OnTimer script sees that the URL now contains the text flag. It collects the parameters and sets the fields in the database.
  • At this point the signature is captured.
  • Viewing the signature is simple. You just need a webviewer to display the text representation of the signature.

It's really amazing that all this can be done with out any add ons. I think the biggest thing that I've learned is that you can have an html form submit its values to the webviewer URL. That makes it easy to communicate back to FileMaker, if an OnTimer script is running to capture the values.

Yesterday, FileMaker Go was updated to include FMP7Script URLs that can contain parameters. We'll update the signature capture soon to use the new URL scheme. If it works like I think it should, the OnTimer Script might not be needed anymore. We might update the interface a bit too.

Feel free to download the demo. It's unlocked so you can examine how it works. [dead link]

Also check out Andy Frazier's demo. His example file takes ours one step further so you can convert the text representation of the signature into an image file that can be stored in a container. [dead link]