Swiss QR Bill Enhanced

Swiss QR Bill Enhanced

Schweizer Einzahlungsschein mit QR-Code als Add-on für FileMaker


Die neuen Schweizer Einzahlungsscheine verlangen nicht nur einen QR-Code, sondern kommen auch mit ganz bestimmten Anforderungen für Gestaltung, Datenformatierung und dergleichen mehr. Mit diesem kostenlosen Add-on erhalten Sie gleich einen kompletten Einzahlungsschein, der per Drag-and-drop auf das Drucklayout gezogen wird.

Das Add-on funktioniert mit Beispieldaten, woraus die Funktionsweise leicht erkannt wird. Dieselben Scripts und Abläufe lassen sich auf einer zentralen Einstellungsseite mit den eigenen Tabellen verknüpfen. Verschiedene Abläufe können voreingestellt und in den Scripts bei Bedarf einfach angepasst werden.

Schweizer Einzahlungsschein

Damit man ein Schweizer Einzahlungsschein erstellen kann, müssen für den Entwickler 3 Aufgaben geklärt werden:

  1. Rechnungsdaten zusammenstellen
  2. QR-Code generieren
  3. Einzahlungsschein erstellen

Das Add-on «Swiss QR Bill Enhanced» löst alle diese Schritte, macht sie nachvollziehbar und konfigurierbar. Die Daten und der QR-Code werden in einem Zahlungsbeleg zusammengefasst, das per Drag-and-drop auf ein Rechnungslayout gezogen werden kann.

Vorbereitung

Zur Vorbereitung müssen in der Rechnungstabelle zwei Felder hinzugefügt werden: Ein Wiederholfeld wird die Rechnungsdaten aufnehmen und ein Medienfeld wird den QR-Code speichern. Nach der Installation des Add-ons wird das mit Beispieldaten nachvollziehbar aufgezeigt. Versteht man die Funktionsweise mithilfe der Beispieldaten, kann die Lösung integriert werden. Dazu gibt es einfache Einstellungen.

Die Lösung arbeitet nach den vorher genannten Schritten. Für jeden einzelnen Schritt gibt es ein Script, das sich bei Bedarf einfach anpassen lässt.

1. Rechnungsdaten sammeln

Die Rechnungsdaten werden in einem Wiederholfeld zusammengefasst. Die Spezifikation für die Daten sehen bestimmte fixe Angaben vor, und Informationen aus der Rechnung müssen hier reinkopiert werden. Welche Informationen das sind, wird durch die Spezifikation bestimmt. Ein Script füllt alle Wiederholungen. Man kann selbst dieses Script leicht mit eigenen Datenfeldern ergänzen. Das Wiederholfeld ist sozusagen der Zwischenspeicher der Informationen. QR-Code und Zahlungsbeleg werden nun aus diesem Zwischenspeicher heraus gefüllt. Das vereinfacht die Abgrenzung und Struktur der Informationen.

2. QR-Code generieren

Aus den Rechnungsdaten, die in dem Wiederholfeld abgespeichert sind, wird der QR-Code generiert. Dazu wird die Lösung benutzt, die von Otmar Kramis (thx!) als Add-on zur Verfügung gestellt wurde (hier). Der Code wird mithilfe von JavaScript in einem Webviewer generiert und in ein Medienfeld der Rechnungstabelle gespeichert.

3. Einzahlungsschein erstellen

Alle Informationen sind jetzt erstellt und können für den Einzahlungsschein zusammengefasst werden. Der QR-Code wurde in der Rechnungstabelle abgelegt und muss von dort eingeblendet werden. Alle Textinformationen für den Einzahlungsschein werden in globalen Variablen abgelegt und auf dem Einzahlungsschein dargestellt. Der Einzahlungsschein selbst verfügt über eigene Stile, die auf die Spezifikationen angepasst wurden. Deswegen kann der Einzahlungsschein einfach per Drag-and-drop auf das Rechnungslayout gezogen werden. Texte funktionieren sofort. Einzig das Medienfeld für den QR-Code muss mit der Rechnungstabelle verknüpft werden.

Texte auf dem Einzahlungsschein müssen bestimmten Anforderungen erfüllen. Zahlen, IBAN-Code und dergleichen müssen auf bestimmte Arten formatiert werden. Dafür werden Custom Functions eingesetzt, die zum Add-on gehören.

Einführungsvideo

Download Links für kostenlose Produkte werden per E-Mail zugesandt. Es findet eine E-Mail-Prüfung statt. Sie benötigen eine gültige und permanente E-Mail-Adresse.

Swiss QR Bill Enhanced (DE)

Kostenloser Download

Bitte füllen Sie dieses Formular aus. Der Download Link wird Ihnen per Email zugeschickt.


Portrait of smiling girl in glasses, sitting with laptop in outdoor cafe, drinking coffee and working remotely, studying online.

FM Starter Version 2.8 freigegeben

FM Starter Version 2.8 freigegeben

Bugfixes und Verbesserungen


30. November 2022In FM StarterBy Karsten Risseeuw1 Minutes

Ab sofort steht FM Starter in der Version 2.8 zur Verfügung. Das Update bringt keine grossen Neuerungen, sondern eine Reihe kleinere Verbesserungen und Bugfixes.

Zu den Änderungen gehören folgende Anpassungen:

  • Entwickler-Dashboard: Aktueller Kontoname kann per Klick der Entwicklerliste hinzugefügt werden.
  • Die globale Navigation passt die Fenstergrösse automatisch an. Dafür kann jetzt eine minimale Fensterbreite angegeben werden.
  • Für die automatische Übersetzung mit DeepL wurde Ukrainisch hinzugefügt.
  • Die Login-Seite wurde optimiert.

Downloads

Kunden mit einer aktuellen Lizenz von FM Starter, oder dem FM Developer Bundle, können das letzte Update aus Ihrem Konto auf fmstarter.com herunterladen.

Was ist FM Starter?

FM Starter ist eine Startdatei für neue FileMaker-Projekte. Die Datei beschleunigt und vereinfacht neue Projekte, indem es oft benötigte Bausteine (Navigation, Mehrsprachigkeit, Projektstruktur, Benutzerverwaltung, usw.) sofort zur Verfügung stellt. Neue Projekte lassen sich rasch aufgleisen.

Was ist FM Starter?

Berechne-Funktion kann kann eine FileMaker-Anwendung beschleunigen

Berechne-Funktion kann kann eine FileMaker-Anwendung beschleunigen

Ersetze Berechnungsfelder mit regulären Text- oder Nummernfeldern


1. September 2022In TippsBy Karsten Risseeuw9 Minutes

Die «Berechne» Funktion in FileMaker führt eine Berechnung aus, als wäre es ein Berechnungsfeld. Eine Berechne-Funktion verwendet aber kein Berechnungsfeld, sondern stattdessen reguläre Text- oder Nummernfelder. Diese können indexiert werden, was zu einer besseren Performance führt.

Berechnungsfelder verlangsamen

Warum sollte man statt ein Berechnungsfeld normale Text- oder Nummernfelder verwenden? Ein wichtiger Grund kann in der Indexierung liegen.

Berechnungsfelder werden stets aktualisiert und können deshalb nicht indexiert werden. Felder, die stets aktualisiert werden, verlangsamen jede FileMaker Lösung. Das macht sich insbesondere bei grossen Datenmengen in Listenansichten bemerkbar, sowie bei Scripts, die auf Layouts zugreifen müssen, worin Berechnungsfeldern liegen.

Normale Text- und Nummernfeldern dagegen werden meist automatisch indexiert und können deshalb schnell Resultate liefern – es muss nichts mehr berechnet werden. Es ist sinnvoll, Berechnungen in normalen Text- und Nummernfeldern auszulösen, aber nur im Bedarfsfall. Grösstenteils müssen Angaben nur einmal berechnet werden und vielleicht später noch einmal in einer Korrektur. Mehrheitlich ist eine ständige Neuberechnung nicht erforderlich und belastet das System nur unnötig.

Will man performante Lösungen erstellen, sind Berechnungsfelder häufig ein Flaschenhals. Deswegen kann es sich lohnen nach Alternativen Ausschau zu halten.

Berechne den Text

Texte können zusammengebaut werden. Ein typisches Anwendungsgebiet sind Adressblöcke. Man kann etwa eine Adresstabelle mit folgenden Feldern haben:

<Firma>
<Strasse>
<Postleitzahl> <Ort>.

Dies ist nur ein vereinfachtes Beispiel. Die meisten Adressen sind deutlich komplexer. Damit man diese Angaben nicht ständig neu zusammensetzen muss, kann es sinnvoll sein, ein separates Feld für eine <Komplettanschrift> zu erstellen. Darin kann man die gesamte Adresse abbilden. Bei Briefen, Rechnungen und dergleichen muss man nur auf das vorberechnete Feld der <Komplettanschrift> verweisen. Weil das berechnete Feld ein normales Textfeld ist, kann dieses Feld indexiert werden. Es geht in diesem Beispiel um das Prinzip, nicht um diese spezielle Lösung, welche als Beispiel herbeigezogen wird.

Das Resultat soll in das neutrale Textfeld <Komplettanschrift> geschrieben werden. Es gibt mehrere Optionen, dies zu lösen:

  1. Per Script (Feldwert setzen + Berechnung im Script)
  2. Per Felddefinition (Definition im Feld selbst)
  3. Per Felddefinition (Definition in einem externen Referenzfeld)

Die Berechnung findet also nur 1x statt. Sie sollte aber bei Bedarf wiederholt werden können.

Hier liegen nun die Unterschiede zu einem Berechnungsfeld: Bei einem regulären Text- oder Nummernfeld muss man die Berechnung speziell auslösen, während bei einem Berechnungsfeld ständig aktualisiert wird. Daraus folgt selbstverständlich, dass die Entwicklung mit regulären Feldern etwas aufwändiger ist. Die Belohnung liegt jedoch in einer performanteren Lösung und steuerbaren Resultaten.

Links sind verschiedene Adressfelder. Rechts steht das Feld <Komplettanschrift>, worin die Daten zusammengerechnet wurden. Das Feld rechts ist kein Berechnungsfeld, sondern ein normales Textfeld.

Berechnung per Script

Eine einfache Möglichkeit, ein berechneter Wert in ein reguläres Feld einzufügen, ist mit einem Scriptschritt:

Berechnung im Feld

Eine weitere, ressourcenschonende Methode ist die Verwendung eines Textfeldes, worin man eine Berechnung angibt:

Die Berechnung wird bei Änderung der Datenfelder jeweils neu aktiviert. Danach ist wieder Funkstille bei den Berechnungen. Die Belastung des Systems ist minimal und das Resultat kann indexiert werden.

3. Berechnung mit «Berechne» Funktion

Die automatische Berechnung bei der Texteingabe (Beispiel 2) funktioniert gut. Sie funktioniert jedoch nicht immer. Speziell mit externen Referenzen kann die «automatische» Neuberechnung hapern. Das ist logisch, denn eine Berechnung in einem regulären Textfeld muss immer speziell getriggert werden.

Folgendes Szenario könnte zutreffen: Statt eine Berechnungsformel in einem Feld oder in einem Script zu verstecken, kann ich die Formel offen in einem Textfeld ablegen. Das ist dann die Definition für eine Berechnung, nicht die Berechnung selbst. Dort, wo ich das Resultat der Berechnung sehen will, muss ich die Berechnung herbeiziehen, dann evaluieren und das Resultat in das Resultatfeld schreiben.

Werden nun Textdefinitionen als «Text» übergeben, sind diese nicht automatisch evaluiert. Hier kommt die Berechne-Funktion zum Einsatz.

  • Im Feld, wo ich ein Resultat sehen will (z.B. <Komplettanschrift>), erstelle ich ein Verweis auf eine externe Berechnungsformel, die in einem Textfeld liegt. Diese externe Formel soll mir die Berechnung im Feld auslösen:
    • Felddefinition <Komplettanschrift> hat bei der «Eingabe» eine «Formel», worin ich das externe Feld angebe: [ Externe Definition ]
    • Diese Berechnung wird leider nicht automatisch ausgeführt. Das korrigiert man mit der Berechne-Funktion: Berechne ( [ Externe Definition ] )
  • Steuern kann man die Berechnung mit einem Trigger-Feld. Ein Trigger-Feld sagt, wann die Berechnung ausgeführt werden soll. Eine Änderung im Trigger-Feld bewirkt dies. Das funktioniert wie folgt:
    • Berechne ( [ Externe Definition ] ; [ Trigger-Feld ] )
    • Trigger-Felder aktivieren durch Änderung des Inhaltes die Evaluation.

Hier liegt die Berechnung für zwei verschiedene Adressblöcke in normalen Textfeldern. Es sind komplexe Berechnungen. Beachte: In diesen Feldern liegt nur die Formel. Berechnet wird hier nichts. Das Ziel ist es jedoch, die Berechnung zentral abzulegen und an einem anderen Ort zu evaluieren.

Hier ist das eigentliche Feld für das Resultat der Berechnung. Es ist jedoch kein Berechnungsfeld. Die Berechnung wird «Bei Dateneingabe» ausgeführt, was sich in den Einstellungen des Feldes definieren lässt. Dort wird der Verweis auf die vorher genannte Formel mit «Berechne ( FORMELFELD)» ausgelöst. Wegen der Komplexität reicht das jedoch nicht. Die Berechnung hat häufig nicht automatisch funktioniert. Ein extra Trigger muss dies beheben. Deswegen steht hier «Berechne ( FORMELFELD ; TRIGGERFELD )».

Mehrere Trigger für die Berechne-Funktion

Die Berechne-Funktion unterstützt nur 1 Trigger. Das ist eine Begrenzung. Es funktioniert recht einfach: Ändert sich der Inhalt des Trigger-Feldes, dann wird die Berechnung ausgeführt. Bei komplexen, verschachtelten Berechnungen und bei externen Feldern kann die Berechnung stocken. Ein Trigger kann sie aber gezielt wieder zum Laufen bringen. Das ist die Aufgabe des Triggers.

Nur 1 Trigger steht zur Verfügung. Manchmal stehen aber mehrere Felder in einer Berechnung, worauf die Berechne-Funktion nicht wirkt. Diese Felder kann man in ein neues Feld zusammenrechnen (addieren!), damit daraus ein Wert entsteht. Ändert sich nun in einem der addierten Felder etwas, dann ändert sich auch die Summe im separaten Trigger. Das separate Feld wird also nur angelegt, damit eine sonst nicht entdeckte Änderung trotzdem zu einer Neuberechnung führt. Es ist ein Hilfsfeld.

Als Triggerfeld habe ich ein Nummernfeld angelegt, worin ich die relevanten Schalter für diese Berechnung «zusammengezählt» habe. Das Ergebnis ist nicht wichtig. Es wird jedoch zuverlässig jede Änderung in den Schalter-Feldern berücksichtigen. Die Änderung triggert nun die Berechnung der <Komplettanschrift>.

Einsatzgebiete

Lösungen wie diese helfen dabei, eine Anwendung zu optimieren. Das einzige Ziel dabei ist es, Berechnungsfelder zu vermeiden, weil die ständig Ressourcen benötigen. Reguläre Textfelder dagegen können indexiert werden. Die Techniken in diesem Beitrag zeigen, wie man eine Berechnung bei Bedarf in einem regulären Textfeld triggert.

Beispiel

Im folgenden kurzen Video wird das Ergebnis des letzten Beispiels gezeigt. Die Adresse rechts im Bild wird mit verschiedenen Schaltern formatiert. Das Ergebnis wird in ein reguläres Textfeld gespeichert. Das Beispiel zeigt, wie man mit regulären Feldern Berechnungen ganz ohne Berechnungsfelder bei Bedarf ausführen kann.


Wie verwendet man Pfeiltasten zur Navigation in FileMaker-Listenlayouts?

Wie verwendet man Pfeiltasten zur Navigation in FileMaker-Listenlayouts?

Vergessen Sie Ihre Maus und arbeiten Sie nur mit der Tastatur


10. Juni 2022In BeispieleBy Karsten Risseeuw2 Minutes

In FileMaker Listenlayouts lässt sich mit der Tastatur zwar zwischen Feldern, nicht aber zwischen verschiedenen Datensätzen wechseln. Wer also ein bestimmtes Feld in mehrere Datensätze einer Liste bearbeiten will, muss für jeden Wechsel zu einem neuen Datensatz zur Maus greifen. Das ist umständlich. Hier eine Technik, womit man die Pfeiltasten auf der Tastatur auch zur Navigation in einer Liste nutzen lässt.

In FileMaker Listen kann man mit der Tabulatortaste ein Feld vorwärts springen und mit SHIFT + Tabulatortaste ein Feld rückwärts. Zum nächsten Datensatz gelingt man jedoch mit keinem Tastatur-Befehl. Dadurch ist immer wieder der Griff zur Maus notwendig. Das ist umständlich. Man kann auf Mac zwar auf Systemeinstellungen zurückgreifen, aber mit einer Anpassung wäre es möglich gleich zwei weitere Dinge zu erreichen:

  1. Gleiches Verhalten unter Mac und Windows
  2. Zusätzliche Möglichkeiten im Script.

Mithilfe eines Triggers («OnLayoutKeystroke») kann für diese Aufgabe ein Script aufgerufen werden. Man kann mit diesem Trigger unter anderem die Pfeiltasten abfangen. Pfeil nach Oben kann mit «Vorheriger Datensatz» und Pfeil nach Unten mit «Nächster Datensatz» belegt werden. Das erleichtert die Navigation.

Die Beispieldatei zeigt, wie man ein Tastendruck abfängt und wie man daraus eine einfache Navigation in einer Liste erstellt.

Innerhalb eines Datensatzes kann man von Feld zu Feld springen. Das geht bereits mit der Tabulator-Taste. Damit es keine Verwechslung mit Standardfunktionen gibt, wurde in dieser Beispieldatei eine Zusatztaste für das Springen von Feld zu Feld definiert. Hier ist es Option + Pfeil nach rechts oder Pfeil nach links. Ob man diesen Teil nutzen will kann man selbst entscheiden.

Anwendungsmöglichkeit

Diese Technik ist vermutlich am wertvollsten, wenn man in einem Listenlayout ist, worin Daten in bestimmten Spalten bearbeitet werden müssen.

Arrow Keys in Lists
Arrow Keys in Lists

Free sample file on how to navigate in FileMaker list layouts with just the arrow keys.

Kostenlose Beispieldatei zeigt, wie man in FileMaker Listenlayouts mit Pfeiltasten navigieren kann.

Größe: 461 kB
Version: 1.0

Das KISS-Prinzip in der FileMaker Entwicklung

Das KISS-Prinzip in der FileMaker Entwicklung

Einfacher ist besser


6. Mai 2022In TippsBy Karsten Risseeuw10 Minutes

Softwareentwicklung ist komplex. Die Komplexität einer Aufgabe zu bewältigen, ist bestimmt eine wichtige Herausforderung für jeden Entwickler. Hat man die Komplexität jedoch einmal bewältigt, geht es anschliessend um die Vereinfachung. Dieser Beitrag ist eine persönliche Reflexion über die Entwicklung hin zu grösserer Vereinfachung und was man sich dabei vorstellen kann.

Das KISS-Prinzip

Anfangs der 1960er-Jahren wurde von der amerikanischen Navy ein Grundsatz für gutes Design geprägt. Unter dem Akronym «KISS» verbirgt sich die Idee, alles möglichst einfach zu halten. KISS steht für

  • Keep it simple, stupid
  • Keep it simple & smart
  • Keep it simple & sweet
  • und so weiter.

Der Grundsatz besagt, dass man das Design so einfach wie möglich halten soll. Die Vereinfachung des Designs soll verschiedene Vorteile bieten. Das Prinzip lässt sich auf unterschiedlichste Bereiche anwenden. In einer Softwareentwicklung könnte man mögliche Vorteile wie folgt auflisten:

  • bessere Übersichtlichkeit
  • einfacher zu bedienen
  • einfacher zu warten
  • verwendet weniger Ressourcen.

Einfacher ist aus diesen Gründen besser. Das KISS-Prinzip hat sich in vielen Situationen als nützliche Idee erwiesen. Die Herausforderung liegt jedoch in der Vereinfachung.

Einfacher oder vollständiger?

Wie lässt sich das KISS-Prinzip anwenden? Gibt es für die Vereinfachung auch Grenzen?

Oft kann man eine Funktion auf einen einzigen Script-Schritt reduzieren. Wer etwas erreichen will und das durch einen einzigen Script-Schritt erreichen kann – anstelle durch viele komplexe Zwischenschritte – hat etwas gut verstanden. Das wäre analog dem KISS-Prinzip. Einfacher ist besser.

FileMaker ist stark in diesen Dingen, weil es komplexe Sachverhalte oft auf einen konfigurierbaren Script-Schritt reduziert. Allerdings ist diese Vereinfachung zwar zielführend, aber nicht immer maximal deutlich. Das möchte ich anhand eines Beispiels aufzeigen.

Stufe 1: Der Minimalist

Wer etwas mit nur einem Script-Schritt lösen kann, zeigt sich als Meister. Simple is beautiful. Das hat jedoch Grenzen. Bei vielen Script-Schritten lassen sich Berechnungen einfügen. In der Script-Übersicht sind diese Berechnungen meist nicht oder nur teilweise sichtbar.

Erst ein weiterer Klick und ein weiteres Fenster zeigen, welche Berechnung im Hintergrund liegt. So funktioniert das in FileMaker. Eventuell sieht man gar nicht, dass eine Berechnung hinterlegt ist. Dann ist zwar die Funktion sehr einfach, aber die Darstellung in FileMaker verhüllt auch bestimmte Abläufe. Das hat Vor- und Nachteile, ist jedoch für die Übersichtlichkeit nicht optimal.

Stufe 2: Der Erfahrene

Eine mögliche Lösung wäre es, die Berechnung durch einen Variablen zu ersetzen und die Variable selbst der Funktion vorauszusetzen. Man kann so vorgehen, dass Berechnungen immer in Variablen stattfinden. Der Name einer Variablen kann einen Hinweis auf die Berechnung liefern. Es wird übersichtlicher. Damit gäbe es zwei Scriptschritte:

  • Setze Variable (mit Berechnung)
  • Benutze Variable (in der eigentlichen Funktion).

Dieses Vorgehen teilt in zwei Schritte auf, was auch in einem Schritt ginge. Der Vorteil liegt hier nicht in der «möglichst kürzesten Umsetzung», sondern eher in der Übersichtlichkeit. Wer das Script aufschlägt, sieht in der Übersicht Variable und Anwendung in zwei Schritten nacheinander. Ein Schritt mehr kann verdeutlichen, dass hier etwas berechnet wird und damit kann die Übersichtlichkeit gedient sein.

Stufe 3: Der Weise

Die Überlegungen können noch weitergehen. Es kann hilfreich sein, zusätzlich ein kurzer Kommentar zu erfassen. Viele Entwickler haben festgestellt, dass eine gut-kommentierte Softwarelösung später einfacher zu warten ist. Ein Kommentar wird demnach im Hinblick auf die spätere, einfachere Wartung angelegt. Wir haben nun drei Zeilen:

  • Kommentar
  • Setze Variable
  • Benutze Variable (in Funktion)

Evaluation der Entwicklung

Was ist jetzt besser, die kürzere direkte Umsetzung oder die besser lesbare Variante mit einer Erklärung für später? Mit diesem Beispiel möchte ich aufzeigen, dass das KISS-Prinzip gut ist, jedoch können Gründe dafür sprechen, eine Aufgabe etwas ausführlicher umzusetzen.

Wo liegt hier der Unterschied? Der Unterschied liegt in der Bewältigung der Komplexität, aber auf zwei verschiedene Ebenen.

  1. Die Funktionalität
    Wer ein komplexer Vorgang auf einen einzigen korrekten Script-Schritt reduzieren kann, hat die Möglichkeiten von FileMaker (oder einer anderen Entwicklungsplattform) gut erfasst. Das ist der Kern, um den es geht. Die Bewältigung der Komplexität konnte durch eine starke Vereinfachung erreicht werden.
  2. Die Darstellung
    Die beiden weiteren Zeilen, die nun hinzugefügt werden (Kommentar und Variable) befassen sich nicht mehr mit der Funktionalität, sondern verbessern lediglich die Darstellung. In der Übersicht ist dadurch auf Anhieb klar, was gemeint wird (Kommentar) und wo man eine Berechnung prüfen sollte (Variable).

Es gibt so viele Meinungen zum Thema, wie es FileMaker-Entwickler gibt. Mir geht es hier nicht darum, zu entscheiden, was wichtig ist, oder wie man etwas machen «sollte». Dieser Beitrag ist bloss eine Reflexion. Heute sehe ich deshalb die drei genannte Schritten als Entwicklungsansätze:

  1. Funktion (Minimalismus)
  2. Variable (Erfahrung)
  3. Kommentar (Weisheit)

Besonders wichtig: Der Minimalist hat gute Gründe, genau so vorzugehen, und keine Zeile zu viel zu schreiben. Wer Berechnungen sichtbar macht, hat aus seiner Erfahrung gelernt, dass dadurch die Scripts besser lesbar sind. Wer ausserdem noch Kommentare hinzufügt, hat verstanden, dass er selbst nach einem Jahr vermutlich nicht mehr weiss, warum das Script so und nicht anders geschrieben wurde. Von jedem Ansatz lässt sich etwas lernen.

Vereinfachung der FileMaker Entwicklung

Das KISS-Prinzip ist nur eines von vielen Möglichkeiten, eine Vereinfachung anzustreben. Selbstredend gibt es weitere Möglichkeiten, die FileMaker Entwicklung zu vereinfachen. Dabei stelle ich fest, dass es verschiedene Ansätze gibt. Welche Variante man bevorzugt, hängt möglicherweise vom eigenen Temperament ab oder von besonderen Anforderungen des gerade aktuellen Projektes. Welche sind die Varianten?

  1. Mehr Regeln
    Einige streben Systeme an, worin alle Details der Entwicklung definiert sind. Es gibt nicht bloss «best practices», sondern man stellt ein Regelwerk auf, wonach sich der Entwickler zu richten hat. Für alles gibt es eine Definition: Wie man Dinge benennt (etwa Feldnamen, Tabellen, Layouts), wie man sie referenziert und welche Konzepte für die gesamte Applikation gelten.
    Nachteil eines Regelwerkes: Es kann ein Eigenleben anfangen und viele Ressourcen und Zeit binden.
    Bedenkenswert: Ein Regelwerk soll dem Entwickler helfen und der Entwickler soll nicht dem Regelwerk dienen.
  2. Weniger Regeln
    Andere, vermutlich die meisten Entwickler, richten sich nach «best practices» und einem reduzierten Regelwerk. Ganz ohne eigene Vorgaben wird man nicht auskommen, aber der Fokus liegt nicht auf dem Regelwerk, sondern auf einer Struktur. Die Struktur soll dem Entwickler helfen, sich jetzt und auch in Zukunft zurechtzufinden. Nicht «wie» man etwas macht, sondern «wo» man etwas findet, steht zentral.
    Nachteil eines Struktur-Prinzips ist gerade die Freiheit des Entwicklers.
    Bedenkenswert: Entwickler tun gut daran, sich bewusst eine Struktur zurechtzulegen und diese konsequent zu nutzen.

Die Vereinfachung der Entwicklung hat immer etwas von einem Abenteuer. Welche Dinge sich bewähren, wird man erst im Nachhinein feststellen. Man braucht den Mut, nicht nur aus der eigenen Erfahrung, sondern auch von anderen Kollegen dazuzulernen, Fehler zu machen, und bewährte Ansätze sukzessive in die eigene Arbeit einfliessen zu lassen.

Wer lernend unterwegs ist, wird feststellen, dass man sich ändert, mit der Zeit bessere Entscheidungen trifft und rückblickend vieles etwas chaotisch gemacht hat. Es braucht Mut zur Lücke, wenn man das feststellt. Selten nämlich lassen sich die alten Fehler neu programmieren. Manchmal jedoch ist es unerlässlich. Dieser Prozess ist spannend und es gibt Methoden, den Schmerz in Grenzen zu halten. Vereinfachung ist eines dieser Methoden.

KISS: Keep it simple & smart.

Anregungen für die FileMaker Entwicklung

Das KISS-Prinzip und andere Ansätze lassen sich auf viele Bereiche der Entwicklung anwenden. Hier entstehen nach und nach weitere Beiträge zur Arbeit mit FileMaker. Sie sind als Anregungen für die eigene FileMaker Entwicklung gedacht.


FM Starter 2.6 unterstützt mehrere Entwicklerkontos

FM Starter 2.6 unterstützt mehrere Entwicklerkontos

Eine beliebige Anzahl Kontos können als «Entwickler» zusätzliche Funktionen erhalten


3. Mai 2022In FM StarterBy Karsten Risseeuw1 Minutes

Das letzte Update von FM Starter bietet mehrere kleine Verbesserungen sowie Bugfixes. Eine wichtige Neuerung in der Version 2.6 ist die Unterstützung mehrerer Entwickler-Kontos.

FM Starter ist eine Startdatei für FileMaker. Als FileMaker-Datei hat es selbstverständlich immer beliebig viele Kontos unterstützt. Damit der Entwickler jedoch manche Optimierungen und spezielle Menüs erhielt, musste man sich über ein bestimmtes Entwicklerkonto anmelden. Diese Beschränkung wurde jetzt aufgehoben. Es können beliebig viele Kontos als «Entwickler» aufgeführt werden.

Das funktioniert wie folgt:

Entwicklerkontos müssen immer direkt in den FileMaker Sicherheitseinstellungen eingerichtet werden. Sobald ein solches Konto angelegt ist, kann man das Konto im Entwickler Dashboard aufführen. Beim nächsten Start der Datei wird die Anmeldung nun als «Entwicklerkonto» erkannt und zusätzliche Funktionen werden freigeschaltet.

Im Entwickler Dashboard gibt es jetzt einen neuen Eintrag «Developers» («Entwickler»).

Auf der Seite «Developers» kann man jetzt die Kontonamen der Entwicklerkontos aufführen. Die Einträge sollten anschliessend gespeichert werden.

Die Einstellungen werden im Startup Script erkannt und entsprechend verarbeitet. Die Sicherheit ist nicht beeinträchtigt, weil dieser Script erst greift, nachdem die Anmeldung bereits stattgefunden hat.

Wer eine aktuelle Lizenz hat, kann das Update direkt aus dem eigenen Konto herunterladen.

Mein Konto

DeepL-Integration für FM Starter

DeepL-Integration für FM Starter

Automatische Übersetzungen für FM Starter


14. März 2022In FM StarterBy Karsten Risseeuw2 Minutes

FM Starter war immer schon mehrsprachig. Übersetzungen musste man jedoch von Hand machen, was sehr aufwändig sein kann. Das hat sich jetzt geändert. Gerade wurde FM Starter 2.5 lanciert. Darin wurde eine automatische Übersetzung mithilfe von DeepL integriert.

Letzte Woche habe ich ein kostenloses Add-on vorgestellt, womit sich in FileMaker Übersetzungen automatisieren lassen. Für das aktuelle Update von FM Starter wurde dieses Add-on genutzt. Dabei wurde die DeepL-Übersetzung nicht nur eingeführt, sondern gleich noch in FM Starter gut integriert. Die Mehrsprachigkeit war bereits gegeben. Jetzt kam da eine leistungsfähige automatische Übersetzung hinzu. So ist es für jeden möglich, erstaunlich gute Übersetzungen in mehreren Sprachen im Handumdrehen zu erstellen.

Wie das funktioniert, zeigt das nächste Video:

Das Video wurde auch bereits bei den FM Starter-Videos eingeordnet.

Download der neuesten Version

Benutzer von FM Starter mit einer aktuellen Lizenz und Support-Abo können das Update direkt aus Ihrem Konto auf fmstarter.com herunterladen. Ihre Downloadberechtigung für FM Starter läuft ein Jahr nach dem Kauf aus. Ist die Lizenz abgelaufen und möchten Sie diese aktualisieren, dann melden Sie sich mit Ihrem Konto an und schauen auf der Produktseite nach. Dort wird dann Ihr gültiger Rabatt zur Erneuerung automatisch angegeben.

Anmeldung

Kostenloses Add-on

Haben Sie keine aktuelle Lizenz für FM Starter oder das Developer Bundle, können Sie auch das kostenlose Add-on «Translate with DeepL» herunterladen. Das ist auch eine Lösung für Entwickler, die bereits Lösungen mit FM Starter realisiert haben, aber nachträglich die automatische Übersetzung mit DeepL einbauen möchten.

Free Add-on: Translate with DeepL

Was ist FM Starter?

FM Starter ist eine Startdatei für neue FileMaker Projekte. Wichtige Bausteine wie etwa eine dynamische Navigation, Mehrsprachigkeit oder eine Benutzerverwaltung sind bereits eingebaut. Ein Entwickler Dashboard beschleunigt und vereinfacht die Konfiguration neuer Projekte erheblich. Mehr zu dieser Lösung finden Sie hier:

Senkrechtstart für Ihr nächstes FileMaker Projekt

Translate With DeepL

Translate With DeepL

Automatische Übersetzungen in FileMaker mithilfe der DeepL-API


10. März 2022In Add-onsBy Karsten Risseeuw2 Minutes

«TWD, Translate With DeepL» ist ein Add-on für FileMaker Pro, womit sich sehr einfach Texte in andere Sprachen übersetzen lassen.

Viele FileMaker-Anwendungen können von einer Mehrsprachigkeit profitieren, etwa für die Benutzeroberfläche, für die Dokumentenausgabe und vieles mehr. Übersetzungen sind jedoch arbeitsintensiv und bedingen gutes sprachliches Know-how.

«TWD, Translate With DeepL» ist ein kostenloses Add-on für FileMaker, womit sich Übersetzungen automatisieren lassen. Das Add-on übersetzt mithilfe von DeepL und nutze deren API-Schnittstelle.

Wie funktioniert es?

Das DeepL API verlangt ein Input Text und gibt ein Output in einer der verfügbaren Sprachen zurück.

Im Add-on wird von einem einzigen Textfeld ausgegangen, das als Wiederholfeld so viele Wiederholungen wie Sprachen haben sollte. Die erste Wiederholung ist der Input-Text. Der Output geht in einem der Wiederholungen für dieses Feld. Die Benutzung von Wiederholfelder ist weitaus flexibler und mächtiger als separate Felder für jede Sprache. Das Add-on verwaltet die Anzahl der Sprachen dynamisch und Berechnungen aufgrund der Wiederholungen sind einfach zu erstellen.

Wird ein Datensatz übersetzt, dann wird die erste Spalte (erste Wiederholung) als Input für DeepL gegeben. So viele Spalten und Sprachen nun angegeben sind, so oft verarbeitet das Add-on nun die Übersetzung. Alle vorhandenen Spalten/Sprachen werden nacheinander übersetzt. Ebenso lassen sich beliebige Datensätze der Reihe nach abarbeiten. Wir beurteilten dies als die effizienteste Methode zur Bearbeitung mehrerer Sprachen.

Wer bereits mit einer eigenen Tabelle für Übersetzungen arbeitet, kann diese ganz einfach angeben. Die Übersetzungen müssen jedoch in Wiederholungen dieses Feldes geschrieben werden. Stellen Sie deshalb sicher, dass die Struktur dieselbe ist als die Beispieldatenbank im Add-on angibt.

Download Links für kostenlose Produkte werden per E-Mail zugesandt. Es findet eine E-Mail-Prüfung statt. Sie benötigen eine gültige und permanente E-Mail-Adresse.

TWD DeepL (DE)

Kostenloser Download

Bitte füllen Sie dieses Formular aus. Der Download Link wird Ihnen per Email zugeschickt.


Erweiterung der Benutzerverwaltung in FM Starter

Erweiterung der Benutzerverwaltung in FM Starter

Das Modul «UserAccounts» zur Verwaltung von FileMaker Konten in FM Starter wurde aktualisiert


9. Februar 2022In FM StarterBy Karsten Risseeuw1 Minutes

FM Starter erhielt gerade ein neues Update. Die neue Version 2.4 ist ein Unterhaltsupdate mit verschiedenen kleinen Optimierungen und Bugfixes. Die Benutzerverwaltung erhielt eine nützliche neue Funktion.

Name und Passwort

FM Starter, unsere Startdatei für neue FileMaker Projekte, bietet verschiedene Module für neue Projekte. Darunter ist eine Benutzerverwaltung mit dem Namen «UAC User Accounts». In dieser Benutzerverwalten können Administratoren neue Konten für Benutzer ablegen und darin Zugriffsdaten, Rechte, eine Standardsprache und Anfangs- und Enddaten festlegen.

Bislang wurden Benutzername und Benutzerpasswort vorgegeben. Der Benutzername entsprach der Email-Adresse und das Passwort wurde von einem Algorithmus per Zufall generiert.

Neu lassen sich Name und Passwort auch manuell einstellen. In gewissen Umständen kann das hilfreich sein. Schaltet man auf eine manuelle Vergabe um, kann man die Umstellung jederzeit auslösen, indem man die Zugriffsrechte neu definiert. Dieser Vorgang ist nötig, weil die Benutzertabelle lediglich eine Schnittstelle zwischen Benutzer und FileMaker-Konten darstellt. Diese beide müssen bei jeder Änderung synchronisiert werden. Die neue Definition der Zugriffsrechte stellt diese Synchronisierung sicher.

Kostenloses Update für alle aktive Konten

Das Update ist kostenlos für Kunden mit einem aktuellen Serviceabonnement. Die Downloads findet man im eigenen Konto auf fmstarter.com.

Weitere Informationen zu FM Starter findet man hier:


Einfache Adressverwaltung als Add-on für Filemaker

Einfache Adressverwaltung als Add-on für Filemaker

Beispiel einer einfachen Adressverwaltung als Add-on


25. Januar 2022In Add-onsBy Karsten Risseeuw4 Minutes

FileMaker Add-ons sind Bausteine für die FileMaker Entwicklung. Man kann selbst Add-ons erstellen oder Add-ons anderer Entwickler nutzen. Add-ons müssen nicht komplex sein. Es können einfache Lösungen sein, Basisstrukturen für ein neues Projekt etwa, die leicht angepasst werden können.

Beispiel eines Add-ons

Hier unten zeige ich ein Beispiel eines sehr einfachen Add-ons. Es ist weder perfekt noch für alles einsetzbar. Es geht um eine einfache Adressdatenbank, worin es um die Adressen geht, die dazugehörenden Kontakte, sowie diverse andere Einstellungen. Als Add-on lässt sich diese «Entwicklungsbasis» nun leicht in neue Projekte übernehmen und dort anpassen.

Aufbau eines Add-ons

Ein FileMaker Add-on lässt sich wie folgt erstellen:

  1. Lege eine neue Datei an
  2. Erstelle die gewünschte Funktionalität (mit Tabellen, Layouts, Scripts usw.)
  3. Exportiere die Datei als Add-on-Paket mit dem entsprechenden Script-Schritt

Wenn man das Add-on erstellt, wird aus der Datei ein sogenanntes Add-on-Paket generiert. Das Paket wird in einem bestimmten Verzeichnis abgelegt. Der Dateipfad zu diesem Verzeichnis ist auf Mac und Windows leicht unterschiedlich. Mit Add-on Lab FREE lässt sich nicht nur einfach eine Datei zu einem Add-on umwandeln, sondern es gibt auch einen Button, womit man das Zielverzeichnis mit einem Klick öffnet.

FMA Addresses Download

Das FileMaker Add-on «FMA Addresses» ist ein kostenloses Add-on, dass sich hier downloaden lässt. Nach dem Download lässt sich das Add-on mit ein paar Klicks in jede FileMaker-Datei integrieren. Einzige Voraussetzung: Man muss FileMaker Pro 19.1 oder höher einsetzen.

  1. Kopiere das ZIP-Archiv in das spezielle Add-on-Verzeichnis*
  2. Entpacke das ZIP-Archiv
  3. Starte FileMaker neu
  4. Öffne eine Datei
  5. Wechsle in den Layout-Modus
  6. In der linken Spalte mit Werkzeugen gibt es einen Tab «Add-ons»
  7. Scrolle in der Liste der Add-ons ganz nach unten und wähle das «FMA Addresses» Add-on.
  8. Lade das Add-on
  9. Beim Laden wird das ganze Add-on bereits im Hintergrund geladen.
  10. Per Drag-and-Drop kann optional einen Hinweis auf das Startlayout hinzugefügt werden.

* Das spezielle Verzeichnis zur Installation von Add-ons lässt sich am einfachsten mit dem kostenlosen Add-on Lab FREE lokalisieren.

Ausgangslage für eine Weiterentwicklung

Das Add-on ist keine fix fertige Lösung, aber zeigt im Ansatz auf, wie man ein nützliches Add-on selbst erstellen kann. In dieser Adressverwaltung gibt es nicht nur verschiedene Tabellen, sondern auch bereits verschiedene Layouts, etwa für Adressen und die dazugehörenden Kontakten. Ebenso werden Telefonnummern, diverse Relationen zwischen den Tabellen, einige Funktionen und eine Reihe an nützlichen Wertelisten bereits eingebaut.

Eine solche Vorarbeit, wie für dieses Plug-in, muss man nur einmal machen. Danach lässt sich das Add-on al Entwicklungsgrundlage für verschiedene Projekte nutzen. Die Funktionalität kann gut geprüft werden, die Entwicklung ist übersichtlich. Add-ons sind deshalb funktionierende und nützliche Bausteine, die man für eine Weiterentwicklung nutzen kann. Importiert man mit wenigen Klicks ein Add-on, ist gleich die Basis gelegt.

  • Testen Sie das Add-on.
  • Haben Sie bessere Ideen?
  • Wie könnten eigene Add-ons aussehen?

FMA Addresses Add-on
FMA Addresses Add-on

Add-on for FileMaker Pro 19.1 or newer. Simple address database in FileMaker. This is a sample file, not a ready-to-go solution. It is meant to give you ideas for your development of add-ons. See how it works, then go and create your personal version!