23
Wolfgang Wunderlich Framework-Konzepte in FileMaker FileMaker Konferenz 2015 Hamburg www.filemaker-konferenz.com FrameWork-Konzepte in FileMaker Pro Skript-Modularisierung für schnellere und effektivere Entwicklung in FileMaker

FMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang Wunderlich

Embed Size (px)

Citation preview

Page 1: FMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang Wunderlich

Wolfgang WunderlichFramework-Konzepte in FileMaker

FileMaker Konferenz 2015 Hamburgwww.filemaker-konferenz.com

FrameWork-Konzepte in FileMaker Pro

Skript-Modularisierung für schnellere und effektivere

Entwicklung in FileMaker

Page 2: FMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang Wunderlich

Wolfgang WunderlichFrameWork-Konzepte in FileMaker

FileMaker Konferenz 2015 Hamburgwww.filemaker-konferenz.com

Wolfgang Wunderlich

• Dipl.Soz.Pädagoge

• Gesprächstherapeutische Ausbildung

• Jugendarbeit, Psychatrie

• EDV-Pädagoge, Ausbildung auf DOS, SINIX, Siemens 2000

• Anwendungsprogammierer IHK (COBOL, PASCAL)

• Systematics HH

• Produktmananger RagTime 3/4 UNICORN

• Selbsständig seit 1989, Trainer und FM-Entwickler

• GF DeskTop Organisation GmbH seit 1993

Page 3: FMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang Wunderlich

Wolfgang WunderlichFrameWork-Konzepte in FileMaker

FileMaker Konferenz 2015 Hamburgwww.filemaker-konferenz.com

FrameWorks - Begriffsfindung• FrameWork

• wörtlich: „Rahmen-Werk“

• Wird verwendet u.a. im Vertragswesen, Organisation, Software-Entwicklung…

• …im Zusammenhang mit andern Begriffen, wie z.B.:

• Baustein

• Programmiergerüst

• Modul

• PlugIn

• …und:

• Granularität

• wie groß oder klein ist FrameWork

Page 4: FMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang Wunderlich

Wolfgang WunderlichFrameWork-Konzepte in FileMaker

FileMaker Konferenz 2015 Hamburgwww.filemaker-konferenz.com

Frameworks im Kontext von FileMaker

• FileMaker • SkriptSchritte

• Funktionen• Designs

• Eigene Funktionen (CF’s) • PlugIns

• Skripte ?• Skripte!

• Kombinationen aus Script und anderen Elementen

Page 5: FMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang Wunderlich

Wolfgang WunderlichFrameWork-Konzepte in FileMaker

FileMaker Konferenz 2015 Hamburgwww.filemaker-konferenz.com

Ziele und Nutzen

• Funktionspakete für sich wiederholende Aufgaben aufbauen

• Verlagerung von Komplexität

• Kontext unabhängiger werden

• -> Transportierbarkeit

• -> Wiederverwendbarkeit in anderen Lösungen

• Beschleunigte Entwicklung auf hohem Niveau mit geringerem Aufwand

• Eigenen Befehlsvorrat schaffen

Page 6: FMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang Wunderlich

Wolfgang WunderlichFrameWork-Konzepte in FileMaker

FileMaker Konferenz 2015 Hamburgwww.filemaker-konferenz.com

Sub-Skript

• Skript A und Script B haben gemeinsame Schritte

• -> Sub-Skript bauen, das von A und B aufgerufen werden kann

• Sub-Skript erfüllte eine Standard-Funktion

• Prinzip: Teilmenge auslagern

Script A Script B

SubSkript

Page 7: FMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang Wunderlich

Wolfgang WunderlichFrameWork-Konzepte in FileMaker

FileMaker Konferenz 2015 Hamburgwww.filemaker-konferenz.com

Framework-Script

• Standardfunktionen (möglichst) kontext-unabhängig Skripten

• …und in konkreter Situation nutzen

• Prinzip: eigenen Befehls-Vorrat aufbauen

• direkter Aufruf

• oder über „Mantel-Script“

Skript FrameWork

Taste

Page 8: FMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang Wunderlich

Wolfgang WunderlichFrameWork-Konzepte in FileMaker

FileMaker Konferenz 2015 Hamburgwww.filemaker-konferenz.com

Vorraussetzungen schaffen

• Welche Voraussetzung müssen gegeben sein, damit meine FrameWorks funktionieren?

• Voraussetzung schaffen, transportieren

• Voraussetzung evtl. ERFINDEN

• „Henne-Ei-Situation“

• Kreativität!

FrameWork

Vorraussetzungen

Page 9: FMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang Wunderlich

Wolfgang WunderlichFrameWork-Konzepte in FileMaker

FileMaker Konferenz 2015 Hamburgwww.filemaker-konferenz.com

FileMaker bietet dafür:

• Geeignete FileMaker Funktionen:

• Hole( Scriptparameter )

• HoleFeldwert ( Feld )

• Hole( ScriptErgebnis )

• und SkriptSchritte:

• Feld nach Namen einstellen [ FeldName; Wert ]

• Gehe zu Layout [ LayoutName ]

• Gehe zu Objekt [ ObjektName ]

• u.v.a

Page 10: FMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang Wunderlich

Wolfgang WunderlichFrameWork-Konzepte in FileMaker

FileMaker Konferenz 2015 Hamburgwww.filemaker-konferenz.com

Vorgehensweise: Trennen von Kontext und Funktion

• Unabhängig von wechselndem Kontext werden

• Datenmodelle:

• Connector / Selector versucht den Kontext stabil zu halten (Universal Kontext)

• Anker Boje= wechselnde Kontexte

• „Kontext-Redundant“ erzeugen

• Das heißt wenn der Kontext wechselt muss er

• berechenbar sein um transportiert werden zu können - in Parametern

Page 11: FMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang Wunderlich

Wolfgang WunderlichFrameWork-Konzepte in FileMaker

FileMaker Konferenz 2015 Hamburgwww.filemaker-konferenz.com

Vorraussetzung: Errechenbare Quellen und Ziele

• ID-Feldnamen: Regel

• ID Primary-Key

• ID_Adressen ID_ & Basistabelle = Secondary-Key

• Personen::ID_Adressen Zieltabelle:: & Feldname = FQFeldName

• Layouts

• ADRESSEN Basistabelle

• Adressen - Liste Basistabelle & „ - Liste“

• Adressen - Suche Basistabelle & „ - Suche“

• Adressen - Hilfslayout Basistabelle & „ - Hilfslayout“

Page 12: FMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang Wunderlich

Wolfgang WunderlichFrameWork-Konzepte in FileMaker

FileMaker Konferenz 2015 Hamburgwww.filemaker-konferenz.com

Parameter Transport

• Mechanismen für Parameter Handling:

• früher: Globale Felder

• $$Variable

• …oder direkt Übergabe an Skript:

• Hole(ScriptParameter)

• Problem: Übergabe von mehr als einem Skriptparameter

• über Eigene Funktionen (CF’s)

Page 13: FMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang Wunderlich

Wolfgang WunderlichFrameWork-Konzepte in FileMaker

FileMaker Konferenz 2015 Hamburgwww.filemaker-konferenz.com

Kleine CF mit großer Wirkung#1

• SkriptParam ( Nr )• HoleWert( Austauschen ( Hole ( ScriptParameter ) ; „|“ ; „¶" ) ; Nr )

• Parameter-Trenner ist: | ( alt-7 )• z.B. String: ”Personen | 945 | Müller“

• …wird umgewandelt in Liste…Personen 945Müller

• …dann greift: HoleWert(Liste; Nr)• Nachteil: Nicht geeignet für Listen oder umfangreiche

Nur für für Steuerungs-Parameter geeignet

Page 14: FMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang Wunderlich

Wolfgang WunderlichFrameWork-Konzepte in FileMaker

FileMaker Konferenz 2015 Hamburgwww.filemaker-konferenz.com

Parameter abholen: Skript initialaiseren

• Löschen: Ausschnittreihe [ Personen | 945 | Müller | ]

• Variable setzen [$Tabelle; Wert:Skriptparam ( 1 )]

• Variable setzen [$ID; Wert:Skriptparam ( 2 )]

• Variable setzen [$DialogString; Wert:Skriptparam ( 3 )]

• Variable setzen [$Zugriffsbereich; Wert:Skriptparam ( 4 )]

Praxis-Tipp: Variable (möglichst) zuerst initialisieren!

Siehe auch Demo-Datei

Page 15: FMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang Wunderlich

Wolfgang WunderlichFrameWork-Konzepte in FileMaker

FileMaker Konferenz 2015 Hamburgwww.filemaker-konferenz.com

• Scriptname [Param1,{Param2}, {Param3}]

• Beispiel:

• Neu: BezugsDatensatz [ZielTabelle, ID, {Zugriffsbereich, ZielLayout}]

• Personen | 945 |

• $Tabelle & „ |" & $ID

Beispiel: Skriptnamen & Parameterübergabe

Page 16: FMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang Wunderlich

Wolfgang Wunderlich Strukturierte Namensgebung

FileMaker Konferenz 2015 Hamburgwww.filemaker-konferenz.com

Kleine CF mit großer Wirkung#2• LayoutBereich = Erstes Wort des Layoutnamens

• RECHNUNGEN

• Rechnungen - Liste

• Rechnungen - Suche

• Rechnungen - Hilfslayout

• Rechnungen - Tabelle

• Rechnungen - Printout: Rechnung

• Rechnungen - Printout: Mahnung etc.

• Die CF „Layoutbereich“ liefert für alle diese Layouts : „Rechnungen“

• Variable setzen $Layout = LayouBereich & „ - Hilfslayout“

Page 17: FMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang Wunderlich

Wolfgang WunderlichFrameWork-Konzepte in FileMaker

FileMaker Konferenz 2015 Hamburgwww.filemaker-konferenz.com

Standardfunktionen Datensätze anlegen/löschen

• Datensätze anlegen

• Im Layout: „Neuer Datensatz“

• Erzeugen neuer Datensätze über Beziehung

• Im Portal (Eingabe in letzter Ausschnittreihe)

• Über Skript Werte in Beziehung eintragen

• Datensätze löschen

• Im Layout: „Datensatz löschen“

• Über Beziehung

• Ausschnittreihe löschen

• Bezugsdatensätze mit Hauptdatensatz löschen

Page 18: FMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang Wunderlich

Wolfgang WunderlichFrameWork-Konzepte in FileMaker

FileMaker Konferenz 2015 Hamburgwww.filemaker-konferenz.com

Datensätze anlegen, Details

• Zugriffsrechte

• Darf der angemeldete Benutzer in aktuellen Kontext Datensätze erzeugen?

• Dialog

• Soll vor der Ausführung einen Dialog gezeigt werden?

• Navigation

• Im Layout bleiben oder zu neuem Bezugsdatensatz navigieren?

• Cursor setzen

• In welchem Feld soll der Cursor im neuen Datensatz stehen?

Page 19: FMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang Wunderlich

Wolfgang WunderlichFrameWork-Konzepte in FileMaker

FileMaker Konferenz 2015 Hamburgwww.filemaker-konferenz.com

Beispiel: Datensätze löschen

• Zugriffsrechte

• Ist der Datensatz geschützt?

• Darf der angemeldete Benutzer Datensätze löschen?

• Dialog

• Soll vor der Ausführung ein Dialog gezeigt werden?

• Protokollierung

• Soll das Löschen protokolliert werden?

• Navigation

• Wo sind wir nach dem Löschen?

Page 20: FMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang Wunderlich

Wolfgang Wunderlich FrameWork-Konzepte in FileMaker

FileMaker Konferenz 2015 Hamburgwww.filemaker-konferenz.com

DEMO

Page 21: FMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang Wunderlich

Wolfgang WunderlichFrameWork-Konzepte in FileMaker

FileMaker Konferenz 2015 Hamburgwww.filemaker-konferenz.com

Widrigkeiten, Praxis-Erfahrungen

• Komplexität steigt

• Übersichtlichkeit kann verloren gehen

• …Namensgebung, Dokumentation ….Übung

• Pflege und Überarbeitungen können notwendig werden

• …ggf. auch Rückbau

• FrameWorks können mit neuen FM-Features veralten :-(

• Neuen FM-Features machen neue Frameworks nötig (möglich)

• Voraussetzungen sind nicht gegeben

• z.B. in fremden oder MultiFile-Lösungen

• oder noch nicht erfunden…

Page 22: FMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang Wunderlich

Wolfgang WunderlichFrameWork-Konzepte in FileMaker

FileMaker Konferenz 2015 Hamburgwww.filemaker-konferenz.com

Weitere Beispiel für Script-Frameworks:

• Beispiele im Demo-File:

• Suchen

• Schnellsuche

• Navigation

• Dokumente

• PopOver-Dialoge steuern

• Dokumente

Page 23: FMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang Wunderlich

Wolfgang Wunderlich FrameWork-Konzepte in FileMaker

FileMaker Konferenz 2015 Hamburgwww.filemaker-konferenz.com

Vielen Dank unseren Sponsoren

Danke für das Bewerten dieses Vortrages