FMK2022 FileMaker Server unter Linux Workshop von Bernhard SchulzVerein FM Konferenz
Bernhard Schulz zeigt an einem Workshop an der FileMaker Konferenz 2022 in Hamburg wie FileMaker Server unter Ubuntu installiert und eingerichtet wird.
Kafka Summit SF 2017 - Best Practices for Running Kafka on Docker Containersconfluent
Docker containers provide an ideal foundation for running Kafka-as-a-Service on-premises or in the public cloud. However, using Docker containers in production environments poses some challenges – including container management, scheduling, network configuration and security, and performance. In this session, we’ll share lessons learned from implementing Kafka-as-a-Service with Docker containers.
Presented at Kafka Summit SF 2017 by Nanda Vijaydev
The Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScaleColin Charles
As proxies (and database routers) go, the first one I ever used was the now deprecated MySQL Proxy. Since then, I've managed to use MariaDB MaxScale quite a bit (including its fork AirBnB MaxScale), played around with ProxySQL in recent time, and also started taking a look at MySQL Router. In this quick 20-minute overview, we'll discuss why these three exist, a feature comparison, and reasons when to use the right tool for the job.
FMK2022 FileMaker Server unter Linux Workshop von Bernhard SchulzVerein FM Konferenz
Bernhard Schulz zeigt an einem Workshop an der FileMaker Konferenz 2022 in Hamburg wie FileMaker Server unter Ubuntu installiert und eingerichtet wird.
Kafka Summit SF 2017 - Best Practices for Running Kafka on Docker Containersconfluent
Docker containers provide an ideal foundation for running Kafka-as-a-Service on-premises or in the public cloud. However, using Docker containers in production environments poses some challenges – including container management, scheduling, network configuration and security, and performance. In this session, we’ll share lessons learned from implementing Kafka-as-a-Service with Docker containers.
Presented at Kafka Summit SF 2017 by Nanda Vijaydev
The Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScaleColin Charles
As proxies (and database routers) go, the first one I ever used was the now deprecated MySQL Proxy. Since then, I've managed to use MariaDB MaxScale quite a bit (including its fork AirBnB MaxScale), played around with ProxySQL in recent time, and also started taking a look at MySQL Router. In this quick 20-minute overview, we'll discuss why these three exist, a feature comparison, and reasons when to use the right tool for the job.
Installing and Configuring NGINX Open SourceNGINX, Inc.
This pre-recorded 101-level lab and demo takes you from a “blank” LINUX system to a full-featured NGINX application delivery configuration for serving web content and load balancing.
Everything you ever needed to know about Kafka on Kubernetes but were afraid ...HostedbyConfluent
Kubernetes became the de-facto standard for running cloud-native applications. And many users turn to it also to run stateful applications such as Apache Kafka. You can use different tools to deploy Kafka on Kubernetes - write your own YAML files, use Helm Charts, or go for one of the available operators. But there is one thing all of these have in common. You still need very good knowledge of Kubernetes to make sure your Kafka cluster works properly in all situations. This talk will cover different Kubernetes features such as resources, affinity, tolerations, pod disruption budgets, topology spread constraints and more. And it will explain why they are important for Apache Kafka and how to use them. If you are interested in running Kafka on Kubernetes and do not know all of these, this is a talk for you.
HAProxy, the world’s fastest and most widely-used software load balancer, was first released in December 2001. The load balancer landscape has changed significantly since then. Yet HAProxy, with 17 years of active development under its belt, has continued to evolve and innovate. Now, we're announcing the release of HAProxy 1.9.
Strategies and techniques to optimize Kafka brokers and producers to minimize data loss under huge traffic volume, limited configuration options, less ideal and constant changing environment and balance against cost.
Packer is a tool for creating machine and container images (single static unit that contains a pre-configured operating system and installed software) for multiple platforms from a single source configuration.
Deploying MariaDB databases with containers at Nokia NetworksMariaDB plc
Nokia is focused on providing software and products that facilitate rapid development, deployment and scaling of products and services to customers. The Common Software Foundation (CSF) within Nokia develops and supports product reuse by multiple applications within Nokia, including MariaDB. Their focus over the last year has been to develop a containerized MariaDB solution supporting multiple architectures, including both clustering and primary/secondary replication with MariaDB MaxScale. In this talk, Rick Lane discusses this journey of these containerized solutions from development to customer trials, including problems encountered and solutions.
A presentation on our experience at Ingram Content Group with Grafana and MySQL. In an enterprise environment it is sometimes necessary to keep data in a traditional, general purpose SQL database such as MySQL or PostgreSQL. These slides explore the challenges and benefits of using Grafana with an SQL database in a large enterprise production setting.
Intro to Project Calico: a pure layer 3 approach to scale-out networkingPacket
Slide presentation from the April 16th, 2015 Downtown NY Tech Meetup hosted at Control Group and presented by Christopher Liljenstolpe from Project Calico (www.projectcalico.org)
Project Calico is a scale-out networking fabric for bare metal, container, VM, and hybrid environments. Project Calico leverages the same networking techniques used to scale out the Internet to present a highly scaleable, L3 network for those environments without the use of tunnels, overlays, or other complex constructs. We'll also do a demo of a Calico enabled Docker environment, and have plenty of time for q&a during and after.
About Christopher Liljenstolpe
Christopher is the original architect of Project Calico and one of the project's evangelists. In his day job, he's the director of solutions architecture at Metaswitch Networks. Prior to Calico/Metaswitch, he's designed and run some bio-informatics OpenStack clusters, done some SDN architecture work at Big Switch Networks, Run architecture at two large carriers (Telstra - AS1221, and Cable & Wireless/iMCI - AS3561) and been the IP CTO for Alcatel in Asia. He's also run networks in Antarctica (hint, bend radius becomes REALLY important at -50C), and been foolish enough to do a stint as a wg co-chair in the IETF. Occasionally you can have the (mis-)fortune of hearing him speak at conferences and the like.
Bringing Kafka Without Zookeeper Into Production with Colin McCabe | Kafka Su...HostedbyConfluent
Over the last few years, we have been working on removing the dependency on ZooKeeper from Apache Kafka®. Instead of using an external system to store metadata, Kafka can now manage its own metadata. This new mode of operation is called Kafka Raft mode, or ""KRaft"" for short. It has many performance and scalability benefits.
This talk will discuss our efforts to get KRaft mode production-ready. We will talk about the old and new architectures, and how we adapted features to work in both worlds. We will also talk about our experiences with testing and deploying the new software. Finally, we'll talk about what's planned for the future.
Installing and Configuring NGINX Open SourceNGINX, Inc.
This pre-recorded 101-level lab and demo takes you from a “blank” LINUX system to a full-featured NGINX application delivery configuration for serving web content and load balancing.
Everything you ever needed to know about Kafka on Kubernetes but were afraid ...HostedbyConfluent
Kubernetes became the de-facto standard for running cloud-native applications. And many users turn to it also to run stateful applications such as Apache Kafka. You can use different tools to deploy Kafka on Kubernetes - write your own YAML files, use Helm Charts, or go for one of the available operators. But there is one thing all of these have in common. You still need very good knowledge of Kubernetes to make sure your Kafka cluster works properly in all situations. This talk will cover different Kubernetes features such as resources, affinity, tolerations, pod disruption budgets, topology spread constraints and more. And it will explain why they are important for Apache Kafka and how to use them. If you are interested in running Kafka on Kubernetes and do not know all of these, this is a talk for you.
HAProxy, the world’s fastest and most widely-used software load balancer, was first released in December 2001. The load balancer landscape has changed significantly since then. Yet HAProxy, with 17 years of active development under its belt, has continued to evolve and innovate. Now, we're announcing the release of HAProxy 1.9.
Strategies and techniques to optimize Kafka brokers and producers to minimize data loss under huge traffic volume, limited configuration options, less ideal and constant changing environment and balance against cost.
Packer is a tool for creating machine and container images (single static unit that contains a pre-configured operating system and installed software) for multiple platforms from a single source configuration.
Deploying MariaDB databases with containers at Nokia NetworksMariaDB plc
Nokia is focused on providing software and products that facilitate rapid development, deployment and scaling of products and services to customers. The Common Software Foundation (CSF) within Nokia develops and supports product reuse by multiple applications within Nokia, including MariaDB. Their focus over the last year has been to develop a containerized MariaDB solution supporting multiple architectures, including both clustering and primary/secondary replication with MariaDB MaxScale. In this talk, Rick Lane discusses this journey of these containerized solutions from development to customer trials, including problems encountered and solutions.
A presentation on our experience at Ingram Content Group with Grafana and MySQL. In an enterprise environment it is sometimes necessary to keep data in a traditional, general purpose SQL database such as MySQL or PostgreSQL. These slides explore the challenges and benefits of using Grafana with an SQL database in a large enterprise production setting.
Intro to Project Calico: a pure layer 3 approach to scale-out networkingPacket
Slide presentation from the April 16th, 2015 Downtown NY Tech Meetup hosted at Control Group and presented by Christopher Liljenstolpe from Project Calico (www.projectcalico.org)
Project Calico is a scale-out networking fabric for bare metal, container, VM, and hybrid environments. Project Calico leverages the same networking techniques used to scale out the Internet to present a highly scaleable, L3 network for those environments without the use of tunnels, overlays, or other complex constructs. We'll also do a demo of a Calico enabled Docker environment, and have plenty of time for q&a during and after.
About Christopher Liljenstolpe
Christopher is the original architect of Project Calico and one of the project's evangelists. In his day job, he's the director of solutions architecture at Metaswitch Networks. Prior to Calico/Metaswitch, he's designed and run some bio-informatics OpenStack clusters, done some SDN architecture work at Big Switch Networks, Run architecture at two large carriers (Telstra - AS1221, and Cable & Wireless/iMCI - AS3561) and been the IP CTO for Alcatel in Asia. He's also run networks in Antarctica (hint, bend radius becomes REALLY important at -50C), and been foolish enough to do a stint as a wg co-chair in the IETF. Occasionally you can have the (mis-)fortune of hearing him speak at conferences and the like.
Bringing Kafka Without Zookeeper Into Production with Colin McCabe | Kafka Su...HostedbyConfluent
Over the last few years, we have been working on removing the dependency on ZooKeeper from Apache Kafka®. Instead of using an external system to store metadata, Kafka can now manage its own metadata. This new mode of operation is called Kafka Raft mode, or ""KRaft"" for short. It has many performance and scalability benefits.
This talk will discuss our efforts to get KRaft mode production-ready. We will talk about the old and new architectures, and how we adapted features to work in both worlds. We will also talk about our experiences with testing and deploying the new software. Finally, we'll talk about what's planned for the future.
Listenlayouts mit fixem Seitenbereich und Hintergrundbildern/Farbverläufen
• Transparenzen effektvoll einsetzen
• mit Card Windows die Fenstergrenzen sprengen
• Fenster eindeutig identifizieren
• und weitere Goodies.
Es handelt sich hier um eine Sammlung diverser Tricks aus meiner Arbeitserfahrung mit FileMaker, die sich als hilfreich für mich und meine Projekte erwiesen haben. Das Thema ist vor allem für Einsteiger interessant, bietet aber vielleicht auch dem fortgeschrittenen Entwickler einige neue Einsichten.
FMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang WunderlichVerein FM Konferenz
Es geht um die Entwicklung und Parametrisierung, Mehrfachnutzung und Transportierbarkeit von Funktionen, wie Skripten, Navigationselementen, PopOvers etc..
Das Abstraktions-Niveau ist hier deutlich niedriger gewählt als bei den Extrem-Programmierern der FileMaker-Szene.
Auch hier liegt der Schwerpunkt auf Nachvollziehbarkeit und Pflege.
Das Konzept hat Überschneidungen/Gemeinsamkeiten mit FM-Modular
- Begriffsdfefinition
- Verschiedene Typen von FrameWorks
- Notwendigkeit
- Aufbau, Vorgehensweise, Pflege
- Vor- und Nachteile
- Anwendungsbeispiele
- DEMO
- Diskussion /Fragen
Innerhalb einer FileMaker-Datenbank ist die Anzahl möglicher Fehler nicht zu unterschätzen.
Angefangen von fragilen Scriptschritten wie "Gehe zu Objekt()", oder "Ausschnitt aktualisieren ()" sind derzeit mehr als 240 FileMaker-Fehlercodes definiert.
Manche Fehler schlummern von Beginn an in der Datenbank, andere entstehen während der Weiterentwicklung und werden oftmals erst vom Anwender gefunden.
Inspiriert vom amerikanischen Entwickler Matt Petrowsky habe ich eine Routine (weiter)entwickelt, die auftretende Fehler in einer Protokolltabelle aufzeichnet und je nach Brisanz den Entwickler umgehend per E-Mail informiert.
Darüber hinaus eignet sich das Fehler-Protokoll auch zum Debuggen von Serverscripts.
Einmal implementiert, ist der Programmier-Mehraufwand gering, der Nutzen jedoch enorm.
In diesem Vortrag zeigt Alexis Gerht das Basis-Rüstzeug zum erfolgreichen Start mit WebDirect Projekten
Mit WebDirekt gibt FileMaker uns Entwicklern eine mächtige Technologie in die Hand, um mit den bekannten FileMaker Werkzeugen & Know-How Web-Anwendungen zu entwickeln. In diesem Vortrag zeige ich die Grundlagen, die für den Einsatz von WebDirect benötigt werden. Des weiteren beleuchte ich aus eigener Erfahrung Fragen und Themen, die man sich als Entwickler früher oder später selber einmal stellen würde:
⁃ Lizenzen. Was für eine Lizenz brauche ich?
⁃ Layouts & Skripts: Was muss ich beachten. Welche Script Schritte funktionieren?
⁃ Wie funktioniert die Vaadin Engine, die FileMaker einsetzt.
⁃ Server Überlegungen.
⁃ Überlegungen Vor- und Nachteile zu konventionellen LAMP Systemen (Linux, Apache, MySQL, PHP)
⁃ ODBC auf MySQL Tabellen als Alternative?
⁃ Wie blende ich alle Werkzeug- & Steuerleisten aus, so dass die Lösung komplett wie eine WebPage aussieht?
FMK2015: Entwicklung von modernen Benutzeroberflächen mit FileMaker Pro by Ad...Verein FM Konferenz
Jeder arbeitet gerne mit Software, die gut aussieht und sich leicht bedienen lässt. Bei einer Datenbanksoftware sollte es nicht anders sein. Mit dem Erscheinen von FileMaker Pro 12 haben wir als Entwickler viele neue Möglichkeiten an die Hand bekommen, "einfach" zu sehr ansprechenden Ergebnissen zu kommen.
In diesem Vortrag können Sie lernen:
- Welche Möglichkeiten der Gestaltung der Benutzeroberfläche bietet uns FileMaker Pro von Haus aus
- Wie kann man eine Datenbank nicht nur schön sondern auch schnell machen
- Wie kann man Trigger zur Benutzerführung verwenden
- Was ist anders bei WebDirect
Für diesen Vortrag sollten Sie mitbringen:
- Grundkenntnisse in FileMaker Pro
- Viel Liebe zum Detail
Robert Kaiser zeigt an der FileMaker Konferenz 2022 in Hamburg wie mit SVG Grafiken in FileMaker gearbeitet werden kann und was Entwickler damit erreichen können.
iOS Apps sind von Haus aus - sprich Apple - durch sogenannte Sandboxen voneinander isoliert. Nur über das URL-Schema können Apps mit einer anderen App Daten austauschen. Im Vortrag zeigt Alexis, wie einerseits FileMaker GO per URL Schema aufgerufen werden und man damit Skripte ausführen kann.
Weiters präsentiert er, wie FileMaker GO diverse Drittanbieter Apps wie Apple Maps, Navigon, Dictate Connect, Prizmo (OCR) oder Workflow ansteuert und schließlich, wie diese mit Callbacks FileMaker GO eine Antwort übermitteln können.
FMK2015: Neue Funktionen in FileMaker Go 14 by Jörg KösterVerein FM Konferenz
Mit der Veröffentlichung der neuen FileMaker 14-Plattform wurde auch FileMaker Go 14 mit zahlreichen neuen Funktionen und Möglichkeiten bedacht. FileMaker Go 14 hat eine neue Benutzeroberfläche erhalten, die dem Design von iOS 8 entspricht. Die Startzentrale wurde vollständig überarbeitet. Vertikale Rollbalken lassen sich nun editieren. Markierungsfelder wurden optimiert. Die Bildschirmausrichtung, als auch die Touch-Tastatur sind ab sofort per Script kontrollierbar. Darüber hinaus sind die Möglichkeiten der Medienwiedergabe in Containerfeldern erheblich erweitert worden und noch einiges mehr. Ziel des Vortrags ist eine vollständige Präsentation aller Neuerungen in FileMaker Go 14 und welche zusätzlichen Anwendungs-Möglichkeiten sich daraus ergeben.
Continuous Integration wird längst in vielen Projekten praktiziert. Kein Wunder, steht für das Tooling doch in vielen Fällen ein Jenkins oder Travis zur Verfügung. Mit GitLab CI ist dies jedoch nicht mehr nötig. Schritt für Schritt wird in dieser Session eine Pipeline mit verschiedenen Test- und Analysetools aufgesetzt -- zur Integration in neue und bestehende Projekte.
Zentrale Dokumentengenerierung mit dem Open XML SDKAndré Krämer
Ob Rechnung, Teilnahmebescheinigung, Urlaubsantrag, Tätigkeitsnachweis oder Artikelstückliste: Heutzutage gibt es unzählige standardisierte Dokumente, die Tag für Tag in Unternehmen erstellt werden. Dass die manuelle Erzeugung keine Alternative ist, dürfte jedem klar sein. Schließlich bindet sie unnötige Ressourcen und ist fehleranfällig. Doch wie sieht die Alternative aus? VSTO oder sogar Word Automatisierung, so wie man es in den 90ern gemacht hat? In diesem Vortrag werden Sie eine weitere Alternative für die serverseitige Dokumentengenerierung kennen lernen: Das Microsoft Office Open XML SDK. Nach einem kurzen Überblick über den Aufbau und den Funktionsumfang des SDKs werden Sie Anhand von praxisnahen Live Demos erfahren, wie Sie kostenlos Word Kompatible (*.docx) Dokumente erzeugen können. Dabei werden Sie jedoch nicht nur erfahren, was alles geht, sondern auch wo die Grenzen sind.
Martin Schwarz diskutiert an der FileMaker Konferenz 2022 in Hamburg mit den Teilnehmern wie man in FileMaker Fehler machen kann und wie diese verhindert oder abgefangen werden können.
Rechtsanwalt Christoph Kluss gibt einen Überblick über die aktuelle Lage in Sache DSGVO und deren Umsetzung an der FileMaker Konferenz 2022 in Hamburg.
Rechtsanwalt Christoph Kluss zeigt an der FileMaker Konferenz 2022 in Hamburg wie ein Forderungsmanagement für FileMaker Entwickler bei Rechnungen und Inkasso aussehen kann.
Standortbestimmung und offene Diskussion zu FileMaker und Claris. Claris hat angekündigt, dass die Datenbankentwicklungsumgebung FileMaker in näherer Zukunft um weitere Produkte erweitert wird. Was bedeutet dies für FileMaker Entwickler?
FMK2019 Layout und Eigene Menüs-Management by Jörg KösterVerein FM Konferenz
Die FileMaker-Plattform verfügt über zahlreiche Möglichkeiten, Daten darzustellen.
macOS, iOS, Windows, Webdirect ... und wer weiß schon, was die Zukunft bringt.
Jede der genannten Oberflächen benötigt oftmals separate Layouts und häufig auch eine individuelle Zuordnung von „Eigenen Menüs“.
Mit steigender Komplexität, vielen Abhängigkeiten und wachsender Größe einer Datenbank-Lösung wird es zunehmend schwieriger, den Überblick zu behalten, welches Layout an welcher Stelle zur Anwendung kommt.
Ich stelle ein zukunftsfähiges und hochflexibles Konzept vor, mit dem der Entwickler in der Lage ist, effizient und kontrolliert auf Anforderungen innerhalb komplexer Datenbank-Lösungen zu reagieren.
Wer was wann und unter welchen Bedingungen (Konten, Rechte, Regionen, Test- oder Entwickler-Umgebungen usw.) welche Layouts aufruft, kann konsistent und mit wenig Aufwand administriert werden.
Die Vorteile des Konzepts werden mit zahlreichen Anwendungsbeispielen aus der Praxis gezeigt.
Dieser Vortrag eignet sich sowohl für Einsteiger als auch für Experten.
FMK2019 FileMaker – das Lizenzmodell Alles was Sie wissen wollen by Klemens ...Verein FM Konferenz
Mit der Version 17 hat die Firma FileMaker ein neues Lizenzkonzept eingeführt: Es ist deutlich einfacher geworden, ein passendes Lizenzmodell für den geplanten Einsatz zu finden – sofern man einige wichtige Eckdaten berücksichtigt. Auch mit FileMaker 18 gilt dieses Modell weiterhin. In dieser Session werden alle Fragen hierzu beantwortet!
Klemens Kegebein, Geschäftsführer des K&K Verlags und Herausgeber des FileMaker Magazins, gibt Ihnen einen Überblick über die aktuellen Modelle und Möglichkeiten und beantwortet im Anschluss Ihre konkreten und individuellen Fragen zum Thema Lizenzen.
FMK2019 dot-Net-Plugin selbst programmieren by Werner StaubVerein FM Konferenz
Die Microsoft-Windows-Umgebung basiert heute weitgehend auf DotNet. Gelingt es, diese Funktionen aus FileMaker heraus zu nutzen, stehen eine Unzahl von weiteren Möglichkeiten zur Verfügung. Es wird möglich, Windows als Betriebssystem und die Office-Applikationen (Excel, PowerPoint, Word, Outlook, ...) zu beherrschen. Das tönt furchtbar kompliziert – ist es aber nicht. Wenn der Einstieg einmal gemacht ist, steht eine völlig neue Welt offen.
Werner Staub nutzt diese Möglichkeiten in der AXA Schweiz in vielen Applikationen. Er erläutert, welche Schritte für den Einstieg nötig sind. An einem praktischen Beispiel erklärt er, wie eine neue Funktion in das PlugIn eingefügt und in FileMaker genutzt werden kann. Zudem zeigt er, wie in der AXA damit komplexe Reports in Excel erstellt werden.
FMK2019 Waagrechte Scrollbar für Ausschnittreihen erstellen by Gerhard Schwin...Verein FM Konferenz
Fast jede Standardsoftware hat sie - eine waagrechte Scrollbar. FileMaker kann sie bis jetzt nicht nativ für Portale zur Verfügung stellen. Wer so eine Navigation braucht und die Mühe nicht scheut, kann sich diese mit etwas Aufwand selber erstellen. Hier wird gezeigt, wie das gemacht wird.
Das sichtbare Aufrechterhalten von aktiven Ausschnittzeilen – auch wenn das Portal den Fokus verliert – und die Erweiterung von Markierungen für eine Listenfunktion, welche auch für den Netzwerkbetrieb geeignet ist, gehört ebenso dazu, wie das Umschalten von Portalen vom Ansichts- zum Bearbeitungsmodus.
Zum Schluss des Vortrags gibt es noch eine Erweiterung der Ausschnittreihe, denn die User lieben es: das Bewegen in einem Portal mit der Tastatur.
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