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.

FMK2017 - Programmieren am offenen Herzen by Jörg Köster

212 views

Published on

Nicht immer steht dem Entwickler eine Testumgebung zur Verfügung.

Wie programmiere ich in Systemen, die praktisch niemals leer sind, weil sich Anwender in unterschiedlichen Zeitzonen befinden, der Kunde ein 24 Stunden Schichtsystem etabliert hat, oder das System minütlich synchronisiert wird?

Was muss beachtet werden und wie verhält sich FileMaker, wenn Entwickler und Anwender zur gleichen Zeit im System arbeiten?

Jörg Köster wird anhand von Beispieldateien zeigen, welche Konsequenzen unterschiedliche Aktionen des Entwicklers innerhalb eines Live-Systems haben können.

Fragestellungen wie "Was passiert, wenn in Scripts, Feldoptionen, Beziehungsgraphen, Zugriffsrechten usw. Änderungen stattfinden?" oder "Zu welchem Zeitpunkt werden Änderungen aktiv?" und "Was sollte unbedingt vermieden werden und welche Aktionen sind unbedenklich." werden im Vortrag ausführlich besprochen.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

FMK2017 - Programmieren am offenen Herzen by Jörg Köster

  1. 1. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 www.filemaker-konferenz.com Was ein Entwickler wissen sollte, wenn er sich "unter der Haube" eines Live-Systems befindet. Programmieren am offenen Herzen
  2. 2. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Programmieren am offenen Herzen - Jörg Köster Jörg Köster Jörg Köster hat Musik studiert und arbeitet(e) seit über 20 Jahren als freiberuflicher Pianist und Arrangeur. Seit 2009 steht FileMaker im Vordergrund seines Wirkens. 
 Er entwickelt Individual-Lösungen für kleine bis mittlere Unternehmen und ist Herausgeber der Agentur-Software „CAOS“. Zu seinen Kunden gehören Ingenieurbüros, 
 Werbeagenturen, Musikverlage, Speditionen und einige mehr. • Zertifizierter FileMaker-Entwickler seit FM 13 • Autor für Fachartikel im FileMaker-Magazin • Sprecher FMK 2014/2015/2016/2017… • Gewinner des FileMaker-Magazin-Awards 2014
  3. 3. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Programmieren am offenen Herzen - Jörg Köster Welche Themen … … werden in diesem Vortrag NICHT behandelt! • Programmierfehler • das Aufheben von Programmierfehlern innerhalb einer Live-Datenbank
  4. 4. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Programmieren am offenen Herzen - Jörg Köster Welche Themen … … WERDEN in diesem Vortrag behandelt! • zu welchem Zeitpunkt werden Änderungen wirksam • welche „Auswirkungen“ können Änderungen haben • Methode, wie eine Testumgebung innerhalb einer Live-Datenbank etabliert werden kann
  5. 5. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Programmieren am offenen Herzen - Jörg Köster Erfahrungsaustausch erwünscht! Ob der Vielfalt des Themas sind Anregungen, Korrekturen, Ideen, Erfahrungen willkommen.
  6. 6. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Programmieren am offenen Herzen - Jörg Köster Was passiert, wenn … in einer Live-Datenbank programmiert werden muss. • im Scriptarbeitsbereich • in den Feldoptionen • wenn Felder angelegt, gelöscht oder geändert werden • im Beziehungsgraphen gearbeitet wird • Konten, Berechtigungen und erweiterte Zugriffsrechte angelegt, gelöscht oder geändert werden • Dateizugriff (Sicherheit) bearbeitet wird • Layouts angelegt, gelöscht oder geändert werden • Datenquellen angelegt, gelöscht oder geändert werden ($$Pfade seit FileMaker 16) • Eigene Funktionen angelegt, gelöscht oder geändert werden • Angepasste Menüs angelegt, gelöscht oder geändert werden • Wertelisten angelegt, gelöscht oder geändert werden • Designs angelegt, gelöscht oder geändert werden • Dateioptionen bearbeitet werden • Passwörter administriert werden
  7. 7. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Programmieren am offenen Herzen - Jörg Köster Argumente und Abhängigkeiten! • es steht keine Testumgebung zur Verfügung • Datenmigration ist zu zeitaufwändig • Datenbank ist 24 Stunden besucht • Server steht im Rechenzentrum (physisch nicht erreichbar) • Langsame Internetverbindung (Datenmigration) • Realdaten stehen für Tests nicht zur Verfügung (Datenschutz) • zu zeitaufwändig • zu teuer (zusätzliche Hardware, Lizenzen, … ) • keine Zeit • …
  8. 8. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Programmieren am offenen Herzen - Jörg Köster Beispieldatei!
  9. 9. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Programmieren am offenen Herzen - Jörg Köster Was passiert, wenn … sich Felder in einer Tabelle befinden, die fortlaufende Nummern erzeugen? 1. Fortlaufende Nummern erzeugen (bei Erstellung) • Das Erstellen neuer Datensätze in dieser Tabelle ist blockiert • Feldwerte können weiterhin (über)geschrieben werden • Der Zustand stellt sich ein, sobald die Feldoptionen geöffnet werden • Der Zustand hält an, bis das Dialogfenster „Ablage - Verwalten - Datenbank“ geschlossen wird
  10. 10. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Programmieren am offenen Herzen - Jörg Köster Mögliche Lösung, wenn … sich Felder in einer Tabelle befinden, die fortlaufende Nummern erzeugen? 1. Fortlaufende Nummern erzeugen (bei Erstellung) Fehler 303 abfangen!
  11. 11. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Programmieren am offenen Herzen - Jörg Köster Was passiert, wenn … sich Felder in einer Tabelle befinden, die fortlaufende Nummern erzeugen? 1. Fortlaufende Nummern erzeugen (bei Eingabe) • Es können neue Datensätze erzeugt werden. • Fortlaufende Nummern werden NICHT geschrieben. • Der Zustand stellt sich ein, sobald die Feldoptionen geöffnet werden • Der Zustand hält an, bis das Dialogfenster „Ablage - Verwalten - Datenbank“ geschlossen wird
  12. 12. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Programmieren am offenen Herzen - Jörg Köster Mögliche Lösung, wenn … sich Felder in einer Tabelle befinden, die fortlaufende Nummern erzeugen? 1. Fortlaufende Nummern erzeugen (bei Eingabe) !Keine Lösung! Fehler 303 abfangen nicht möglich.
  13. 13. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Programmieren am offenen Herzen - Jörg Köster Was passiert, wenn … … Scripts bearbeitet werden? • Scripts können bearbeitet werden, auch wenn sie zeitgleich Prozesse ausführen • Änderungen werden gültig, nachdem das Script gespeichert wurde (Script- Fenster kann geöffnet bleiben) • Prozesse, die zum Zeitpunkt des Speicherns parallel stattfinden, werden nicht tangiert • Die Logik eines Scripts bleibt bis zum Ende der Ausführung erhalten, auch wenn der Entwickler zwischenzeitlich eine Änderung durchgeführt und abgespeichert hat. Das gilt auch für Unterscripts (sofern sich der Prozess IM Unterscript befindet)! • Beim Aufruf des Scripts wird der gespeicherte Zustand ausgeführt
  14. 14. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Programmieren am offenen Herzen - Jörg Köster Was passiert, bei … … Änderungen in „Datenbank verwalten“? • Änderungen an Tabellennamen werden beim Schließen des Fensters „Datenbank verwalten“ gültig und haben keine Auswirkungen auf zeitgleich ablaufende Script-Prozesse. • Die Umbenennung von Feldern sowie das Betreten und Bearbeiten der Feldoptionen werden beim Schließen des Fensters „Datenbank verwalten“ wirksam und haben keine negative Auswirkungen auf parallel ablaufende Prozesse. • Änderungen im Beziehungsdiagramm verhalten sich identisch.
  15. 15. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Programmieren am offenen Herzen - Jörg Köster Was passiert, bei … … Erstellen und Löschen von Feldern in „Datenbank verwalten“? • Das Löschen vom Feldern verursacht ein starkes Bildschirmflackern bei allen Anwendern, die sich im Kontext der Tabelle befinden • Das Erstellen von Datenfeldern hat keinen spürbaren Einfluss auf Prozesse
  16. 16. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Programmieren am offenen Herzen - Jörg Köster Was passiert, bei … … Erstellen von Feldern in „Datenbank verwalten“? • Das Erstellen von Formel-, Statistik- und Berechnungsfelder ist nicht möglich, wenn sich offene Datensätze in der Tabelle befinden
  17. 17. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Programmieren am offenen Herzen - Jörg Köster Was passiert, bei … … Änderungen in der Sicherheit? • Änderungen in den Konten werden erst nach erneuter Anmeldung gültig • Das Deaktivieren eines Kontos hat keinen Einfluss auf angemeldete Anwender (des deaktivierten Kontos) • Das Löschen eines Kontos ist zu vermeiden. Allen angemeldeten Anwender werden die Zugriffsrechte genommen • Änderungen in den Berechtigungen treten unmittelbar in Kraft • Änderungen von Passwörter werden umgehend gültig (bei Versuch einer erneuten Anmeldung) • Änderungen von erweiterten Zugriffsrechten werden umgehend umgesetzt
  18. 18. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Programmieren am offenen Herzen - Jörg Köster Was passiert, bei … … Änderungen im Dateizugriff (Sicherheit) • Änderungen im Dateizugriff werden erst nach erneuter Anmeldung gültig
  19. 19. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Programmieren am offenen Herzen - Jörg Köster Was passiert, bei … … Änderungen in den Dateioptionen? • Änderungen in Einstellungen der Scripttrigger werden umgehen umgesetzt (BeiLetztemFensterSchließen) • Alle Werkzeugleisten ausblenden wird bei erneuter Anmeldung wirksam
  20. 20. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Programmieren am offenen Herzen - Jörg Köster Was passiert, bei … … Änderungen in Wertelisten? • Änderungen in Wertelisten werden umgehen umgesetzt
  21. 21. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Programmieren am offenen Herzen - Jörg Köster Was passiert, wenn … … der Pfad ($$Variable) in den Dateireferenzen wechselt? • Die beim Dateistart etablierten Dateireferenzen bleiben bis zum Beenden der Hauptdatei erhalten. • Ein Wechsel der Dateireferenz „on the fly“ ist nicht möglich
  22. 22. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Programmieren am offenen Herzen - Jörg Köster Was passiert, bei … Layoutänderungen • Layoutänderungen werden wirksam, sobald das Layout gespeichert wird. Sie sind sowohl für den Anwender als auch für ausführende Scripts sofort sichtbar. • Layoutarbeiten sollten in separaten Layouts umgesetzt werden. (siehe „Testumgebung“ innerhalb einer Live-Datenbank.
  23. 23. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Programmieren am offenen Herzen - Jörg Köster Was passiert, wenn … … angepasste Menüs bearbeitet werden • Wenn hartkodierte Änderungen, werden diese sofort wirksam
  24. 24. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Programmieren am offenen Herzen - Jörg Köster Was passiert, bei … … der Bearbeitung von „eigenen Funktionen“? • Anpassungen der Eigenen Funktionen werden umgehend umgesetzt, sobald das Fenster „Eigene Funktionen bearbeiten“ mit „OK“ bestätigt und das Hauptfenster „eigene Funktionen verwalten“ ebenfalls mit „OK“ geschlossen wurde.
  25. 25. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Programmieren am offenen Herzen - Jörg Köster Aus der Praxis - WebDirect • Layoutarbeiten beeinflussen nicht andere Benutzerlayouts gleichen Tabellenauftretens. • Änderungen an Stilen und Design werden erst nach erneuter Anmeldung wirksam. • Ein Registersteuerelement springt in den „Standardmäßig vorderen Registerbereich“, wenn der Entwickler Layoutänderungen speichert. Das ist insbesondere dann sehr unangenehm, wenn sich in einem hinteren Registerbereich ein nicht schließbares Popover (Trigger) befindet. Diese Konstellation hat eine vollständige Blockade zur Folge. Ausweg: Browserfenster schließen und erneut anmelden. • Der Import einer neuen Tabelle kann unter WebDirect ein systemweites Flackern in der Benutzeroberfläche zur Folge haben. • Das Anlegen einer neuen Tabelle, oder eines neuen Feldes verursacht ein Flackern und ein erneutes Laden eines Layouts. Auch wenn keine Beziehung zwischen den Tabellen besteht.
  26. 26. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Programmieren am offenen Herzen - Jörg Köster Aus der Praxis - WebDirect • Das Löschen eines Feldes setzt Anwender-Layouts zurück. Beispielsweise werden Portale und Listenansichten zurückgesetzt (scrollen zum ersten DS). • Das Ändern eines Tabellenauftretens im Beziehungsgraphen hat keine Nebeneffekte verursacht. • Die Änderung eines Layoutnamens verursacht ein Flackern des Layouts • Wird im Dialog „Layouts verwalten" ein Layout an- oder abgekreuzt (In Layout- Menüs aufnehmen) flackert das entsprechende Layout.
  27. 27. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Programmieren am offenen Herzen - Jörg Köster Methode, wie eine Testumgebung innerhalb einer Live-Datenbank etabliert werden kann
  28. 28. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Programmieren am offenen Herzen - Jörg Köster Navigation & Anwenderlayouts Jedes Anwenderlayout wird nur ein einziges Mal in einer Lösung referenziert! Scriptname - GeheZu : Layoutbezeichnung Für die Scriptlogik werden angelegt: • pro Tabelle ein leeres Systemlayout • pro Tabelle ein Entwicklerlayout
  29. 29. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Programmieren am offenen Herzen - Jörg Köster NAVIGATION Die Navigation durchläuft drei Ebenen Script - NAVIGATION : HauptNavigation Script - NAV.GEHEZU : Bezeichnung Script - GeheZu : Bezeichnung Param ( "nav" ; „adressen" ) (Unterscheidet Plattformen und ggf. weitere Prozesse) (navigiert zum entsprechenden Anwenderlayout
  30. 30. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Programmieren am offenen Herzen - Jörg Köster Navigation Jeder Schaltfläche ist das Script „NAVIGATION“ zugeordnet oder
  31. 31. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Programmieren am offenen Herzen - Jörg Köster Navigation - Ebene 1 oder
  32. 32. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Programmieren am offenen Herzen - Jörg Köster Navigation - Ebene 2 30-11 NAV.goTo 01 Addresses ( Bsp. hier „Impressum“)
  33. 33. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Programmieren am offenen Herzen - Jörg Köster Navigation - Ebene 3 GoToLayout : Impressum
  34. 34. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Programmieren am offenen Herzen - Jörg Köster Navigation - Ebene 3
  35. 35. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Programmieren am offenen Herzen - Jörg Köster Fragen?
  36. 36. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Programmieren am offenen Herzen - Jörg Köster Vielen Dank unseren Sponsoren

×