Innerhalb einer FileMaker-Datenbank ist die Anzahl möglicher Fehler nicht zu unterschätzen.
Angefangen von fragilen Scriptschritten wie "Gehe zu Objekt()", oder "Ausschnitt aktualisieren ()" sind derzeit mehr als 240 FileMaker-Fehlercodes definiert.
Manche Fehler schlummern von Beginn an in der Datenbank, andere entstehen während der Weiterentwicklung und werden oftmals erst vom Anwender gefunden.
Inspiriert vom amerikanischen Entwickler Matt Petrowsky habe ich eine Routine (weiter)entwickelt, die auftretende Fehler in einer Protokolltabelle aufzeichnet und je nach Brisanz den Entwickler umgehend per E-Mail informiert.
Darüber hinaus eignet sich das Fehler-Protokoll auch zum Debuggen von Serverscripts.
Einmal implementiert, ist der Programmier-Mehraufwand gering, der Nutzen jedoch enorm.
FMK2019 Waagrechte Scrollbar für Ausschnittreihen erstellen by Gerhard Schwin...
FMK2017 - Der Bug - des Entwicklers Fluch by Jörg Köster
1. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017
www.filemaker-konferenz.com
Wie bringe ich eine Datenbank dazu, dem Entwickler auftretende
Fehler oder Unregelmäßigkeiten mitzuteilen?
Der Bug-des Entwicklers Fluch
2. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017
Der Bug - des Entwicklers Fluch | 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. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017
Der Bug - des Entwicklers Fluch | Jörg Köster
Was Sie in diesem Vortrag erwartet:
Ich möchte ein Fehler-Management-Modul vorstellen, das Fehler in der Scriptlogik
erkennt, aufzeichnet, priorisiert und kommuniziert.
Das Modul besteht aus
• einer (1) Tabelle
• zwei eigenen Funktionen
• einem (1) Script
Inspiriert von Matt Petrowsky "Error Handling & Logging" Published: 18.11.2013
Kostenpflichtige Bezugsquelle: www.filemakermagazine.com
4. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017
Der Bug - des Entwicklers Fluch | Jörg Köster
Warum dieser Vortrag?
• Komplexe Datenbanken haben Fehler!
• Ursachen für auftretende Fehler:
• Komplexität der Datenbanklösung
• Kontinuierliche Weiterentwicklung der Datenbanklösung
• Anzahl beteiligter Entwickler
• Anzahl der Anwender
• Betriebssysteme & Plattformen - mac OS, iOS, Windows, WebDirect
• Geräte - Mac, Windows-Computer, iPad, iPhone, iPod, Android
• Browser - Internet Explorer, Chrome, Safari, Android
• Prozesse - Script auf Server ausführen, Serverscripts, Client, REST (seit FileMaker 16)
• Drittsoftware - Plugins, Druckertreiber, andere Software …
• usw …
5. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017
Der Bug - des Entwicklers Fluch | Jörg Köster
Die fatalsten Fehler sind jene, von
denen keiner Kenntnis hat!
6. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017
Der Bug - des Entwicklers Fluch | Jörg Köster
Nicht weniger fatal:
Bekannte Fehler, die nicht
kommuniziert werden!
7. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017
Der Bug - des Entwicklers Fluch | Jörg Köster
Warum dieser Vortrag?
Fehler kosten …
• Nerven
• Zeit
• Geld
• Vertrauen in die Datenbanklösung
• Vertrauen in den Entwickler
• Vertrauen in das Datenbanksystem
8. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017
Der Bug - des Entwicklers Fluch | Jörg Köster
Ziel dieses Vortrags!
Fehler schnellstmöglich erkennen und beheben können!
9. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017
Der Bug - des Entwicklers Fluch | Jörg Köster
Was muss/sollte getestet werden?
Scriptlogik
die in der Scriptlogik
befindliche
Businesslogik
• funktionieren alle
Scriptschritte?
• werden Prozesse
vollständig ausgeführt?
• werden Plausibilitätstests
kommuniziert?
• werden unlogische
Resultate kommuniziert?
10. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017
Der Bug - des Entwicklers Fluch | Jörg Köster
Wer testet?
?
11. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017
Der Bug - des Entwicklers Fluch | Jörg Köster
Wie kommuniziert das Modul?
• Dialog
• Der Anwender erhält (k)einen Dialog
• Der Entwickler erhält immer einen Dialog
• Das Fehler-Management-Modul navigiert zu entsprechendem Layout und
beendet den laufenden Prozess.
• E-Mail
• Der Entwickler erhält ein E-Mail
• Die verantwortliche Instanz im Support erhält ein E-Mail
• Datensatz in Protokolltabelle
• Jede Fehlermeldung wird in einem Datensatz protokolliert
12. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017
Der Bug - des Entwicklers Fluch | Jörg Köster
BEISPIELDATEI
13. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017
Der Bug - des Entwicklers Fluch | Jörg Köster
Die beliebtesten Fehlerquellen
• Scriptschritte die ein Layoutobjekt erwarten
• Gehe zu Objekt ()
• Gehe zu Ausschnittreihe ()
• Aus URL einfügen ()
14. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017
Der Bug - des Entwicklers Fluch | Jörg Köster
Die beliebtesten Fehlerquellen
• Scriptschritte die einen Objektnamen erwarten
• Gehe zu Objekt ()
• Ausschnitt aktualisieren ()
• Objekt aktualisieren ()
• Fenster aktivieren ()
15. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017
Der Bug - des Entwicklers Fluch | Jörg Köster
Die beliebtesten Fehlerquellen
• Syntax, Pfade, Plattform …
• Exportiere alle Feldwerte
• Datensätze exportieren
• Feld nach Namen einstellen
16. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017
Der Bug - des Entwicklers Fluch | Jörg Köster
Weitere Anwendungsmöglichkeiten
Die Logikfunktion …
„BerechnungsFehler (Ausdruck)“ gibt eine FileMaker Pro Fehlermeldung
zurück
Variable setzen [ $error ; Wert: BerechnungsFehler ( HoleFeldwert ( "SCHNELLSUCHE" )) ]
Validieren von Formeln
• Syntax
• Feldreferenzen
• SQL-Queries
• Feld vorhanden
17. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017
Der Bug - des Entwicklers Fluch | Jörg Köster
BEISPIELDATEI
18. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017
Der Bug - des Entwicklers Fluch | Jörg Köster
Weitere Anwendungsmöglichkeiten
• Programmierter Debugger für Entwickler
• Scripts laufen ohne Unterbrechung durch
• Fehler können in den Protokollen gesichtet und analysiert
• Debuggen von Serverscripts
19. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017
Der Bug - des Entwicklers Fluch | Jörg Köster
Beispiele weiterer Anwendungsmöglichkeiten
• Monitoring interner Prozesse, zur Optimierung
• Bei der Anmeldung vergeben Anwender wiederholt falsche Zugangsdaten.
• Anwender brechen begonnene Prozesse auffällig oft ab.
• Anwender stehen sich zu häufig gegenseitig im Weg. (record locking)
• Plausibilitätsprüfungen schlagen überdurchschnittlich oft fehl.
• Welches Datenaufkommen wird über REST-Apis abgerufen?
• Monitoring ausgewählter Areale innerhalb der Datenbanklösung
• Monitoring neuer Funktionen (Funktionalität, Nutzung?)
Fehlerprotokollierung als Qualitätsmanagement-Tool?
20. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017
Der Bug - des Entwicklers Fluch | Jörg Köster
BEISPIELDATEI
(unter der Haube und Performance)
21. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017
Der Bug - des Entwicklers Fluch | Jörg Köster
Wie implementieren?
Schritt 1
Eigene Funktionen importieren
22. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017
Der Bug - des Entwicklers Fluch | Jörg Köster
Wie implementieren?
Schritt 2
Tabelle „ERRORLOG“
importieren
23. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017
Der Bug - des Entwicklers Fluch | Jörg Köster
Wie implementieren?
Schritt 3
Script „Fehler.sub :
Fehlererfassung SP“ importieren
24. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017
Der Bug - des Entwicklers Fluch | Jörg Köster
Wie implementieren?
Schritt 4
Denn mit importierten Fehler im
Sinn behalten.
Es fehlt noch das Layout für den
„Notausgang - schwerwiegender
Fehler“
25. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017
Der Bug - des Entwicklers Fluch | Jörg Köster
Wie implementieren?
Schritt 5
Das Layout „Notausgang -
schwerwiegender Fehler“
erstellen und dem Scriptschritt
„Gehe zu Layout“
in Scriptzeile 93 zuordnen
26. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017
Der Bug - des Entwicklers Fluch | Jörg Köster
FERTIG!
27. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017
Der Bug - des Entwicklers Fluch | Jörg Köster
Vor- und Nachteile
Vorteile
• fehlerfreie Scriptlogik
• Die Protokolltabelle kommuniziert
auch nicht gemeldete Fehler.
(Stichwort: gestresste Anwender)
• Debuggen von Serverscripts
• Nachhaltige Prüfung der Funktionalität
• zufriedene Kunden
• glückliche Anwender
• gutes Gewissen
• entspannter Schlaf
Nachteile
• geringfügiger Mehraufwand
• Scripts werden länger
• Scripts werden unübersichtlicher
• Scripts werden langsamer
28. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017
Der Bug - des Entwicklers Fluch | Jörg Köster
Fragen?
29. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017
Der Bug - des Entwicklers Fluch | Jörg Köster
Vielen Dank unseren Sponsoren