Grössere Projekte als Add-on speichern

Erfahrungsbericht

Grössere Projekte als Add-on speichern

Getestet mit FM Starter 2


28. Mai 2021In Add-ons, FM Starter, TippsBy Karsten Risseeuw8 Minutes

FileMaker Add-ons werden oft als kleine Lösungen angepriesen. Wie ist es jedoch, wenn man grössere Projekte, mit vielen Tabellen, Scripts, Layouts, usw. als Add-on exportiert. Geht das?

Die Herausforderung

Alle mir heute bekannte Add-ons für FileMaker sind «kleine» Projekte. Es sind Funktionen, einfache Lösungen mit relativ wenig Tabellen, Layouts und Scripts. Kann man grössere Add-ons generieren und warum sollte man das wollen?

Die Frage, ob man grössere Add-ons generieren kann, habe ich getestet. Dazu gleich mehr. Aber warum sollte man das wollen? Ist es nicht genug, dass man kleine, spezifische Projekte lancieren kann? Nun, Add-ons sind praktisch und manche Aufgaben sind etwas komplexer, benötigen also komplexe oder grössere Add-ons.

Man kann beispielsweise eine einfache aber komplette Adressverwaltung als Add-on erstellen. Das könnte ein Basis-Modul zur weiteren Entwicklung sein, mit allen wichtigen Tabellen bereits verlinkt und einige Funktionen eingebaut. Ebenso liesse sich ein Rechnungsmodul als Add-on entwickeln, mit den Basistabellen für Belege, Rechnungspositionen, Drucklayouts, usw. Es geht um die Frage, wie gross oder komplex die Bausteine sein dürfen.

Gelingt es, grössere Bausteine zu erstellen, dann gelingen auch andere Projekte schneller.

FM Starter als Add-on

FM Starter ist die Startdatei, die wir als Produkt verkaufen. Mit ihr lässt sich jedes neue FileMaker-Projekt besonders schnell einrichten und wichtige Funktionen sind bereits integriert. Es ist eine grosse Starthilfe für alle «neuen» Projekte. So vermarkten wir das auch.

Regelmässig habe ich jedoch Entwickler am Telefon, die bereits ein Projekt am Laufen haben, und gerne die Funktionalität von FM Starter integrieren würden. «Kann man FM Starter auch in ein bestehendes Projekt integrieren?» ist eine Frage, die ich regelmässig höre. Meine Antwort darauf ist stets: Ja, das geht, aber…

FM Starter ist fast komplett modular aufgebaut. Dadurch kann man FM Starter Modul für Modul in eine andere Datei übernehmen. Es geht, auch wenn es aufwändig ist. Relationen gibt es keine (ausser 1 Relation für die Design-Seite, wodurch Portale dargestellt werden können). Die Voraussetzungen sind also gut. Die Datei hat trotzdem recht viele Tabellen, unzählige Scripts, Einstellungen und viele Dinge mehr. Erschwerend ist, dass viele Module sich gegenseitig nutzen. Beispielsweise nutzt das Modul «Navigation» die Module «Benutzerverwaltung» und «Mehrsprachigkeit».

Möchte man die Originaldatei von FM Starter in ein anderes Projekt integrieren, dann ist das sehr aufwändig. Kann man die gesamte Startdatei als Add-on speichern, dann ebnet das den Weg zur Integration in andere Projekte. Es wäre viel einfacher, die Datei mit dem FM Starter Add-on auszustatten.

Einschränkungen bei Add-ons

FileMaker Add-ons übernehmen Tabellen, Layouts, Objekte, Scripts und Custom Functions. Nicht jedoch werden Sicherheitseinstellungen und Konten übernommen. Diese beiden Dinge sind jedoch integrierter Bestandteil von FM Starter. Was passiert, wenn man diese Einstellungen verliert?

Der Test

Bevor man aus einer geschützten Datei wie FM Starter ein Add-on machen kann, muss man die Datei mit vollen Zugriffsrechten öffnen. Danach habe ich die Datei mithilfe von Add-On Lab FREE ausgewählt und als Add-on Paket gespeichert. Was geschah?

Erstaunlicherweise hat es geklappt. Es braucht aber Zeit. Beim Sichern der Datei als Add-on war FileMaker minutenlang eingefroren. Ich sah jedoch auf der Festplatte, dass Daten geschrieben wurden. Als das Add-on gespeichert war, habe ich eine neue, leere Datei geöffnet und dort das Add-on geladen.

Auch das Laden des Add-ons braucht seine Zeit. Danach stand FM Starter jedoch in einer neuen Datei zur Verfügung. Ich war erstaunt, dass es beim ersten Anlauf funktioniert hat. Nun aber musste ich das Resultat testen.

Bei diesem Test hatte ich keine «Drag-and-drop» Dateien erstellt. Es gab also nichts, was ich auf die Seite ziehen könnte. Das spielt jedoch keine Rolle, da beim Import des Add-ons bereits die ganze Funktionalität importiert ist. Das sieht man beispielsweise an die Liste mit Layouts.

Es wurden insgesamt 25 Tabellen mit ihren Datensätzen angelegt.

Die Konten und Sicherheitseinstellungen wurden – wie erwartet – nicht übernommen.

Bei den Scripts dagegen wurde die ganze Liste sauber übernommen.

Was funktioniert nicht?

In einem ersten Vergleich der Originaldatei mit dem Add-on sind ein paar Dinge aufgefallen:

  • Dateieinstellungen werden nicht übernommen.
    • Das StartUp-Script ([OnFirstWindowOpen]) wurde nicht zugeordnet.
    • Das CloseDown-Script ([OnLastWindowClose]) wurde ebenfalls nicht zugeordnet.
    • Diese und weitere Einstellungen lassen sich schnell beheben, sofern in einer bestehenden Lösung nicht bereits ähnliche Triggers konfiguriert waren. Ansonsten muss man diese Aufgabe lösen.
  • Die Navigation hat nicht auf Anhieb funktioniert
    • Dies hat zuerst mit dem StartUp-Script zu tun, dann aber auch mit fehlenden Konten, die beim Start ausgeführt werden
    • Diese und weitere Einstellungen können jedoch leicht angepasst werden.
  • Einige Layouts waren nicht sauber aufgebaut. Es gab einen Fall, wo der Button-Bar nicht sauber dargestellt war. Der Stil musste neu zugeordnet werden und das Objekt musste korrekt platziert werden.
  • Textobjekte erhalten pauschal die Textformat-Einstellungen der ersten Zeile. Eine differenzierte Hervorhebung «im» Text geht verloren und muss neu zugeordnet werden.

Alles in allem hat erstaunlich viel auf Anhieb funktioniert. Einige Anpassungen, die gemacht werden mussten, waren zu erwarten.

Können komplexere Add-ons erstellt werden?

Im Moment kommt man nicht ums Experimentieren herum. Die «FM Starter 2»-Datei wurde ohne Anpassungen zu einem Add-on umgewandelt. Dass dies weitgehend gelang, werte ich sehr positiv. Möchte man jedoch ein zuverlässiges Add-on erstellen, wäre es sinnvoll, die ursprüngliche Datei für diese Anwendung zu optimieren. Ausserdem benötigt es eine Dokumentation dazu, welche Anpassungen vom Entwickler noch gemacht werden müssen. Diese Anpassungen sind nicht nötig, wenn man die Startdatei direkt als Ausgangslage benötigt. Fehlen bei einem Add-on jedoch die FileMaker Konten und Zugriffsberechtigungen, kann das Add-on nicht so funktionieren wie in der Originaldatei.

Spezielle Aufmerksamkeit gilt demnach:

  • Dateieinstellungen
  • Konten und Zugriffsrechte.

Dieser kleine Erfahrungsbericht will aufzeigen, dass die Arbeit mit Add-ons keine Hexerei ist. Die guten Anwendungen entstehen erst und ich bin gespannt auf weitere Entwicklungen.

FM Starter 2