SlideShare a Scribd company logo
1 of 31
Download to read offline
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

More Related Content

What's hot

クラウド時代のエンジニアについて #sesfukui
クラウド時代のエンジニアについて #sesfukuiクラウド時代のエンジニアについて #sesfukui
クラウド時代のエンジニアについて #sesfukuiYusuke Suzuki
 
Kafka Streams: What it is, and how to use it?
Kafka Streams: What it is, and how to use it?Kafka Streams: What it is, and how to use it?
Kafka Streams: What it is, and how to use it?confluent
 
Heart of Agile: What is Agile?
Heart of Agile: What is Agile?Heart of Agile: What is Agile?
Heart of Agile: What is Agile?Agile Tour Beirut
 
雑談会議 Azure AD B2C 第一回
雑談会議 Azure AD B2C 第一回雑談会議 Azure AD B2C 第一回
雑談会議 Azure AD B2C 第一回Tsubasa Yoshino
 
中小企業選擇雲端服務的實戰密技
中小企業選擇雲端服務的實戰密技中小企業選擇雲端服務的實戰密技
中小企業選擇雲端服務的實戰密技Will Huang
 
Getting Agile with Scrum
Getting Agile with ScrumGetting Agile with Scrum
Getting Agile with ScrumMike Cohn
 
Treinamento git - Papos RBSDev
Treinamento git - Papos RBSDevTreinamento git - Papos RBSDev
Treinamento git - Papos RBSDevHélio Medeiros
 
Hacktoberfest 2020 - Open source for beginners
Hacktoberfest 2020 - Open source for beginnersHacktoberfest 2020 - Open source for beginners
Hacktoberfest 2020 - Open source for beginnersDeepikaRana30
 
AWS Black Belt Online Seminar 2016 AWS CloudFormation
AWS Black Belt Online Seminar 2016 AWS CloudFormationAWS Black Belt Online Seminar 2016 AWS CloudFormation
AWS Black Belt Online Seminar 2016 AWS CloudFormationAmazon Web Services Japan
 
Introducing Confluent Cloud: Apache Kafka as a Service
Introducing Confluent Cloud: Apache Kafka as a Service Introducing Confluent Cloud: Apache Kafka as a Service
Introducing Confluent Cloud: Apache Kafka as a Service confluent
 
Apache Kafka in Gaming Industry (Games, Mobile, Betting, Gambling, Bookmaker,...
Apache Kafka in Gaming Industry (Games, Mobile, Betting, Gambling, Bookmaker,...Apache Kafka in Gaming Industry (Games, Mobile, Betting, Gambling, Bookmaker,...
Apache Kafka in Gaming Industry (Games, Mobile, Betting, Gambling, Bookmaker,...Kai Wähner
 
Splitting the Check on Compliance and Security
Splitting the Check on Compliance and SecuritySplitting the Check on Compliance and Security
Splitting the Check on Compliance and SecurityJason Chan
 
Prometheus design and philosophy
Prometheus design and philosophy   Prometheus design and philosophy
Prometheus design and philosophy Docker, Inc.
 
20190731 Black Belt Online Seminar Amazon ECS Deep Dive
20190731 Black Belt Online Seminar Amazon ECS Deep Dive20190731 Black Belt Online Seminar Amazon ECS Deep Dive
20190731 Black Belt Online Seminar Amazon ECS Deep DiveAmazon Web Services Japan
 
What is Scrum? Edureka
What is Scrum? EdurekaWhat is Scrum? Edureka
What is Scrum? EdurekaEdureka!
 
CI/CD Overview
CI/CD OverviewCI/CD Overview
CI/CD OverviewAn Nguyen
 
Building Event Driven (Micro)services with Apache Kafka
Building Event Driven (Micro)services with Apache KafkaBuilding Event Driven (Micro)services with Apache Kafka
Building Event Driven (Micro)services with Apache KafkaGuido Schmutz
 
Introduction to Spark Streaming & Apache Kafka | Big Data Hadoop Spark Tutori...
Introduction to Spark Streaming & Apache Kafka | Big Data Hadoop Spark Tutori...Introduction to Spark Streaming & Apache Kafka | Big Data Hadoop Spark Tutori...
Introduction to Spark Streaming & Apache Kafka | Big Data Hadoop Spark Tutori...CloudxLab
 

What's hot (20)

クラウド時代のエンジニアについて #sesfukui
クラウド時代のエンジニアについて #sesfukuiクラウド時代のエンジニアについて #sesfukui
クラウド時代のエンジニアについて #sesfukui
 
Kafka Streams: What it is, and how to use it?
Kafka Streams: What it is, and how to use it?Kafka Streams: What it is, and how to use it?
Kafka Streams: What it is, and how to use it?
 
Heart of Agile: What is Agile?
Heart of Agile: What is Agile?Heart of Agile: What is Agile?
Heart of Agile: What is Agile?
 
Git e GitHub - Conceitos Básicos
Git e GitHub - Conceitos BásicosGit e GitHub - Conceitos Básicos
Git e GitHub - Conceitos Básicos
 
マイクロサービスのセキュリティ概説
マイクロサービスのセキュリティ概説マイクロサービスのセキュリティ概説
マイクロサービスのセキュリティ概説
 
雑談会議 Azure AD B2C 第一回
雑談会議 Azure AD B2C 第一回雑談会議 Azure AD B2C 第一回
雑談会議 Azure AD B2C 第一回
 
中小企業選擇雲端服務的實戰密技
中小企業選擇雲端服務的實戰密技中小企業選擇雲端服務的實戰密技
中小企業選擇雲端服務的實戰密技
 
Getting Agile with Scrum
Getting Agile with ScrumGetting Agile with Scrum
Getting Agile with Scrum
 
Treinamento git - Papos RBSDev
Treinamento git - Papos RBSDevTreinamento git - Papos RBSDev
Treinamento git - Papos RBSDev
 
Hacktoberfest 2020 - Open source for beginners
Hacktoberfest 2020 - Open source for beginnersHacktoberfest 2020 - Open source for beginners
Hacktoberfest 2020 - Open source for beginners
 
AWS Black Belt Online Seminar 2016 AWS CloudFormation
AWS Black Belt Online Seminar 2016 AWS CloudFormationAWS Black Belt Online Seminar 2016 AWS CloudFormation
AWS Black Belt Online Seminar 2016 AWS CloudFormation
 
Introducing Confluent Cloud: Apache Kafka as a Service
Introducing Confluent Cloud: Apache Kafka as a Service Introducing Confluent Cloud: Apache Kafka as a Service
Introducing Confluent Cloud: Apache Kafka as a Service
 
Apache Kafka in Gaming Industry (Games, Mobile, Betting, Gambling, Bookmaker,...
Apache Kafka in Gaming Industry (Games, Mobile, Betting, Gambling, Bookmaker,...Apache Kafka in Gaming Industry (Games, Mobile, Betting, Gambling, Bookmaker,...
Apache Kafka in Gaming Industry (Games, Mobile, Betting, Gambling, Bookmaker,...
 
Splitting the Check on Compliance and Security
Splitting the Check on Compliance and SecuritySplitting the Check on Compliance and Security
Splitting the Check on Compliance and Security
 
Prometheus design and philosophy
Prometheus design and philosophy   Prometheus design and philosophy
Prometheus design and philosophy
 
20190731 Black Belt Online Seminar Amazon ECS Deep Dive
20190731 Black Belt Online Seminar Amazon ECS Deep Dive20190731 Black Belt Online Seminar Amazon ECS Deep Dive
20190731 Black Belt Online Seminar Amazon ECS Deep Dive
 
What is Scrum? Edureka
What is Scrum? EdurekaWhat is Scrum? Edureka
What is Scrum? Edureka
 
CI/CD Overview
CI/CD OverviewCI/CD Overview
CI/CD Overview
 
Building Event Driven (Micro)services with Apache Kafka
Building Event Driven (Micro)services with Apache KafkaBuilding Event Driven (Micro)services with Apache Kafka
Building Event Driven (Micro)services with Apache Kafka
 
Introduction to Spark Streaming & Apache Kafka | Big Data Hadoop Spark Tutori...
Introduction to Spark Streaming & Apache Kafka | Big Data Hadoop Spark Tutori...Introduction to Spark Streaming & Apache Kafka | Big Data Hadoop Spark Tutori...
Introduction to Spark Streaming & Apache Kafka | Big Data Hadoop Spark Tutori...
 

Similar to 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
 
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
 
FMK2022 FileMaker DataAPI und Java von Bernhard Schulz
FMK2022 FileMaker DataAPI und Java von Bernhard SchulzFMK2022 FileMaker DataAPI und Java von Bernhard Schulz
FMK2022 FileMaker DataAPI und Java von Bernhard SchulzVerein FM Konferenz
 

Similar to 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
 
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
 
FMK2022 FileMaker DataAPI und Java von Bernhard Schulz
FMK2022 FileMaker DataAPI und Java von Bernhard SchulzFMK2022 FileMaker DataAPI und Java von Bernhard Schulz
FMK2022 FileMaker DataAPI und Java von Bernhard Schulz
 

More from 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
 

More from 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