Das vor kurzem von Malte Bastian vorgestellte Tool zum Zerlegen der FileMaker XML-Dateien war ein Wunschthema für diesen Abend.
Sinn und Zweck des Tools ist es, passende Vorlagen für die Verwendung mit der Versionsverwaltung “git” zu erstellen. Bislang war dieser Anwendungsfall mit den aus FileMaker erzeugten XML-Dateien sehr unhandlich, weil immer alle Änderungen in einer Datei stattfinden und so der Versionsvergleich ziemlich unübersichtlich ausfällt. Das neue Tool zerlegt die XML-Dateien in kleine Abschnitte, getrennt nach Layouts, Scripts, Tabellen, Themes, Wertelisten, Custom Functions, Custom Menus, Privileg Sets, usw. Innerhalb der dazu angelegten Verzeichnisstruktur werden dann die einzelnen Elemente jeweils in einer eigenen Datei abgelegt. Also für jedes Layout und jedes Script eine eigene Datei, die sich in der Versionsverwaltung gut überwachen und vergleichen lässt.
Es handelt sich um ein Kommandozeilen-Tool, das auf Mac, Windows oder Linux läuft. Eine Anleitung befindet sich auf der zugehörigen github Seite.
Zur Nutzung ist das Versionstool git erforderlich, am besten im Zusammenspiel mit einem Diff-Tool oder einer IDE (Integrierte Entwicklungsumgebung), welche die Versionsänderungen übersichtlich darstellt.
Einen ähnlichen Ansatz gab es bereits für den Database-Design-Report (DDR) mit Hilfe des MBS Plugins. Da das “Save as XML” jedoch umfangreichere und genauere Informationen zu den in der FileMaker Datei enthaltenen Objekten enthält, empfiehlt es sich, zukünftig auf diese XML Variante zu setzen. Auch die neue Version des Analysetools “InspectorPro 8” verwendet inzwischen den XML-Export anstatt des früher verwendeten DDRs.
Der fm-xml-export-exploder lässt sich auf github unter “Releases” laden:
https://github.com/bc-m/fm-xml-export-exploder
Diff Tools on macOs
https://www.git-tower.com/blog/diff-tools-mac/
How to Find & Compare File Differences Side-By-Side with BBEdit for Mac
https://osxdaily.com/2018/04/12/find-compare-differences-text-bbedit-mac/
Visual Studio Code
https://code.visualstudio.com
JetBrains IDEs
https://www.jetbrains.com/ides/
Split XML for DDR into files for GIT
https://www.mbsplugins.de/archive/2020-07-27/Split_XML_for_DDR_into_files_f/monkeybreadsoftware_blog_filemaker