SlideShare ist ein Scribd-Unternehmen logo
1 von 31
Downloaden Sie, um offline zu lesen
www.filemaker-konferenz.com
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Dr. Adam G. Augustin
Überarbeitete Programmiertechniken in FileMaker
www.agametis.de
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Überarbeitete Programmiertechniken in FileMaker - Adam Augustin
• Selbständiger FileMaker Entwickler im Raum
München

• Beratung und Entwicklung seit über 10
Jahren

• Entwicklung von kundenspezifischen
Datenbanken sowie Betreuung und
Weiterentwicklung bestehender Lösungen 

• FileMaker 12 bis 18 zertifiziert

• Zahlreiche Vorträge auf der FMK und dotfmp

• Web- und App-Entwicklung

• Mehr zu meiner Philosophie auf
www.agametis.de
Wer bin ich?
2
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Überarbeitete Programmiertechniken in FileMaker - Adam Augustin
Ziel des Vortrages
• FileMaker hat uns über die Jahre immer wieder neue Möglichkeiten gegeben,
Prozesse zu programmieren und zu gestalten.

• Im Laufe meiner Arbeit habe ich mit vielen unterschiedlichen Entwicklern
zusammengearbeitet und in vielen “Fremd”-Lösungen einiges Gutes und nicht
so Gutes gesehen.

• Grundsätzlich ist es immer gut, seine Arbeitsweise zu überdenken und zu
schauen, ob die neuen Möglichkeiten einem helfen, besser und effizienter zu
entwickeln.
3
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Überarbeitete Programmiertechniken in FileMaker - Adam Augustin
Der Script-Debugger
• Gibt Einsicht in den Skriptablauf

• Erlaubt die Überwachung von Variablen und dynamischen Feldinhalten

• Erlaubt die Analyse mit verschiedenen Benutzerrechten!

• Es können Haltepunkte definiert werden

• In Kombination mit der Datenanzeige (Data Viewer) bekommt man einen sehr
guten Gesamtüberblick.

• Kann im Falle eines Fehlers automatisch eingeblendet werden

• Erlaubt temporär alle Skripttrigger zu deaktivieren
4
https://help.claris.com/de/pro-help/content/debugging-scripts.html
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Überarbeitete Programmiertechniken in FileMaker - Adam Augustin
Debugger: Fenster
5
Skripttrigger (de)aktivieren
Datenanzeige
Pausieren bei
einem Fehler
Skript
öffnen
Kontrolle
des Ablaufs
Anzeige der Skriptabfolge inkl.
der übergebenen Parameter
Letzte Fehlermeldung
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Überarbeitete Programmiertechniken in FileMaker - Adam Augustin
Objektfenster
6
Rechts oben im Fenster
befindet sich das Icon
zum Ein- und
Ausblenden
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Überarbeitete Programmiertechniken in FileMaker - Adam Augustin
Objektfenster
• Ein- und Ausblenden von Objekten/Objektgruppen

• Definition des Objektnamens

• Definition bedingter Formatierung und Skripttrigger

• Suche und Filtern von Objekten
7
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Überarbeitete Programmiertechniken in FileMaker - Adam Augustin
Objektfenster - Felder
8
• Felddefinition und Organisation

• Viele hilfreiche Möglichkeiten, Felder im
Layout per Drag&Drop zu platzieren

• Filtern nach Feldnamen
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Überarbeitete Programmiertechniken in FileMaker - Adam Augustin
Funktion: Liste
• Erlaubt bequemes Datensammeln (innerhalb oder über Skripte hinweg)

• In Kombination mit der Funktion “Austauschen” (substitute) bequeme Möglichkeit
auf einfache Art, komplexe Strukturen aufzubauen

• Einfaches Beispiel:

• $Liste = Liste ( $Titel ; $Vorname ; $Nachname )

• $VollstaendigerName = Austauschen ( $Liste ; “¶” ; “ “ )

• “ “ wird nur gesetzt, wenn tatsächlich die Werte vorhanden sind! (yes)

• Keine komplizierten Überprüfungen nötig, ob $Titel, $Vorname oder
$Nachname leer sind, um zu verhindern, dass unnötige Leerzeichen
angehängt werden

• Frage: Wie baut ihr eine Anschrift zusammen?
9
$Titel

$Vorname

$Nachname
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Überarbeitete Programmiertechniken in FileMaker - Adam Augustin
Funktion: Liste
10
Aufbau einer Anschrift mit Hilfe der Funktionen “Liste” und “Austauschen”
Let([

	 xFirma = Adresse::Firma;

	 xSonder = Adresse::SondervermoegenFonds;

	 xStrasse = Adresse::Strasse;

	 xPLZOrt = Substitute ( List ( Adresse::Plz ; Adresse::Ort ) ; “¶” ; “ “ );

	 xLand = Case ( PatternCount ( Adresse::Land ; "Deutsch" ) ; “” ; Adresse::Land )

];

	 List ( xFirma ; xSonder ; xStrasse ; xPLZOrt ; xLand )

) // End Let
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Überarbeitete Programmiertechniken in FileMaker - Adam Augustin
Skriptschritt: Text einfügen
• Erlaubt die Verwendung von Texten ohne “Sonderzeichen” schützen zu
müssen (“ )

• Text ist direkt im Skript verwendbar.

• Text muss nicht aus einem Feld gezogen werden.
11
Beispiel eines Textes, welcher nicht ohne Weiteres im Formelfenster verwendet werden kann.
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Überarbeitete Programmiertechniken in FileMaker - Adam Augustin
Skriptschritt: Text einfügen
• Seitdem es die Möglichkeit gibt, das Ergebnis
in eine Variablen zu schreiben, ist der
Skriptschritt viel flexibler einsetzbar bei:

• Entwicklung für den Web Viewer (HTML,
CSS und JavaScript)

• Texte in denen “Sonderzeichen”
verwendet werden
12
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Überarbeitete Programmiertechniken in FileMaker - Adam Augustin
Kartenfenster (Eigenschaften)
13
• Modales Fenster innerhalb des aktuellen Fensters

• Ohne Fensterrahmen und beliebig platzierbar

• Beim Öffnen gibt es kein “Flackern” des Hauptfensters unter Windows.

• Vorsicht: aus dem Kartenfenster heraus kann kein weiteres Kartenfenster mehr
geöffnet werden (alle anderen Fenstertypen schon).
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Überarbeitete Programmiertechniken in FileMaker - Adam Augustin
Kartenfenster (Einsatzmöglichkeiten)
• Aufbau moderner Benutzeroberflächen möglich

• Dateneingabe mit speziellen Vorgaben

• Modulares Suchfenster

• Navigationslayout bei Bedarf einblendbar

• Komplexe Aktionen mit vielen Skripten können in einem (bei Bedarf sogar
sichtbaren) Fenster abgearbeitet werden, ohne eventuell in jedem Skript ein
neues “unsichtbares” Fenster zu öffnen und wieder zu schliessen.

• Bei längeren Aktion kann es z.B. als Infofenster verwendet werden
14
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Überarbeitete Programmiertechniken in FileMaker - Adam Augustin
Kartenfenster
15
Beispiel: Kartenfenster als Infofenster mit Anzeige des Prozessfortschrittes
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
FileMaker und JavaScript - Adam Augustin
“Der Schleifendschungel”
16
#
If [ $Bedingung_A ]
#
Else If [ $Bedingung_B ]
#
If [ $Bedingung_C ]
#
Else If [ $Bedingung_D1 ]
#
If [ $Bedingung_E ]
#
Else If [ $Bedingung_F ]
#
End If
#
Else If [ $Bedingung_D2 ]
#
End If
#
End If
#
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Überarbeitete Programmiertechniken in FileMaker - Adam Augustin
“Globale Schleife” (try-catch)
17
• Alle Aktionen werden innerhalb einer Loop-Anweisung ausgeführt (try).

• Bei einem Fehler wird zunächst nur die Loop verlassen.

• Nach dem Verlassen der Loop wird der Fehler verarbeitet (catch).

• Vorteil:

• Bei intensiver Fehlerprüfung kein ständiges: wenn Fehler - dann "schreibe Log” -
eventuell “schliesse Fenster” - dann “verlasse Skript”, etc.

• Fehlerbehandlung nur an einer Stelle: am Ende des Skriptes

• Wenn kein Fehler auftritt, wird das Skript normal beendet.

• Nachteil:

• Man muss sich immer bewusst sein, dass sich quasi der gesamte Code innerhalb
einer Loop-Anweisung befindet:

• “Script Verlassen” ist da nicht (macht den Ablauf “kaputt”)

• Nur “Loop Verlassen” darf benutzt werden :)
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Überarbeitete Programmiertechniken in FileMaker - Adam Augustin
Prinzip: Globale Schleife
18
# #####################

# # Globale Loop

# #####################

# 

# Loop - global

Loop

# 

# Anweisung_A

If [ $LastError ] 

Exit Loop If [ True ] 

End If

# 

# Anweisung_B

If [ $LastError ] 

Set Variable [ $FehlerMeldung ; Value: "Fehler bei Anweisung_B" ] 

Exit Loop If [ True ] 

End If

# 

# 

Exit Loop If [ True ] 

End Loop

# End Loop - global

# 

# 

# 

# #####################

# # Fehlerbehandlung

# #####################

# 

If [ $LastError ] 

# Fehler behandeln

# 

If [ False ] 

Else If [ $FehlerMeldung ≠ "" ] 

Show Custom Dialog [ "Fehler: " & $LastError ; $FehlerMeldung ] 

Else

# Infodialog

Show Custom Dialog [ "Fehler: " & $LastError ; "Es ist der Fehler " & $LastError & " aufgetreten!" ] 

End If

# 

End If

# 

Exit Script [ Text Result: cf_ResultSet ( "LastError" ; $LastError ; 1 ) ] 

# 

#
try
catch
# Loop - global

Loop

# 

# Anweisung_A

If [ $LastError ]

Exit Loop If [ True ]

End If

# 

# Anweisung_B

If [ $LastError ] 

Set Variable [ $FehlerMeldung ; Value: "Fehler bei Anweisung_B" ] 

Exit Loop If [ True ]

End If

# 

# 

Exit Loop If [ True ]

End Loop

# End Loop - global
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Überarbeitete Programmiertechniken in FileMaker - Adam Augustin
Prinzip: Globale Schleife
19
# #####################

# # Globale Loop

# #####################

# 

# Loop - global

Loop

# 

# Anweisung_A

If [ $LastError ] 

Exit Loop If [ True ] 

End If

# 

# Anweisung_B

If [ $LastError ] 

Set Variable [ $FehlerMeldung ; Value: "Fehler bei Anweisung_B" ] 

Exit Loop If [ True ] 

End If

# 

# 

Exit Loop If [ True ] 

End Loop

# End Loop - global

# 

# 

# 

# #####################

# # Fehlerbehandlung

# #####################

# 

If [ $LastError ] 

# Fehler behandeln

# 

If [ False ] 

Else If [ $FehlerMeldung ≠ "" ] 

Show Custom Dialog [ "Fehler: " & $LastError ; $FehlerMeldung ] 

Else

# Infodialog

Show Custom Dialog [ "Fehler: " & $LastError ; "Es ist der Fehler " & $LastError & " aufgetreten!" ] 

End If

# 

End If

# 

Exit Script [ Text Result: cf_ResultSet ( "LastError" ; $LastError ; 1 ) ] 

# 

#
try
catch
# #####################

# # Fehlerbehandlung

# #####################

# 

If [ $LastError ] 

# Fehler behandeln und Log schreiben

# 

If [ False ] 

Else If [ $FehlerMeldung ≠ "" ] 

Show Custom Dialog [ "Fehler: " & $LastError ; $FehlerMeldung ] 

Else

# allgemeiner Fehlerdialog

Show Custom Dialog [ "Fehler: " & $LastError ; 

“Es ist der Fehler " & $LastError & " aufgetreten!" ] 

End If

# 

End If
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
FileMaker und JavaScript - Adam Augustin
Let’s go
20
Demo
zum Kartenfenster mit globaler Schleife


(mit DSGVO konformen Daten!)
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Überarbeitete Programmiertechniken in FileMaker - Adam Augustin
JSON
• “Leichtes”, strukturiertes Datenaustauschformat

• kleine Datenmenge, kein zusätzlicher Overhead wie z.B. beim XML-
Format

• Seit FM16 in FileMaker integriert:

• JSONDeleteElement

• JSONFormatElements

• JSONGetElement

• JSONListKeys

• JSONListValues

• JSONSetElement

• JSONGetElementType (FM19.5)
21
https://www.json.org/json-en.html
Wer ist eigentlich Jayson?
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Überarbeitete Programmiertechniken in FileMaker - Adam Augustin
JSON
• Quasi-Standard für den Datenaustausch im Web

• Ermöglicht strukturiertes Datenhandling:

• Datenaggregation und Auswertung

• Parameterübergabe (Multiparameter)

• Bereits in vielen Vorträgen auf der FMK präsentiert
22
https://www.json.org/json-en.html
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Überarbeitete Programmiertechniken in FileMaker - Adam Augustin
Skriptschritt: FileMaker Data API ausführen
• Neue Schnittstelle, um Daten im JSON-Format innerhalb einer FileMaker-Lösung
abzurufen

• Eigentlich ein Server-Feature (REST API)

• Aber mit Hilfe des Skriptschrittes “FileMaker Data API ausführen”, kann sie
direkt im FM-Client verwendet werden

• Der Aufruf kann quasi “kontextlos” benutzt werden (ohne eine aktive Beziehung
zum aktuellen Kontext)

• Es wird nur ein Layout angegeben.

• Es werden die Daten aller auf dem Layout vorhandenen Felder (inkl. der
Bezugsdatensätze!) ausgegeben.
23
https://help.claris.com/de/pro-help/content/execute-filemaker-data-api.html
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Überarbeitete Programmiertechniken in FileMaker - Adam Augustin
Skriptschritt: FileMaker Data API ausführen
• Die Daten werden direkt im JSON-Format zurückgegeben

• Im Gegensatz zu der Funktion “SQL ausführen” viel performanter, da auf dem
Server ausgeführt

• Detaillierte Artikel von Jörg Köster im FMM - “Das Phantom der API”

FMM 202003-202005
24
https://help.claris.com/de/pro-help/content/execute-filemaker-data-api.html
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
FileMaker und JavaScript - Adam Augustin
Let’s go
25
Demo
zu “FileMaker Data API ausführen”


(mit DSGVO konformen Daten!)
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Überarbeitete Programmiertechniken in FileMaker - Adam Augustin
Tooling
• Datenbankanalyse (nach einer Zeit fühlt sich die eigene Lösung, wie eine
Fremdlösung an):

• FM Perception (für ad-hoc Schnellanalyse)

• CrossCheck (für tiefergehende Analyse aufgrund detaillierter Error Reports)

• FM v19.5 kompatibel

• mit neuen coolen Features in Version 11:

• Zusammen mit “Save a Copy as XML…” können viele zusätzliche
Informationen und Abhängigkeiten angezeigt werden (z.B: wichtige
Details zu Layoutbereichen)

• Grafische Anzeige der Skriptabfolge und Positionen von
Layoutobjekten innerhalb eines Layout
26
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Überarbeitete Programmiertechniken in FileMaker - Adam Augustin
Tooling
• Russell Watsons Wundertüte: https://github.com/mrwatson-de

• Clip Manager (auf Apple Silicon ist noch mit FM v18 nutzbar)

• MBS (spätestens jetzt muss man einen Mac für die FM-Entwicklung nutzen :))
27
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Überarbeitete Programmiertechniken in FileMaker - Adam Augustin
Was gibt es sonst?
• UUID-Funktionen (als Text oder Zahl) z.B. für Schlüsselfelder

• "Skript auf Server ausführen” (seit 19.5 auch auf dem Server einsetzbar, um
parallele Verarbeitung zu erreichen)

• Ausschnitt “auf sich selbst” - damit werden Layouts im Master-Detail-Stil möglich

• Seitensteuerelement, Tastenleiste

• Datei-Skriptschritte (https://help.claris.com/de/pro-help/content/files-script-
steps.html)

• Standardfelder in Tabellen (https://support.claris.com/s/article/Default-Fields?
language=en_US)

• “JavaScript in Web Viewer ausführen” (Details in meinem anderen Vortrag von der
FMK2022)

• Und, und, und
28
https://support.claris.com/s/article/FileMaker-Pro-Version-Comparison?language=en_US
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
FileMaker und JavaScript - Adam Augustin
Download
29
https://ag.amet.is/fmk2022
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Überarbeitete Programmiertechniken in FileMaker - Adam Augustin
F & A
30
Vielen Dank für euer Interesse!
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Titel Vortrag - Name Sprecher
Vielen Dank unseren Sponsoren

Weitere ähnliche Inhalte

Was ist angesagt?

Deploy MySQL e Performance Tuning - 3º Zabbix Meetup do Interior
Deploy MySQL e Performance Tuning - 3º Zabbix Meetup do InteriorDeploy MySQL e Performance Tuning - 3º Zabbix Meetup do Interior
Deploy MySQL e Performance Tuning - 3º Zabbix Meetup do InteriorZabbix BR
 
Another MySQL HA Solution for ProxySQL Users, Easy and All Integrated: MySQL ...
Another MySQL HA Solution for ProxySQL Users, Easy and All Integrated: MySQL ...Another MySQL HA Solution for ProxySQL Users, Easy and All Integrated: MySQL ...
Another MySQL HA Solution for ProxySQL Users, Easy and All Integrated: MySQL ...Frederic Descamps
 
Kafka Streams for Java enthusiasts
Kafka Streams for Java enthusiastsKafka Streams for Java enthusiasts
Kafka Streams for Java enthusiastsSlim Baltagi
 
Monitoring Workshop Kiel 2016 - Performancedaten Visualisierung mit Grafana /...
Monitoring Workshop Kiel 2016 - Performancedaten Visualisierung mit Grafana /...Monitoring Workshop Kiel 2016 - Performancedaten Visualisierung mit Grafana /...
Monitoring Workshop Kiel 2016 - Performancedaten Visualisierung mit Grafana /...Philip Griesbacher
 
Getting up to speed with Kafka Connect: from the basics to the latest feature...
Getting up to speed with Kafka Connect: from the basics to the latest feature...Getting up to speed with Kafka Connect: from the basics to the latest feature...
Getting up to speed with Kafka Connect: from the basics to the latest feature...HostedbyConfluent
 
Running Flink in Production: The good, The bad and The in Between - Lakshmi ...
Running Flink in Production:  The good, The bad and The in Between - Lakshmi ...Running Flink in Production:  The good, The bad and The in Between - Lakshmi ...
Running Flink in Production: The good, The bad and The in Between - Lakshmi ...Flink Forward
 
Apache Kafka - Patterns anti-patterns
Apache Kafka - Patterns anti-patternsApache Kafka - Patterns anti-patterns
Apache Kafka - Patterns anti-patternsFlorent Ramiere
 
Sparklens: Understanding the Scalability Limits of Spark Applications with R...
 Sparklens: Understanding the Scalability Limits of Spark Applications with R... Sparklens: Understanding the Scalability Limits of Spark Applications with R...
Sparklens: Understanding the Scalability Limits of Spark Applications with R...Databricks
 
Parallel Replication in MySQL and MariaDB
Parallel Replication in MySQL and MariaDBParallel Replication in MySQL and MariaDB
Parallel Replication in MySQL and MariaDBMydbops
 
Grafana Loki: like Prometheus, but for Logs
Grafana Loki: like Prometheus, but for LogsGrafana Loki: like Prometheus, but for Logs
Grafana Loki: like Prometheus, but for LogsMarco Pracucci
 
Real-time Analytics with Upsert Using Apache Kafka and Apache Pinot | Yupeng ...
Real-time Analytics with Upsert Using Apache Kafka and Apache Pinot | Yupeng ...Real-time Analytics with Upsert Using Apache Kafka and Apache Pinot | Yupeng ...
Real-time Analytics with Upsert Using Apache Kafka and Apache Pinot | Yupeng ...HostedbyConfluent
 
5 Factors When Selecting a High Performance, Low Latency Database
5 Factors When Selecting a High Performance, Low Latency Database5 Factors When Selecting a High Performance, Low Latency Database
5 Factors When Selecting a High Performance, Low Latency DatabaseScyllaDB
 
ServerlessConf 2018 Keynote - Debunking Serverless Myths
ServerlessConf 2018 Keynote - Debunking Serverless MythsServerlessConf 2018 Keynote - Debunking Serverless Myths
ServerlessConf 2018 Keynote - Debunking Serverless MythsTim Wagner
 
Hudi: Large-Scale, Near Real-Time Pipelines at Uber with Nishith Agarwal and ...
Hudi: Large-Scale, Near Real-Time Pipelines at Uber with Nishith Agarwal and ...Hudi: Large-Scale, Near Real-Time Pipelines at Uber with Nishith Agarwal and ...
Hudi: Large-Scale, Near Real-Time Pipelines at Uber with Nishith Agarwal and ...Databricks
 
Alfresco Security Best Practices Guide
Alfresco Security Best Practices GuideAlfresco Security Best Practices Guide
Alfresco Security Best Practices GuideToni de la Fuente
 
Developing real-time data pipelines with Spring and Kafka
Developing real-time data pipelines with Spring and KafkaDeveloping real-time data pipelines with Spring and Kafka
Developing real-time data pipelines with Spring and Kafkamarius_bogoevici
 
Accessibility in Low-Code: Applications with no Limits
Accessibility in Low-Code: Applications with no LimitsAccessibility in Low-Code: Applications with no Limits
Accessibility in Low-Code: Applications with no LimitsOutSystems
 
Efficient Schemas in Motion with Kafka and Schema Registry
Efficient Schemas in Motion with Kafka and Schema RegistryEfficient Schemas in Motion with Kafka and Schema Registry
Efficient Schemas in Motion with Kafka and Schema RegistryPat Patterson
 

Was ist angesagt? (20)

Deploy MySQL e Performance Tuning - 3º Zabbix Meetup do Interior
Deploy MySQL e Performance Tuning - 3º Zabbix Meetup do InteriorDeploy MySQL e Performance Tuning - 3º Zabbix Meetup do Interior
Deploy MySQL e Performance Tuning - 3º Zabbix Meetup do Interior
 
Automated master failover
Automated master failoverAutomated master failover
Automated master failover
 
Another MySQL HA Solution for ProxySQL Users, Easy and All Integrated: MySQL ...
Another MySQL HA Solution for ProxySQL Users, Easy and All Integrated: MySQL ...Another MySQL HA Solution for ProxySQL Users, Easy and All Integrated: MySQL ...
Another MySQL HA Solution for ProxySQL Users, Easy and All Integrated: MySQL ...
 
Kafka Streams for Java enthusiasts
Kafka Streams for Java enthusiastsKafka Streams for Java enthusiasts
Kafka Streams for Java enthusiasts
 
Monitoring Workshop Kiel 2016 - Performancedaten Visualisierung mit Grafana /...
Monitoring Workshop Kiel 2016 - Performancedaten Visualisierung mit Grafana /...Monitoring Workshop Kiel 2016 - Performancedaten Visualisierung mit Grafana /...
Monitoring Workshop Kiel 2016 - Performancedaten Visualisierung mit Grafana /...
 
Background processing with hangfire
Background processing with hangfireBackground processing with hangfire
Background processing with hangfire
 
Getting up to speed with Kafka Connect: from the basics to the latest feature...
Getting up to speed with Kafka Connect: from the basics to the latest feature...Getting up to speed with Kafka Connect: from the basics to the latest feature...
Getting up to speed with Kafka Connect: from the basics to the latest feature...
 
Running Flink in Production: The good, The bad and The in Between - Lakshmi ...
Running Flink in Production:  The good, The bad and The in Between - Lakshmi ...Running Flink in Production:  The good, The bad and The in Between - Lakshmi ...
Running Flink in Production: The good, The bad and The in Between - Lakshmi ...
 
Apache Kafka - Patterns anti-patterns
Apache Kafka - Patterns anti-patternsApache Kafka - Patterns anti-patterns
Apache Kafka - Patterns anti-patterns
 
Sparklens: Understanding the Scalability Limits of Spark Applications with R...
 Sparklens: Understanding the Scalability Limits of Spark Applications with R... Sparklens: Understanding the Scalability Limits of Spark Applications with R...
Sparklens: Understanding the Scalability Limits of Spark Applications with R...
 
Parallel Replication in MySQL and MariaDB
Parallel Replication in MySQL and MariaDBParallel Replication in MySQL and MariaDB
Parallel Replication in MySQL and MariaDB
 
Grafana Loki: like Prometheus, but for Logs
Grafana Loki: like Prometheus, but for LogsGrafana Loki: like Prometheus, but for Logs
Grafana Loki: like Prometheus, but for Logs
 
Real-time Analytics with Upsert Using Apache Kafka and Apache Pinot | Yupeng ...
Real-time Analytics with Upsert Using Apache Kafka and Apache Pinot | Yupeng ...Real-time Analytics with Upsert Using Apache Kafka and Apache Pinot | Yupeng ...
Real-time Analytics with Upsert Using Apache Kafka and Apache Pinot | Yupeng ...
 
5 Factors When Selecting a High Performance, Low Latency Database
5 Factors When Selecting a High Performance, Low Latency Database5 Factors When Selecting a High Performance, Low Latency Database
5 Factors When Selecting a High Performance, Low Latency Database
 
ServerlessConf 2018 Keynote - Debunking Serverless Myths
ServerlessConf 2018 Keynote - Debunking Serverless MythsServerlessConf 2018 Keynote - Debunking Serverless Myths
ServerlessConf 2018 Keynote - Debunking Serverless Myths
 
Hudi: Large-Scale, Near Real-Time Pipelines at Uber with Nishith Agarwal and ...
Hudi: Large-Scale, Near Real-Time Pipelines at Uber with Nishith Agarwal and ...Hudi: Large-Scale, Near Real-Time Pipelines at Uber with Nishith Agarwal and ...
Hudi: Large-Scale, Near Real-Time Pipelines at Uber with Nishith Agarwal and ...
 
Alfresco Security Best Practices Guide
Alfresco Security Best Practices GuideAlfresco Security Best Practices Guide
Alfresco Security Best Practices Guide
 
Developing real-time data pipelines with Spring and Kafka
Developing real-time data pipelines with Spring and KafkaDeveloping real-time data pipelines with Spring and Kafka
Developing real-time data pipelines with Spring and Kafka
 
Accessibility in Low-Code: Applications with no Limits
Accessibility in Low-Code: Applications with no LimitsAccessibility in Low-Code: Applications with no Limits
Accessibility in Low-Code: Applications with no Limits
 
Efficient Schemas in Motion with Kafka and Schema Registry
Efficient Schemas in Motion with Kafka and Schema RegistryEfficient Schemas in Motion with Kafka and Schema Registry
Efficient Schemas in Motion with Kafka and Schema Registry
 

Ähnlich wie FMK2022 Neue Programmiertechniken von Adam Augusting

FMK2022 FileMaker und Javascript von Adam Augustin
FMK2022 FileMaker und Javascript von Adam AugustinFMK2022 FileMaker und Javascript von Adam Augustin
FMK2022 FileMaker und Javascript von Adam AugustinVerein FM Konferenz
 
FMK2019 FileMaker Data API mit Node.js nutzen - Workshop by Adam Augustin
FMK2019 FileMaker Data API mit Node.js nutzen - Workshop by Adam AugustinFMK2019 FileMaker Data API mit Node.js nutzen - Workshop by Adam Augustin
FMK2019 FileMaker Data API mit Node.js nutzen - Workshop by Adam AugustinVerein FM Konferenz
 
FMK2017 - Das FileMaker Selector-Connector Modell - Wie kann ich es sinnvoll ...
FMK2017 - Das FileMaker Selector-Connector Modell - Wie kann ich es sinnvoll ...FMK2017 - Das FileMaker Selector-Connector Modell - Wie kann ich es sinnvoll ...
FMK2017 - Das FileMaker Selector-Connector Modell - Wie kann ich es sinnvoll ...Verein FM Konferenz
 
FMK2019 Fun mit Fenster Und Layouts by Arnold Kegebein
FMK2019 Fun mit Fenster Und Layouts by Arnold KegebeinFMK2019 Fun mit Fenster Und Layouts by Arnold Kegebein
FMK2019 Fun mit Fenster Und Layouts by Arnold KegebeinVerein FM Konferenz
 
FMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang Wunderlich
FMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang WunderlichFMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang Wunderlich
FMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang WunderlichVerein FM Konferenz
 
FMK2017 - Der Bug - des Entwicklers Fluch by Jörg Köster
FMK2017 - Der Bug - des Entwicklers Fluch by Jörg KösterFMK2017 - Der Bug - des Entwicklers Fluch by Jörg Köster
FMK2017 - Der Bug - des Entwicklers Fluch by Jörg KösterVerein FM Konferenz
 
FMK2018- Web direct fuer Einsteiger Alexis Gehrt
FMK2018- Web direct fuer Einsteiger Alexis GehrtFMK2018- Web direct fuer Einsteiger Alexis Gehrt
FMK2018- Web direct fuer Einsteiger Alexis GehrtVerein FM Konferenz
 
FMK2015: Entwicklung von modernen Benutzeroberflächen mit FileMaker Pro by Ad...
FMK2015: Entwicklung von modernen Benutzeroberflächen mit FileMaker Pro by Ad...FMK2015: Entwicklung von modernen Benutzeroberflächen mit FileMaker Pro by Ad...
FMK2015: Entwicklung von modernen Benutzeroberflächen mit FileMaker Pro by Ad...Verein FM Konferenz
 
FMK2019 FileMaker Data API mit Node.js nutzen by Adam Augustin
FMK2019 FileMaker Data API mit Node.js nutzen by Adam AugustinFMK2019 FileMaker Data API mit Node.js nutzen by Adam Augustin
FMK2019 FileMaker Data API mit Node.js nutzen by Adam AugustinVerein FM Konferenz
 
C/ C++ for Notes & Domino Developers
C/ C++ for Notes & Domino DevelopersC/ C++ for Notes & Domino Developers
C/ C++ for Notes & Domino DevelopersUlrich Krause
 
FMK2022 Arbeiten mit SVG in FileMaker - Robert Kaiser
FMK2022 Arbeiten mit SVG in FileMaker - Robert KaiserFMK2022 Arbeiten mit SVG in FileMaker - Robert Kaiser
FMK2022 Arbeiten mit SVG in FileMaker - Robert KaiserVerein FM Konferenz
 
FMK2017 - GUI Tipps für mobile Lösungen by Robert Kaiser
FMK2017 - GUI Tipps für mobile Lösungen by Robert KaiserFMK2017 - GUI Tipps für mobile Lösungen by Robert Kaiser
FMK2017 - GUI Tipps für mobile Lösungen by Robert KaiserVerein FM Konferenz
 
FMK2016 - Arnold Kegebein - Recycling
FMK2016 - Arnold Kegebein - RecyclingFMK2016 - Arnold Kegebein - Recycling
FMK2016 - Arnold Kegebein - RecyclingVerein FM Konferenz
 
FMK2017 - Das iOS FileMaker URL Schema by Alexis Gehrt
FMK2017 - Das iOS FileMaker URL Schema by Alexis GehrtFMK2017 - Das iOS FileMaker URL Schema by Alexis Gehrt
FMK2017 - Das iOS FileMaker URL Schema by Alexis GehrtVerein FM Konferenz
 
FMK2012: Programmstrukturen - FileMaker Skripten nicht nur für Experten …
FMK2012: Programmstrukturen - FileMaker Skripten nicht nur für Experten …FMK2012: Programmstrukturen - FileMaker Skripten nicht nur für Experten …
FMK2012: Programmstrukturen - FileMaker Skripten nicht nur für Experten …Verein FM Konferenz
 
FMK2015: Neue Funktionen in FileMaker Go 14 by Jörg Köster
FMK2015: Neue Funktionen in FileMaker Go 14 by Jörg KösterFMK2015: Neue Funktionen in FileMaker Go 14 by Jörg Köster
FMK2015: Neue Funktionen in FileMaker Go 14 by Jörg KösterVerein FM Konferenz
 
FMK2012: Strukturierte Scriptprogrammierung und neue Befehle und Scriptbefehl...
FMK2012: Strukturierte Scriptprogrammierung und neue Befehle und Scriptbefehl...FMK2012: Strukturierte Scriptprogrammierung und neue Befehle und Scriptbefehl...
FMK2012: Strukturierte Scriptprogrammierung und neue Befehle und Scriptbefehl...Verein FM Konferenz
 
Javascript done right
Javascript done rightJavascript done right
Javascript done rightDirk Ginader
 
GitLab: CI-Pipelines | PHP Usergroup Hamburg 20.03.2018
GitLab: CI-Pipelines | PHP Usergroup Hamburg 20.03.2018GitLab: CI-Pipelines | PHP Usergroup Hamburg 20.03.2018
GitLab: CI-Pipelines | PHP Usergroup Hamburg 20.03.2018Christian Mücke
 
Zentrale Dokumentengenerierung mit dem Open XML SDK
Zentrale Dokumentengenerierung mit dem Open XML SDKZentrale Dokumentengenerierung mit dem Open XML SDK
Zentrale Dokumentengenerierung mit dem Open XML SDKAndré Krämer
 

Ähnlich wie FMK2022 Neue Programmiertechniken von Adam Augusting (20)

FMK2022 FileMaker und Javascript von Adam Augustin
FMK2022 FileMaker und Javascript von Adam AugustinFMK2022 FileMaker und Javascript von Adam Augustin
FMK2022 FileMaker und Javascript von Adam Augustin
 
FMK2019 FileMaker Data API mit Node.js nutzen - Workshop by Adam Augustin
FMK2019 FileMaker Data API mit Node.js nutzen - Workshop by Adam AugustinFMK2019 FileMaker Data API mit Node.js nutzen - Workshop by Adam Augustin
FMK2019 FileMaker Data API mit Node.js nutzen - Workshop by Adam Augustin
 
FMK2017 - Das FileMaker Selector-Connector Modell - Wie kann ich es sinnvoll ...
FMK2017 - Das FileMaker Selector-Connector Modell - Wie kann ich es sinnvoll ...FMK2017 - Das FileMaker Selector-Connector Modell - Wie kann ich es sinnvoll ...
FMK2017 - Das FileMaker Selector-Connector Modell - Wie kann ich es sinnvoll ...
 
FMK2019 Fun mit Fenster Und Layouts by Arnold Kegebein
FMK2019 Fun mit Fenster Und Layouts by Arnold KegebeinFMK2019 Fun mit Fenster Und Layouts by Arnold Kegebein
FMK2019 Fun mit Fenster Und Layouts by Arnold Kegebein
 
FMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang Wunderlich
FMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang WunderlichFMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang Wunderlich
FMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang Wunderlich
 
FMK2017 - Der Bug - des Entwicklers Fluch by Jörg Köster
FMK2017 - Der Bug - des Entwicklers Fluch by Jörg KösterFMK2017 - Der Bug - des Entwicklers Fluch by Jörg Köster
FMK2017 - Der Bug - des Entwicklers Fluch by Jörg Köster
 
FMK2018- Web direct fuer Einsteiger Alexis Gehrt
FMK2018- Web direct fuer Einsteiger Alexis GehrtFMK2018- Web direct fuer Einsteiger Alexis Gehrt
FMK2018- Web direct fuer Einsteiger Alexis Gehrt
 
FMK2015: Entwicklung von modernen Benutzeroberflächen mit FileMaker Pro by Ad...
FMK2015: Entwicklung von modernen Benutzeroberflächen mit FileMaker Pro by Ad...FMK2015: Entwicklung von modernen Benutzeroberflächen mit FileMaker Pro by Ad...
FMK2015: Entwicklung von modernen Benutzeroberflächen mit FileMaker Pro by Ad...
 
FMK2019 FileMaker Data API mit Node.js nutzen by Adam Augustin
FMK2019 FileMaker Data API mit Node.js nutzen by Adam AugustinFMK2019 FileMaker Data API mit Node.js nutzen by Adam Augustin
FMK2019 FileMaker Data API mit Node.js nutzen by Adam Augustin
 
C/ C++ for Notes & Domino Developers
C/ C++ for Notes & Domino DevelopersC/ C++ for Notes & Domino Developers
C/ C++ for Notes & Domino Developers
 
FMK2022 Arbeiten mit SVG in FileMaker - Robert Kaiser
FMK2022 Arbeiten mit SVG in FileMaker - Robert KaiserFMK2022 Arbeiten mit SVG in FileMaker - Robert Kaiser
FMK2022 Arbeiten mit SVG in FileMaker - Robert Kaiser
 
FMK2017 - GUI Tipps für mobile Lösungen by Robert Kaiser
FMK2017 - GUI Tipps für mobile Lösungen by Robert KaiserFMK2017 - GUI Tipps für mobile Lösungen by Robert Kaiser
FMK2017 - GUI Tipps für mobile Lösungen by Robert Kaiser
 
FMK2016 - Arnold Kegebein - Recycling
FMK2016 - Arnold Kegebein - RecyclingFMK2016 - Arnold Kegebein - Recycling
FMK2016 - Arnold Kegebein - Recycling
 
FMK2017 - Das iOS FileMaker URL Schema by Alexis Gehrt
FMK2017 - Das iOS FileMaker URL Schema by Alexis GehrtFMK2017 - Das iOS FileMaker URL Schema by Alexis Gehrt
FMK2017 - Das iOS FileMaker URL Schema by Alexis Gehrt
 
FMK2012: Programmstrukturen - FileMaker Skripten nicht nur für Experten …
FMK2012: Programmstrukturen - FileMaker Skripten nicht nur für Experten …FMK2012: Programmstrukturen - FileMaker Skripten nicht nur für Experten …
FMK2012: Programmstrukturen - FileMaker Skripten nicht nur für Experten …
 
FMK2015: Neue Funktionen in FileMaker Go 14 by Jörg Köster
FMK2015: Neue Funktionen in FileMaker Go 14 by Jörg KösterFMK2015: Neue Funktionen in FileMaker Go 14 by Jörg Köster
FMK2015: Neue Funktionen in FileMaker Go 14 by Jörg Köster
 
FMK2012: Strukturierte Scriptprogrammierung und neue Befehle und Scriptbefehl...
FMK2012: Strukturierte Scriptprogrammierung und neue Befehle und Scriptbefehl...FMK2012: Strukturierte Scriptprogrammierung und neue Befehle und Scriptbefehl...
FMK2012: Strukturierte Scriptprogrammierung und neue Befehle und Scriptbefehl...
 
Javascript done right
Javascript done rightJavascript done right
Javascript done right
 
GitLab: CI-Pipelines | PHP Usergroup Hamburg 20.03.2018
GitLab: CI-Pipelines | PHP Usergroup Hamburg 20.03.2018GitLab: CI-Pipelines | PHP Usergroup Hamburg 20.03.2018
GitLab: CI-Pipelines | PHP Usergroup Hamburg 20.03.2018
 
Zentrale Dokumentengenerierung mit dem Open XML SDK
Zentrale Dokumentengenerierung mit dem Open XML SDKZentrale Dokumentengenerierung mit dem Open XML SDK
Zentrale Dokumentengenerierung mit dem Open XML SDK
 

Mehr von Verein FM Konferenz

FMK2022 Excel und FileMaker Schittko.pdf
FMK2022 Excel und FileMaker Schittko.pdfFMK2022 Excel und FileMaker Schittko.pdf
FMK2022 Excel und FileMaker Schittko.pdfVerein FM Konferenz
 
FMK2022 Drucken über Dateigrenzen hinweg von Philipp Puls
FMK2022 Drucken über Dateigrenzen hinweg von Philipp PulsFMK2022 Drucken über Dateigrenzen hinweg von Philipp Puls
FMK2022 Drucken über Dateigrenzen hinweg von Philipp PulsVerein FM Konferenz
 
FMK2022 Custom Functions von Philipp Puls
FMK2022 Custom Functions von Philipp PulsFMK2022 Custom Functions von Philipp Puls
FMK2022 Custom Functions von Philipp PulsVerein FM Konferenz
 
FMK2022 FileMaker Fehler von Martin Schwarz
FMK2022 FileMaker Fehler von Martin SchwarzFMK2022 FileMaker Fehler von Martin Schwarz
FMK2022 FileMaker Fehler von Martin SchwarzVerein FM Konferenz
 
FMK2022 Dokumentation - Thomas Hirt
FMK2022 Dokumentation - Thomas HirtFMK2022 Dokumentation - Thomas Hirt
FMK2022 Dokumentation - Thomas HirtVerein FM Konferenz
 
FMK2022 CustomFunctions Fuer Einsteiger - Thomas Hirt
FMK2022 CustomFunctions Fuer Einsteiger - Thomas HirtFMK2022 CustomFunctions Fuer Einsteiger - Thomas Hirt
FMK2022 CustomFunctions Fuer Einsteiger - Thomas HirtVerein FM Konferenz
 
FMK2022 FileMaker Integrated Development Environment - Russell Watson
FMK2022 FileMaker Integrated Development Environment - Russell WatsonFMK2022 FileMaker Integrated Development Environment - Russell Watson
FMK2022 FileMaker Integrated Development Environment - Russell WatsonVerein FM Konferenz
 
FMK2022 Datenschutz DSGVO Christoph Kluss
FMK2022 Datenschutz DSGVO Christoph KlussFMK2022 Datenschutz DSGVO Christoph Kluss
FMK2022 Datenschutz DSGVO Christoph KlussVerein FM Konferenz
 
FMK2022 Rechnungen Inkasso - Christoph Kluss
FMK2022 Rechnungen Inkasso - Christoph KlussFMK2022 Rechnungen Inkasso - Christoph Kluss
FMK2022 Rechnungen Inkasso - Christoph KlussVerein FM Konferenz
 
FMK2022 Die Zukunft von FileMaker - Marcel Moré.pdf
FMK2022 Die Zukunft von FileMaker - Marcel Moré.pdfFMK2022 Die Zukunft von FileMaker - Marcel Moré.pdf
FMK2022 Die Zukunft von FileMaker - Marcel Moré.pdfVerein FM Konferenz
 
FMK2019 bug off lightning talk by Russell Watson
FMK2019 bug off lightning talk by Russell WatsonFMK2019 bug off lightning talk by Russell Watson
FMK2019 bug off lightning talk by Russell WatsonVerein FM Konferenz
 
FMK2019 being an optimist in a pessimistic world by vincenzo menanno
FMK2019 being an optimist in a pessimistic world by vincenzo menannoFMK2019 being an optimist in a pessimistic world by vincenzo menanno
FMK2019 being an optimist in a pessimistic world by vincenzo menannoVerein FM Konferenz
 
FMK2019 FileMaker Performance Update 2019 by HOnza Koudelka
FMK2019 FileMaker Performance Update 2019 by HOnza KoudelkaFMK2019 FileMaker Performance Update 2019 by HOnza Koudelka
FMK2019 FileMaker Performance Update 2019 by HOnza KoudelkaVerein FM Konferenz
 
FMK2019 Hardware Integrated by HOnza Koudelka
FMK2019 Hardware Integrated by HOnza KoudelkaFMK2019 Hardware Integrated by HOnza Koudelka
FMK2019 Hardware Integrated by HOnza KoudelkaVerein FM Konferenz
 
Fmk2019 Produktentwicklung mit FileMaker by Harald Mair
Fmk2019 Produktentwicklung mit FileMaker by Harald MairFmk2019 Produktentwicklung mit FileMaker by Harald Mair
Fmk2019 Produktentwicklung mit FileMaker by Harald MairVerein FM Konferenz
 
FMK2019 Layout und Eigene Menüs-Management by Jörg Köster
FMK2019 Layout und Eigene Menüs-Management  by Jörg KösterFMK2019 Layout und Eigene Menüs-Management  by Jörg Köster
FMK2019 Layout und Eigene Menüs-Management by Jörg KösterVerein FM Konferenz
 
FMK2019 FileMaker – das Lizenzmodell Alles was Sie wissen wollen by Klemens ...
FMK2019 FileMaker – das Lizenzmodell Alles was Sie wissen wollen by Klemens  ...FMK2019 FileMaker – das Lizenzmodell Alles was Sie wissen wollen by Klemens  ...
FMK2019 FileMaker – das Lizenzmodell Alles was Sie wissen wollen by Klemens ...Verein FM Konferenz
 
FMK2019 FM Data Migration Tool by Stefan Tischler
FMK2019 FM Data Migration Tool by Stefan TischlerFMK2019 FM Data Migration Tool by Stefan Tischler
FMK2019 FM Data Migration Tool by Stefan TischlerVerein FM Konferenz
 
FMK2019 dot-Net-Plugin selbst programmieren by Werner Staub
FMK2019 dot-Net-Plugin selbst programmieren by Werner StaubFMK2019 dot-Net-Plugin selbst programmieren by Werner Staub
FMK2019 dot-Net-Plugin selbst programmieren by Werner StaubVerein FM Konferenz
 
FMK2019 Waagrechte Scrollbar für Ausschnittreihen erstellen by Gerhard Schwin...
FMK2019 Waagrechte Scrollbar für Ausschnittreihen erstellen by Gerhard Schwin...FMK2019 Waagrechte Scrollbar für Ausschnittreihen erstellen by Gerhard Schwin...
FMK2019 Waagrechte Scrollbar für Ausschnittreihen erstellen by Gerhard Schwin...Verein FM Konferenz
 

Mehr von Verein FM Konferenz (20)

FMK2022 Excel und FileMaker Schittko.pdf
FMK2022 Excel und FileMaker Schittko.pdfFMK2022 Excel und FileMaker Schittko.pdf
FMK2022 Excel und FileMaker Schittko.pdf
 
FMK2022 Drucken über Dateigrenzen hinweg von Philipp Puls
FMK2022 Drucken über Dateigrenzen hinweg von Philipp PulsFMK2022 Drucken über Dateigrenzen hinweg von Philipp Puls
FMK2022 Drucken über Dateigrenzen hinweg von Philipp Puls
 
FMK2022 Custom Functions von Philipp Puls
FMK2022 Custom Functions von Philipp PulsFMK2022 Custom Functions von Philipp Puls
FMK2022 Custom Functions von Philipp Puls
 
FMK2022 FileMaker Fehler von Martin Schwarz
FMK2022 FileMaker Fehler von Martin SchwarzFMK2022 FileMaker Fehler von Martin Schwarz
FMK2022 FileMaker Fehler von Martin Schwarz
 
FMK2022 Dokumentation - Thomas Hirt
FMK2022 Dokumentation - Thomas HirtFMK2022 Dokumentation - Thomas Hirt
FMK2022 Dokumentation - Thomas Hirt
 
FMK2022 CustomFunctions Fuer Einsteiger - Thomas Hirt
FMK2022 CustomFunctions Fuer Einsteiger - Thomas HirtFMK2022 CustomFunctions Fuer Einsteiger - Thomas Hirt
FMK2022 CustomFunctions Fuer Einsteiger - Thomas Hirt
 
FMK2022 FileMaker Integrated Development Environment - Russell Watson
FMK2022 FileMaker Integrated Development Environment - Russell WatsonFMK2022 FileMaker Integrated Development Environment - Russell Watson
FMK2022 FileMaker Integrated Development Environment - Russell Watson
 
FMK2022 Datenschutz DSGVO Christoph Kluss
FMK2022 Datenschutz DSGVO Christoph KlussFMK2022 Datenschutz DSGVO Christoph Kluss
FMK2022 Datenschutz DSGVO Christoph Kluss
 
FMK2022 Rechnungen Inkasso - Christoph Kluss
FMK2022 Rechnungen Inkasso - Christoph KlussFMK2022 Rechnungen Inkasso - Christoph Kluss
FMK2022 Rechnungen Inkasso - Christoph Kluss
 
FMK2022 Die Zukunft von FileMaker - Marcel Moré.pdf
FMK2022 Die Zukunft von FileMaker - Marcel Moré.pdfFMK2022 Die Zukunft von FileMaker - Marcel Moré.pdf
FMK2022 Die Zukunft von FileMaker - Marcel Moré.pdf
 
FMK2019 bug off lightning talk by Russell Watson
FMK2019 bug off lightning talk by Russell WatsonFMK2019 bug off lightning talk by Russell Watson
FMK2019 bug off lightning talk by Russell Watson
 
FMK2019 being an optimist in a pessimistic world by vincenzo menanno
FMK2019 being an optimist in a pessimistic world by vincenzo menannoFMK2019 being an optimist in a pessimistic world by vincenzo menanno
FMK2019 being an optimist in a pessimistic world by vincenzo menanno
 
FMK2019 FileMaker Performance Update 2019 by HOnza Koudelka
FMK2019 FileMaker Performance Update 2019 by HOnza KoudelkaFMK2019 FileMaker Performance Update 2019 by HOnza Koudelka
FMK2019 FileMaker Performance Update 2019 by HOnza Koudelka
 
FMK2019 Hardware Integrated by HOnza Koudelka
FMK2019 Hardware Integrated by HOnza KoudelkaFMK2019 Hardware Integrated by HOnza Koudelka
FMK2019 Hardware Integrated by HOnza Koudelka
 
Fmk2019 Produktentwicklung mit FileMaker by Harald Mair
Fmk2019 Produktentwicklung mit FileMaker by Harald MairFmk2019 Produktentwicklung mit FileMaker by Harald Mair
Fmk2019 Produktentwicklung mit FileMaker by Harald Mair
 
FMK2019 Layout und Eigene Menüs-Management by Jörg Köster
FMK2019 Layout und Eigene Menüs-Management  by Jörg KösterFMK2019 Layout und Eigene Menüs-Management  by Jörg Köster
FMK2019 Layout und Eigene Menüs-Management by Jörg Köster
 
FMK2019 FileMaker – das Lizenzmodell Alles was Sie wissen wollen by Klemens ...
FMK2019 FileMaker – das Lizenzmodell Alles was Sie wissen wollen by Klemens  ...FMK2019 FileMaker – das Lizenzmodell Alles was Sie wissen wollen by Klemens  ...
FMK2019 FileMaker – das Lizenzmodell Alles was Sie wissen wollen by Klemens ...
 
FMK2019 FM Data Migration Tool by Stefan Tischler
FMK2019 FM Data Migration Tool by Stefan TischlerFMK2019 FM Data Migration Tool by Stefan Tischler
FMK2019 FM Data Migration Tool by Stefan Tischler
 
FMK2019 dot-Net-Plugin selbst programmieren by Werner Staub
FMK2019 dot-Net-Plugin selbst programmieren by Werner StaubFMK2019 dot-Net-Plugin selbst programmieren by Werner Staub
FMK2019 dot-Net-Plugin selbst programmieren by Werner Staub
 
FMK2019 Waagrechte Scrollbar für Ausschnittreihen erstellen by Gerhard Schwin...
FMK2019 Waagrechte Scrollbar für Ausschnittreihen erstellen by Gerhard Schwin...FMK2019 Waagrechte Scrollbar für Ausschnittreihen erstellen by Gerhard Schwin...
FMK2019 Waagrechte Scrollbar für Ausschnittreihen erstellen by Gerhard Schwin...
 

FMK2022 Neue Programmiertechniken von Adam Augusting

  • 1. www.filemaker-konferenz.com FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Dr. Adam G. Augustin Überarbeitete Programmiertechniken in FileMaker www.agametis.de
  • 2. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Überarbeitete Programmiertechniken in FileMaker - Adam Augustin • Selbständiger FileMaker Entwickler im Raum München • Beratung und Entwicklung seit über 10 Jahren • Entwicklung von kundenspezifischen Datenbanken sowie Betreuung und Weiterentwicklung bestehender Lösungen • FileMaker 12 bis 18 zertifiziert • Zahlreiche Vorträge auf der FMK und dotfmp • Web- und App-Entwicklung • Mehr zu meiner Philosophie auf www.agametis.de Wer bin ich? 2
  • 3. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Überarbeitete Programmiertechniken in FileMaker - Adam Augustin Ziel des Vortrages • FileMaker hat uns über die Jahre immer wieder neue Möglichkeiten gegeben, Prozesse zu programmieren und zu gestalten. • Im Laufe meiner Arbeit habe ich mit vielen unterschiedlichen Entwicklern zusammengearbeitet und in vielen “Fremd”-Lösungen einiges Gutes und nicht so Gutes gesehen. • Grundsätzlich ist es immer gut, seine Arbeitsweise zu überdenken und zu schauen, ob die neuen Möglichkeiten einem helfen, besser und effizienter zu entwickeln. 3
  • 4. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Überarbeitete Programmiertechniken in FileMaker - Adam Augustin Der Script-Debugger • Gibt Einsicht in den Skriptablauf • Erlaubt die Überwachung von Variablen und dynamischen Feldinhalten • Erlaubt die Analyse mit verschiedenen Benutzerrechten! • Es können Haltepunkte definiert werden • In Kombination mit der Datenanzeige (Data Viewer) bekommt man einen sehr guten Gesamtüberblick. • Kann im Falle eines Fehlers automatisch eingeblendet werden • Erlaubt temporär alle Skripttrigger zu deaktivieren 4 https://help.claris.com/de/pro-help/content/debugging-scripts.html
  • 5. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Überarbeitete Programmiertechniken in FileMaker - Adam Augustin Debugger: Fenster 5 Skripttrigger (de)aktivieren Datenanzeige Pausieren bei einem Fehler Skript öffnen Kontrolle des Ablaufs Anzeige der Skriptabfolge inkl. der übergebenen Parameter Letzte Fehlermeldung
  • 6. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Überarbeitete Programmiertechniken in FileMaker - Adam Augustin Objektfenster 6 Rechts oben im Fenster befindet sich das Icon zum Ein- und Ausblenden
  • 7. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Überarbeitete Programmiertechniken in FileMaker - Adam Augustin Objektfenster • Ein- und Ausblenden von Objekten/Objektgruppen • Definition des Objektnamens • Definition bedingter Formatierung und Skripttrigger • Suche und Filtern von Objekten 7
  • 8. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Überarbeitete Programmiertechniken in FileMaker - Adam Augustin Objektfenster - Felder 8 • Felddefinition und Organisation • Viele hilfreiche Möglichkeiten, Felder im Layout per Drag&Drop zu platzieren • Filtern nach Feldnamen
  • 9. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Überarbeitete Programmiertechniken in FileMaker - Adam Augustin Funktion: Liste • Erlaubt bequemes Datensammeln (innerhalb oder über Skripte hinweg) • In Kombination mit der Funktion “Austauschen” (substitute) bequeme Möglichkeit auf einfache Art, komplexe Strukturen aufzubauen • Einfaches Beispiel: • $Liste = Liste ( $Titel ; $Vorname ; $Nachname ) • $VollstaendigerName = Austauschen ( $Liste ; “¶” ; “ “ ) • “ “ wird nur gesetzt, wenn tatsächlich die Werte vorhanden sind! (yes) • Keine komplizierten Überprüfungen nötig, ob $Titel, $Vorname oder $Nachname leer sind, um zu verhindern, dass unnötige Leerzeichen angehängt werden • Frage: Wie baut ihr eine Anschrift zusammen? 9 $Titel $Vorname $Nachname
  • 10. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Überarbeitete Programmiertechniken in FileMaker - Adam Augustin Funktion: Liste 10 Aufbau einer Anschrift mit Hilfe der Funktionen “Liste” und “Austauschen” Let([ xFirma = Adresse::Firma; xSonder = Adresse::SondervermoegenFonds; xStrasse = Adresse::Strasse; xPLZOrt = Substitute ( List ( Adresse::Plz ; Adresse::Ort ) ; “¶” ; “ “ ); xLand = Case ( PatternCount ( Adresse::Land ; "Deutsch" ) ; “” ; Adresse::Land ) ]; List ( xFirma ; xSonder ; xStrasse ; xPLZOrt ; xLand ) ) // End Let
  • 11. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Überarbeitete Programmiertechniken in FileMaker - Adam Augustin Skriptschritt: Text einfügen • Erlaubt die Verwendung von Texten ohne “Sonderzeichen” schützen zu müssen (“ ) • Text ist direkt im Skript verwendbar. • Text muss nicht aus einem Feld gezogen werden. 11 Beispiel eines Textes, welcher nicht ohne Weiteres im Formelfenster verwendet werden kann.
  • 12. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Überarbeitete Programmiertechniken in FileMaker - Adam Augustin Skriptschritt: Text einfügen • Seitdem es die Möglichkeit gibt, das Ergebnis in eine Variablen zu schreiben, ist der Skriptschritt viel flexibler einsetzbar bei: • Entwicklung für den Web Viewer (HTML, CSS und JavaScript) • Texte in denen “Sonderzeichen” verwendet werden 12
  • 13. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Überarbeitete Programmiertechniken in FileMaker - Adam Augustin Kartenfenster (Eigenschaften) 13 • Modales Fenster innerhalb des aktuellen Fensters • Ohne Fensterrahmen und beliebig platzierbar • Beim Öffnen gibt es kein “Flackern” des Hauptfensters unter Windows. • Vorsicht: aus dem Kartenfenster heraus kann kein weiteres Kartenfenster mehr geöffnet werden (alle anderen Fenstertypen schon).
  • 14. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Überarbeitete Programmiertechniken in FileMaker - Adam Augustin Kartenfenster (Einsatzmöglichkeiten) • Aufbau moderner Benutzeroberflächen möglich • Dateneingabe mit speziellen Vorgaben • Modulares Suchfenster • Navigationslayout bei Bedarf einblendbar • Komplexe Aktionen mit vielen Skripten können in einem (bei Bedarf sogar sichtbaren) Fenster abgearbeitet werden, ohne eventuell in jedem Skript ein neues “unsichtbares” Fenster zu öffnen und wieder zu schliessen. • Bei längeren Aktion kann es z.B. als Infofenster verwendet werden 14
  • 15. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Überarbeitete Programmiertechniken in FileMaker - Adam Augustin Kartenfenster 15 Beispiel: Kartenfenster als Infofenster mit Anzeige des Prozessfortschrittes
  • 16. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 FileMaker und JavaScript - Adam Augustin “Der Schleifendschungel” 16 # If [ $Bedingung_A ] # Else If [ $Bedingung_B ] # If [ $Bedingung_C ] # Else If [ $Bedingung_D1 ] # If [ $Bedingung_E ] # Else If [ $Bedingung_F ] # End If # Else If [ $Bedingung_D2 ] # End If # End If #
  • 17. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Überarbeitete Programmiertechniken in FileMaker - Adam Augustin “Globale Schleife” (try-catch) 17 • Alle Aktionen werden innerhalb einer Loop-Anweisung ausgeführt (try). • Bei einem Fehler wird zunächst nur die Loop verlassen. • Nach dem Verlassen der Loop wird der Fehler verarbeitet (catch). • Vorteil: • Bei intensiver Fehlerprüfung kein ständiges: wenn Fehler - dann "schreibe Log” - eventuell “schliesse Fenster” - dann “verlasse Skript”, etc. • Fehlerbehandlung nur an einer Stelle: am Ende des Skriptes • Wenn kein Fehler auftritt, wird das Skript normal beendet. • Nachteil: • Man muss sich immer bewusst sein, dass sich quasi der gesamte Code innerhalb einer Loop-Anweisung befindet: • “Script Verlassen” ist da nicht (macht den Ablauf “kaputt”) • Nur “Loop Verlassen” darf benutzt werden :)
  • 18. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Überarbeitete Programmiertechniken in FileMaker - Adam Augustin Prinzip: Globale Schleife 18 # ##################### # # Globale Loop # ##################### # # Loop - global Loop # # Anweisung_A If [ $LastError ] Exit Loop If [ True ] End If # # Anweisung_B If [ $LastError ] Set Variable [ $FehlerMeldung ; Value: "Fehler bei Anweisung_B" ] Exit Loop If [ True ] End If # # Exit Loop If [ True ] End Loop # End Loop - global # # # # ##################### # # Fehlerbehandlung # ##################### # If [ $LastError ] # Fehler behandeln # If [ False ] Else If [ $FehlerMeldung ≠ "" ] Show Custom Dialog [ "Fehler: " & $LastError ; $FehlerMeldung ] Else # Infodialog Show Custom Dialog [ "Fehler: " & $LastError ; "Es ist der Fehler " & $LastError & " aufgetreten!" ] End If # End If # Exit Script [ Text Result: cf_ResultSet ( "LastError" ; $LastError ; 1 ) ] # # try catch # Loop - global Loop # # Anweisung_A If [ $LastError ] Exit Loop If [ True ] End If # # Anweisung_B If [ $LastError ] Set Variable [ $FehlerMeldung ; Value: "Fehler bei Anweisung_B" ] Exit Loop If [ True ] End If # # Exit Loop If [ True ] End Loop # End Loop - global
  • 19. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Überarbeitete Programmiertechniken in FileMaker - Adam Augustin Prinzip: Globale Schleife 19 # ##################### # # Globale Loop # ##################### # # Loop - global Loop # # Anweisung_A If [ $LastError ] Exit Loop If [ True ] End If # # Anweisung_B If [ $LastError ] Set Variable [ $FehlerMeldung ; Value: "Fehler bei Anweisung_B" ] Exit Loop If [ True ] End If # # Exit Loop If [ True ] End Loop # End Loop - global # # # # ##################### # # Fehlerbehandlung # ##################### # If [ $LastError ] # Fehler behandeln # If [ False ] Else If [ $FehlerMeldung ≠ "" ] Show Custom Dialog [ "Fehler: " & $LastError ; $FehlerMeldung ] Else # Infodialog Show Custom Dialog [ "Fehler: " & $LastError ; "Es ist der Fehler " & $LastError & " aufgetreten!" ] End If # End If # Exit Script [ Text Result: cf_ResultSet ( "LastError" ; $LastError ; 1 ) ] # # try catch # ##################### # # Fehlerbehandlung # ##################### # If [ $LastError ] # Fehler behandeln und Log schreiben # If [ False ] Else If [ $FehlerMeldung ≠ "" ] Show Custom Dialog [ "Fehler: " & $LastError ; $FehlerMeldung ] Else # allgemeiner Fehlerdialog Show Custom Dialog [ "Fehler: " & $LastError ; “Es ist der Fehler " & $LastError & " aufgetreten!" ] End If # End If
  • 20. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 FileMaker und JavaScript - Adam Augustin Let’s go 20 Demo zum Kartenfenster mit globaler Schleife 
 (mit DSGVO konformen Daten!)
  • 21. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Überarbeitete Programmiertechniken in FileMaker - Adam Augustin JSON • “Leichtes”, strukturiertes Datenaustauschformat • kleine Datenmenge, kein zusätzlicher Overhead wie z.B. beim XML- Format • Seit FM16 in FileMaker integriert: • JSONDeleteElement • JSONFormatElements • JSONGetElement • JSONListKeys • JSONListValues • JSONSetElement • JSONGetElementType (FM19.5) 21 https://www.json.org/json-en.html Wer ist eigentlich Jayson?
  • 22. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Überarbeitete Programmiertechniken in FileMaker - Adam Augustin JSON • Quasi-Standard für den Datenaustausch im Web • Ermöglicht strukturiertes Datenhandling: • Datenaggregation und Auswertung • Parameterübergabe (Multiparameter) • Bereits in vielen Vorträgen auf der FMK präsentiert 22 https://www.json.org/json-en.html
  • 23. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Überarbeitete Programmiertechniken in FileMaker - Adam Augustin Skriptschritt: FileMaker Data API ausführen • Neue Schnittstelle, um Daten im JSON-Format innerhalb einer FileMaker-Lösung abzurufen • Eigentlich ein Server-Feature (REST API) • Aber mit Hilfe des Skriptschrittes “FileMaker Data API ausführen”, kann sie direkt im FM-Client verwendet werden • Der Aufruf kann quasi “kontextlos” benutzt werden (ohne eine aktive Beziehung zum aktuellen Kontext) • Es wird nur ein Layout angegeben. • Es werden die Daten aller auf dem Layout vorhandenen Felder (inkl. der Bezugsdatensätze!) ausgegeben. 23 https://help.claris.com/de/pro-help/content/execute-filemaker-data-api.html
  • 24. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Überarbeitete Programmiertechniken in FileMaker - Adam Augustin Skriptschritt: FileMaker Data API ausführen • Die Daten werden direkt im JSON-Format zurückgegeben • Im Gegensatz zu der Funktion “SQL ausführen” viel performanter, da auf dem Server ausgeführt • Detaillierte Artikel von Jörg Köster im FMM - “Das Phantom der API”
 FMM 202003-202005 24 https://help.claris.com/de/pro-help/content/execute-filemaker-data-api.html
  • 25. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 FileMaker und JavaScript - Adam Augustin Let’s go 25 Demo zu “FileMaker Data API ausführen” 
 (mit DSGVO konformen Daten!)
  • 26. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Überarbeitete Programmiertechniken in FileMaker - Adam Augustin Tooling • Datenbankanalyse (nach einer Zeit fühlt sich die eigene Lösung, wie eine Fremdlösung an): • FM Perception (für ad-hoc Schnellanalyse) • CrossCheck (für tiefergehende Analyse aufgrund detaillierter Error Reports) • FM v19.5 kompatibel • mit neuen coolen Features in Version 11: • Zusammen mit “Save a Copy as XML…” können viele zusätzliche Informationen und Abhängigkeiten angezeigt werden (z.B: wichtige Details zu Layoutbereichen) • Grafische Anzeige der Skriptabfolge und Positionen von Layoutobjekten innerhalb eines Layout 26
  • 27. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Überarbeitete Programmiertechniken in FileMaker - Adam Augustin Tooling • Russell Watsons Wundertüte: https://github.com/mrwatson-de • Clip Manager (auf Apple Silicon ist noch mit FM v18 nutzbar) • MBS (spätestens jetzt muss man einen Mac für die FM-Entwicklung nutzen :)) 27
  • 28. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Überarbeitete Programmiertechniken in FileMaker - Adam Augustin Was gibt es sonst? • UUID-Funktionen (als Text oder Zahl) z.B. für Schlüsselfelder • "Skript auf Server ausführen” (seit 19.5 auch auf dem Server einsetzbar, um parallele Verarbeitung zu erreichen) • Ausschnitt “auf sich selbst” - damit werden Layouts im Master-Detail-Stil möglich • Seitensteuerelement, Tastenleiste • Datei-Skriptschritte (https://help.claris.com/de/pro-help/content/files-script- steps.html) • Standardfelder in Tabellen (https://support.claris.com/s/article/Default-Fields? language=en_US) • “JavaScript in Web Viewer ausführen” (Details in meinem anderen Vortrag von der FMK2022) • Und, und, und 28 https://support.claris.com/s/article/FileMaker-Pro-Version-Comparison?language=en_US
  • 29. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 FileMaker und JavaScript - Adam Augustin Download 29 https://ag.amet.is/fmk2022
  • 30. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Überarbeitete Programmiertechniken in FileMaker - Adam Augustin F & A 30 Vielen Dank für euer Interesse!
  • 31. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Titel Vortrag - Name Sprecher Vielen Dank unseren Sponsoren