FileMaker bringt von Haus aus nur ein ganz einfaches Dropdown-Menü mit, über welches man verschiedene Layouts aufrufen kann.
Für kleinere Lösungen oder anspruchslose „In house“-Lösungen mag das ausreichend sein, der allgemeine Benutzer einer kommerziell vertriebenen Lösung erwartet heutzutage aber mehr.
In diesem Vortrag lernen wir eine relativ aufwändige Methode kennen, mit der wir ein Menüsystem bauen können, welches danach flexibel befüllbar ist und dynamisch verschiedenen Benutzergruppen verschieden befüllte Menüs mit unterschiedlichen Zielen anzeigt.
2. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Wir bauen uns ein Menüsystem – Thomas Hirt
Über den Sprecher
• Studium der Biochemie und des Software Engineering
• betreut seit 25+ Jahren Kleinunternehmen und
Privatkunden in Informatikbelangen
• Geschäftsführer und Inhaber der Tek:Guides GmbH
• Windows Umgebungen als Hauptbetätigungsfeld
• Einsatz von FileMaker als Entwicklungsplattform seit 2009
3. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Wir bauen uns ein Menüsystem – Thomas Hirt
Inhalt
• Fähigkeiten und Grenzen des Menüsystems
• Grundkonzept
• Dateien und Tabellen
• Darstellung
• Eigenschaften der Demo-Datei
• live Demo
• Wie könnte man das Menüsystem erweitern? Womit könnte man es koppeln?
4. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Wir bauen uns ein Menüsystem – Thomas Hirt
Fähigkeiten
Fähigkeiten und Grenzen
Grenzen
• horizontales Menü mit 2 Ebenen
• statische Erweiterung/Verkleinerung
der Menügrösse in zwei Dimensionen
• Einteilung der Benutzer in
Benutzergruppen
• anpassbar an lokale und/oder
externe Benutzerkonti
• dynamische Anpassung der Menüs
anhand der Benutzergruppen
• Menüpunkte können Layoutaufrufe
oder Funktionsaufrufe sein
• funktioniert ohne Plugins
• für vertikale Menüs kaum nutzbar
• Anzahl verfügbare Menüpunkte nur
statisch anpassbar
• Grössendarstellung der Menü-
elemente nur statisch anpassbar
• Menüänderungen werden erst nach
Logout/Login sichtbar
5. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Wir bauen uns ein Menüsystem – Thomas Hirt
Grundkonzept
6. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Wir bauen uns ein Menüsystem – Thomas Hirt
Grundkonzept
Field Name Type Options / Comments
id Number Auto-enter Calculation …
groupId Number Numeric Only
userdesignation Text
Field Name Type Options / Comments
id Number Auto-enter Calculation …
name Text
Field Name Type Options / Comments
id Number Auto-enter Calculation …
name Text
groupId Number Unique, Numeric Only, …
7. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Wir bauen uns ein Menüsystem – Thomas Hirt
Grundkonzept
Field Name Type Options / Comments
id Number Auto-enter Calculation …
groupId Number Numeric Only
userdesignation Text
Field Name Type Options / Comments
id Number Auto-enter Calculation …
name Text
Field Name Type Options / Comments
id Number Auto-enter Calculation …
name Text
groupId Number Unique, Numeric Only, …
8. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Wir bauen uns ein Menüsystem – Thomas Hirt
Grundkonzept
Field Name Type Options / Comments
id Number Auto-enter Calculation …
groupId Number Numeric Only
userdesignation Text
Field Name Type Options / Comments
id Number Auto-enter Calculation …
name Text
Field Name Type Options / Comments
id Number Auto-enter Calculation …
name Text
groupId Number Unique, Numeric Only, …
ACHTUNG:
"username" ist ein
reserviertes Wort der
Abfragesprache SQL
9. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Wir bauen uns ein Menüsystem – Thomas Hirt
Grundkonzept – Dateien und Tabellen
Field Name Type Options / Comments
id Number Auto-enter Calculation …
navigationId Number Numeric Only, …
level1 Number By Calculation, Required …
level2 Number
v_navigationId_level1_level2 Text Auto-enter Calculation …
label Text
executesScript Number Auto-enter Data, By Calc …
layoutName Text
scriptName Text
scriptParam Text
10. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Wir bauen uns ein Menüsystem – Thomas Hirt
Grundkonzept – Dateien und Tabellen
11. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Wir bauen uns ein Menüsystem – Thomas Hirt
Grundkonzept – Dateien und Tabellen
Field Name Type Options / Comments
USERNAME Text Global
MENU.JSON Text Global
MENU.ACTIVE.LEVEL.1 Number Global, Numeric Only
MENU.ACTIVE.LEVEL.2 Number Global, Numeric Only
12. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Wir bauen uns ein Menüsystem – Thomas Hirt
Grundkonzept – Dateien und Tabellen
Script Interface
13. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Wir bauen uns ein Menüsystem – Thomas Hirt
Grundkonzept – Dateien und Tabellen
Script Interface
14. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Wir bauen uns ein Menüsystem – Thomas Hirt
Grundkonzept – Dateien und Tabellen
Script Interface
15. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Wir bauen uns ein Menüsystem – Thomas Hirt
Grundkonzept – Dateien und Tabellen
Script Interface
Perform Script [
Specified: From list;
"interface.get.json.navigation ( username )" from file: "Configurations";
Parameter:GLOBALFIELDS::USERNAME
]
16. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Wir bauen uns ein Menüsystem – Thomas Hirt
Grundkonzept – Darstellung
• Eine horizontale Button Bar bildet die Hauptnavigationsebene.
• Die Beschriftungen der Buttons in der Button Bar können dynamisch über die
Konfigurationsdatei geändert werden.
• Die Buttons der Button Bar öffnen jeweils ein Popover Menü.
• Das Popover Menü enthält eine zweite Button Bar, welche die Ebene 2 bildet.
• Die Buttons der Ebene 2 sind echte Buttons.
• Die Beschriftung der Buttons der Ebene 2 und deren Aktionen können
dynamisch über die Konfigurationsdatei geändert werden.
17. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Wir bauen uns ein Menüsystem – Thomas Hirt
Grundkonzept – Darstellung
"nav.level1." &
GLOBALFIELDS::MENU.ACTIVE.LEVEL.1
JSONGetElement (
GLOBALFIELDS::MENU.JSON ;
"items.1.0.label"
)
Die Buttons der Button Bar müssen einen
Objektnamen tragen:
nav.level1.1, nav.level1.2, …
Alle Elemente und Teilinformationen des
Menüs sind in einer JSON-Struktur
abgespeichert.
18. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Wir bauen uns ein Menüsystem – Thomas Hirt
Grundkonzept – Darstellung
"nav.level2." &
GLOBALFIELDS::MENU.ACTIVE.LEVEL.1
& "." &
GLOBALFIELDS::MENU.ACTIVE.LEVEL.2
JSONGetElement (
GLOBALFIELDS::MENU.JSON ;
"items.1.1.label"
)
perform.menu.action ( level 1; level 2 )
23. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Wir bauen uns ein Menüsystem – Thomas Hirt
Eigenschaften der Demo-Datei
• Demo besteht aus Konfigurations- und GUI-Datei
• ohne jegliche Zugriffsbeschränkungen, damit leicht zugänglich
• alle FileMaker-Bedienelemente und Menüs eingeblendet
• alle Skripten direkt über Skriptmenü zugänglich
24. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Wir bauen uns ein Menüsystem – Thomas Hirt
Live Demo
25. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Wir bauen uns ein Menüsystem – Thomas Hirt
Wie könnte man das Menüsystem erweitern?
Womit könnte man es koppeln?
• Benutzergruppen gleichzeitig als "Rechtegruppen" einsetzen
• Benutzer nicht aus lokalen Filemaker-Konti ziehen, sondern z.B. aus Microsoft Active
Directory
• Get ( AccountName )
• Get ( AccountGroupName )
• bei sehr umfangreichen Navigationen wäre eine dritte Ebene denkbar
• mittels "Card Windows"
• mittels "Popover Menü" vom rechten Bildschirmrand
• Frage nach "Sinn", "Unsinn" und "Benutzbarkeit" nicht vergessen
• bei Lösungen für mehrere Plattformen, wie Fat Client, iOS und WebDirect, könnte man
Menüs pro Gruppe und Plattform definieren
• Lösungen für mehrere Mandanten denkbar, bei welchen die Mandantenzugehörigkeit
nicht nur die Menüdarstellung, sondern auch die Datenfilterung beeinflusst
26. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Wir bauen uns ein Menüsystem – Thomas Hirt
Q & R
Vielen Dank für Ihr Interesse!
27. 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
Wir bauen uns ein Menüsystem – Thomas Hirt
Vielen Dank unseren Sponsoren
Danke für das Bewerten dieses Vortrages