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.
FMK2019 FileMaker – das Lizenzmodell Alles was Sie wissen wollen by Klemens ...
FMK2016 - Holger Darjus und Jörg Köster - Migration und Synchronisation
1. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016
www.filemaker-konferenz.com
Holger Darjus | Jörg Köster
Migration und Synchronisation
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. 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. 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. 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. 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. 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“)
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. 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. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016
Migration und Synchronisation | Holger Darjus & Jörg Köster
Transistor
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. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016
Migration und Synchronisation | Holger Darjus & Jörg Köster
In der Praxis
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. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016
Migration und Synchronisation | Holger Darjus & Jörg Köster
Live Demo Migration
16. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016
Migration und Synchronisation | Holger Darjus & Jörg Köster
Jörg
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. 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. 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. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016
Migration und Synchronisation | Holger Darjus & Jörg Köster
Connector/Transistor
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. 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. 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. 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. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016
Migration und Synchronisation | Holger Darjus & Jörg Köster
Live Demo generische Synchronisation
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!