SlideShare ist ein Scribd-Unternehmen logo
1 von 35
Downloaden Sie, um offline zu lesen
7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016
www.filemaker-konferenz.com
Wiederverwendbar Datenbankentwicklung

Sprecher: Dipl.-Ing. Arnold Kegebein
Recycling
7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016
Recycling | Wiederverwendbare Datenbankentwicklung • Dipl.-Ing. (FH) Arnold Kegebein
Recycling
7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016
User Interface : Panel Window • Dipl.-Ing. (FH) Arnold Kegebein
Über den Sprecher
• Name: 	 Arnold Kegebein

• Ausbildung: 	 Studium der technischen Informatik

Abschluss:	 Diplom-Ingenieur (FH)

• Tätigkeiten:	 Inhouse Entwickler, Hamburg

	 	 IT Leiter, Chicago, USA

	 	 IT Consultant, Hamburg



	 	 über 30 Jahre Erfahrungen 

	 	 mit Datenbanken

• Sonstiges:	 10 Jahre FileMaker Entwickler

	 	 Autor für das FileMaker Magazin

	 	 Fan von TV-Show „The Big Bang Theory“
7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016
Recycling | Wiederverwendbare Datenbankentwicklung • Dipl.-Ing. (FH) Arnold Kegebein
Einleitung
• Wir haben in unseren Projekten hunderte Datenbanken entwickelt

• Mehrere Dutzend Kontakt- und Adressdatenbanken

• Viele von Grund auf neu entwickelt

• Warum?

• Viele Kunden, jeder will seine eigene Datenbank

• Neue Anforderungen

• Neuentwicklung ist oft effektiver als ein Umbau

• Neue Systeme / Programmiersprachen / Programmversionen

• Fortgeschrittenes Wissen und Erfahrungen

• Neue Datenmodelle, Programmiertechniken und -konzepte

• Anforderungen externer Systeme, Schnittstellen
7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016
Recycling | Wiederverwendbare Datenbankentwicklung • Dipl.-Ing. (FH) Arnold Kegebein
Bild	1:	Original	von	Kippelboy,	via	Wikimedia
7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016
Recycling | Wiederverwendbare Datenbankentwicklung • Dipl.-Ing. (FH) Arnold Kegebein
Braun Lectron Elektronikbaukasten
• Bausteine stellen elektronische Elemente dar

• Sie lassen sich zu Schaltkreisen zusammenstellen

• Sie sind wiederverwendbar
	Original	von	xavax,	via	de.wikipedia	Commons
7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016
Recycling | Wiederverwendbare Datenbankentwicklung • Dipl.-Ing. (FH) Arnold Kegebein
Braun Lectron Elektronikbaukasten
• Beschränkter Arbeitsraum

• Problematische Wiederverwendbarkeit

erstellter Schaltungen

• Lösung: Zukauf oder Selbstbau 

von Bausteine mit komplexem

Innenleben
7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016
Recycling | Wiederverwendbare Datenbankentwicklung • Dipl.-Ing. (FH) Arnold Kegebein
FileMaker als Baukasten
• FileMaker hat auch viele Bausteine

• Besonders das Script System ist keine Programmiersprache, sondern ein
Makro-Befehlsbaukasten

• Der Datenzugriff ist eng gekoppelt mit Layouts

• Seit Einführung der Funktion ExecuteSQL/ SqlAusführen weniger eng

• Aber nur lesende Zugriffe erlaubt, Schreiben nicht möglich

• Nur Zugriff auf Daten, nicht auf Struktur

• Kein oder kaum Zugriff auf FileMaker interne Parameter
7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016
Recycling | Wiederverwendbare Datenbankentwicklung • Dipl.-Ing. (FH) Arnold Kegebein
Eigene FileMaker Bausteine
• Gesucht ist ein Ansatz, eigene FileMaker Bausteine zu entwickeln,

• die sich direkt wiederverwenden lassen

• oder zumindest nur wenige Anpassungen erfordern

• Stichwort: Modulare Entwicklung
7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016
Recycling | Wiederverwendbare Datenbankentwicklung • Dipl.-Ing. (FH) Arnold Kegebein
Warum modulare Entwicklung?
• Das Rad wird nicht jedesmal neu erfunden

• Bewerte Module stehen immer zur Verfügung

• Module vereinfachen die Entwicklung (Arbeitsteilung)

• Module können individuell getestet werden

• Module sorgen für mehr Stabilität
Pro
7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016
Recycling | Wiederverwendbare Datenbankentwicklung • Dipl.-Ing. (FH) Arnold Kegebein
Warum modulare Entwicklung?
Contra
• Das Rad wird nicht jedesmal neu erfunden

• Neuentwicklung ermöglicht es, alte System zu verbessern

• Entwicklung einfach verwendbarer Module erfordert erheblich Mehraufwand

• FileMaker ist kein offenes System

• Modulare Programmierung widerspricht der Grundstruktur von FileMaker
7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016
Recycling | Wiederverwendbare Datenbankentwicklung • Dipl.-Ing. (FH) Arnold Kegebein
Recycling / Wiederverwendbarkeit
• FileMaker Entwickler suchen und finden verschiedene Wege

• MagicValueList (Andries Heylen)

• Custom List Function (Agnès Barouh)

• Modular FileMaker (Todd Geist)

• Fremdumgebungen nutzen

• Plugins

• WebViewer

• Java oder JavaScript Libraries u. a.

• WebServices
7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016
Recycling | Wiederverwendbare Datenbankentwicklung • Dipl.-Ing. (FH) Arnold Kegebein
• Bekannt ist, was in die Black Box eingegeben wird bzw. wieder heraus kommt

• Das Innere der Black Box ist irrelevant und austauschbar
Black Box Prinzip
A
B
C
X
Y
Akummilierte	
Resonanz-
Fillibrations-
Methodik
Integrale	
Stimulations-
Konvergenz-	
Transformation
7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016
Recycling | Wiederverwendbare Datenbankentwicklung • Dipl.-Ing. (FH) Arnold Kegebein
Black Box Entwicklung
• Das Problem von Außen betrachten

• Erst Ein- und Ausgabewerte definieren

• Dann Lösung für Black Box entwickeln

• Das Problem von Innen betrachten

• Zuerst eine spezielle Lösung entwickeln

• Dann die Lösung von seiner Umgebung entkoppelen

• Und dabei die Ein- und Ausgabeparameter festlegen
7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016
Recycling | Wiederverwendbare Datenbankentwicklung • Dipl.-Ing. (FH) Arnold Kegebein
Black Box mit FileMaker
• Eine Black Box muss kein Script oder CF sein

• Eine Black Box muss nicht ein einzelnes Objekt sein

• Eine Black Box muss keine eigenständige Datei sein, kann es aber

• Vorteil:

• Update / Austausch der Black Box vereinfacht sich

• Import und Anpassung von Scripts entfällt

• Nachteil:

• Öffentliche CFs müssen importiert werden

• Eine ideale Black Box wird sich in FileMaker nicht immer umsetzen lassen
7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016
Recycling | Wiederverwendbare Datenbankentwicklung • Dipl.-Ing. (FH) Arnold Kegebein
FileMaker „Recycling“
Datenmodell
Web Viewer
Layout Objects
Themes
Custom Functions
Parametrisierte Scripts
Modular FileMaker
Idiomatic FileMaker
7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016
Recycling | Wiederverwendbare Datenbankentwicklung • Dipl.-Ing. (FH) Arnold Kegebein
The Basics – Grundlagen
• FileMaker Pro Advanced ist ein MUSS

• Fortgeschrittene Kenntnisse von CFs

• (Eigene) Konventionen verwenden

• Namenskonventionen

• Entwicklungskonventionen

• Dokumentationskonventionen

• Kenntnisse moderner Datenmodelle

• Externe Systeme kennen und nutzen
(imho)
7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016
Recycling | Wiederverwendbare Datenbankentwicklung • Dipl.-Ing. (FH) Arnold Kegebein
Basic Recycling
• Die Zwischenablage ist das einfachste Prinzip von Recycling

• Standardfelder kopieren

• Standardscripts (Header Dokumentation, …)

• Formelsammlung

• Templates (Felder, Scripts. …)

• Layoutelemente
Let( [
~sql = "
SELECT {__id}, {field}
FROM {{table}}
WHERE {field} = ?
ORDER BY {field}
OFFSET n ROWS
FETCH FIRST n ROWS ONLY|WITH TIES
";
~qry = Substitute( ~sql;
[ “{{table}}”; sqlTable( Table::__id ) ];
[ “{__id}"; sqlField( Table::__id ) ];
[ "{field}"; sqlField( Table::field ) ]
);
~res = ExecuteSQL( ~qry; ""; "";
$variable
)
];
If( ~res ≠ "?"; ~res )
)
7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016
Recycling | Wiederverwendbare Datenbankentwicklung • Dipl.-Ing. (FH) Arnold Kegebein
Recycling mit CFs
• Formelsammlung mit häufig verwendeten Funktionen

• Spezielle Funktionen für Module

• Script Parameter:	 #, #Assign, #Get, …

• SQL Query:		 sqlField, sqlTable, sqlInSet

• Entkoppeln bzw. Kapseln von Plugin-Funktionen

• Erleichtert das Wechseln von Plugins

• Ersatz für Konstanten:	 bom, null
7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016
Recycling | Wiederverwendbare Datenbankentwicklung • Dipl.-Ing. (FH) Arnold Kegebein
CF Konventionen
• Namenskonvention

• Prefix / Suffix / camelCase

• Fallstrick „Sprachversionen“

• Kennzeichnung „hard-coded“ CFs

• Dokumentationskonvention

• Im Kopf des Funktionscodes

• Aufgabe der CF

• Rückgabewert

• Eingabeparameter

• Änderungshistorie

• …
/*----------------------------------------------------------
* #Assign( _parameters )
*
* PURPOSE
* Parses a Let dictionary of name-value parameters into a
* locally scoped $variables.
*
* RETURNS
* True(1) when parameters is a valid set of name-value pai
* includes the empty string); False(0) otherwise.
* If False(0), the error code will be saved to: $#Assign.e
*
* PARAMETERS
* _parameters: A Let format dictionary, such as produced b
* #( name; value ) function.
*
* HISTORY
* 2015-10-27 by Matt Petrowsky to support weak formatted r
* delimited input.
* 2013-03-15 by Daniel Smith <http://scr.im/dansmith> to u
* documentation to match functions actual return value.
* 2012-11-28 by Jeremy Bante <http://scr.im/jbante> to sup
* "$" prefix values as default.
* 2012-11-11 by Jeremy Bante <http://scr.im/jbante>.
------------------------------------------------------------
7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016
Recycling | Wiederverwendbare Datenbankentwicklung • Dipl.-Ing. (FH) Arnold Kegebein
Beispiel: SQL Abfragen
• Kein „hard coding“

• Tabellen und Felder
entkoppeln

• Sonderfälle einplanen

• Fehlerbehandlung
Let( [
~sql = "
SELECT {__id}, {field}
FROM {{table}}
WHERE {field} = ?
ORDER BY {field}
OFFSET n ROWS
FETCH FIRST n ROWS ONLY|WITH TIES
";
~qry = Substitute( ~sql;
[ “{{table}}”; sqlTable( Table::__id ) ];
[ “{__id}"; sqlField( Table::__id ) ];
[ “{field}"; sqlField( Table::field ) ]
);
~res = ExecuteSQL( ~qry; ""; "";
$variable
)
];
If( ~res ≠ "?"; ~res )
)
7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016
Recycling | Wiederverwendbare Datenbankentwicklung • Dipl.-Ing. (FH) Arnold Kegebein
Fehlerbehandlung
• FileMaker hat nur eine sehr einfache Fehlerverwaltung

• Hole( LetzteFehlerNr )

• BerechnungsFehler( … )

• Rückgabewert in Fehlerfällen:	 „?“

• Gewünscht ist ein erweitertes Black Box Konzept
A
B
C
X
Y
#
Fehlerinformation
?
?
7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016
Recycling | Wiederverwendbare Datenbankentwicklung • Dipl.-Ing. (FH) Arnold Kegebein
Let( [
~sql = "
SELECT {__id}, {field}
FROM {{table}}
WHERE {field} = ?
ORDER BY {field}
OFFSET n ROWS
FETCH FIRST n ROWS ONLY|WITH TIES
";
~qry = Substitute( ~sql;
[ “{{table}}”; sqlTable( Table::__id ) ];
[ “{__id}"; sqlField( Table::__id ) ];
[ “{field}"; sqlField( Table::field ) ]
);
~res = ExecuteSQL( ~qry; ""; "";
$variable
)
];
If( ~res ≠ "?"; ~res )
)
• Fehlerwert „?“ wird abgefangen

• Fehlerstatus speichern

• Fehlerhaft SQL-Abfrage speichern

• Im Erfolgsfall Variablen leeren
Beispiel Fehlerbehandlung
];
If( ~res ≠ “?";
~res;
// Else
Let( $$ERROR_SQL = true; “" )
)
)
];
If( ~res ≠ “?";
~res;
// Else
Let( [
$$ERROR_SQL = true;
$$ERROR_SQL.qry = ~qry
];
“”
)
)
)
];
If( ~res ≠ "?";
Let( [
$$ERROR_SQL = "";
$$ERROR_SQL.qry = ""
];
~res
)
// Else
Let( [
$$ERROR_SQL = true;
$$ERROR_SQL.qry = ~qry
];
""
)
)
)
7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016
Recycling | Wiederverwendbare Datenbankentwicklung • Dipl.-Ing. (FH) Arnold Kegebein
Recycling mit Scripts
• Standardscripts

• Standardbefehle (Header, Setup, Abschluss)

• Dokumentationszeilen im Header

• Script Parameter
7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016
Recycling | Wiederverwendbare Datenbankentwicklung • Dipl.-Ing. (FH) Arnold Kegebein
Script Dokumentation
7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016
Recycling | Wiederverwendbare Datenbankentwicklung • Dipl.-Ing. (FH) Arnold Kegebein
1-Ausgang-Strategie: „Single Exit“
7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016
Recycling | Wiederverwendbare Datenbankentwicklung • Dipl.-Ing. (FH) Arnold Kegebein
Enge lose Kopplung
• Enge Kopplung



• Erwarte bestimmte Voraussetzungen

• Layout (Tabelle/TO)

• FoundSet, aktueller Datensatz

• Fenstermodus (Blättern)

• Lose Kopplung
7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016
Recycling | Wiederverwendbare Datenbankentwicklung • Dipl.-Ing. (FH) Arnold Kegebein
Systeme entkoppeln
• Keine bestimmten Umgebungseinstellungen erwarten

• bestimmte Layouts oder Layouttabellen

• aktuell ausgewählte Datensätze

• Fenstermodus

• globalen Variablen, außer die Black Box erstellt sie selbst

• Keine bestimmten Tabellen bzw. Felder verwenden

• Ausnahme: Die Tabelle kann vollständig in der Black Box existieren

• Keine bestimmten Layouts verwenden

• Siehe auch: Script auf Server ausführen
7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016
Recycling | Wiederverwendbare Datenbankentwicklung • Dipl.-Ing. (FH) Arnold Kegebein
Systeme entkoppeln
• Enge Kopplung vermeiden

• „Feste verdrahtete“ Programmierung vermeiden

• Nicht 0,19 bzw. 19% als Mehrwertsteuersatz in Formeln eintragen,
sondern ein entsprechendes Feld verwenden

• Mögliche Schwachstellen erkennen
7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016
Recycling | Wiederverwendbare Datenbankentwicklung • Dipl.-Ing. (FH) Arnold Kegebein
Scripts
• Script Parameter verwenden

• Layout Id statt Layout Name oder Layout Nummer

• Ein Eingang, ein Ausgang („Single Loop“)

• Script Ergebnis zurückgeben
7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016
Recycling | Wiederverwendbare Datenbankentwicklung • Dipl.-Ing. (FH) Arnold Kegebein
CFs vz. Scripts
• Fast alles, was eine CF kann, lässt sich mit einem Script nachbilden

• Ausnahme: Anzahl der Parameter;

• CF kann mehrere haben, Script nur einen

• Übergabe mehrerer Parameter muss bei Scripts mit eigenen Methoden
ermöglicht werden

• Ausnahme: Parameterübergabe „by reference“

• CF kann Herkunft der Parameter erfragen

• Script Parameter ist immer „by value“, da als Text übergeben

• CFs werden im lokalen Speicher berechnet

• Scripts können auch auf dem Server ausgeführt werden
7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016
Recycling | Wiederverwendbare Datenbankentwicklung • Dipl.-Ing. (FH) Arnold Kegebein
Parameter by Reference
CF Test( param )
Liste(
"Wert: " & Zitat( param );
"Feld: " & HoleFeldname( param );
"Felddatentyp: " & FeldTyp( ""; HoleFeldname( param ) );
"Kommentar: " & FeldKommentar( ""; HoleFeldname( param ) )
)
7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016
Recycling | Wiederverwendbare Datenbankentwicklung • Dipl.-Ing. (FH) Arnold Kegebein
Benennen von Scripts
• Spezielle Markierungen können bestimmte Scriptarten kennzeichnen:

• Idempotenz

Wiederholt hintereinander aufgerufen führt das Scripts zum gleichen Ergebnis

• Kontext-unabhängigkeit

Das Script kann jederzeit und aus jedem Kontext heraus aufgerufen werden

• Script Functions

Scripts, die wie eine Funktion verwendet werden können

• Parametrisierte Scripts

• Server Scripts
7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016
Recycling | Wiederverwendbare Datenbankentwicklung • Dipl.-Ing. (FH) Arnold Kegebein
Fragen & Antworten
• Was haben Sie nicht verstanden?

• Was wollen Sie noch wissen?

• Wollen Sie noch etwas beitragen?
7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016
FileMaker Konferenz 2016 Salzburg
Vielen Dank unseren Sponsoren
Ohne Sponsoring wäre diese Konferenz
so nicht möglich!

Weitere ähnliche Inhalte

Was ist angesagt?

FMK2016 - Michael Valentin - FileMaker 15 Plattform
FMK2016 - Michael Valentin - FileMaker 15 PlattformFMK2016 - Michael Valentin - FileMaker 15 Plattform
FMK2016 - Michael Valentin - FileMaker 15 PlattformVerein FM Konferenz
 
FMK2017 - Vortrag FileMaker als Frontend zum Aktuallisieren von dynamischen W...
FMK2017 - Vortrag FileMaker als Frontend zum Aktuallisieren von dynamischen W...FMK2017 - Vortrag FileMaker als Frontend zum Aktuallisieren von dynamischen W...
FMK2017 - Vortrag FileMaker als Frontend zum Aktuallisieren von dynamischen W...Verein FM Konferenz
 
FMK2016 - Ingo Thoden - Etikettendruck in über 20 Sprachen
FMK2016 - Ingo Thoden - Etikettendruck in über 20 SprachenFMK2016 - Ingo Thoden - Etikettendruck in über 20 Sprachen
FMK2016 - Ingo Thoden - Etikettendruck in über 20 SprachenVerein FM Konferenz
 
FMK2016 - Volker Krambrich - FileMaker Cloud - Amazon Web Services
FMK2016 - Volker Krambrich - FileMaker Cloud - Amazon Web ServicesFMK2016 - Volker Krambrich - FileMaker Cloud - Amazon Web Services
FMK2016 - Volker Krambrich - FileMaker Cloud - Amazon Web ServicesVerein FM Konferenz
 
FMK 2016 - Thomas Hirt - FileMaker Server SSL Zertifikate
FMK 2016 - Thomas Hirt - FileMaker Server SSL ZertifikateFMK 2016 - Thomas Hirt - FileMaker Server SSL Zertifikate
FMK 2016 - Thomas Hirt - FileMaker Server SSL ZertifikateVerein FM Konferenz
 
FMK2017 - Webdevelopment mit Rails by Stefan Husch qutic.com
FMK2017 - Webdevelopment mit Rails by Stefan Husch qutic.comFMK2017 - Webdevelopment mit Rails by Stefan Husch qutic.com
FMK2017 - Webdevelopment mit Rails by Stefan Husch qutic.comVerein FM Konferenz
 
FMK2017 - REST mobil- die andere Serververbindung by Volker Krambrich
FMK2017 - REST mobil- die andere Serververbindung by Volker KrambrichFMK2017 - REST mobil- die andere Serververbindung by Volker Krambrich
FMK2017 - REST mobil- die andere Serververbindung by Volker KrambrichVerein FM Konferenz
 
FMK2016 - Holger Darjus - Das Transistor-Prinzip
FMK2016 - Holger Darjus - Das Transistor-PrinzipFMK2016 - Holger Darjus - Das Transistor-Prinzip
FMK2016 - Holger Darjus - Das Transistor-PrinzipVerein FM Konferenz
 
FMK2017 - Die Anker Boje Methode by Gerhard Schwingenschlögl
FMK2017 - Die Anker Boje Methode by Gerhard SchwingenschlöglFMK2017 - Die Anker Boje Methode by Gerhard Schwingenschlögl
FMK2017 - Die Anker Boje Methode by Gerhard SchwingenschlöglVerein 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
 
FMK2017 - Programmieren am offenen Herzen by Jörg Köster
FMK2017 - Programmieren am offenen Herzen by Jörg KösterFMK2017 - Programmieren am offenen Herzen by Jörg Köster
FMK2017 - Programmieren am offenen Herzen by Jörg KösterVerein FM Konferenz
 
FMK2016 - Longin Ziegler - Schritt für Schritt zum eigenen Kalender
FMK2016 - Longin Ziegler - Schritt für Schritt zum eigenen KalenderFMK2016 - Longin Ziegler - Schritt für Schritt zum eigenen Kalender
FMK2016 - Longin Ziegler - Schritt für Schritt zum eigenen KalenderVerein FM Konferenz
 
FMK2017 - MBS FileMaker Plugin by Christian Schmitz
FMK2017 - MBS FileMaker Plugin by Christian SchmitzFMK2017 - MBS FileMaker Plugin by Christian Schmitz
FMK2017 - MBS FileMaker Plugin by Christian SchmitzVerein FM Konferenz
 
FMK2017 - FileMaker iOS App SDK by Robert Kaiser
FMK2017 - FileMaker iOS App SDK by Robert KaiserFMK2017 - FileMaker iOS App SDK by Robert Kaiser
FMK2017 - FileMaker iOS App SDK by Robert KaiserVerein FM Konferenz
 
FMK2017 - FileMaker Server in der Cloud by Volker Krambrich
FMK2017 - FileMaker Server in der Cloud by Volker KrambrichFMK2017 - FileMaker Server in der Cloud by Volker Krambrich
FMK2017 - FileMaker Server in der Cloud by Volker KrambrichVerein FM Konferenz
 
FMK2017 - Wordpress und FileMaker by Karsten Risseeuw
FMK2017 - Wordpress und FileMaker by Karsten RisseeuwFMK2017 - Wordpress und FileMaker by Karsten Risseeuw
FMK2017 - Wordpress und FileMaker by Karsten RisseeuwVerein FM Konferenz
 
FMK2017 - WebDirect vs. FileMaker Pro by Klemens Kegebein und Holger Darjus
FMK2017 - WebDirect vs. FileMaker Pro by Klemens Kegebein und Holger DarjusFMK2017 - WebDirect vs. FileMaker Pro by Klemens Kegebein und Holger Darjus
FMK2017 - WebDirect vs. FileMaker Pro by Klemens Kegebein und Holger DarjusVerein FM Konferenz
 
FMK2016 - Russell Watson - Überleben im Design und Stile Dschungel
FMK2016 - Russell Watson - Überleben im Design und Stile DschungelFMK2016 - Russell Watson - Überleben im Design und Stile Dschungel
FMK2016 - Russell Watson - Überleben im Design und Stile DschungelVerein FM Konferenz
 
FMK2017 - Was ist neu in FileMaker 16 by Michael Valentin
FMK2017 - Was ist neu in FileMaker 16 by Michael ValentinFMK2017 - Was ist neu in FileMaker 16 by Michael Valentin
FMK2017 - Was ist neu in FileMaker 16 by Michael ValentinVerein FM Konferenz
 
FMK2016 - Volker Krambrich und Holger Darjus - Langfristige Kundenbindung
FMK2016 - Volker Krambrich und Holger Darjus - Langfristige KundenbindungFMK2016 - Volker Krambrich und Holger Darjus - Langfristige Kundenbindung
FMK2016 - Volker Krambrich und Holger Darjus - Langfristige KundenbindungVerein FM Konferenz
 

Was ist angesagt? (20)

FMK2016 - Michael Valentin - FileMaker 15 Plattform
FMK2016 - Michael Valentin - FileMaker 15 PlattformFMK2016 - Michael Valentin - FileMaker 15 Plattform
FMK2016 - Michael Valentin - FileMaker 15 Plattform
 
FMK2017 - Vortrag FileMaker als Frontend zum Aktuallisieren von dynamischen W...
FMK2017 - Vortrag FileMaker als Frontend zum Aktuallisieren von dynamischen W...FMK2017 - Vortrag FileMaker als Frontend zum Aktuallisieren von dynamischen W...
FMK2017 - Vortrag FileMaker als Frontend zum Aktuallisieren von dynamischen W...
 
FMK2016 - Ingo Thoden - Etikettendruck in über 20 Sprachen
FMK2016 - Ingo Thoden - Etikettendruck in über 20 SprachenFMK2016 - Ingo Thoden - Etikettendruck in über 20 Sprachen
FMK2016 - Ingo Thoden - Etikettendruck in über 20 Sprachen
 
FMK2016 - Volker Krambrich - FileMaker Cloud - Amazon Web Services
FMK2016 - Volker Krambrich - FileMaker Cloud - Amazon Web ServicesFMK2016 - Volker Krambrich - FileMaker Cloud - Amazon Web Services
FMK2016 - Volker Krambrich - FileMaker Cloud - Amazon Web Services
 
FMK 2016 - Thomas Hirt - FileMaker Server SSL Zertifikate
FMK 2016 - Thomas Hirt - FileMaker Server SSL ZertifikateFMK 2016 - Thomas Hirt - FileMaker Server SSL Zertifikate
FMK 2016 - Thomas Hirt - FileMaker Server SSL Zertifikate
 
FMK2017 - Webdevelopment mit Rails by Stefan Husch qutic.com
FMK2017 - Webdevelopment mit Rails by Stefan Husch qutic.comFMK2017 - Webdevelopment mit Rails by Stefan Husch qutic.com
FMK2017 - Webdevelopment mit Rails by Stefan Husch qutic.com
 
FMK2017 - REST mobil- die andere Serververbindung by Volker Krambrich
FMK2017 - REST mobil- die andere Serververbindung by Volker KrambrichFMK2017 - REST mobil- die andere Serververbindung by Volker Krambrich
FMK2017 - REST mobil- die andere Serververbindung by Volker Krambrich
 
FMK2016 - Holger Darjus - Das Transistor-Prinzip
FMK2016 - Holger Darjus - Das Transistor-PrinzipFMK2016 - Holger Darjus - Das Transistor-Prinzip
FMK2016 - Holger Darjus - Das Transistor-Prinzip
 
FMK2017 - Die Anker Boje Methode by Gerhard Schwingenschlögl
FMK2017 - Die Anker Boje Methode by Gerhard SchwingenschlöglFMK2017 - Die Anker Boje Methode by Gerhard Schwingenschlögl
FMK2017 - Die Anker Boje Methode by Gerhard Schwingenschlögl
 
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 ...
 
FMK2017 - Programmieren am offenen Herzen by Jörg Köster
FMK2017 - Programmieren am offenen Herzen by Jörg KösterFMK2017 - Programmieren am offenen Herzen by Jörg Köster
FMK2017 - Programmieren am offenen Herzen by Jörg Köster
 
FMK2016 - Longin Ziegler - Schritt für Schritt zum eigenen Kalender
FMK2016 - Longin Ziegler - Schritt für Schritt zum eigenen KalenderFMK2016 - Longin Ziegler - Schritt für Schritt zum eigenen Kalender
FMK2016 - Longin Ziegler - Schritt für Schritt zum eigenen Kalender
 
FMK2017 - MBS FileMaker Plugin by Christian Schmitz
FMK2017 - MBS FileMaker Plugin by Christian SchmitzFMK2017 - MBS FileMaker Plugin by Christian Schmitz
FMK2017 - MBS FileMaker Plugin by Christian Schmitz
 
FMK2017 - FileMaker iOS App SDK by Robert Kaiser
FMK2017 - FileMaker iOS App SDK by Robert KaiserFMK2017 - FileMaker iOS App SDK by Robert Kaiser
FMK2017 - FileMaker iOS App SDK by Robert Kaiser
 
FMK2017 - FileMaker Server in der Cloud by Volker Krambrich
FMK2017 - FileMaker Server in der Cloud by Volker KrambrichFMK2017 - FileMaker Server in der Cloud by Volker Krambrich
FMK2017 - FileMaker Server in der Cloud by Volker Krambrich
 
FMK2017 - Wordpress und FileMaker by Karsten Risseeuw
FMK2017 - Wordpress und FileMaker by Karsten RisseeuwFMK2017 - Wordpress und FileMaker by Karsten Risseeuw
FMK2017 - Wordpress und FileMaker by Karsten Risseeuw
 
FMK2017 - WebDirect vs. FileMaker Pro by Klemens Kegebein und Holger Darjus
FMK2017 - WebDirect vs. FileMaker Pro by Klemens Kegebein und Holger DarjusFMK2017 - WebDirect vs. FileMaker Pro by Klemens Kegebein und Holger Darjus
FMK2017 - WebDirect vs. FileMaker Pro by Klemens Kegebein und Holger Darjus
 
FMK2016 - Russell Watson - Überleben im Design und Stile Dschungel
FMK2016 - Russell Watson - Überleben im Design und Stile DschungelFMK2016 - Russell Watson - Überleben im Design und Stile Dschungel
FMK2016 - Russell Watson - Überleben im Design und Stile Dschungel
 
FMK2017 - Was ist neu in FileMaker 16 by Michael Valentin
FMK2017 - Was ist neu in FileMaker 16 by Michael ValentinFMK2017 - Was ist neu in FileMaker 16 by Michael Valentin
FMK2017 - Was ist neu in FileMaker 16 by Michael Valentin
 
FMK2016 - Volker Krambrich und Holger Darjus - Langfristige Kundenbindung
FMK2016 - Volker Krambrich und Holger Darjus - Langfristige KundenbindungFMK2016 - Volker Krambrich und Holger Darjus - Langfristige Kundenbindung
FMK2016 - Volker Krambrich und Holger Darjus - Langfristige Kundenbindung
 

Andere mochten auch

FMK2016 - Marcel Moré - The Power of SVG
FMK2016 - Marcel Moré - The Power of SVGFMK2016 - Marcel Moré - The Power of SVG
FMK2016 - Marcel Moré - The Power of SVGVerein FM Konferenz
 
FMK2015: Benutzerverwaltung in kleinen und großen Lösungen 1 by Yvonne Krümling
FMK2015: Benutzerverwaltung in kleinen und großen Lösungen 1 by Yvonne KrümlingFMK2015: Benutzerverwaltung in kleinen und großen Lösungen 1 by Yvonne Krümling
FMK2015: Benutzerverwaltung in kleinen und großen Lösungen 1 by Yvonne KrümlingVerein FM Konferenz
 
FMK 2013, Gestaltung von Benutzeroberflächen, Karsten Risseeuw
FMK 2013, Gestaltung von Benutzeroberflächen, Karsten RisseeuwFMK 2013, Gestaltung von Benutzeroberflächen, Karsten Risseeuw
FMK 2013, Gestaltung von Benutzeroberflächen, Karsten RisseeuwVerein FM Konferenz
 
FMK2015: Benutzerverwaltung in kleinen und großen Lösungen 2 by Yvonne Krümling
FMK2015: Benutzerverwaltung in kleinen und großen Lösungen 2 by Yvonne KrümlingFMK2015: Benutzerverwaltung in kleinen und großen Lösungen 2 by Yvonne Krümling
FMK2015: Benutzerverwaltung in kleinen und großen Lösungen 2 by Yvonne KrümlingVerein FM Konferenz
 
FMK2016 - Karsten Risseeuw - Dynamische Navigation
FMK2016 - Karsten Risseeuw - Dynamische NavigationFMK2016 - Karsten Risseeuw - Dynamische Navigation
FMK2016 - Karsten Risseeuw - Dynamische NavigationVerein FM Konferenz
 
FMK2015: Reguläre Ausdrücke by Arnold Kegebein
FMK2015: Reguläre Ausdrücke by Arnold KegebeinFMK2015: Reguläre Ausdrücke by Arnold Kegebein
FMK2015: Reguläre Ausdrücke by Arnold KegebeinVerein FM Konferenz
 
FMK2015: Erste Schritte mit einem Codeversionierungssystem by Thomas Hirt
FMK2015: Erste Schritte mit einem Codeversionierungssystem by Thomas HirtFMK2015: Erste Schritte mit einem Codeversionierungssystem by Thomas Hirt
FMK2015: Erste Schritte mit einem Codeversionierungssystem by Thomas HirtVerein FM Konferenz
 
FMK2015: Virtuelle Tabellen by Arnold Kegebein
FMK2015: Virtuelle Tabellen by Arnold KegebeinFMK2015: Virtuelle Tabellen by Arnold Kegebein
FMK2015: Virtuelle Tabellen by Arnold KegebeinVerein FM Konferenz
 
FMK2015: Strukturierte Namensgebung als Basis für komplexe Programmierung by ...
FMK2015: Strukturierte Namensgebung als Basis für komplexe Programmierung by ...FMK2015: Strukturierte Namensgebung als Basis für komplexe Programmierung by ...
FMK2015: Strukturierte Namensgebung als Basis für komplexe Programmierung by ...Verein FM Konferenz
 
Fmk2013 datenmodelle krambrich-brändle (rev)
Fmk2013 datenmodelle krambrich-brändle (rev)Fmk2013 datenmodelle krambrich-brändle (rev)
Fmk2013 datenmodelle krambrich-brändle (rev)Verein FM Konferenz
 
FMK2015: Beziehungen Mehr als Anker und Bojen by Volker Krambrich und Adam Au...
FMK2015: Beziehungen Mehr als Anker und Bojen by Volker Krambrich und Adam Au...FMK2015: Beziehungen Mehr als Anker und Bojen by Volker Krambrich und Adam Au...
FMK2015: Beziehungen Mehr als Anker und Bojen by Volker Krambrich und Adam Au...Verein FM Konferenz
 
FMK2015: Software Engineering Basics by Jan Rüdiger
FMK2015: Software Engineering Basics by Jan RüdigerFMK2015: Software Engineering Basics by Jan Rüdiger
FMK2015: Software Engineering Basics by Jan RüdigerVerein FM Konferenz
 

Andere mochten auch (12)

FMK2016 - Marcel Moré - The Power of SVG
FMK2016 - Marcel Moré - The Power of SVGFMK2016 - Marcel Moré - The Power of SVG
FMK2016 - Marcel Moré - The Power of SVG
 
FMK2015: Benutzerverwaltung in kleinen und großen Lösungen 1 by Yvonne Krümling
FMK2015: Benutzerverwaltung in kleinen und großen Lösungen 1 by Yvonne KrümlingFMK2015: Benutzerverwaltung in kleinen und großen Lösungen 1 by Yvonne Krümling
FMK2015: Benutzerverwaltung in kleinen und großen Lösungen 1 by Yvonne Krümling
 
FMK 2013, Gestaltung von Benutzeroberflächen, Karsten Risseeuw
FMK 2013, Gestaltung von Benutzeroberflächen, Karsten RisseeuwFMK 2013, Gestaltung von Benutzeroberflächen, Karsten Risseeuw
FMK 2013, Gestaltung von Benutzeroberflächen, Karsten Risseeuw
 
FMK2015: Benutzerverwaltung in kleinen und großen Lösungen 2 by Yvonne Krümling
FMK2015: Benutzerverwaltung in kleinen und großen Lösungen 2 by Yvonne KrümlingFMK2015: Benutzerverwaltung in kleinen und großen Lösungen 2 by Yvonne Krümling
FMK2015: Benutzerverwaltung in kleinen und großen Lösungen 2 by Yvonne Krümling
 
FMK2016 - Karsten Risseeuw - Dynamische Navigation
FMK2016 - Karsten Risseeuw - Dynamische NavigationFMK2016 - Karsten Risseeuw - Dynamische Navigation
FMK2016 - Karsten Risseeuw - Dynamische Navigation
 
FMK2015: Reguläre Ausdrücke by Arnold Kegebein
FMK2015: Reguläre Ausdrücke by Arnold KegebeinFMK2015: Reguläre Ausdrücke by Arnold Kegebein
FMK2015: Reguläre Ausdrücke by Arnold Kegebein
 
FMK2015: Erste Schritte mit einem Codeversionierungssystem by Thomas Hirt
FMK2015: Erste Schritte mit einem Codeversionierungssystem by Thomas HirtFMK2015: Erste Schritte mit einem Codeversionierungssystem by Thomas Hirt
FMK2015: Erste Schritte mit einem Codeversionierungssystem by Thomas Hirt
 
FMK2015: Virtuelle Tabellen by Arnold Kegebein
FMK2015: Virtuelle Tabellen by Arnold KegebeinFMK2015: Virtuelle Tabellen by Arnold Kegebein
FMK2015: Virtuelle Tabellen by Arnold Kegebein
 
FMK2015: Strukturierte Namensgebung als Basis für komplexe Programmierung by ...
FMK2015: Strukturierte Namensgebung als Basis für komplexe Programmierung by ...FMK2015: Strukturierte Namensgebung als Basis für komplexe Programmierung by ...
FMK2015: Strukturierte Namensgebung als Basis für komplexe Programmierung by ...
 
Fmk2013 datenmodelle krambrich-brändle (rev)
Fmk2013 datenmodelle krambrich-brändle (rev)Fmk2013 datenmodelle krambrich-brändle (rev)
Fmk2013 datenmodelle krambrich-brändle (rev)
 
FMK2015: Beziehungen Mehr als Anker und Bojen by Volker Krambrich und Adam Au...
FMK2015: Beziehungen Mehr als Anker und Bojen by Volker Krambrich und Adam Au...FMK2015: Beziehungen Mehr als Anker und Bojen by Volker Krambrich und Adam Au...
FMK2015: Beziehungen Mehr als Anker und Bojen by Volker Krambrich und Adam Au...
 
FMK2015: Software Engineering Basics by Jan Rüdiger
FMK2015: Software Engineering Basics by Jan RüdigerFMK2015: Software Engineering Basics by Jan Rüdiger
FMK2015: Software Engineering Basics by Jan Rüdiger
 

Ähnlich wie FMK2016 - Arnold Kegebein - Recycling

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
 
FMK2018- Audit Log Arnold Kegebein
FMK2018- Audit Log Arnold KegebeinFMK2018- Audit Log Arnold Kegebein
FMK2018- Audit Log Arnold KegebeinVerein FM Konferenz
 
FMK2017 - Tools für FileMaker Entwickler by Alexis Gehrt
FMK2017 -  Tools für FileMaker Entwickler by Alexis GehrtFMK2017 -  Tools für FileMaker Entwickler by Alexis Gehrt
FMK2017 - Tools für FileMaker Entwickler by Alexis GehrtVerein 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
 
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
 
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
 
FMK2022 Neue Programmiertechniken von Adam Augusting
FMK2022 Neue Programmiertechniken von Adam AugustingFMK2022 Neue Programmiertechniken von Adam Augusting
FMK2022 Neue Programmiertechniken von Adam AugustingVerein FM Konferenz
 
FMK2019 Nutzung von Shell-Skripts in FileMaker by Erich Schmidt
FMK2019 Nutzung von Shell-Skripts in FileMaker by Erich SchmidtFMK2019 Nutzung von Shell-Skripts in FileMaker by Erich Schmidt
FMK2019 Nutzung von Shell-Skripts in FileMaker by Erich SchmidtVerein FM Konferenz
 
FMK2017 - Schnittstellen zu Fremdsystemen by Robert Rohrkemper-
FMK2017 - Schnittstellen zu Fremdsystemen by Robert Rohrkemper-FMK2017 - Schnittstellen zu Fremdsystemen by Robert Rohrkemper-
FMK2017 - Schnittstellen zu Fremdsystemen by Robert Rohrkemper-Verein 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
 
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
 
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
 
Aufbau eines Institutsgesamtkatalogs aus OpenSource-Komponenten am Beispiel d...
Aufbau eines Institutsgesamtkatalogs aus OpenSource-Komponenten am Beispiel d...Aufbau eines Institutsgesamtkatalogs aus OpenSource-Komponenten am Beispiel d...
Aufbau eines Institutsgesamtkatalogs aus OpenSource-Komponenten am Beispiel d...flimm
 
FMK 2013 Xojo, Christian Schmitz
FMK 2013 Xojo, Christian SchmitzFMK 2013 Xojo, Christian Schmitz
FMK 2013 Xojo, Christian SchmitzVerein FM Konferenz
 
20190604_DOAGDatabase2019_OracleNoSQLDB_for_DBAs
20190604_DOAGDatabase2019_OracleNoSQLDB_for_DBAs20190604_DOAGDatabase2019_OracleNoSQLDB_for_DBAs
20190604_DOAGDatabase2019_OracleNoSQLDB_for_DBAsKarin Patenge
 
FMK2019 FileMaker und ESS (MySQL) mit cURL statt ODBC Brauch ich da wen, oder...
FMK2019 FileMaker und ESS (MySQL) mit cURL statt ODBC Brauch ich da wen, oder...FMK2019 FileMaker und ESS (MySQL) mit cURL statt ODBC Brauch ich da wen, oder...
FMK2019 FileMaker und ESS (MySQL) mit cURL statt ODBC Brauch ich da wen, oder...Verein FM Konferenz
 
FMK2019 FileMaker und ESS (MySQL) mit cURL statt ODBC by Philipp Puls
FMK2019 FileMaker und ESS (MySQL) mit cURL statt ODBC by Philipp PulsFMK2019 FileMaker und ESS (MySQL) mit cURL statt ODBC by Philipp Puls
FMK2019 FileMaker und ESS (MySQL) mit cURL statt ODBC by Philipp PulsVerein FM Konferenz
 
FMK2012: Datenaustausch zwischen FileMaker und MySQL von Nico Busch
FMK2012: Datenaustausch zwischen FileMaker und MySQL von Nico BuschFMK2012: Datenaustausch zwischen FileMaker und MySQL von Nico Busch
FMK2012: Datenaustausch zwischen FileMaker und MySQL von Nico BuschVerein FM Konferenz
 
FMK2017 - iBeacons und FileMaker by Alexis Gehrt
FMK2017 -  iBeacons und FileMaker by Alexis GehrtFMK2017 -  iBeacons und FileMaker by Alexis Gehrt
FMK2017 - iBeacons und FileMaker by Alexis GehrtVerein FM Konferenz
 

Ähnlich wie FMK2016 - Arnold Kegebein - Recycling (20)

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...
 
FMK2018- Audit Log Arnold Kegebein
FMK2018- Audit Log Arnold KegebeinFMK2018- Audit Log Arnold Kegebein
FMK2018- Audit Log Arnold Kegebein
 
FMK2017 - Tools für FileMaker Entwickler by Alexis Gehrt
FMK2017 -  Tools für FileMaker Entwickler by Alexis GehrtFMK2017 -  Tools für FileMaker Entwickler by Alexis Gehrt
FMK2017 - Tools für FileMaker Entwickler by Alexis Gehrt
 
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
 
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
 
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
 
FMK2022 Neue Programmiertechniken von Adam Augusting
FMK2022 Neue Programmiertechniken von Adam AugustingFMK2022 Neue Programmiertechniken von Adam Augusting
FMK2022 Neue Programmiertechniken von Adam Augusting
 
FMK2019 Nutzung von Shell-Skripts in FileMaker by Erich Schmidt
FMK2019 Nutzung von Shell-Skripts in FileMaker by Erich SchmidtFMK2019 Nutzung von Shell-Skripts in FileMaker by Erich Schmidt
FMK2019 Nutzung von Shell-Skripts in FileMaker by Erich Schmidt
 
FMK2017 - Schnittstellen zu Fremdsystemen by Robert Rohrkemper-
FMK2017 - Schnittstellen zu Fremdsystemen by Robert Rohrkemper-FMK2017 - Schnittstellen zu Fremdsystemen by Robert Rohrkemper-
FMK2017 - Schnittstellen zu Fremdsystemen by Robert Rohrkemper-
 
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
 
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
 
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
 
Aufbau eines Institutsgesamtkatalogs aus OpenSource-Komponenten am Beispiel d...
Aufbau eines Institutsgesamtkatalogs aus OpenSource-Komponenten am Beispiel d...Aufbau eines Institutsgesamtkatalogs aus OpenSource-Komponenten am Beispiel d...
Aufbau eines Institutsgesamtkatalogs aus OpenSource-Komponenten am Beispiel d...
 
FMK 2013 Xojo, Christian Schmitz
FMK 2013 Xojo, Christian SchmitzFMK 2013 Xojo, Christian Schmitz
FMK 2013 Xojo, Christian Schmitz
 
20190604_DOAGDatabase2019_OracleNoSQLDB_for_DBAs
20190604_DOAGDatabase2019_OracleNoSQLDB_for_DBAs20190604_DOAGDatabase2019_OracleNoSQLDB_for_DBAs
20190604_DOAGDatabase2019_OracleNoSQLDB_for_DBAs
 
FMK2019 FileMaker und ESS (MySQL) mit cURL statt ODBC Brauch ich da wen, oder...
FMK2019 FileMaker und ESS (MySQL) mit cURL statt ODBC Brauch ich da wen, oder...FMK2019 FileMaker und ESS (MySQL) mit cURL statt ODBC Brauch ich da wen, oder...
FMK2019 FileMaker und ESS (MySQL) mit cURL statt ODBC Brauch ich da wen, oder...
 
FMK2019 FileMaker und ESS (MySQL) mit cURL statt ODBC by Philipp Puls
FMK2019 FileMaker und ESS (MySQL) mit cURL statt ODBC by Philipp PulsFMK2019 FileMaker und ESS (MySQL) mit cURL statt ODBC by Philipp Puls
FMK2019 FileMaker und ESS (MySQL) mit cURL statt ODBC by Philipp Puls
 
Oracle und Docker
Oracle und DockerOracle und Docker
Oracle und Docker
 
FMK2012: Datenaustausch zwischen FileMaker und MySQL von Nico Busch
FMK2012: Datenaustausch zwischen FileMaker und MySQL von Nico BuschFMK2012: Datenaustausch zwischen FileMaker und MySQL von Nico Busch
FMK2012: Datenaustausch zwischen FileMaker und MySQL von Nico Busch
 
FMK2017 - iBeacons und FileMaker by Alexis Gehrt
FMK2017 -  iBeacons und FileMaker by Alexis GehrtFMK2017 -  iBeacons und FileMaker by Alexis Gehrt
FMK2017 - iBeacons und FileMaker by Alexis Gehrt
 

Mehr von Verein FM Konferenz

FMK2022 Excel und FileMaker Schittko.pdf
FMK2022 Excel und FileMaker Schittko.pdfFMK2022 Excel und FileMaker Schittko.pdf
FMK2022 Excel und FileMaker Schittko.pdfVerein FM Konferenz
 
FMK2022 Drucken über Dateigrenzen hinweg von Philipp Puls
FMK2022 Drucken über Dateigrenzen hinweg von Philipp PulsFMK2022 Drucken über Dateigrenzen hinweg von Philipp Puls
FMK2022 Drucken über Dateigrenzen hinweg von Philipp PulsVerein FM Konferenz
 
FMK2022 Custom Functions von Philipp Puls
FMK2022 Custom Functions von Philipp PulsFMK2022 Custom Functions von Philipp Puls
FMK2022 Custom Functions von Philipp PulsVerein FM Konferenz
 
FMK2022 FileMaker Fehler von Martin Schwarz
FMK2022 FileMaker Fehler von Martin SchwarzFMK2022 FileMaker Fehler von Martin Schwarz
FMK2022 FileMaker Fehler von Martin SchwarzVerein FM Konferenz
 
FMK2022 FileMaker Server unter Linux Workshop von Bernhard Schulz
FMK2022 FileMaker Server unter Linux Workshop von Bernhard SchulzFMK2022 FileMaker Server unter Linux Workshop von Bernhard Schulz
FMK2022 FileMaker Server unter Linux Workshop von Bernhard SchulzVerein FM Konferenz
 
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
 
FMK2022 Arbeiten mit SVG in FileMaker - Robert Kaiser
FMK2022 Arbeiten mit SVG in FileMaker - Robert KaiserFMK2022 Arbeiten mit SVG in FileMaker - Robert Kaiser
FMK2022 Arbeiten mit SVG in FileMaker - Robert KaiserVerein FM Konferenz
 
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 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
 
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
 

Mehr von Verein FM Konferenz (20)

FMK2022 Excel und FileMaker Schittko.pdf
FMK2022 Excel und FileMaker Schittko.pdfFMK2022 Excel und FileMaker Schittko.pdf
FMK2022 Excel und FileMaker Schittko.pdf
 
FMK2022 Drucken über Dateigrenzen hinweg von Philipp Puls
FMK2022 Drucken über Dateigrenzen hinweg von Philipp PulsFMK2022 Drucken über Dateigrenzen hinweg von Philipp Puls
FMK2022 Drucken über Dateigrenzen hinweg von Philipp Puls
 
FMK2022 Custom Functions von Philipp Puls
FMK2022 Custom Functions von Philipp PulsFMK2022 Custom Functions von Philipp Puls
FMK2022 Custom Functions von Philipp Puls
 
FMK2022 FileMaker Fehler von Martin Schwarz
FMK2022 FileMaker Fehler von Martin SchwarzFMK2022 FileMaker Fehler von Martin Schwarz
FMK2022 FileMaker Fehler von Martin Schwarz
 
FMK2022 FileMaker Server unter Linux Workshop von Bernhard Schulz
FMK2022 FileMaker Server unter Linux Workshop von Bernhard SchulzFMK2022 FileMaker Server unter Linux Workshop von Bernhard Schulz
FMK2022 FileMaker Server unter Linux Workshop von Bernhard Schulz
 
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
 
FMK2022 Arbeiten mit SVG in FileMaker - Robert Kaiser
FMK2022 Arbeiten mit SVG in FileMaker - Robert KaiserFMK2022 Arbeiten mit SVG in FileMaker - Robert Kaiser
FMK2022 Arbeiten mit SVG in FileMaker - Robert Kaiser
 
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 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
 
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
 

FMK2016 - Arnold Kegebein - Recycling

  • 1. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 www.filemaker-konferenz.com Wiederverwendbar Datenbankentwicklung Sprecher: Dipl.-Ing. Arnold Kegebein Recycling
  • 2. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 Recycling | Wiederverwendbare Datenbankentwicklung • Dipl.-Ing. (FH) Arnold Kegebein Recycling
  • 3. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 User Interface : Panel Window • Dipl.-Ing. (FH) Arnold Kegebein Über den Sprecher • Name: Arnold Kegebein • Ausbildung: Studium der technischen Informatik
 Abschluss: Diplom-Ingenieur (FH) • Tätigkeiten: Inhouse Entwickler, Hamburg
 IT Leiter, Chicago, USA
 IT Consultant, Hamburg
 
 über 30 Jahre Erfahrungen 
 mit Datenbanken • Sonstiges: 10 Jahre FileMaker Entwickler
 Autor für das FileMaker Magazin
 Fan von TV-Show „The Big Bang Theory“
  • 4. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 Recycling | Wiederverwendbare Datenbankentwicklung • Dipl.-Ing. (FH) Arnold Kegebein Einleitung • Wir haben in unseren Projekten hunderte Datenbanken entwickelt • Mehrere Dutzend Kontakt- und Adressdatenbanken • Viele von Grund auf neu entwickelt • Warum? • Viele Kunden, jeder will seine eigene Datenbank • Neue Anforderungen • Neuentwicklung ist oft effektiver als ein Umbau • Neue Systeme / Programmiersprachen / Programmversionen • Fortgeschrittenes Wissen und Erfahrungen • Neue Datenmodelle, Programmiertechniken und -konzepte • Anforderungen externer Systeme, Schnittstellen
  • 5. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 Recycling | Wiederverwendbare Datenbankentwicklung • Dipl.-Ing. (FH) Arnold Kegebein Bild 1: Original von Kippelboy, via Wikimedia
  • 6. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 Recycling | Wiederverwendbare Datenbankentwicklung • Dipl.-Ing. (FH) Arnold Kegebein Braun Lectron Elektronikbaukasten • Bausteine stellen elektronische Elemente dar • Sie lassen sich zu Schaltkreisen zusammenstellen • Sie sind wiederverwendbar Original von xavax, via de.wikipedia Commons
  • 7. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 Recycling | Wiederverwendbare Datenbankentwicklung • Dipl.-Ing. (FH) Arnold Kegebein Braun Lectron Elektronikbaukasten • Beschränkter Arbeitsraum • Problematische Wiederverwendbarkeit
 erstellter Schaltungen • Lösung: Zukauf oder Selbstbau 
 von Bausteine mit komplexem
 Innenleben
  • 8. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 Recycling | Wiederverwendbare Datenbankentwicklung • Dipl.-Ing. (FH) Arnold Kegebein FileMaker als Baukasten • FileMaker hat auch viele Bausteine • Besonders das Script System ist keine Programmiersprache, sondern ein Makro-Befehlsbaukasten • Der Datenzugriff ist eng gekoppelt mit Layouts • Seit Einführung der Funktion ExecuteSQL/ SqlAusführen weniger eng • Aber nur lesende Zugriffe erlaubt, Schreiben nicht möglich • Nur Zugriff auf Daten, nicht auf Struktur • Kein oder kaum Zugriff auf FileMaker interne Parameter
  • 9. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 Recycling | Wiederverwendbare Datenbankentwicklung • Dipl.-Ing. (FH) Arnold Kegebein Eigene FileMaker Bausteine • Gesucht ist ein Ansatz, eigene FileMaker Bausteine zu entwickeln, • die sich direkt wiederverwenden lassen • oder zumindest nur wenige Anpassungen erfordern • Stichwort: Modulare Entwicklung
  • 10. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 Recycling | Wiederverwendbare Datenbankentwicklung • Dipl.-Ing. (FH) Arnold Kegebein Warum modulare Entwicklung? • Das Rad wird nicht jedesmal neu erfunden • Bewerte Module stehen immer zur Verfügung • Module vereinfachen die Entwicklung (Arbeitsteilung) • Module können individuell getestet werden • Module sorgen für mehr Stabilität Pro
  • 11. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 Recycling | Wiederverwendbare Datenbankentwicklung • Dipl.-Ing. (FH) Arnold Kegebein Warum modulare Entwicklung? Contra • Das Rad wird nicht jedesmal neu erfunden • Neuentwicklung ermöglicht es, alte System zu verbessern • Entwicklung einfach verwendbarer Module erfordert erheblich Mehraufwand • FileMaker ist kein offenes System • Modulare Programmierung widerspricht der Grundstruktur von FileMaker
  • 12. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 Recycling | Wiederverwendbare Datenbankentwicklung • Dipl.-Ing. (FH) Arnold Kegebein Recycling / Wiederverwendbarkeit • FileMaker Entwickler suchen und finden verschiedene Wege • MagicValueList (Andries Heylen) • Custom List Function (Agnès Barouh) • Modular FileMaker (Todd Geist) • Fremdumgebungen nutzen • Plugins • WebViewer • Java oder JavaScript Libraries u. a. • WebServices
  • 13. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 Recycling | Wiederverwendbare Datenbankentwicklung • Dipl.-Ing. (FH) Arnold Kegebein • Bekannt ist, was in die Black Box eingegeben wird bzw. wieder heraus kommt • Das Innere der Black Box ist irrelevant und austauschbar Black Box Prinzip A B C X Y Akummilierte Resonanz- Fillibrations- Methodik Integrale Stimulations- Konvergenz- Transformation
  • 14. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 Recycling | Wiederverwendbare Datenbankentwicklung • Dipl.-Ing. (FH) Arnold Kegebein Black Box Entwicklung • Das Problem von Außen betrachten • Erst Ein- und Ausgabewerte definieren • Dann Lösung für Black Box entwickeln • Das Problem von Innen betrachten • Zuerst eine spezielle Lösung entwickeln • Dann die Lösung von seiner Umgebung entkoppelen • Und dabei die Ein- und Ausgabeparameter festlegen
  • 15. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 Recycling | Wiederverwendbare Datenbankentwicklung • Dipl.-Ing. (FH) Arnold Kegebein Black Box mit FileMaker • Eine Black Box muss kein Script oder CF sein • Eine Black Box muss nicht ein einzelnes Objekt sein • Eine Black Box muss keine eigenständige Datei sein, kann es aber • Vorteil: • Update / Austausch der Black Box vereinfacht sich • Import und Anpassung von Scripts entfällt • Nachteil: • Öffentliche CFs müssen importiert werden • Eine ideale Black Box wird sich in FileMaker nicht immer umsetzen lassen
  • 16. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 Recycling | Wiederverwendbare Datenbankentwicklung • Dipl.-Ing. (FH) Arnold Kegebein FileMaker „Recycling“ Datenmodell Web Viewer Layout Objects Themes Custom Functions Parametrisierte Scripts Modular FileMaker Idiomatic FileMaker
  • 17. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 Recycling | Wiederverwendbare Datenbankentwicklung • Dipl.-Ing. (FH) Arnold Kegebein The Basics – Grundlagen • FileMaker Pro Advanced ist ein MUSS • Fortgeschrittene Kenntnisse von CFs • (Eigene) Konventionen verwenden • Namenskonventionen • Entwicklungskonventionen • Dokumentationskonventionen • Kenntnisse moderner Datenmodelle • Externe Systeme kennen und nutzen (imho)
  • 18. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 Recycling | Wiederverwendbare Datenbankentwicklung • Dipl.-Ing. (FH) Arnold Kegebein Basic Recycling • Die Zwischenablage ist das einfachste Prinzip von Recycling • Standardfelder kopieren • Standardscripts (Header Dokumentation, …) • Formelsammlung • Templates (Felder, Scripts. …) • Layoutelemente Let( [ ~sql = " SELECT {__id}, {field} FROM {{table}} WHERE {field} = ? ORDER BY {field} OFFSET n ROWS FETCH FIRST n ROWS ONLY|WITH TIES "; ~qry = Substitute( ~sql; [ “{{table}}”; sqlTable( Table::__id ) ]; [ “{__id}"; sqlField( Table::__id ) ]; [ "{field}"; sqlField( Table::field ) ] ); ~res = ExecuteSQL( ~qry; ""; ""; $variable ) ]; If( ~res ≠ "?"; ~res ) )
  • 19. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 Recycling | Wiederverwendbare Datenbankentwicklung • Dipl.-Ing. (FH) Arnold Kegebein Recycling mit CFs • Formelsammlung mit häufig verwendeten Funktionen • Spezielle Funktionen für Module • Script Parameter: #, #Assign, #Get, … • SQL Query: sqlField, sqlTable, sqlInSet • Entkoppeln bzw. Kapseln von Plugin-Funktionen • Erleichtert das Wechseln von Plugins • Ersatz für Konstanten: bom, null
  • 20. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 Recycling | Wiederverwendbare Datenbankentwicklung • Dipl.-Ing. (FH) Arnold Kegebein CF Konventionen • Namenskonvention • Prefix / Suffix / camelCase • Fallstrick „Sprachversionen“ • Kennzeichnung „hard-coded“ CFs • Dokumentationskonvention • Im Kopf des Funktionscodes • Aufgabe der CF • Rückgabewert • Eingabeparameter • Änderungshistorie • … /*---------------------------------------------------------- * #Assign( _parameters ) * * PURPOSE * Parses a Let dictionary of name-value parameters into a * locally scoped $variables. * * RETURNS * True(1) when parameters is a valid set of name-value pai * includes the empty string); False(0) otherwise. * If False(0), the error code will be saved to: $#Assign.e * * PARAMETERS * _parameters: A Let format dictionary, such as produced b * #( name; value ) function. * * HISTORY * 2015-10-27 by Matt Petrowsky to support weak formatted r * delimited input. * 2013-03-15 by Daniel Smith <http://scr.im/dansmith> to u * documentation to match functions actual return value. * 2012-11-28 by Jeremy Bante <http://scr.im/jbante> to sup * "$" prefix values as default. * 2012-11-11 by Jeremy Bante <http://scr.im/jbante>. ------------------------------------------------------------
  • 21. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 Recycling | Wiederverwendbare Datenbankentwicklung • Dipl.-Ing. (FH) Arnold Kegebein Beispiel: SQL Abfragen • Kein „hard coding“ • Tabellen und Felder entkoppeln • Sonderfälle einplanen • Fehlerbehandlung Let( [ ~sql = " SELECT {__id}, {field} FROM {{table}} WHERE {field} = ? ORDER BY {field} OFFSET n ROWS FETCH FIRST n ROWS ONLY|WITH TIES "; ~qry = Substitute( ~sql; [ “{{table}}”; sqlTable( Table::__id ) ]; [ “{__id}"; sqlField( Table::__id ) ]; [ “{field}"; sqlField( Table::field ) ] ); ~res = ExecuteSQL( ~qry; ""; ""; $variable ) ]; If( ~res ≠ "?"; ~res ) )
  • 22. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 Recycling | Wiederverwendbare Datenbankentwicklung • Dipl.-Ing. (FH) Arnold Kegebein Fehlerbehandlung • FileMaker hat nur eine sehr einfache Fehlerverwaltung • Hole( LetzteFehlerNr ) • BerechnungsFehler( … ) • Rückgabewert in Fehlerfällen: „?“ • Gewünscht ist ein erweitertes Black Box Konzept A B C X Y # Fehlerinformation ? ?
  • 23. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 Recycling | Wiederverwendbare Datenbankentwicklung • Dipl.-Ing. (FH) Arnold Kegebein Let( [ ~sql = " SELECT {__id}, {field} FROM {{table}} WHERE {field} = ? ORDER BY {field} OFFSET n ROWS FETCH FIRST n ROWS ONLY|WITH TIES "; ~qry = Substitute( ~sql; [ “{{table}}”; sqlTable( Table::__id ) ]; [ “{__id}"; sqlField( Table::__id ) ]; [ “{field}"; sqlField( Table::field ) ] ); ~res = ExecuteSQL( ~qry; ""; ""; $variable ) ]; If( ~res ≠ "?"; ~res ) ) • Fehlerwert „?“ wird abgefangen • Fehlerstatus speichern • Fehlerhaft SQL-Abfrage speichern • Im Erfolgsfall Variablen leeren Beispiel Fehlerbehandlung ]; If( ~res ≠ “?"; ~res; // Else Let( $$ERROR_SQL = true; “" ) ) ) ]; If( ~res ≠ “?"; ~res; // Else Let( [ $$ERROR_SQL = true; $$ERROR_SQL.qry = ~qry ]; “” ) ) ) ]; If( ~res ≠ "?"; Let( [ $$ERROR_SQL = ""; $$ERROR_SQL.qry = "" ]; ~res ) // Else Let( [ $$ERROR_SQL = true; $$ERROR_SQL.qry = ~qry ]; "" ) ) )
  • 24. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 Recycling | Wiederverwendbare Datenbankentwicklung • Dipl.-Ing. (FH) Arnold Kegebein Recycling mit Scripts • Standardscripts • Standardbefehle (Header, Setup, Abschluss) • Dokumentationszeilen im Header • Script Parameter
  • 25. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 Recycling | Wiederverwendbare Datenbankentwicklung • Dipl.-Ing. (FH) Arnold Kegebein Script Dokumentation
  • 26. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 Recycling | Wiederverwendbare Datenbankentwicklung • Dipl.-Ing. (FH) Arnold Kegebein 1-Ausgang-Strategie: „Single Exit“
  • 27. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 Recycling | Wiederverwendbare Datenbankentwicklung • Dipl.-Ing. (FH) Arnold Kegebein Enge lose Kopplung • Enge Kopplung
 
 • Erwarte bestimmte Voraussetzungen • Layout (Tabelle/TO) • FoundSet, aktueller Datensatz • Fenstermodus (Blättern) • Lose Kopplung
  • 28. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 Recycling | Wiederverwendbare Datenbankentwicklung • Dipl.-Ing. (FH) Arnold Kegebein Systeme entkoppeln • Keine bestimmten Umgebungseinstellungen erwarten • bestimmte Layouts oder Layouttabellen • aktuell ausgewählte Datensätze • Fenstermodus • globalen Variablen, außer die Black Box erstellt sie selbst • Keine bestimmten Tabellen bzw. Felder verwenden • Ausnahme: Die Tabelle kann vollständig in der Black Box existieren • Keine bestimmten Layouts verwenden • Siehe auch: Script auf Server ausführen
  • 29. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 Recycling | Wiederverwendbare Datenbankentwicklung • Dipl.-Ing. (FH) Arnold Kegebein Systeme entkoppeln • Enge Kopplung vermeiden • „Feste verdrahtete“ Programmierung vermeiden • Nicht 0,19 bzw. 19% als Mehrwertsteuersatz in Formeln eintragen, sondern ein entsprechendes Feld verwenden • Mögliche Schwachstellen erkennen
  • 30. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 Recycling | Wiederverwendbare Datenbankentwicklung • Dipl.-Ing. (FH) Arnold Kegebein Scripts • Script Parameter verwenden • Layout Id statt Layout Name oder Layout Nummer • Ein Eingang, ein Ausgang („Single Loop“) • Script Ergebnis zurückgeben
  • 31. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 Recycling | Wiederverwendbare Datenbankentwicklung • Dipl.-Ing. (FH) Arnold Kegebein CFs vz. Scripts • Fast alles, was eine CF kann, lässt sich mit einem Script nachbilden • Ausnahme: Anzahl der Parameter; • CF kann mehrere haben, Script nur einen • Übergabe mehrerer Parameter muss bei Scripts mit eigenen Methoden ermöglicht werden • Ausnahme: Parameterübergabe „by reference“ • CF kann Herkunft der Parameter erfragen • Script Parameter ist immer „by value“, da als Text übergeben • CFs werden im lokalen Speicher berechnet • Scripts können auch auf dem Server ausgeführt werden
  • 32. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 Recycling | Wiederverwendbare Datenbankentwicklung • Dipl.-Ing. (FH) Arnold Kegebein Parameter by Reference CF Test( param ) Liste( "Wert: " & Zitat( param ); "Feld: " & HoleFeldname( param ); "Felddatentyp: " & FeldTyp( ""; HoleFeldname( param ) ); "Kommentar: " & FeldKommentar( ""; HoleFeldname( param ) ) )
  • 33. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 Recycling | Wiederverwendbare Datenbankentwicklung • Dipl.-Ing. (FH) Arnold Kegebein Benennen von Scripts • Spezielle Markierungen können bestimmte Scriptarten kennzeichnen: • Idempotenz
 Wiederholt hintereinander aufgerufen führt das Scripts zum gleichen Ergebnis • Kontext-unabhängigkeit
 Das Script kann jederzeit und aus jedem Kontext heraus aufgerufen werden • Script Functions
 Scripts, die wie eine Funktion verwendet werden können • Parametrisierte Scripts • Server Scripts
  • 34. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 Recycling | Wiederverwendbare Datenbankentwicklung • Dipl.-Ing. (FH) Arnold Kegebein Fragen & Antworten • Was haben Sie nicht verstanden? • Was wollen Sie noch wissen? • Wollen Sie noch etwas beitragen?
  • 35. 7. FileMaker Konferenz | Salzburg | 13.-15. Oktober 2016 FileMaker Konferenz 2016 Salzburg Vielen Dank unseren Sponsoren Ohne Sponsoring wäre diese Konferenz so nicht möglich!