Mit der neuen MBS Version 14.5 erschien vor kurzem eine neue Beispiel-Datei für die Einbindung eigener Kontext-Menus im Script-Editor. Die Datei befindet sich im Verzeichnis “Examples/Mac only/Script Workspace Context Menu Commands.fmp12”.
Verwendet wird der schon länger verfügbare Befehl MBS(“SyntaxColoring.AddContextMenuCommand”), mit dessen Hilfe ein Menueintrag installiert wird, der einen individuell definierbaren Formel-Ausdruck evaluiert:
https://www.mbsplugins.eu/SyntaxColoringAddContextMenuCommand.shtml
MBS Demo Datei
In der Beispiel-Datei von Alexis Gehrt befinden sich u.a. zwei Einträge mit dem Titel “Summary Script with Message Box” bzw. “Summary Script to clipboard”, mit einer äußerst spannenden Formel.
Wenn man sich im Script-Workspace befindet und mehrere Script-Schritte im Editorfenster auswählt passiert folgendes:
- Die Script-Schritte werden kopiert
- Es wird die XML Repräsentation der Script-Schritte aus dem Clipboard geholt
- Die codierten Script-Schritte werden zusammen mit einem Prompt per CURL an das API von OpenAI gesendet.
- ChatGPT erzeugt daraus eine Zusammenfassung als Textbeschreibung, optional mit einer Liste der verwendeten CustomFunctions und enthaltenen Variablen
- Das Ergebnis der KI-Analyse wird als Dialog angezeigt, bzw. im Clipboard zurück geliefert, um es dann in ein Textfeld einzusetzen.
Dazu ist ein eigener API-Key erforderlich, um auf die ChatGPT API-Funktion zuzugreifen. Auch empfiehlt es sich, die Anzahl der max_tokens deutlich zu erhöhen, um aussagekräftigere Ergebnisse von ChatGPT zu erhalten.
Marcel Moré führte anhand einer entsprechend vorbereiteten Demo-Datei die Funktion vor und zeigte, wie sich durch Anpassung des Text-Prompts in der Formel weitere Aufgaben von ChatGPT auf die gesendeten Script-Schritte anwenden lassen.
Gemeinsam mit den Teilnehmern wurden einige Experimente durchgeführt. Die ursprünglich auf englisch erstellte Zusammenfassung konnte auch in deutscher Sprache erzeugt werden. Die Formatierung der Ausgabe ließ sich nach eigenen Wünschen abwandeln. Zusätzlich zu einer Liste mit Variablen-Namen wurde auch eine Liste mit im Script verwendeten Feldnamen erzeugt. Und einiges mehr.
Script Code erzeugen
Es entstand spontan die Idee, von ChatGPT nicht nur existierende FileMaker-Scripte erklären zu lassen, sondern auch Scripte umzubauen bzw. neue Scripte von ChatGPT erstellen zu lassen. Dazu bräuchte es zwei Voraussetzungen:
ChatGPT müsste in der Lage sein, das von FileMaker gelieferte XML für die Script-Schritte nicht nur zu verstehen, sondern anhand klarer Regeln auch korrekt zu erzeugen.
Das erzeugte Script müsste sich anschließend wieder in den Script-Editor einfügen lassen.
Der erste Teil ließe sich möglicherweise durch Beispielcode im Prompt oder die Einbettung einer Liste der erlaubten Script-Befehle hinreichend beschreiben.
Für den zweiten Teil liefern die von Russell Watson bereit gestellten Tools fmAutoMate und fmCheckMate eine Lösung. Damit lassen sich nicht nur XML-Snippets aus dem Clipboard zurück ins FileMaker Format verwandeln, um sie dann in den Script-Editor einzusetzen. Sondern es kann auch “Pseudo-Code” im Klartext in die Zwischenablage kopiert und dann als XML-Snippet interpretiert und umgewandelt werden. Dies öffnet die Tür für zahlreiche weitergehende Möglichkeiten.
Auch fmAutoMate und fmCheckMate sind über eigene Kontext-Menus im Script-Editor per MBS ausführbar. Siehe dazu nachfolgender Beitrag:
Script-Tools fmAutoMate, fmCheckMate
Eine Demo dieser und weiterer in der Beispieldatei enthaltenen Funktionen zeigt Christian Schmitz auf Youtube bei Richard Carltons FMTraining.tv:
Adding ChatGPT to the ScriptWorkspace Context Menu with the MBS Plug-in
https://youtu.be/6SNoSIdiRFg