FileMaker Code Analyse mit DuckDB - Teil 2

Marcel Moré zeigte die weiterentwickelte Architektur seines DuckDB-basierten Analyse-Tools für FileMaker-Lösungen. Im Vergleich zum ersten Teil lag der Fokus diesmal auf dem neuen REST-API als Integrationsschicht und den praktischen Anwendungsmöglichkeiten. Architektur und REST-API Die Pipeline: fmp12 → SaveAsXML → SQL Parser (XPath) → DuckDB (lokale Datei) → REST API → UI / AI Agent Das zentrale SQL-Template für die Konvertierung umfasst mittlerweile fast 2.000 Zeilen — entwickelt im Dialog mit Claude....

FileMaker SaveAsXML mit DuckDB analysieren

Marcel Moré demonstrierte eine innovative Methode, um die interne Struktur von FileMaker-Lösungen zu untersuchen. Dabei kombinierte er die FileMaker-Funktion „Kopie speichern als XML“ (Save Copy as XML) mit der Leistungsfähigkeit von DuckDB, um komplexe Abfragen auf die Metadaten einer Lösung auszuführen. Grenzen herkömmlicher Analyse-Tools FileMaker bietet mit der XML-Speicherung eine umfassende Strukturbeschreibung, die jedes Detail einer Datei – von Tabellendefinitionen und Feldern bis hin zu Scripts, Layout-Objekten und Custom Functions – in einem standardisierten Format abbildet....

DuckUI

Marcel Moré berichtete von aktuellen Neuerungen in DuckDB. Einfache Installation Unter anderem gibt es seit Version 1.2 einen sehr einfachen Installations-Mechanismus auf MacOS und Linux Systemen per CURL Aufruf. Unter einer eigens dafür eingerichteten Domain liegt ein Installer-Script, welches sich ohne sudo-Rechte ausführen lässt: curl https://install.duckdb.org | sh Damit lässt sich eine aktuelle DuckDB Version blitzschnell auf dem eigenen Laptop oder einem Server installieren. Zugriff auf Excel-Dateien integriert Eine weitere Neuerung besteht in der Integration der Excel Extension....

SQL Workbench

Marcel Moré stellte das Tool ‘SQL Workbench’ vor, welches sich zur Darstellung, Analyse und Visualisierung von unterschiedlichen Datenformaten per SQL eignet. Zwar wird das Tool über eine Webadresse im Internet aufgerufen, die Anwendung läuft jedoch per Web-Assembly (WASM) vollständig lokal im eigenen Browser. Es werden also keinerlei Inhalte mit dem Server des Anbieters ausgetauscht. Das Tool basiert im Kern auf der OpenSource Datenbank-Engine DuckDB, welche über ein komfortables GUI im Browser gesteuert wird....

Interaktive Dashboards mit Evidence in FileMaker einbinden

Marcel Moré stellte das Framework Evidence.dev vor, mit welchem sich auf einfache Art und Weise komplexe interaktive Dashboards erstellen lassen. Neben einer Erläuterung von Aufbau und Funktionsweise des Frameworks zeigte Marcel den Prototyp eines eigenen Projekts, das auf Basis von Evidence und DuckDB innerhalb einer bestehenden FileMaker-Lösung umgesetzt wird. Technische Grundlagen Einige Besonderheiten unterscheiden Evidence von anderen verfügbaren Dashboard-Lösungen. Insbesondere die Tatsache, dass jegliche Ausgaben in Form von sehr einfach strukturiertem Code definiert werden, ist zunächst ungewöhnlich, bringt aber eine Reihe von Vorteilen mit sich....

DuckDB Praxisbericht

Marcel Moré ergänzte seine Präsentation zu DuckDB vom vorigen FileMaker Stammtisch mit Einblicken in ein Projekt aus der Praxis. Zunächst wurden noch einmal die grundlegenden Schritte erläutert, wie sich DuckDB in einer FileMaker Lösung per REST API integrieren lässt. Eine ausführliche Schritt-für-Schritt Anleitung ist inzwischen online abrufbar: https://blog.marcel-more.de/2024/07/11/building-a-rest-api-for-duckdb/ Marcel berichtete von einem Projekt, das ohne den Einsatz von DuckDB kaum lösbar gewesen wäre. Zu erstellen war eine komplexe Auswertung eines umfangreichen Datenbestands mit mehr als 10 Jahren Transaktionsdaten, die in einer FileMaker Datenbank vorliegen....

FileMaker + DuckDB

Marcel Moré stellte die Datenbank DuckDB vor und zeigte einen Weg, wie sich DuckDB mit einem einfachen Setup per REST API Abfrage mit Hilfe von Node.js in FileMaker integrieren lässt. Anschließend demonstrierte er anhand einiger Beispiele die besonderen Stärken von DuckDB und erläuterte, welche Möglichkeiten sich durch den Einsatz von DuckDB eröffnen. Zunächst ging es um die Frage, was die Besonderheiten von DuckDB ausmacht, und warum man überhaupt eine weitere Datenbank benötigt, um Dinge zu tun, die sich prinzipiell auch in FileMaker lösen lassen....

Speichern von Daten im FileMaker Schema

Nils Waldherr stellte eine trickreiche Methode vor, um Daten innerhalb des Schemas einer FileMaker-Tabelle zu speichern und zu übertragen. Ausgangspunkt für diese Methode war die Überlegung, dass es hilfreich wäre, bei einer Dateimigration per “Clone ohne Datensätze” zusätzliche Informationen an das Zielsystem zu übermitteln. Im gezeigten Beispiel sollten also die Versions-Nummer für das Update, ein Zeitstempel, ein Infotext und weitere Einstellungs-Datensätze im Migrations-Ablauf vom Entwicklungs-Server auf das Produktiv-System übertragen werden....

SQL-Injections

Jan Hagemeister demonstrierte anhand eines SQL-Queries zur Überprüfung von Benutzername und Passwort die Anfälligkeit von SQL-Abfragen für sogenannte SQL-Injection Attacken. Im gezeigten Beispiel wurde anhand einer Benutzereingabe geprüft, ob die Daten aus den Eingabefeldern mit den in einer Tabelle hinterlegten Zugangsdaten übereinstimmen. Aus der Übereinstimmung wurde berechnet, ob der Zugang erfolgen darf bzw. wegen des falschen Passworts verweigert wird. Dazu wurden in der gezeigten Beispiel-Datei unterschiedliche Methoden einer SQL-Abfrage verwendet. Diese unterschieden sich dadurch, dass die Texte aus den Eingabefeldern einmal per String-Verkettung direkt in den SQL-Query übernommen wurden, bzw....

SQL-Queries für Metadaten

Holger Herbst zeigte ein generisches Script zum Datenexport beliebiger FileMaker Tabellen. Das Script ist in der Lage, die in der Tabelle enthaltenen Felder inkl. Feldtyp und weiterer Meta-Daten zunächst zu analysieren und daraus ein passendes XML-Schema für Datenformat und Dateninhalte zu erzeugen. Auch ein XSLT für den anschließenden Datenimport in einer anderen FileMaker Datenbank erzeugt das Script flexibel anhand der angegeben Tabelle. Vorteil dieses Ansatzes ist, dass auch bei Schema-Änderungen an der Tabelle keinerlei nachträgliche Anpassungen am Script erforderlich sind....