FileMaker Pro 7 will ins Profilager

Lange hat es gedauert, bis FileMaker mit der Version Pro 7 seiner Datenbanksoftware auf den Markt kam – doch das Warten hat sich gelohnt.

Artikel erschienen in Swiss IT Magazine 2004/11

     

FileMaker Pro galt schon seit langem als einfach zu nutzende Desktop-Datenbank, die ein breites Anwenderspektrum abdeckt. In der Apple-Welt gilt FileMaker Pro quasi als De-facto-Standard, in den IT-Abteilungen der Windows-User hingegen hat die Software noch immer gegen ein Spielzeugimage zu kämpfen. Die neuste Version soll dies ändern. Gemäss Hersteller soll FileMaker Pro 7 den bisher wichtigsten Meilenstein der Produktgeschichte darstellen und das Produkt endgültig in die Profiliga katapultieren.





Kernstück ist dabei eine komplett neue relationale Datenbank-Engine. Diese soll das Einsatzspektrum erweitern, ohne dabei die einfachen Anwendungen zu vernachlässigen.
Zu den wichtigsten Neuerungen der Datenbankapplikation zählen neue Import-/Export-Funktionen, die Möglichkeit, Beziehungen grafisch darzustellen, erweiterte Layout-Features, grössere Limiten für die Dateigrösse oder neu konzipierte Sicherheits- und Zugangsrechte.


Import und Export aller Dateitypen

Mit den erweiterten Import-/Export-Funktionen in FileMaker Pro 7 lassen sich nun alle beliebigen Dateitypen importieren und wieder exportieren. Diese Funktion ist nicht nur auf Bilder beschränkt, jede Datei kann in ein Feld importiert werden, beispielsweise auch Filme, Musik, Word-Dokumente, Excel-Tabellen, PDF-Dateien oder PowerPoint-Präsentationen. Es ist sogar möglich, die Dateien in einer Datenbank zu organisieren.





Eine Datei kann nun mehrere Tabellen enthalten. Im Vergleich dazu war in allen früheren Versionen eine Tabelle das, was eine einzelne Datei war. Es ist jetzt möglich, Funktionsgruppen wie zum Beispiel Adressen, Kreditoren oder Debitoren jeweils in einer Datei zu organisieren. Theoretisch kann eine Lösung aber weiterhin aus vielen einzelnen Dateien oder aus nur einer ganz grossen bestehen.
Neu lassen sich auch Felddefinitionen mit einem Kommentar versehen. Ausserdem gibt es einen neuen Feldtyp namens Timestamp, worin Datum und Zeit gemeinsam gespeichert werden können.


Bis 8 TB grosse Dateien

Beziehungen können in Filemaker Pro 7 auch grafisch dargestellt werden, dabei lassen sie sich einfach per Drag and Drop definieren. Eine Tabelle wird dabei als sogenannte Instanz, auch «Tabellenauftreten» genannt, in die Grafik gezogen. Dabei spielt es keine Rolle, ob die Tabelle aus der eigenen Datei oder aus einer Dateireferenz stammt. Beziehungen sind ab sofort in beide Richtungen funktional. Das heisst, man kann aus der Bezugsdatei über denselben Schlüssel auf die Hauptdatei zugreifen.




Ausserdem können Beziehungen respektive Relationen mehrere Schlüsselfelder beinhalten. Dies war früher nur über den Umweg mit einer Formel möglich. Ein einfaches Beispiel: Wollte man eine landesübergreifende Postleitzahlen-Datenbank erstellen, so musste man das ISO-Länderkürzel mit der PLZ als berechnendes Feld hinterlegen. Dies kann nun direkt in der Beziehung definiert werden, so dass beispielsweise AT 8020 gleich Graz ist und CH 8020 Zürich ergibt.
Eine logische Konsequenz aus den Tabellen und Beziehungen ist, dass ein Layout von nun an immer mit einer Tabelle beziehungsweise einem Tabellenauftreten verknüpft sein muss. In einem Layout können Tabellen aus einer anderen Datei angezeigt werden, wie wenn sie in der eigenen Datei wären. Aus dieser Sicht (Kontext genannt) sind dann alle zu dieser Tabelle in Beziehung stehenden Tabellen über ihre Relationen verfügbar. Damit ist erstmals eine Trennung von Logik und Daten möglich.





FileMaker hat die Dateigrössen und theoretischen Limiten so weit hochgeschraubt, dass dies wieder für eine gewisse Zeit ausreichen sollte. Ein Textfeld allein kann nun 2 GB Daten fassen, und eine Datei kann bis 8 TB gross werden.
Ausserdem kann man nun dieselbe Datei in mehr als nur einem Fenster betrachten. Dies ist nützlich, wenn man zum Beispiel eine Liste hat und einzelne Datensätze in der Detailansicht bearbeiten will. Das effektive Bearbeiten ist jedoch weiterhin nur in einem Fenster möglich (Record Locking).


Neue Instant-Web- Publishing-Funktionen

Schon bei der Version 6 war es möglich, ein ganzes Layout beziehungsweise eine Datenbank direkt im Internet zu verwenden. Wollte man hingegen mehr damit anfangen, war man mit Script- und Layoutfunktionen schnell am Ende und musste sich bald mal mit CDML- und HTML-Code beschäftigen.
Bei der Version 7 sind über 70 Script-Befehle mit IWP (Instant Web Publishing) kompatibel, und es können viel mehr Funktionen ohne den HTML-Umweg ins Netz gestellt werden. IWP bietet nun endlich ein Session-Management, und man muss sich nicht mehr selber darum kümmern. IWP wird im Serverbetrieb direkt vom Server ausgeführt.





Schliesslich wurden die Sicherheits- und Zugangsrechte in FileMaker Pro 7 komplett neu konzipiert und verständlicher gemacht als in den Vorgängerversionen. Neu können Benutzer auch über die Mitgliedschaft in einer Domäne beziehungsweise über externe Authentifizierungsmechanismen auf der Basis von Active Directory und Open Directory automatisch in FileMaker als mögliche Benutzer zugelassen werden.


Auf den zweiten Blick

Die Software enthält viele kleine Neuerungen, die man auf den ersten Blick gar nicht sieht und erst beim Arbeiten mit FileMaker Pro 7 bemerkt.
So können zum Beispiel Scripts mit vollen Benutzerrechten laufen. Wer schon nachträglich Benutzerrechte bezüglich Feldzugriff eingeführt hat, wird diese Funktion zu schätzen wissen.
Versteckt, aber sehr mächtig ist auch die Evaluate-Funktion, mit welcher ein Text beziehungsweise eine Formel inklusive Feldnamen ausgewertet werden kann.





Bislang hat FileMakers Eigenheit, Eingaben automatisch zu speichern, ab und zu bei Anwendern zu Fragezeichen geführt. Besonders unangenehm war dies, wenn man zwar meinte, im Suchen-Modus zu sein, aber effektiv Eingaben in Felder machte. Jetzt kann optional eingestellt werden, dass beim Verlassen eines Datensatzes gefragt wird, ob man speichern will.
Endlich sind auch Änderungen an Dateien und Feldern im laufenden Serverbetrieb möglich. Die Anwender müssen dabei die Datenbank nicht schliessen. Allerdings können in der Zeit, während der Felder definiert werden, vom Anwender keine neuen Datensätze erstellt werden. Das mühsame Ändern der Zugangsrechte im Serverbetrieb gehört schliesslich ebenfalls der Vergangenheit an.


Kein Geschwindigkeitsrausch

Die Funktion Dateien Wiederherstellen ist zwar keine offizielle neue Funktion, aber schon Beta-Tester der Version 7 berichteten, dass sie keine gecrashten Dateien mehr hatten. Die Dateiintegrität ist somit nochmals verbessert worden. (Was übrigens nicht implizieren soll, dass dies in der 6er-Version speziell schlecht war.)




Die Erwartungshaltung bei jeder neuen Version ist ja meist, dass sie mindestens 100mal so schnell läuft wie der Vorgänger. Wer bei der Version 7 darauf hofft, wird enttäuscht sein, denn die neue Datenbank-Engine ist auf Unicode aufgebaut, was mehr Rechenleistung braucht und so den Geschwindigkeitsgewinn wieder eliminiert - so die Erklärung von FileMaker. Erste Tests mit der neuen Serverversion haben Ähnliches gezeigt. Da der Server noch im Beta-Stadium ist, ist es allerdings zu früh, um definitive Aussagen zu machen. Auch möchte sich FileMaker hierzu noch nicht festlegen. Fest steht auf jeden Fall, dass der Server Suchabfragen ausführt.


Hürden bei der Migration

Das unter FileMaker-Entwicklern und -Anwendern wohl am meisten mystifizierte Thema ist die Umstellung von einer älteren auf die neuste Version. Man hört unter anderem Schauergeschichten wie zum Beispiel, dass man alles neu programmieren müsse.
Deshalb soll dieses Thema mit ein paar praktischen Tips näher beleuchtet werden. FileMaker selbst stellt im Internet ein 88 Seiten starkes Dokument zum Download zur Verfügung, in welchem steht, auf was man alles achten sollte, wenn man Lösungen konvertiert, und wie gewisse Funktionen konvertiert werden.




Eines vorweg: Der Hersteller könnte es sich nicht leisten, ein Produkt auf den Markt zu bringen, wenn die Konvertierung so schlimm wäre, wie gemunkelt wird – aber ganz ohne Nacharbeiten geht es meist doch nicht. Man kann die Dateien im sogenannten Batch-Modus konvertieren: alle Files auf die Applikation ziehen und los. Während der Konvertierung wird ein Log geschrieben, welches man unbedingt anschauen sollte. Am besten durchsucht man diese Datei mit einem Texteditor nach Wörtern wie «skipped» oder «missing». So werden Probleme, die schon in der alten Datei bestanden haben, dokumentiert. Das alles hat auch etwas Gutes an sich: Die Dateien werden komplett neu aufgebaut, die alten Daten dann importiert und somit alter Datenmüll eliminiert. (Wer das Konvertierungs-Log nicht selber lesen möchte, kann den MetadataMagicLog Analyser von New Millennium kaufen).





Die meisten Lösungen sind danach sofort wieder einsetzbar und sollten funktionieren. Bei komplexeren Lösungen kann es vorkommen, dass diese schon mal etwas Nachbearbeitung nötig haben. Da ein paar grundlegende Dinge bezüglich der Fenster geändert wurden, kann es zu unerwartetem Verhalten kommen. Dies kann zum Beispiel in Zusammenhang mit Scripts, die in Portalzeilen ausgelöst werden, eine Rolle spielen.
Konvertierte Dateireferenzen sind Verweise auf Dateien, die in einer Lösung verwendet wurden/werden. Wer kennt die Situation nicht, dass FileMaker gefragt hat: Wo ist Datei xyz? Dann hat man FileMaker die Datei am anderen Ort oder im Netzwerk gezeigt, und alles war auf den ersten Blick in Ordnung. FileMaker hat sich aber intern alle Orte/Pfade gemerkt, und erst bei der Version 7 sind diese effektiv einsehbar. Bei der Konvertierung werden zwar alle mitkonvertiert – jedoch vielleicht fünf Referenzen auf dieselbe Datei. Die konvertierte Lösung funktioniert mit all diesen verschiedenen Referenzen, aber sinnvollerweise bereinigt man sie. Dies kann jedoch sehr mühsam sein, da man Scripts, die diese Referenz nutzen, zuerst suchen und ändern muss. Auch hier hilft MetadataMagic.




Als Schlussfolgerung kann abgeleitet werden, dass einfache Lösungen mit relativ geringem Aufwand zu konvertieren sind. Auch grössere und komplexere Lösungen können gut konvertiert werden. Hingegen ist dies schon mit mehr Aufwand verbunden, und eine Testphase ist unumgänglich. Wenn Entwickler von «Alles neu programmieren» reden, dann ist damit gemeint, dass man vieles, was man in der 6er-Version gemacht hat, in der Version 7 viel eleganter machen könnte, und beim Nacharbeiten der konvertierten Lösung kribbelt es einen unter den Fingern, dies und jenes gleich umzubauen.


Developer Edition

Zum ersten Mal ist gleichzeitig die Developer Edition erschienen. Diese kostet 1099 Franken und ist somit fast doppelt so teuer wie die normale Version. Der Name positioniert das Produkt für Entwickler, was den Inhouse-FileMaker-Entwickler vielleicht davon abhalten könnte, sich mit dem Tool zu befassen.
Ein paar der Developer-Funktionen sind aber auch für den Programmierer nützlich, so dass sich der höhere Preis bezahlt macht. Dazu zählt etwa der Script Debugger.





Ein weiteres praktisches Feature ist das korrekte Umbenennen von Dateien - denn es reicht nicht aus, die blosse Datei umzubenennen, auch die internen Verknüpfungen müssen aktualisiert werden. Schliesslich gibt der Database Design Report die Antwort auf die häufig gestellte Frage: Wird dieses Feld noch irgendwo gebraucht?
Des weiteren können mit der Developer-Ausführung RunTime-Versionen erstellt werden, die ohne weitere Lizenzkosten verteilt werden können.
Mit der Developer-Version lassen sich auch sogenannte Custom Functions erstellen. Damit kann man sich wiederverwendbare Logik in einen eigenen Aufruf verpacken: zum Beispiel das Rechnen der Mod10-Prüfsumme für Einzahlungsscheine. Eine schon beträchtliche Sammlung findet man unter www.briandunning.com/filemakercustom-functions/list.phps.


Serverversion

Die Serverversion wird im Frühsommer verfügbar sein. Momentan kann beim Hersteller auf dem Web eine Betaversion angefordert werden.
Einige Highlights des Servers: Bislang hatte FileMaker eine sogenannte Client-Side-Passwortprüfung implementiert, neu wird die Autorisierung vollständig vom Server vorgenommen. Zusammen mit der neuen Checkbox für SSL-Verschlüsselung ist die Sicherheit somit endlich gewährleistet. VPN war ja bei früheren Versionen aus sicherheitstechnischen Überlegungen fast unumgänglich. Auch das Protokoll zwischen Server und Client sei schneller geworden, so dass die Geschwindigkeit in manchen Umgebungen im Direktzugriff (zum Beispiel über ADSL) genügen sollte und nicht unbedingt ein Terminal-Server eingesetzt werden muss.




Neu kann auch ein Live-Backup mit gleichzeitigen Schreibzugriffen gemacht werden - in der Vorversion waren nur Lesezugriffe möglich. Schnelle Festplatten und Dual-Prozessorserver werden nun unterstützt. Auf der Windows-Seite werden nur noch die Server-Betriebssysteme Windows 2000 Server mit SP4 und Windows 2003 Server unterstützt. Beim Mac OS reicht für die Betaversion Mac OS X 10.2.8 mit Java 1.4.1.





Der Server ist nach wie vor auf 125 Dateien eingeschränkt. In Anbetracht dessen, dass nun pro Datei praktisch unlimitiert Tabellen möglich sind und eine Datei bis zu 8 TB gross werden kann, kann man aber die Einschränkung akzeptieren.
Der FileMaker Advanced Server übernimmt die Funktionen des FileMaker Unlimited für Webzugriffe. Das bedeutet, dass FileMaker Server eine komplette FileMaker-Engine integriert hat, welche das Webinterface zur Verfügung stellt und sogar Scripts und Plug-ins ausführt. Daher könnte ein Server sogar bei einem anderen Server Gast sein. Der Advanced Server unterstützt 50 gleichzeitige ODBC- und JDBC-Zugriffe sowie 100 HTTP-Zugriffe.
Im Sommer wird die Palette schliesslich durch FileMaker Mobile 7 ergänzt. Diese Version wird Palm OS und Pocket PC unterstützen.


Noch nicht perfekt

Trotz all den neuen Funktionen gibt es doch noch ein paar Dinge, die sich sowohl der Anwender als auch der Programmierer sehnlichst gewünscht hätten.
Da wäre zum Beispiel die Schriftendarstellung. Die Schriften werden neu speziell geglättet. Je nach verwendeter Schriftart leidet die Lesbarkeit allerdings so sehr, dass insbesondere kleine Schriften schon fast unbrauchbar werden. In der Windows-Version hat es bei den Voreinstellungen eine Option, die die Ansicht vergrössert und die Lesbarkeit verbessert. Unter Mac OS X kann man dies unter «Erscheinungsbild» beheben. Unter Windows gibt es zwar auch einen HKEY_LOCAL_MACHINE-Registryschlüssel, der aber leider nicht viel ausrichtet. Gemäss FileMaker ist eine Korrektur für dieses Problem in Vorbereitung (7.0v2).




Leider fehlen nach wie vor Charting-Tools für Business-Grafiken. Man muss weiterhin auf Dritthersteller-Plug-ins zurückgreifen oder aus der Literatur Bastelanleitungen suchen, um selber einfache Balkengrafiken zu erstellen.
Mängel findet man auch noch beim Befehl «Datensatz duplizieren». Das ist eigentlich eine Kleinigkeit - kommt aber häufiger vor, als man denkt: Anstatt Ctrl-Apfel-F trifft man auf der Tastatur das D. Auch hier muss man immer noch auf ein Plug-in von Drittanbietern zurückgreifen und die Menüs umbauen, da das Duplizieren noch immer mit dem «Datensätze erstellen»-Privileg freigegeben respektive kombiniert ist.





Die Bereinigung der File-Referenzen ist für den Programmierer leider eine sehr aufwendige Sache. Es wäre schon nett gewesen, wenn man in der Liste die Zeilen hätte anwählen können und es einen Knopf «Konsolidieren» gäbe.
Kritik gibt es auch für den Feld-Verlassen-Script-Trigger: Noch immer muss man auf ein Plug-in zurückgreifen, wenn man ein Script auslösen will, wenn der Anwender ein Feld (zum Beispiel per Tab) verlässt.
Vermisst wird schliesslich auch die Möglichkeit der Tabellenkonsolidierung bei der Migration. Beim Konvertieren von der 6er-Version wäre eine Funktion wünschenswert, mit der man bestimmen könnte, welche Dateien zu einer neuen Datei mit mehreren Tabellen zusammengefasst werden sollen. Leider muss man auf den FM Robot von New Millennium (www.newmillennium.com) zurückgreifen.


Autor

Alexis Gehrt ist Inhaber der Firma Database Designs und beschäftigt sich praktisch ausschliesslich mit der Entwicklung von kundenspezifischen FileMaker-Datenbanken (www.database-designs.ch).




Artikel kommentieren
Kommentare werden vor der Freischaltung durch die Redaktion geprüft.

Anti-Spam-Frage: Wieviele Zwerge traf Schneewittchen im Wald?
GOLD SPONSOREN
SPONSOREN & PARTNER