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.

FMK2016 - Holger Darjus und Jörg Köster - Migration und Synchronisation

620 views

Published on

Holger Darjus und Jörg Köster zeigen an der FileMaker Konferenz 2016 in Salzburg wie man in FileMaker erfolgreich eine Migration und Synchronisation umsetzen kann.

  • Be the first to comment

  • Be the first to like this

FMK2016 - Holger Darjus und Jörg Köster - Migration und Synchronisation

  1. 1. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 www.filemaker-konferenz.com Holger Darjus | Jörg Köster Migration und Synchronisation
  2. 2. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 Migration und Synchronisation | Holger Darjus & Jörg Köster Über die Sprecher Holger Darjus Jörg Köster FileMaker-Entwickler aus Leidenschaft
  3. 3. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 Migration und Synchronisation | Holger Darjus & Jörg Köster Holger Darjus Holger Darjus ist ausgebildeter Designer und IT-Kaufmann.
 Seit fast 25 Jahren als FileMaker Entwickler tätig. Liebhaber alten Eisens auf 4 Rädern z.B. „Flossengiganten“ aus den Fifties und Autos mit „Dachschaden“. Gründer des Kompetenz-Institut für Wirtschaftsinformatik. Schwerpunkte:
 Komplexe Lösungen für Industrie und Gewerbe. • Autor für Fachartikel im FileMaker-Magazin • Sprecher FMK 2013/2014/2016… • Autor von FileMaker Webinaren
  4. 4. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 Migration und Synchronisation | Holger Darjus & Jörg Köster Jörg Köster Jörg Köster hat Musik studiert und arbeitet auch als freiberuflicher Pianist und Arrangeur. Seit 2009 steht FileMaker im Vordergrund seines Wirkens. 
 Er entwickelt Individual-Lösungen für Freiberufler und kleine bis mittlere Unternehmen und ist Herausgeber der Agentur-Software „CAOS“. Zu seinen Kunden gehören Ingenieurbüros, 
 Werbeagenturen, Musikverlage, Speditionen und viele mehr. • Zertifizierter FileMaker-Entwickler • Autor für Fachartikel im FileMaker-Magazin • Sprecher FMK 2014/2015/2016… • Gewinner des FileMaker-Magazin-Awards 2014
  5. 5. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 Migration und Synchronisation | Holger Darjus & Jörg Köster Was Sie in diesem Vortrag erwartet: Datensätze importieren war gestern. 
 In diesem Vortrag lernen Sie, wie auf elegante Weise Daten aus anderen (FileMaker-) Lösungen in Ihre Tabellen übernommen werden können. Die vorgestellte Methode eignet sich ebenfalls hervorragend für den Abgleich von Datenbeständen auf iOS-Geräten und einer, auf FileMaker-Servern bereitgestellten Datenbanken. Holger Darjus stellt Ihnen einen Weg vor, mit dessen Hilfe Daten aus "fremden" Systemen in eine Lösung übernommen werden können und dabei gleichzeitig die gesamte Datenstruktur angepasst wird. 
 Jörg Köster wird eine generische Methode vorstellen, die mit wenigen Klicks auf alle Tabellen in FileMaker-Lösungen anwendbar ist. Durch den Einsatz dieser Methode können FileMaker-Go-Anwendungen ohne Probleme auch im "Offline-Modus" betrieben, und die Daten bei Netzverfügbarkeit mit dem Server synchronisieren werden. 

  6. 6. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 Migration und Synchronisation | Holger Darjus & Jörg Köster Jörg Köster / Holger Darjus Warum der gemeinsame Vortrag 
 Im Zuge des gemeinsamen Austausches von Erfahrungen haben wir festgestellt, dass wir vergleichbare Methoden für unterschiedliche Anwendungsfälle entwickelt haben.
 
 Im Laufe der Zeit erfolgte eine gemeinsame Optimierung der Prozeduren und die Erkenntnis über die „Macht“ dieser Methode. Dieses Wissen möchten wir gerne weitergeben und andere Entwickler dazu inspirieren sich mit der Methode auseinander zu setzen und ggf. eigene Anwendungsfälle damit zu bedienen.
  7. 7. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 Migration und Synchronisation | Holger Darjus & Jörg Köster Technische Voraussetzungen UUIDs (Universally Unique Identifier)
 Eindeutige Primär-Schlüssel (IDs) zum Abgleich der Datensätze. (Beispiel: „309A18CF-0899-4C2C-B80F-AAEF9D95C350“ ) Änderungszeitstempel
 Feld mit einem Änderungszeitstempel der letzten Änderung eines Datensatzes. Die automatische Veränderung muss ggf. unterbunden 
 werden können. (Nur bei Synchronisation notwendig). SQL Grundwissen
 Zum Abgleich der Datensätze werden einfache SQL-Abfragen eingesetzt.
 Transistor Datenmodell
 Zum Lesen und Schreiben der Datensätze wird das Transistor-Prinzip angewendet. (Alternativ „Connector/Selector“)
  8. 8. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 Migration und Synchronisation | Holger Darjus & Jörg Köster UUID Hole (UUID)
  9. 9. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 Migration und Synchronisation | Holger Darjus & Jörg Köster Änderungszeitstempel SetzeVar ( [ Trigger = HoleFeldwert ( "" ) ; TS = Hole (HostZeitstempel) ; Mod = (Tabelle::NO_AUTO_MOD) // „Oder $$-Variable“ ] ; Falls ( Mod = 1 ; Selbst ; TS ) ) Wenn das Feld »No_REC_Mod« den Wert 1 hat, werden keine automatischen Veränderungen am Änderungszeitstempel vorgenommen. Auf diese Weise kann bei Routinen durch einen Admin oder anderen Anlässen verhindert werden, das sich die Änderungsdaten der Datensätze verändern.
  10. 10. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 Migration und Synchronisation | Holger Darjus & Jörg Köster SQL SQLAusführen(" SELECT BaseTableName FROM FileMaker_Tables WHERE BaseFileName LIKE ?"; ""; ""; "Quelle" & "%" )
  11. 11. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 Migration und Synchronisation | Holger Darjus & Jörg Köster Transistor
  12. 12. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 Migration und Synchronisation | Holger Darjus & Jörg Köster Ausgangssituation In diesem Vortrag werden wir: • Eine Excel-Tabelle in eine FileMaker-Datenbank konvertieren • Die „flache“ Struktur der Excel-Tabelle in ein relationales Datenbankmodell übertragen und dabei gleichzeitig „Datenkorrekturen“ vornehmen. • Die übernommenen Daten auf eine Offline-Datenbank eines iOS-Gerätes übertragen.
 Datenquelle ist eine Excel-Tabelle mit ca. 7.000 Zeilen in denen Angaben zu Firmen, Personen, Adressen und Angaben zu Rufnummern und E-Mail- Adressen hinterlegt ist. 
 (Die Daten entsprechen dem klassischen Aufbau von personenbezogenen Daten, sind jedoch vollständig abstrahiert und wurden per Zufallsgenerator erstellt. Ähnlichkeiten mit real existierenden Person sind rein zufällig und nicht beabsichtigt).
  13. 13. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 Migration und Synchronisation | Holger Darjus & Jörg Köster In der Praxis
  14. 14. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 Migration und Synchronisation | Holger Darjus & Jörg Köster Ausgangssituation / Zielsetzung Wann wird der Einsatz der vorgestellten Techniken sinnvoll?
 • Ein „fremde“ Datenquelle soll in eine FileMaker-Lösung 
 übernommen werden • Wiederkehrende Importe sollen automatisiert werden • (Offline) iOS-Geräte sollen mit einer Datenbank synchronisiert werden • Veränderte Datensätze sollen aktualisiert werden • Datenbestände sollen zusammengeführt werden
  15. 15. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 Migration und Synchronisation | Holger Darjus & Jörg Köster Live Demo Migration
  16. 16. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 Migration und Synchronisation | Holger Darjus & Jörg Köster Jörg
  17. 17. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 Migration und Synchronisation | Holger Darjus & Jörg Köster Generischer Datenabgleich Nicht in jedem System ist Performance die wichtigste Eigenschaft. VS. Traktor/Generische Lösung 
 = wartungsfrei und zuverlässig
 = universell einsetzbar = langsam(?) Sportwagen/Hartkodiert
 = hoher Support = längere Entwicklungszeit = schnell
  18. 18. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 Migration und Synchronisation | Holger Darjus & Jörg Köster Überlegungen/Anforderungen • Welche Tabellen sollen synchronisiert werden und in welche Richtung? • Welche Datensätze wurden neu geschrieben oder geändert? • Welche Felder sollen/können miteinander abgeglichen werden?
  19. 19. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 Migration und Synchronisation | Holger Darjus & Jörg Köster Erforderliche Funktionen & Scriptschritte • Hole (UUID) – zwingend erforderlich bei Offline-Lösungen (z.B. FileMaker Go) • SQLAusführen – Ermittlung und Abgleich von UUIDs und Feldnamen • Feld nach Namen einstellen – Im Kontext einstellbar
  20. 20. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 Migration und Synchronisation | Holger Darjus & Jörg Köster Connector/Transistor
  21. 21. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 Migration und Synchronisation | Holger Darjus & Jörg Köster Abläufe Tabelle(n) Datensätze Feldnamen Tabellen werden festgelegt und in einer Schleife abgearbeitet. Script: „Sync Table" Script: „Sync Record“ Script: „Sync Field“ Es werden Datensätze ermittelt, die seit der letzten Synchronisation geändert/ geschrieben wurden (Zeitstempel) und in einer Schleife abgearbeitet. Wurden Datensätze gefunden, werden mittels einer SQL-Abfrage die Tabellenfelder ermittelt, in einer Schleife abgearbeitet und die Werte geschrieben (synchronisiert).
  22. 22. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 Migration und Synchronisation | Holger Darjus & Jörg Köster Genutzte Funktionen • Logikfunktion
 HoleFeldname ( Feld ) Gibt den vollständig qualifizierten Namen eines Feldverweises zurück. Beispiel: Berechne ( HoleFeldname ( Berechne ($ToLocal & "::" & $$SYNC.FieldNameModified )))
  23. 23. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 Migration und Synchronisation | Holger Darjus & Jörg Köster Genutzte Funktionen • Logikfunktion SQLAusführen {…}
 Führt eine SQL-Abfrage für das festgelegte Tabellenauftreten in einer FileMaker Pro-Datei aus. Beispiel:
 SQLAusführen ( " SELECT FieldName FROM FileMaker_Fields WHERE TableName = ? AND FieldClass = 'Normal' AND FieldType NOT LIKE 'global%'" ; ""; ¶; $ToLocal )
  24. 24. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 Migration und Synchronisation | Holger Darjus & Jörg Köster Benutze Scriptschritte • Scriptschritt
 Feld nach Namen einstellen[<berechnetes Zielfeld>; <Wert oder Formel>] Ersetzt den vollständigen Inhalt des berechneten Zielfelds im aktuellen Datensatz durch das Ergebnis eines berechneten Werts.
 Beispiel: Feld nach Namen einstellen [ $ToFieldLocal ; $FieldContentServer ] 24
  25. 25. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 Migration und Synchronisation | Holger Darjus & Jörg Köster Live Demo generische Synchronisation
  26. 26. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 FileMaker Konferenz 2016 Salzburg Vielen Dank unseren Sponsoren Ohne Sponsoring wäre diese Konferenz so nicht möglich!

×