Experience report

Save larger projects as an add-on

Tested with FM Starter 2

28. May 2021In Testimonial, TipsBy Karsten Risseeuw9 Minutes

FileMaker add-ons are often touted as small solutions. But what about exporting larger projects with lots of tables, scripts, layouts, etc. as an add-on? Is that possible?

The challenge

All of the FileMaker add-ons I know today are “small” projects. These are functions, simple solutions with relatively few tables, layouts and scripts. Is it possible to generate larger add-ons, and why would you want to do that?

Well, I’ve tested this. More on that in a moment. But why would you want that? Isn’t it enough that you can launch small, specific projects? Well, add-ons are useful, but some tasks are a little more complex, so they require complex or larger add-ons.

For example, you can create a simple but complete address management system as an add-on. This could be a basic module for further development, with all important tables already linked and some functions built in. An invoice module could also be developed as an add-on, with the basic tables for documents, line items, print layouts, etc. already in place. The real question is about complexity: How complex or large can an add-on be?

If it is possible to create larger building blocks, some projects will benefit from it.

FM starter as an add-on

FM Starter is the starter file that we sell as a product. With it, every new FileMaker project can be set up fast and important functions are already integrated. It is a real-life Start-up support for all “new” projects. That’s how we market it too.

However, I regularly have developers on the phone who already have a project running and who like to integrate the functionality of FM Starter. “Can you also integrate FM Starter into an existing project?” is a question I hear regularly. My answer to this is always: Yes, that is possible, but …

FM Starter is almost completely modular. This allows you to transfer FM Starter module by module to another file. It works, even if it is complex. There are no relations (apart from 1 relation for the design page, which allows portals to be displayed). The starting point is good. The file still has a lot of tables, countless scripts, settings and many other things. What makes it more demanding is, that many modules depend on each other. For example, the “Navigation” module uses the “User Management” and “Multilingual text labels” modules.

If you want to integrate the original FM Starter file into another project, it is quite time-consuming. If you can save the entire start file as an add-on, then this paves the way for a smoother integration into other projects. It would be much easier to add the FM Starter Add-on to the file.

Limitations on add-ons

FileMaker add-ons handle tables, layouts, objects, scripts and custom functions. Security settings and accounts, for example, are not applied. However, those two things are an integral part of FM Starter. What happens if you lose these settings?

The test

Before you can turn a protected file like FM Starter into an add-on, you have to open the file with full access rights. Then I selected the file using Add-On Lab FREE and saved it as an add-on package. What happened?

Amazingly, it worked. But it takes time. When saving the file as an add-on, FileMaker was frozen for minutes. However, I saw on the hard drive that data was being written. Once the add-on was saved, FileMaker came back to life. I opened a new, empty file and imported the add-on.

Importing the add-on also takes time. After that, however, FM Starter was available in a new file. I was amazed that it worked right away. Now I had to test the result.

For this test, I did not create any “drag-and-drop” blocks for the add-on. As a result, there was nothing I could drag-and-drop onto the page layout. However, this does not matter, since the entire functionality is already added when the add-on is imported. Check the list of layouts, for example!

A total of 25 tables with their data sets were created.

As expected, the accounts and security settings were not adopted.

With the scripts, on the other hand, the whole list was neatly integrated.

What does not work?

In a first comparison of the original file with the add-on, I noticed a few things:

  • File settings are not adopted.
    • The startup script ([OnFirstWindowOpen]) was not assigned.
    • The CloseDown script ([OnLastWindowClose]) was also not assigned.
    • These and other settings can be quickly corrected, provided similar triggers were not already configured in an existing solution. Otherwise, you have to solve this problem.
  • The navigation didn’t work right away
    • This has to do with the startup script first, but then also with missing accounts that are relied upon at startup
    • However, these and other settings can easily be adjusted.
  • Some layouts weren’t rebuilt properly. There was a case where the button bar was not displayed properly. The style had to be reassigned, and the object had to be moved to the correct spot on the layout.
  • Text objects receive the text format settings of the first line across the entire object. Applied text styles in the text are lost and have to be reapplied.

All in all, a remarkable number of things worked right off the bat. Some adjustments that needed to be made were to be expected.

Can more complex add-ons be created?

Right now, you need to experiment. The «FM Starter 2» file was converted to an add-on without any modifications. I rate the fact that this largely succeeded very positively. However, if you want to create a reliable add-on, it would make sense to optimize the original file for this purpose. In addition, documentation is required about which adaptations still have to be made when using the add-on. These adjustments are not necessary if you take the start file as a starting point (instead of the add-on). When using the add-on of this file, some things will not work, unless you implement it (like adding accounts and security settings).

Special attention should therefore be paid to:

  • File settings
  • Accounts and access rights.

This little experience report wants to show that working with add-ons is not witchcraft. The good applications are only just emerging, and I’m looking forward to further developments.

FM Starter 2