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-Migration und Synchronisation Holger Darjus

57 views

Published on

Holger Darjus zeigt, wie Daten aus eine flachen Struktur (z.B. einer Excel-Tabelle)
in eine FileMaker App übernommen werden können und dabei sofort eine
Anpassung auf die Datenbankstruktur vorgenommen wird.
Zudem wird gezeigt, wie eine generische Synchronisation zwischen einer
Offline-Datei (z.B. eine unter FileMaker Go laufende App) und einer, auf einem
Server bereitgestellten FileMaker-App, erfolgen kann.

Published in: Education
  • Be the first to comment

  • Be the first to like this

FMK2018-Migration und Synchronisation Holger Darjus

  1. 1. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018 www.filemaker-konferenz.com Holger Darjus Migration und Synchronisation
  2. 2. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018 Migration und Synchronisation | Holger Darjus Holger Darjus Holger Darjus (geb. 1962) ist ausgebildeter Designer und IT-Kaufmann. Seit über 25 Jahren als FileMaker Entwickler tätig. Schwerpunkte: • Komplexe Lösungen für Industrie und Gewerbe. • Liebhaber von Oldtimern (US Fahrzeuge der 50er) • Gründer des Kompetenz-Institut für Wirtschaftsinformatik. • Autor für Fachartikel im FileMaker-Magazin • Sprecher FMK 2013/2014/2016/2018/… • Autor von FileMaker Webinaren
  3. 3. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018 Migration und Synchronisation | Holger Darjus 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. Zudem wird eine generische Methode, 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.
  4. 4. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018 Migration und Synchronisation | Holger Darjus 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“)
  5. 5. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018 Migration und Synchronisation | Holger Darjus UUID Hole (UUID)
  6. 6. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018 Migration und Synchronisation | Holger Darjus Ä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.
  7. 7. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018 Migration und Synchronisation | Holger Darjus SQL SQLAusführen(" SELECT BaseTableName FROM FileMaker_Tables WHERE BaseFileName LIKE ?"; ""; ""; "Quelle" & "%" )
  8. 8. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018 Migration und Synchronisation | Holger Darjus Transistor
  9. 9. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018 Migration und Synchronisation | Holger Darjus 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).
  10. 10. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018 Migration und Synchronisation | Holger Darjus In der Praxis
  11. 11. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018 Migration und Synchronisation | Holger Darjus 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
  12. 12. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018 Migration und Synchronisation | Holger Darjus Live Demo Migration
  13. 13. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018 Migration und Synchronisation | Holger Darjus Generischer Datenabgleich Nicht in jedem System ist Performance die wichtigste Eigenschaft. VS. Traktor/Generische Lösung = wartungsfrei und zuverlässig = universell einsetzbar = langsamer Sportwagen/Hartkodiert = erhöhter Support = längere Entwicklungszeit = schnell
  14. 14. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018 Migration und Synchronisation | Holger Darjus Ü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?
  15. 15. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018 Migration und Synchronisation | Holger Darjus 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
  16. 16. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018 Migration und Synchronisation | Holger Darjus Connector/Transistor
  17. 17. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018 Migration und Synchronisation | Holger Darjus 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).
  18. 18. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018 Migration und Synchronisation | Holger Darjus Genutzte Funktionen • Logikfunktion HoleFeldname ( Feld ) Gibt den vollständig qualifizierten Namen eines Feldverweises zurück. Beispiel: Berechne ( HoleFeldname ( Berechne ($ToLocal & "::" & $$SYNC.FieldNameModified )))
  19. 19. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018 Migration und Synchronisation | Holger Darjus 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 )
  20. 20. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018 Migration und Synchronisation | Holger Darjus 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 ] 20
  21. 21. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018 Migration und Synchronisation | Holger Darjus Danke Jörg! Ein großes Dankeschön an Jörg Köster Dieser Vortrag wurde erstmalig 2015 auf der FileMaker Konferenz in Salzburg gezeigt. Die Ausarbeitung der generischen Sychronisation basiert auf einem Konzept von Jörg Köster. Das Prinzip wurde in den letzten Jahren gemeinsam ausgebaut und verrichtet seit dem in zahlreichen FileMaker Lösungen hervorragende Dienste. 21
  22. 22. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018 Migration und Synchronisation | Holger Darjus Live Demo generische Synchronisation
  23. 23. 9. FileMaker Konferenz | Liechtenstein | 17.-20. Oktober 2018 Vortrag und Sprecher Vielen Dank unseren Sponsoren Danke für das Bewerten dieses Vortrages

×