Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

FMK2018 Unbegrenzte Hierarchien in FileMaker Philosophie’, Grundkonstruktionen, Summierungsregeln, drag-drop Bearbeitung by Gunnar Wehrhahn

59 views

Published on

Hierarchisch sortierte (und dargestellte) Daten begegnen uns jeden Tag, zum Beispiel in Online- Foren, Budgets, Organisationsdiagrammen und vielem mehr.

Doch wie lässt sich ein in der Tiefe unbegrenzter Hierarchiebaum in FileMaker umsetzen?
Dass dies keine ganz einfache Sache ist, zeigt sich daran, dass im Forum meist unspezifisch geantwortet oder zur Vermeidung geraten wird.

Daher haben ich habe mich zusammen mit Nico Chiaro auf den Weg gemacht, die Untiefen dieses Gebietes zu ergründen.

Wir werden in der Session einen kurzen Ausflug machen über die allgemeine Daten-Funktionsweise von Hierarchien.
Dieses Minimalmodell werden wir dann beispielhaft in FileMaker umsetzen.
Wir sehen uns das Erstellen, Löschen und Verschieben von Datenpunkten und ganzen Ästen an.

Für die Etablierung weiterer Funktionalitäten im Sinne einer Vererbung von Eigenschaften zwischen den Datensätzen - zum Beispiel zur Summenbildung - werden wir klären, wann man das braucht, und wie man es umsetzen kann.

Im Weiteren werden wir noch einen Blick werfen auf die Darstellungsbeschränkungen in FileMaker, die unsere bisher unendliche Hierarchietiefe dann doch noch beschränken können, sowie einen Ausblick geben, wie man auch dies umgehen könnte.
Die Techniken für die Umsetzung einer visuell-haptischen Darstellung in FileMaker, wie zum Beispiel Drag’n’Drop, werden wir in den Grundkonzeptionen streifen, aber in dieser Session nicht umfassend erklären können.

Die Möglichkeiten und Techniken zur Umsetzung sind sehr breit gefächert und in ihrer Auswahl durch den Entwickler auch meist nicht zwingend.
Unser Ziel ist es, in der Session einen ausreichend tiefen Einblick zu geben, dass Jeder genug Ansatz- und Entscheidungspunkte zur eigenen Umsetzung mitnehmen kann.

Published in: Education
  • Be the first to comment

  • Be the first to like this

FMK2018 Unbegrenzte Hierarchien in FileMaker Philosophie’, Grundkonstruktionen, Summierungsregeln, drag-drop Bearbeitung by Gunnar Wehrhahn

  1. 1. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018 www.filemaker-konferenz.com Philosophie, Grundkonstruktionen, Summierungsregeln, 
 Drag-Drop Bearbeitung Version 2 Gunnar Wehrhahn Unbegrenzte Hierarchien in FileMaker ?
  2. 2. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018 Hierarchien in FileMaker von Gunnar Wehrhahn Über den Sprecher • Tischler • Diplomingenieur für Architektur • FileMaker in „eigenen Anwendungen“ seit 2013 • 2015 in Hamburg das erste Mal auf der FileMaker Konferenz als Teilnehmer alle  Menschen  sind  gleich Hierarchiemerkmal
  3. 3. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Hierarchien in FileMaker von Gunnar Wehrhahn Die Zielsetzung • Eine einfach zu implementierende Hierarchie, auch in bestehende Datenmengen • eine Hierarchie ohne Beschränkung in der Tiefe • grafische Darstellung(smöglichkeiten) • Berechnungsregeln anwenden • Prototyp zur Weiterentwicklung in die Gemeinschaft geben
  4. 4. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Hierarchien in FileMaker von Gunnar Wehrhahn Was ich heute mitgebracht habe • Anwendungsfälle • eine Benennung der Bauteile [Definitionen] • Datenstruktur in FileMaker • Handlungsanweisungen für: • Knotenpunkt erstellen, löschen, verschieben • Betrachtungen zu „regulierten Berechnungen“ • Vorstellung des Prototypen in FileMaker • Erfüllungsgrad der Zielsetzung • Ausblick, Verbesserungsgedanken und Fallstricke
  5. 5. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018 Hierarchien in FileMaker von Gunnar Wehrhahn Hierarchien? - Anwendungsfälle Aus Wikipedia.org: Hierarchie ist eine stufenmäßig auf Überordnung und Unterordnung beruhende Ordnung,[…]. Die Ordnung eines Systems ist erforderlich, wenn es aus mindestens zwei Elementen besteht, deren Beziehung zueinander durch Hierarchie zu klären ist. Anwendung: • Teilmengen zueinander organisieren • Gliederungen /Kapitelnummerierungen • „Breadcrumbs“ • Datenverarbeitung „entlang von Regeln anhand der Hierarchie“
 -> Budgets (z.B. nur an den Enden (Leafs) der Hierarchie dürfen Zahlen stehen)
  6. 6. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018 Hierarchien in FileMaker von Gunnar Wehrhahn Hierarchien? - Anwendungsfälle Aus Wikipedia.org: Hierarchie ist eine stufenmäßig auf Überordnung und Unterordnung beruhende Ordnung,[…]. Die Ordnung eines Systems ist erforderlich, wenn es aus mindestens zwei Elementen besteht, deren Beziehung zueinander durch Hierarchie zu klären ist. Anwendung: • Teilmengen zueinander organisieren • Gliederungen /Kapitelnummerierungen • „Breadcrumbs“ • Datenverarbeitung „entlang von Regeln anhand der Hierarchie“
 -> Budgets (z.B. nur an den Enden (Leafs) der Hierarchie dürfen Zahlen stehen) Regeln:   • jeder  Knotenpunkt  hat  nur  ein  Parent   • es  gibt  keine  Kreisschlüsse
  7. 7. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018 Hierarchien in FileMaker von Gunnar Wehrhahn Ein Baum und Namen Grundlegend: • Node • Tree Eigenschaften: • (is)Root • (is)Leaf • Level Mengen: • Children • Parent • Siblings • Ancestors • Descendants • Family
  8. 8. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018 Hierarchien in FileMaker von Gunnar Wehrhahn Datensammlung (einen Baum erstellen) Felder in Tabelle NODES
  9. 9. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018 Hierarchien in FileMaker von Gunnar Wehrhahn Datensammlung (einen Baum erstellen) Felder in Tabelle NODES
  10. 10. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018 Hierarchien in FileMaker von Gunnar Wehrhahn Datensammlung (einen Baum erstellen) Felder in Tabelle NODES
  11. 11. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018 Hierarchien in FileMaker von Gunnar Wehrhahn Datensammlung (einen Baum erstellen) • ID hier: UID mit Präfix (NODE oder TREE) • Parent_ID (Node oder einen Baum) Felder in Tabelle NODES
  12. 12. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018 Hierarchien in FileMaker von Gunnar Wehrhahn Datensammlung (einen Baum erstellen) • ID hier: UID mit Präfix (NODE oder TREE) • Parent_ID (Node oder einen Baum) Felder in Tabelle NODES
  13. 13. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018 Hierarchien in FileMaker von Gunnar Wehrhahn Datensammlung (einen Baum erstellen) • ID hier: UID mit Präfix (NODE oder TREE) • Parent_ID (Node oder einen Baum) • Sortkey (numerisch, fortlaufende Zahl: 1,2,3..) Felder in Tabelle NODES
  14. 14. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018 Hierarchien in FileMaker von Gunnar Wehrhahn Datensammlung (einen Baum erstellen) • ID hier: UID mit Präfix (NODE oder TREE) • Parent_ID (Node oder einen Baum) • Sortkey (numerisch, fortlaufende Zahl: 1,2,3..) Felder in Tabelle NODES
  15. 15. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018 Hierarchien in FileMaker von Gunnar Wehrhahn Datensammlung (einen Baum erstellen) • ID hier: UID mit Präfix (NODE oder TREE) • Parent_ID (Node oder einen Baum) • Sortkey (numerisch, fortlaufende Zahl: 1,2,3..) • Sortkey_Tree (hier: fixe Wortbreite)
 -0,0000100001 [Zahl]
 oder
 00001.00001 [Text]
 oder ähnlich Felder in Tabelle NODES
  16. 16. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018 Hierarchien in FileMaker von Gunnar Wehrhahn Felddefinition in FM [Node]
  17. 17. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018 Hierarchien in FileMaker von Gunnar Wehrhahn Felddefinition in FM [Node] Feld Berechnung Min. Tr. ID „NODE_“ & austauschen( hole(uuid) ; - ; _ ) x Key_Parent - Feldwert setzen im Script - x Sortkey_Sibling - Feldwert setzen im Script - x Node_Level SetzeVar ( [ ~Trigger = _KEY_Parent ]; Wenn ( IstGültig ( PARENT|nodes::__IUID ) ; PARENT|nodes::_Node_Level + 1 ; 1 )) x x Sortkey_Tree SetzeVar ( [ ~†rigger = _KEY_Parent]; Wenn ( IstGültig ( PARENT|nodes::_SortKey_Tree ) ; PARENT|nodes::_SortKey_Tree & ZeichenRechts ( "00000" & _SortKey_Sibling ; 5 ); "0," & ZeichenRechts ( "00000" & _SortKey_Sibling ; 5 ) )) A x Node_Path SetzeVar ( ~Trigger = _KEY_Parent; Wenn ( IstGültig ( PARENT|nodes::__IUID ) ; PARENT|nodes::_Node_Path & ¶ & __IUID ; _KEY_Parent & ¶ & __IUID )) x x Node_Path_Ancestors SetzeVar ( ~Trigger = _KEY_Parent; Wenn ( IstGültig ( PARENT|nodes::__IUID ) ; PARENT|nodes::_Node_Path ; _KEY_Parent )) A x Node_isLeaf SetzeVar ( [ ~Trigger = _KEY_Parent ; ~Trigger = _Trigger_LeafToRoot ]; Wenn ( IstGültig ( CHILDREN|nodes_ERASE::__IUID ) ; 0 ; 1 )) A x Min.  =  Minimalausstattung              Tr.  =  getriggert  berechneter  Wert   x  =  ja                                                                                            A=  je  nach  Anforderung
  18. 18. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018 Hierarchien in FileMaker von Gunnar Wehrhahn Felddefinition in FM [Trees]
  19. 19. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018 Hierarchien in FileMaker von Gunnar Wehrhahn Beispiel: Gliederung
  20. 20. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018 Hierarchien in FileMaker von Gunnar Wehrhahn Mengenlehre (1/3) Benennung: Node (Fokus) Node
  21. 21. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018 Hierarchien in FileMaker von Gunnar Wehrhahn Mengenlehre (2/3)
  22. 22. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018 Hierarchien in FileMaker von Gunnar Wehrhahn Mengenlehre (2/3)
  23. 23. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018 Hierarchien in FileMaker von Gunnar Wehrhahn Mengenlehre (2/3)
  24. 24. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018 Hierarchien in FileMaker von Gunnar Wehrhahn Mengenlehre (2/3) insgesamt:  ein  Baum  [Tree]
  25. 25. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018 Hierarchien in FileMaker von Gunnar Wehrhahn Mengenlehre (3/3) Benennung: Node (Fokus) Parent Children Ancestors Siblings Descendants Family Node
  26. 26. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018 Hierarchien in FileMaker von Gunnar Wehrhahn Beziehungsdiagramm
  27. 27. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018 Hierarchien in FileMaker von Gunnar Wehrhahn Wozu die Mengen? Die berechneten Werte in den Nodes (DS) müssen neu berechnet werden, 
 wenn sich die Hierarchie verändert und wenn ein Wert in einer Berechnung verändert wird. Dies sollte möglichst zielgerichtet erfolgen, nur dort wo es notwendig ist. Es werden hier nur „berechnete Werte“, keine Formelfelder verwendet 
 Berechnungen vom Root zum Leaf: • Sortkey_Tree • Gliederungen, Breadcrumps Berechnungen vom Leaf zum Root: • Summierungen (mit zu bestimmenden Regeln) Beide Richtungen: • Checklisten
  28. 28. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018 Hierarchien in FileMaker von Gunnar Wehrhahn Wann wird die Hierarchie verändert? • Node erstellen • Node (oder Ast) löschen • Node (oder Ast) verschieben
  29. 29. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018 Hierarchien in FileMaker von Gunnar Wehrhahn Wie wird die Neuberechnung gesteuert? • „Feldwert ersetzen“ ist die Schlüsseltechnologie • ersetzt wird ein Feld mit sich selber oder Feldwert XODER 1 • dieses Schlüsselfeld ist in anderen Feldern als „Triggerreferenz“ eingebaut SetzeVar ( [ ~Trigger = _KEY_Parent ]; Wenn ( IstGültig ( PARENT|nodes::__IUID ) ; PARENT|nodes::_Node_Level + 1 ; 1 ) ) • „Feldwert ersetzen“ arbeitet nach der Sortierfolge. Daher sortieren wir entweder bereits die Beziehung aufsteigend oder absteigend oder wir müssen die Fundmenge entsprechend sortieren. • Wenn über Beziehung ersetzt wird, darf nur ein DS in der Fundmenge sein. Triggerfelder sind: _KEY_Parent, _Trigger_LeafToRoot, _Trigger_RootToLeaf und _Trigger_Calculation_Payload Felddefinition  _Node_Level:
  30. 30. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018 Hierarchien in FileMaker von Gunnar Wehrhahn Node erstellen
  31. 31. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018 Hierarchien in FileMaker von Gunnar Wehrhahn Node löschen
  32. 32. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018 Hierarchien in FileMaker von Gunnar Wehrhahn Node-Ast verschieben (1/4) Nicht erlaubte Aktionen: 1. aus dem Portal ziehen 2. auf sich selbst setzen 3. anderes Bild „verschieben“ 4. auf eigenen Nachkommen Erlaubte Aktionen: 5. auf eine Node 6. neben eine Node
  33. 33. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018 Hierarchien in FileMaker von Gunnar Wehrhahn Node-Ast verschieben (2/4) Definition für UI_sort_handle_down: • Containerfeld • Berechnung ist selbst() getriggert • setzt $$ Variablen im Fokus des auffangenden Containers • füllt sich wieder mit einem
 „leeren“ Bild • Fokus bleibt dabei auf dem
 „geworfenen DS“ • Reassign Script startet bei „Objekt ändern“ • _graphics_g muss kein Wiederholfeld sein, die anderen Wiederholungen sind in dem Beispiel nicht genutzt SetzeVar  (  [_trigger  =  Selbst  ;   $$_ident_drop  =  Nodes::__IUID  ;   $$_key_parent_drop  =  Nodes::_KEY_Parent  ;   $$_path_drop  =  Nodes::_Node_Path  ;   $$_sort_sibling_new  =  Nodes::_SortKey_Sibling  +  ,5   ]  ;   Trees::_graphics_g  [  3  ]  )
  34. 34. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018 Hierarchien in FileMaker von Gunnar Wehrhahn Node-Ast verschieben (3/4)
  35. 35. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018 Hierarchien in FileMaker von Gunnar Wehrhahn Node-Ast verschieben (4/4)
  36. 36. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018 Hierarchien in FileMaker von Gunnar Wehrhahn Berechnungen durch Änderungen • Breadcrump: Bezeichnung verändern • Budget: Eingegebenen Wert verändert (€) • Checkliste ankreuzen Technik dazu: • Scripttrigger (bei Feld Validieren) • Wenn man mag: Wert des Feldes beim betreten merken (Script) beim Verlassen vergleichen - verhindert Neuberechnungen, wenn der Wert sich nicht verändert hat.
  37. 37. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018 Hierarchien in FileMaker von Gunnar Wehrhahn Beispiel: Wert verändern In  der  Beispieldatei  existieren  zwei  Rechenwege   in  unterschiedlichen  Feldern.   Einer  berücksichtigt  nur  Summen  an  „Leafs“,   der  andere  summiert  alle  Werte.
  38. 38. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018 Hierarchien in FileMaker von Gunnar Wehrhahn andere mögliche Organisationsformen
  39. 39. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018 Hierarchien in FileMaker von Gunnar Wehrhahn weitere Verbesserungen • Sortierkey_Tree nach Exelisys =0,0000010000 [ 0,iiiiiidddddiiiiiiddddd ] Beispieldatei dazu, die auch mit dem Ausblenden von Ästen arbeiten kann, Inspiration für Drag-n-Drop https://www.excelisys.com/fm-tips/filemaker-pro-hierarchical-portal-filtering-2-3-drag-n-drop/ • weniger zu berechnende Funktionen zur Geschwindigkeitssteigerung • Einklappen von Nodes/Descendants (Drag und Drop bei großen Bäumen) • Mehrbenutzerlösungen: Datensatzsperre beachten / bearbeiten • weitere Verbesserungsvorschläge?
  40. 40. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018 Hierarchien in FileMaker von Gunnar Wehrhahn Fragen und Antworten
  41. 41. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018 Vortrag und Sprecher Vielen Dank unseren Sponsoren Danke für das Bewerten dieses Vortrages

×