Einstieg in FileMaker: 10 Stolpersteine – Teil 2

Einstieg in FileMaker: 10 Stolpersteine - Teil 2

In diesem zweiten Teil beschreibe ich 5 weitere Punkte, die ich Einsteigern empfehle bei der Entwicklung mit FileMaker zu beachten.

Photo: James Pritchett | Quelle: unsplash.com
Photo: James Pritchett | Quelle: unsplash.com

Wie beim ersten Teil dieses Beitrages vom 8.5.2016 gehe ich davon aus, dass Sie als Leser entschieden haben, mit FileMaker zu arbeiten, aber noch nicht so viel Erfahrung haben mit FileMaker Pro. Mein Ziel ist es, Ihnen 5 weitere typische Stolpersteine oder anders gesprochen 5 kritische Themen aufzuzeigen. Ich hoffe, dass ich damit helfen kann, typische Anfängerfehler zu vermeiden.

Während die ersten 5 Tipps zur Vermeidung von Anfängerfehlern von eher konzeptioneller Art waren, sind die nachfolgenden 5 Tipps praktische Tipps für die Realisierung einer FileMaker Datenbank.

 

6. Tabellen und Felder geeignet definieren: Tabellen und Felder sind Kernelemente der Datenbank und widerspiegeln das gewählte Datenmodell. Der vorbereitende Schritt dazu ist eine gute Klärung der Anforderung mit Kunden oder Benutzer der Datenbank. Die reale Welt soll letztendlich in den Tabellen und Feldern respektive in den Beziehungen zueinander wiederspiegelt werden. Zudem ist das Ziel, mit der relationalen Datenbank eine konsistente (oder normalisierte) Struktur zu erreichen, die redundante Daten vermeidet. Das heisst, die Daten zu jedem Aspekt sind genau einmal gespeichert. Machen Sie allenfalls mehrere Anläufe bis Sie die Granularität gefunden haben, die Ihren Zielen entspricht und die gewünschte Struktur trifft. Nutzen Sie dazu die meist vorhandene Problem- oder Anforderungsbeschreibung der Datenbank und durchsuchen Sie diese nach den Begriffen (Substantiven), die wichtige Datengruppen zusammenfassen, welche in der Lösung dargestellt werden sollen. Es lohnt sich, hier genügend Denkarbeit zu leisten, denn eine spätere Umstellung der Datenbank wird viel Zeit kosten. Eine gute Beschreibung zu Strategien und Vorgehensweisen ist zum Beispiel in ‚FileMaker Training Series Advanced’ im Modul 2 enthalten.

 

Bei der Definition der Tabellen und Felder sollten Sie stets folgendes im Hinterkopf behalten: Tabellen kosten wenig, Felder sind teuer. Was übersetzt heisst, jedes zusätzliche Feld wird die Datenbank belasten. Je grösser eine Datenbank wird, desto wichtiger wird dieser Aspekt. Für ein paar 10'000 Datensätze spielt das allerdings noch keine allzu grosse Rolle. Andererseits, seien Sie auch nicht zu sparsam. In jeden Datensatz einer Datenbank mit relevanten Daten gehören mindestens folgende Standardfelder: Datensatz ID, Erstellungs- und Änderungs-Zeitstempel, Erstellungs- und Änderungs-Konto, alle bei der Neuerstellung des Datensatzes automatisch generiert und danach geschützt.

 

Die ID wird als Schlüssel für Beziehungen verwendet, muss daher einzigartig sein und darf nie mehr ändern. Ich empfehle sogar, diese für den Benutzer nicht sichtbar zu machen, d.h. wenn Sie Systemnummern (z.B. Rechnungsnummern) vergeben müssen, ist dies ein zusätzliches Feld. Überlegen Sie sich auch, als ID gleich eine UUID (eine einzigartige Nummer, die mit höchster Wahrscheinlichkeit nie ein zweites Mal generiert werden kann) zu verwenden. Dies hat den Vorteil insbesondere bei mobilen Mehrbenutzer-Lösungen, dass Konflikte mit ID Duplikaten praktisch ausgeschlossen werden können. Sie können dazu eine FileMaker Funktion oder eine eigene Funktion verwenden (es gibt dazu einige sehr gute Lösungen, z.B. beschrieben auf filemakerstandards.org). Man kann übrigens sogar Wertelisten auf ID’s aufbauen und diese ausblenden, d.h. der Benutzer wählt einen Namen, im Hintergrund wählt er jedoch die ID.

 

7. Layout und Berichte verstehen: Das Konzept von FileMaker mit Layouts, die verschiedene Bereiche aufweisen, welche für die Dateneingabe oder für Berichte genutzt werden können, gefällt mir extrem gut. Aus meiner Sicht basiert der Erfolg von FileMaker unter Anderem darauf. Allerdings ist gerade dieses Konzept nicht auf den ersten Blick verständlich und unterscheidet sich in diesem Punkt von allen anderen Datenbanksystemen. Wenn man dieses nicht genau versteht, wird man suboptimal entwickeln.

 

Layouts sind grundsätzlich dazu da, die Daten eines Tabellenauftretens (TO) darzustellen oder zu editieren, und zwar die Daten der direkt zugeordneten TO sowie die von allen TO’s, welche über Beziehungen verbunden sind. Wenn Sie mit dem Anker-Bojen Modell arbeiten, wird jeder Anker mindestens ein zugehöriges Layout haben, von dem aus die entsprechenden Daten dargestellt werden (falls Ihnen der Begriff nicht bekannt ist, empfehle ich die Links im Teil 1 anzuschauen).

 

Legen Sie als erstes fest, ob Sie Daten editieren oder Daten auswerten wollen. Daten editieren werden Sie im Datenbereich, wählbar in der Bereichsdefinition, dargestellt als Formular oder mit mehreren Datensätzen als Liste. Um Daten auszuwerten, müssen Sie zusätzlich Bereiche für Zwischenergebnisse und je nach Anforderung auch für das Gesamtergebnis anzeigen (wieder über die Bereichsdefinition). Der grosse Unterschied bei den Berichten ist die Betrachtungsweise: Während ein klassisches Layout von der obersten Tabelle aus mit Bezugsfelder respektive Ausschnitten quasi in die Tiefe blickt, geht man bei Reports vom granularsten Datensatz aus (zum Beispiel Position in einer Rechnung) und fügt dann im Kopfbereich die Übergeordneten Daten (zum Beispiel Rechnungsadresse) hinzu. Und man muss sich bewusst sein, dass die Datensätze immer nach einem festzulegenden Feld sortiert sein müssen, damit die Zwischenergebnisse überhaupt angezeigt werden. Aus meiner Sicht stellen diese Reports einen immensen Mehrwert dar für Kunden, denn sie können mit wenig Aufwand erzeugt werden, während bei traditionellen Systemen alleine für diese Funktionalitäten oft hohe Kosten anfallen oder gar separate Lösungen gebaut werden. Nutzen Sie also diese Möglichkeiten und machen Sie Ihren Kunden oder Benutzern diesen Mehrwert verfügbar. Wenn die Möglichkeiten erst einmal erkannt sind, werden rasch weitere Ideen und Wünsche auftauchen.

 

Legen Sie dann fest, wie gross der verfügbare Platz in der Anwendung mindestens sein muss. Überlegen Sie, wie der abzubildende Geschäftsprozess ausschaut, den die Benutzer durchlaufen. Verwenden Sie zur Unterstützung dieses Prozesses gezielt Portale, Register-Elemente, Seitensteuer-Elemente oder Popover, um eine Art progressiv aufbauende Anzeige von Inhalten zu erreichen. Dies heisst eigentlich nichts anderes, als nur so viel wie nötig darzustellen, den Benutzer damit auf die relevanten Inhalte zu fokussieren, durch seinen Prozess zu führen und dann erst bei Bedarf in die Tiefe zu gehen. Denn Layouts mit allen Informationen (was ich, wie ich gestehe, früher oft gemacht habe!) sind vielfach ein sehr ineffizientes Benutzerinterface. Orientieren Sie sich an guten Software-Produkten auf dem Markt, schauen Sie, was dort vorbildlich gemacht wird. Adaptieren Sie diese Prinzipien auf Ihre Lösung – es ist erstaunlich, was mit den Werkzeugen von FileMaker machbar ist. Ich nutze zum Beispiel gerne eine dynamische (und manchmal auch gefilterte) Seitenleiste zur Navigation in den Daten. Seien Sie jedoch extrem konsistent mit dem Menu zur Navigation in der Applikation, dieses soll immer und überall gleich ausschauen und den Benutzer verlässlich führen. Wenn Sie für verschiedene Plattformen wie iOS oder Browser mit WebDirect entwickeln, investieren Sie unbedingt auch Zeit in plattformspezifische Layouts. Sie können damit das Benutzer-Erlebnis wesentlich verbessern, was sich letztendlich im Erfolg ihrer Applikation äussern wird. Zum Beispiel sollte ein Layout für iOS in der Regel eher vertikal scrollen, statt über viele Ansichten zu gehen.

 

Das Thema Layout und Berichte inklusive Visualisierung mit Diagrammen ist sehr umfangreich, und es lohnt sich insbesondere hier, sich einzuarbeiten und die vielen Möglichkeiten auszutesten. Wenn Sie die Prinzipien einmal verstanden haben, wird FileMaker Ihr Rapid Application Development Tool der ersten Wahl für Unternehmens-Software werden, sofern es dies nicht schon ist!

 

8. Designs und Stile konsequent anwenden: Mit FileMaker Pro 12 wurden erstmals Designs und Stile eingeführt - ein typisches Werkzeug, das man erst einmal für sich entdecken muss, das aber einen enormen Zeitgewinn darstellt, wenn man es einmal verstanden hat und konsequent anwendet. Ich habe leider nicht gleich bei Erscheinen von FMP 12 damit angefangen, erst ein Vortrag der FileMaker Konferenz hat mir den entsprechenden Anstoss gegeben, und seither bin ich begeistert. Da FileMaker mit Version 12 eine auf HTML/CSS basierte Wiedergabe der Layouts eingeführt hat, welche ermöglicht, dass die FileMaker Layouts automatisch und sehr präzise für die Browser Darstellung unter WebDirect verfügbar sind, wurde gleichzeitig auch der Zugang zu den Parametern von Designs und Stilen verfügbar gemacht.

 

Was aber sind eigentlich Designs und Stile genau? Ein Stil ist ein Set von allen Attributen (Farbe, Linienstärke, Font etc) eines Layout-Objektes. Ein Design beinhaltet die Summe aller definierten Stile. Wenn ich die Eigenschaften eines Objektes ändere und den Stil speichere (oder unter einem neuen Namen als weiteren Stil speichere), dann kann ich diesen Stil allen gleichartigen Elementen zuordnen, und alle Einstellungen werden dabei übernommen. Wenn ich dann eine Eigenschaft ändern muss, ändere ich diese nur einmal, und alle mit dem Stil definierten Elemente werden geändert. Wenn ich im Layout auch die Änderung des Stils für das Design speichere, wird die Änderung für alle Layouts in der gleichen Datei übernommen. Ein entscheidender Aspekt ist, dass damit die Layouts schneller laden, weil damit die Daten des Layouts reduziert werden. Und wenn in Zukunft Ihr Kunde eine Änderung haben will im Stil oder im Design, kann dies durch die konsequente Anwendung mit deutlich weniger Aufwand umgesetzt werden.

 

Eine Empfehlung ist zudem, dass Sie bei der Entwicklung eines eigenen Designs die von FileMaker zur Verfügung gestellten Designs Minimalistisch und Minimalistisch Touch verwenden. Diese enthalten keine benutzerdefinierten Stile und sind damit das ideale ‚weisse Blatt Papier’ um zu starten.

 

9. Server und Backup für Entwicklung und Einsatz nutzen: FileMaker bietet eine attraktive Produkt-Palette, bei der die Server-Version eine prominente und wichtige Stellung einnimmt. Meine Empfehlung ist: Sowohl für die Entwicklung wie auch für die Nutzung der Datenbank würde ich ausschliesslich mit einem Server arbeiten, der die Datenbank hostet. Warum? Man kann ja mit FileMaker Advanced auch direkt eine Datenbank öffnen und programmieren, und im Betrieb kann sogar FileMaker Pro eine Datenbank für einen anderen Client hosten. Natürlich geht das. Sie können auch mit Turnschuhen ins Hochgebirge gehen, vielleicht kommen Sie ja gut wieder zurück. Doch ernsthaft, folgende Punkte sprechen sehr klar für eine Server Lösung:

 

Backup: Wenn eine FileMaker Datenbank geöffnet ist, können Sie kein Backup der Datenbank machen. Bereits schon das Lesen einer geöffneten Datenbank mit einem System-Backup (zum Beispiel mit TimeMachine unter OS X) kann zu Problemen führen. FileMaker Server hingegen kann während dem laufenden Betrieb volle bzw. inkrementelle Backups durchführen, die vom Benutzer praktisch nicht wahrgenommen werden. Sie können in der Admin-Konsole auf einfache Art zeitlich gesteuerte Backup-Pläne einrichten. Diese Backups sind dann geschlossene Datenbanken, welche mit System-Backups problemlos auf einen externen Server kopiert werden können.

 

Stabilität: Wenn Sie während der Entwicklung mit FileMaker Advanced einen Crash haben, was bei mir zum Glück äusserst selten vorgekommen ist, dann ist eine mit FileMaker Server gehostete Lösung komplett sicher und verliert einfach die Verbindung zum Client. Im schlimmsten Fall ist vielleicht die letzte Änderung im Script noch nicht gespeichert gewesen. Wenn Sie jedoch eine Lösung mit FileMaker Pro oder Advanced geöffnet haben, empfehlen Ihnen alle FileMaker Profis, nicht mehr mit der gecrashten Datenbank weiter zu arbeiten. Irgendwann, vielleicht viel später, werden Sie möglicherweise ein Problem bekommen mit der Datenbank. Sollte Ihnen ein Crash passieren (das kann z.B. ein Stromausfall auf einem Desktop Rechner sein), dann wird allgemein empfohlen, konsequent auf das letzte Backup zurückzugreifen.

 

Sicherheit: Im Gegensatz zu FileMaker Pro können Sie externe Verzeichnisse für die Benutzerautentifizierung verwenden, falls dies ein Kunde wünscht (wobei das natürlich auch kritisch beurteilt werden muss, siehe Punkt 10). Sie können zudem nur die Datenbanken zeigen, auf die der Benutzer Zugriff hat, und sie können mit einer verschlüsselten sicheren Verbindung (SSL) für die Datenübertragung arbeiten.

 

Wenn Sie sich entscheiden, für die Entwicklung mit FileMaker Server zu arbeiten, empfehle ich, die Developer Subscription von FileMaker einmal anzuschauen. Für den relativ geringen Jahresbetrag erhält man eine eingeschränkte Server Lizenz für die Entwicklung, welche ein Maximum von 3 gleichzeitigen FileMaker Pro- / Go / WebDirect oder Custom Web Publishing -Verbindungen erlaubt, was perfekt ist um zu entwickeln und zu testen. Daneben gibt es weitere Vorteile wie den kostenlosen Download der ‚FileMaker Training Series Advanced’. Aus meiner Sicht also ein wirklich lohnendes Investment. Aber ein Produktiv-Einsatz für Kunden ist mit dieser Server-Lizenz nicht erlaubt. Für diesen Fall empfehle ich Angebote von FileMaker Hostings verschiedener Anbieter anzuschauen, die in der Regel äusserst professionell und zu vernünftigen Konditionen auf dem Markt sind, und die meist sogar im eigenen Land angeboten werden. Und Sie müssen sich nicht um Themen wie SSL Zertifikat, Server Update und Wartung kümmern.

 

10. Sicherheit ernst nehmen: Eigentlich müsste dieser Teil zuerst stehen, ich nehme jedoch die Sicherheit bewusst als letzten Punkt, um dem Thema so vielleicht noch etwas mehr Nachdruck verleihen zu können und damit besser in Erinnerung zu bleiben. Dass immer wieder selbst namhafte Unternehmen durch Sicherheitsprobleme immensen Schaden erleiden, zeigt sehr deutlich, wie wichtig Sicherheit ist, aber auch, dass das Thema in vielen Fällen zu wenig ernst genommen wird. Denn jedes System ist nur so sicher wie das schwächste Glied in der Kette.

 

Meine Ambition für diesen wichtigen Punkt ist einfach das Bewusstsein auch im Kontext von FileMaker dafür zu schärfen. Insbesondere möchte ich dazu einmal mehr auf 'FileMaker Training Series Advanced’ hinweisen, denn darin wird das Thema umfangreich und gut erläutert dargestellt. Ich werde somit an dieser Stelle die für den Einsteiger wichtigsten Punkte einfach kurz zusammenzufassen:

 

Beginnen Sie damit, Ihre Lösung gleich zu Beginn zu sichern, entfernen Sie den Default-Zugriff, indem Sie den Admin-Account durch einen anderen Benutzer-Namen als 'Admin' plus Passwort für volle Zugriffsrechte ersetzen und die automatische Anmeldung beim Öffnen (unter Dateioptionen) ausschalten. Gleichzeitig sollten auch volle Zugriffsrechte für den externen Zugriff auf die Datei verlangt werden (unter Sicherheitseinstellungen). Meine zweite Empfehlung ist, kein eigenes Login-System zu bauen, sondern ausschliesslich das FileMaker Sicherheits-System zu nutzen, ausser Sie haben eine sehr grosse Erfahrung mit FileMaker und können komplett ausschliessen, dass ein unautorisierter Zugriff auf die Datenbank erfolgen kann. FileMaker bietet umfangreiche Möglichkeiten, Zugriffe bis auf Feld-Ebene und damit auch Datensatz-Ebene zu regeln, aus meiner Sicht gut gemacht und ausreichend für die meisten Anwendungen. Für sehr sensible Anwendungen bietet FileMaker zusätzlich die Möglichkeit, die Datenbank selbst zu verschlüsseln sowie auch die extern gespeicherten Files, die mit der Datenbank verwaltet werden. Übrigens, nur schon die Realisierung der in FileMaker implementierten Sicherheits-Funktionalitäten würden bei einer konventionellen Software-Entwicklung einen sehr hohen und für KMU vermutlich kaum bezahlbaren Aufwand bedeuten.

 

Ich möchte es nochmals wiederholen, die Sicherheit ihrer Lösung ist nur so stark wie das schwächste Glied in der Kette. Daher abschliessend noch drei weitere typische Empfehlungen: Überlegen Sie nicht nur, wie Sie ihre Lösung im Netzwerk schützen, sondern auch, ob Ihre Backups geschützt sind. Erlauben Sie nicht, dass die Benutzer der Datenbank aus Convenience-Gründen Ihr Login-Passwort im System gespeichert haben, denn dort haben Sie eventuelle keine Kontrolle, wie gut das Betriebssystem geschützt ist. Und entfernen (oder schützen) Sie die automatisch installierte Demo-Datei, wenn Sie mit FileMaker Server arbeiten.

 

Zum Thema Sicherheit möchte ich alle Leser auch noch auf einen sehr guten Vortrag von Alexis Gehrt von Database Designs hinweisen, den wir an der FileMaker Konferenz 2015 'geniessen' durften. Die Slides sind öffentlich verfügbar gemacht unter diesem Link.

 

Wenn diese zwei zusammengehörenden Artikel hilfreich waren, oder wenn Kritikpunkte vorhanden sind, würde ich mich über einen kurzen Kommentar oder ein e-Mail sehr freuen. Es darf auch eine Frage sein, die einen weiteren Blog Beitrag zur Antwort haben kann.

 

Viel Vergnügen und viel Erfolg mit FileMaker!

 

25.5.2016
Markus Spieler

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.