Folge 169_Der seltsamste aller Scripttrigger
Shownotes
Mit Version 10 führte FileMaker Scripttrigger ein. Das war damals definitiv eine Befreiung. So waren plötzlich Aktionen möglich, die vorher eigentlich nur mit Plugins umsetzbar waren. Ein Scriptrigger dabei, der selten irgendwo in FileMaker Lösungen zu finden ist ist der InstallOnTimer Script - Scripttrigger. Und das, so wie ich meine, aus gutem Grund.
Transkript anzeigen
00:00:00: Herzlich willkommen zu einer neuen Folge klares Pfeilmäker in fünf Minuten.
00:00:05: Heute geht es um das Thema Timer-Skript.
00:00:09: Das ist aus heutiger Sicht der mit Abstand seltsamste Skripträger, den Pfeilemäcker je eingebaut hat.
00:00:16: Vielleicht ist es euch beim entwickeln bisher gar nicht aufgefallen?
00:00:20: Vielleicht seid ihr aber auch schon einmal darauf gestoßen, habt es ausprobiert und dann verworfen.
00:00:27: Wenn es euch so ergangen isst dann vermutlich wie den allermeisten FileMaker-Entwicklern.
00:00:33: Die Rede ist vom Timerscript-Skripttrigger.
00:00:37: Mit FileMAKER X haben einige Scriptträger Einzug in FileMaker Pro gehalten, und das kam damals einer Erlösung gleich.
00:00:45: Scripttrräger sind heute in jeder Lösung im Einsatz.
00:00:50: Zuletzt hat FileMaka einen Trigger bezüglich Transaktionen hinzugefügt.
00:00:55: Aus damaliger Sicht hat der Timerscript Trigger durchaus Sinn gemacht.
00:01:00: Denn vorher gab es ohne Pluck in keine Möglichkeit, Trigger bezogen ein Script-Infilemaker zu starten außer beim Öffnen und Schließen einer Datei oder am Server als Zeitplanzeit gesteuert was aber nicht zu den Scriptregern zählt.
00:01:14: heute gibt es so viele Möglichkeiten dass der Scripttrigger on Timerscrypt mehr oder weniger in Vergessenheit geraten ist.
00:01:23: Nun ist er zugleich nicht wirklich in Vergessenheit geraten, denn im Rampenlicht hat er eigentlich nie gestanden.
00:01:30: Er ist mit Abstand der am schwersten zu Handhaben des Skriptträger und sein Nutzen hält sich aus heutiger Sicht stark in Grenzen!
00:01:38: Er ist in FileMaker Pro, FileMakers Go- und WebDirect verfügbar und folgt folgenden Regeln – dieser Skriptschritt installiert einen einzelnen Timer für das aktive Fenster bis ein anderer Skripschritt bei Timerskript installieren, einen Timer für das Fenster installiert oder bis das Fenstern geschlossen wird.
00:02:00: Sie können den installierten Timer jederzeit anhalten wenn sie im gewünschten Fenster diesen Timer ohne Skript und Zeit angeben.
00:02:09: Klingt seltsam, funktioniert aber so!
00:02:12: Der Wert der Option optionaler Skripparameter wird bei der Ausführung des Timersskripts berechnet was viel später als die Installation des Timers sein kann.
00:02:23: Um für das Timer-Skript einen Wert anzugeben, der später verwendet werden soll ist eine globale Variable oder ein globales Feld ideal.
00:02:32: Beachten Sie in jedem Fall, dass der Wert zu einer bestimmten Zeit wiederholt abgefragt wird.
00:02:38: Wenn ein Skript ausgeführt wird können Skripts mit Timern nicht ausgeführt werden bis das ausgeführte Skripton beendet ist.
00:02:47: Wenn das aktive Fenster einen installierten Timer aufweist und der Benutzer oder ein Skript ein neues Fenster öffnet, erbt das neue Fenster den Timer.
00:02:57: Jedes Fenster kann einen separaten Timer besitzen, der gleichzeitig mit den Timern der anderen Fenster aktiv ist.
00:03:05: Timer werden selbst dann weiter ausgeführt, wenn sich Fenster im Hintergrund befinden oder ausgeblendet sind.
00:03:12: Gerade das Thema dass ein laufendes Timer-Skript mit jedem neuen Fenster einer Datei, in der es gestartet wurde, erneut in einer weiteren Instanz startet, macht ihn schlechthandhabbar und unübersichtlich.
00:03:26: Zudem hat FileMaker nie eine Funktion wie GetActiveTimerscript namens hinzugefügt, mit der man ohne Eigenprogrammierung einen Überblick über die laufenden Timer hätte bekommen können.
00:03:39: Im Grunde ist mir in vielen Jahren kein einziger Fall untergekommen indem ich etwas nur und unbedingt mit einem Timerscript hätte lösen können.
00:03:48: Und selbst wenn es eine Option gewesen wäre, dann habe ich mich aus den oben genannten Gründen anders entschieden!
00:03:55: Für den Anwender ist es noch schwieriger damit umzugehen als für den FileMaker-Programmierer.
00:04:02: Der Anwänder könnte wechseln, Umstände könnten sich ändern – und wenn es nicht analysiert wird bemerkt zunächst gar niemand so genau was hier warum die ganze Zeit übermitläuft.
00:04:13: So ist mein klarer Rat auch an dieser Stelle, ihn einfach nicht einzusetzen.
00:04:19: Wenn doch dann nur mit einem wirklich guten Grund der in einer Kommentarzeile im Skript beschrieben sein sollte damit es später schnell nachvollziehbar bleibt.
00:04:29: Im Laufe der Jahre hat FileMaker immer wieder einzelne Scribträger hinzugefügt zuletzt zum Thema Transaktionen.
00:04:37: Aber kein einziger Scripträger isst so unbeliebt wie der Timerscript-Skripträgher der im Wesentlichen wohl noch erhalten bleiben wird, zumindest eine ganze Weile um Kompatibilität zu gewährleisten für die wenigen Fälle in denen er irgendwann meist in älteren Pfeilmaker-Versionen zum Einsatz gekommen war.
00:04:57: Mein Fazit ist deshalb wenn ihr ihn verwendet dann nur bewusst kontrolliert und dokumentiert und so sparsam wie möglich.
00:05:06: Unsichtbare Automatisierung ist nur dann hilfreich Wenn später noch jemand versteht warum sie läuft.
00:05:13: Das war es schon für heute.
00:05:16: Ich hoffe, euch hilft das weiter spannende Lösungen zu bauen und ich freue mich wenn ihr wieder dabei seid wenn es heißt klares Fallmaker in fünf Minuten.
00:05:27: bis dahin euch eine gute Zeit tschüss.
Neuer Kommentar