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
FMK2019 FileMaker – das Lizenzmodell Alles was Sie wissen wollen by Klemens ...
FMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang Wunderlich
1. 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
2. Wolfgang Wunderlich
FrameWork-Konzepte in FileMaker
FileMaker Konferenz 2015 Hamburg
www.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
3. Wolfgang Wunderlich
FrameWork-Konzepte in FileMaker
FileMaker Konferenz 2015 Hamburg
www.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
4. Wolfgang Wunderlich
FrameWork-Konzepte in FileMaker
FileMaker Konferenz 2015 Hamburg
www.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
5. Wolfgang Wunderlich
FrameWork-Konzepte in FileMaker
FileMaker Konferenz 2015 Hamburg
www.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
6. Wolfgang Wunderlich
FrameWork-Konzepte in FileMaker
FileMaker Konferenz 2015 Hamburg
www.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
7. Wolfgang Wunderlich
FrameWork-Konzepte in FileMaker
FileMaker Konferenz 2015 Hamburg
www.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
8. Wolfgang Wunderlich
FrameWork-Konzepte in FileMaker
FileMaker Konferenz 2015 Hamburg
www.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
9. Wolfgang Wunderlich
FrameWork-Konzepte in FileMaker
FileMaker Konferenz 2015 Hamburg
www.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
10. Wolfgang Wunderlich
FrameWork-Konzepte in FileMaker
FileMaker Konferenz 2015 Hamburg
www.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
12. Wolfgang Wunderlich
FrameWork-Konzepte in FileMaker
FileMaker Konferenz 2015 Hamburg
www.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)
13. Wolfgang Wunderlich
FrameWork-Konzepte in FileMaker
FileMaker Konferenz 2015 Hamburg
www.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
945
Müller
• …dann greift: HoleWert(Liste; Nr)
• Nachteil: Nicht geeignet für Listen oder umfangreiche
Nur für für Steuerungs-Parameter geeignet
16. Wolfgang Wunderlich
Strukturierte Namensgebung
FileMaker Konferenz 2015 Hamburg
www.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“
17. Wolfgang Wunderlich
FrameWork-Konzepte in FileMaker
FileMaker Konferenz 2015 Hamburg
www.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
18. Wolfgang Wunderlich
FrameWork-Konzepte in FileMaker
FileMaker Konferenz 2015 Hamburg
www.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?
19. Wolfgang Wunderlich
FrameWork-Konzepte in FileMaker
FileMaker Konferenz 2015 Hamburg
www.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?
21. Wolfgang Wunderlich
FrameWork-Konzepte in FileMaker
FileMaker Konferenz 2015 Hamburg
www.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…
22. Wolfgang Wunderlich
FrameWork-Konzepte in FileMaker
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Weitere Beispiel für Script-Frameworks:
• Beispiele im Demo-File:
• Suchen
• Schnellsuche
• Navigation
• Dokumente
• PopOver-Dialoge steuern
• Dokumente
23. Wolfgang Wunderlich
FrameWork-Konzepte in FileMaker
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Vielen Dank unseren Sponsoren
Danke für das Bewerten dieses Vortrages