SlideShare ist ein Scribd-Unternehmen logo

FMK2022 Dokumentation - Thomas Hirt

Verein FM Konferenz
Verein FM Konferenz
Verein FM KonferenzVerein FM Konferenz

Thomas Hirt zeigt an der FileMaker Konferenz 2022 in Hamburg wie FileMaker Entwickler ihre Arbeit dokumentieren können.

FMK2022 Dokumentation - Thomas Hirt

1 von 30
Downloaden Sie, um offline zu lesen
www.filemaker-konferenz.com
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Dokumentation zur Planung, Ausführung und Wartung
von FileMaker-Lösungen
Thomas Hirt
Dokumentation
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Dokumentation – Thomas Hirt
Über den Sprecher
• Studium der Biochemie und des Software Engineering
• betreut seit 25+ Jahren Kleinunternehmen und
Privatkunden in Informatikbelangen
• Geschäftsführer und Inhaber der Tek:Guides GmbH
• Windows Umgebungen als Hauptbetätigungsfeld
• Einsatz von FileMaker als Entwicklungsplattform seit 2009
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Dokumentation – Thomas Hirt
Inhalt
• Zweck und Arten von Dokumentation
• Pro und Contra
• Grenzen der Dokumentation
• Requirements Engineering
• eine häufig unterschätzte Dokumentation
• Tipp: Mockups als Gesprächsbasis erstellen
• Aufgabenliste & Stundenliste
• In-Code Dokumentation
• Deployment-Dokumentation
• Visualisierung von Struktur und Abläufen
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Dokumentation – Thomas Hirt
Zweck und Arten von Dokumentation
Zweck Art
Requirements Engineering
• User Stories
• diverse Diagrammarten
• Mockups
• Prototypen
Vereinbarungen mit dem
Endkunden
• Lastenheft
• Pflichtenheft
Unterstützung von Entwicklung
und Software-Unterhalt
• Aufgabenliste, Stundenliste
• in-Code Dokumentation
• Datenbankschema
• Diagramme zur Visualisierung von Struktur und
Abläufen der Lösung (z.B. UML)
Unterstützung von Administratoren
bei Installation und Betrieb
• Installationsanleitung
• Deployment-Diagramm
• Diagramme zur Visualisierung der Interaktion der
Lösung mit weiteren Diensten/Geräten (z.B. UML)
Bedienungsanleitung für Benutzer Benutzerdokumentation
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Dokumentation – Thomas Hirt
Zweck und Arten von Dokumentation
Zweck Art
Requirements Engineering
• User Stories
• diverse Diagrammarten
• Mockups
• Prototypen
Vereinbarungen mit dem
Endkunden
• Lastenheft
• Pflichtenheft
Unterstützung von Entwicklung
und Software-Unterhalt
• Aufgabenliste, Stundenliste
• in-Code Dokumentation
• Datenbankschema
• Diagramme zur Visualisierung von Struktur und
Abläufen der Lösung (z.B. UML)
Unterstützung von Administratoren
bei Installation und Betrieb
• Installationsanleitung
• Deployment-Diagramm
• Diagramme zur Visualisierung der Interaktion der
Lösung mit weiteren Diensten/Geräten (z.B. UML)
Bedienungsanleitung für Benutzer Benutzerdokumentation
FileMaker Konferenz | Hamburg | 22.-24. Juni 2022
Dokumentation – Thomas Hirt
Contra
Pro und Contra
Pro
• mindert den Gewinn
• behindert den Projektfortschritt
• bei einigen Entwicklern unbeliebt
• fördert Kundenzufriedenheit
• verbessert Kommunikation mit dem
Kunden
• bringt Struktur in Projektverlauf
• unabdingbar für Entwicklung im
Team
• unabdingbar für längerfristige
Wartbarkeit

Recomendados

DACHNUG50 Erfolgreiche Digitalisierung Notes Anwendungen mit Low Code L”sung ...
DACHNUG50 Erfolgreiche Digitalisierung Notes Anwendungen mit Low Code L”sung ...DACHNUG50 Erfolgreiche Digitalisierung Notes Anwendungen mit Low Code L”sung ...
DACHNUG50 Erfolgreiche Digitalisierung Notes Anwendungen mit Low Code L”sung ...DNUG e.V.
 
Michael Jäger (Techsoft), Dipl.-Ing. Bernd Kuntze (Franz Haas Waffel- und Kek...
Michael Jäger (Techsoft), Dipl.-Ing. Bernd Kuntze (Franz Haas Waffel- und Kek...Michael Jäger (Techsoft), Dipl.-Ing. Bernd Kuntze (Franz Haas Waffel- und Kek...
Michael Jäger (Techsoft), Dipl.-Ing. Bernd Kuntze (Franz Haas Waffel- und Kek...Praxistage
 
IT-Provider-Management: So behalten Sie die Hebel in der Hand
IT-Provider-Management: So behalten Sie die Hebel in der HandIT-Provider-Management: So behalten Sie die Hebel in der Hand
IT-Provider-Management: So behalten Sie die Hebel in der HandGernot Sauerborn
 
Toolauswahl im IT Service Management – eine rationale Bauchentscheidung?
Toolauswahl im IT Service Management – eine rationale Bauchentscheidung?Toolauswahl im IT Service Management – eine rationale Bauchentscheidung?
Toolauswahl im IT Service Management – eine rationale Bauchentscheidung?Digicomp Academy AG
 
FMK2014: Verband der FileMaker Entwickler by Holger Darjus
FMK2014: Verband der FileMaker Entwickler by Holger DarjusFMK2014: Verband der FileMaker Entwickler by Holger Darjus
FMK2014: Verband der FileMaker Entwickler by Holger DarjusVerein FM Konferenz
 
[ecspw2013] Session Sales 02: ecspand Vertragsmanagement
[ecspw2013] Session Sales 02: ecspand Vertragsmanagement[ecspw2013] Session Sales 02: ecspand Vertragsmanagement
[ecspw2013] Session Sales 02: ecspand Vertragsmanagementd.velop international
 
Agilität und Qualitätskriterien in der Softwareentwicklung
Agilität und Qualitätskriterien in der SoftwareentwicklungAgilität und Qualitätskriterien in der Softwareentwicklung
Agilität und Qualitätskriterien in der Softwareentwicklungrico.fritzsche
 
3d konfigurationswerkzeuge-design
3d konfigurationswerkzeuge-design3d konfigurationswerkzeuge-design
3d konfigurationswerkzeuge-designVisCircle
 

Más contenido relacionado

Ähnlich wie FMK2022 Dokumentation - Thomas Hirt

Hybrides Projektmanagement – Wie Sie agile und klassische Methoden verbinden
Hybrides Projektmanagement – Wie Sie agile und klassische Methoden verbindenHybrides Projektmanagement – Wie Sie agile und klassische Methoden verbinden
Hybrides Projektmanagement – Wie Sie agile und klassische Methoden verbindenAchim Schmidt-Sibeth
 
2023-08_RPA-ChapterEvent_Überprüfung-der-Codequalität
2023-08_RPA-ChapterEvent_Überprüfung-der-Codequalität2023-08_RPA-ChapterEvent_Überprüfung-der-Codequalität
2023-08_RPA-ChapterEvent_Überprüfung-der-CodequalitätFotiosKaramitsos
 
Ausschreibungsplattform für Software und IT-Services
Ausschreibungsplattform für Software und IT-ServicesAusschreibungsplattform für Software und IT-Services
Ausschreibungsplattform für Software und IT-ServicesAndreas Pörtner
 
MediaInfo: Git DVCS & Requirements Management InfoDay@Intland Software
MediaInfo: Git DVCS & Requirements Management InfoDay@Intland Software MediaInfo: Git DVCS & Requirements Management InfoDay@Intland Software
MediaInfo: Git DVCS & Requirements Management InfoDay@Intland Software Intland Software GmbH
 
Welche Prototyping-Methode passt zu meinen Anforderungen? – World Usability D...
Welche Prototyping-Methode passt zu meinen Anforderungen? – World Usability D...Welche Prototyping-Methode passt zu meinen Anforderungen? – World Usability D...
Welche Prototyping-Methode passt zu meinen Anforderungen? – World Usability D...Lena Königsberger
 
Produktdatenmanagement mit Neo4j - Andreas Weber, semantic pdm
Produktdatenmanagement mit Neo4j - Andreas Weber, semantic pdmProduktdatenmanagement mit Neo4j - Andreas Weber, semantic pdm
Produktdatenmanagement mit Neo4j - Andreas Weber, semantic pdmNeo4j
 
Wie Web und Mobile-Technologien Service- und Vertriebsprozesse optimieren
Wie Web und Mobile-Technologien Service- und Vertriebsprozesse optimierenWie Web und Mobile-Technologien Service- und Vertriebsprozesse optimieren
Wie Web und Mobile-Technologien Service- und Vertriebsprozesse optimierenManuel Pistner
 
Responsive Multichannel-E-Commerce: Vorgehen und Learnings aus der Praxis
Responsive Multichannel-E-Commerce: Vorgehen und Learnings aus der PraxisResponsive Multichannel-E-Commerce: Vorgehen und Learnings aus der Praxis
Responsive Multichannel-E-Commerce: Vorgehen und Learnings aus der PraxisRoberto Rizzi
 
Erschließen Sie neue Geschäfts­­chancen durch optimierte, automatisierte und ...
Erschließen Sie neue Geschäfts­­chancen durch optimierte, automatisierte und ...Erschließen Sie neue Geschäfts­­chancen durch optimierte, automatisierte und ...
Erschließen Sie neue Geschäfts­­chancen durch optimierte, automatisierte und ...Wolfgang Schmidt
 
Process Automation Forum Vienna, Raiffeisen
Process Automation Forum Vienna, RaiffeisenProcess Automation Forum Vienna, Raiffeisen
Process Automation Forum Vienna, Raiffeisencamunda services GmbH
 
Firmenvorstellung der Navigate AG
Firmenvorstellung der Navigate AGFirmenvorstellung der Navigate AG
Firmenvorstellung der Navigate AGRoland Löffler
 
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
 
Community Camp 2016: Die richtige Forensoftware
Community Camp 2016: Die richtige ForensoftwareCommunity Camp 2016: Die richtige Forensoftware
Community Camp 2016: Die richtige ForensoftwareFranziska Hauck
 
DACHNUG50 MX Digitalisierung - DACHNUG Vortrag.pdf
DACHNUG50 MX Digitalisierung - DACHNUG Vortrag.pdfDACHNUG50 MX Digitalisierung - DACHNUG Vortrag.pdf
DACHNUG50 MX Digitalisierung - DACHNUG Vortrag.pdfDNUG e.V.
 
pm workshop - Microsoft SureStep
pm workshop - Microsoft SureSteppm workshop - Microsoft SureStep
pm workshop - Microsoft SureStepGPMS
 
UX & AGILE vom SCRUM Stammtisch Graz
UX & AGILE vom SCRUM Stammtisch GrazUX & AGILE vom SCRUM Stammtisch Graz
UX & AGILE vom SCRUM Stammtisch GrazHAnnes Robier
 
Roadshow 2018 - Camunda in der Praxis: So geht's
Roadshow 2018 - Camunda in der Praxis: So geht'sRoadshow 2018 - Camunda in der Praxis: So geht's
Roadshow 2018 - Camunda in der Praxis: So geht'scamunda services GmbH
 
agentbase AG - Digitalisierung von Geschäftsprozessen & -regeln
agentbase AG - Digitalisierung von Geschäftsprozessen & -regelnagentbase AG - Digitalisierung von Geschäftsprozessen & -regeln
agentbase AG - Digitalisierung von Geschäftsprozessen & -regelnagentbase AG
 
Einführung der Adobe Marketing Cloud bei Credit Suisse
Einführung der Adobe Marketing Cloud bei Credit SuisseEinführung der Adobe Marketing Cloud bei Credit Suisse
Einführung der Adobe Marketing Cloud bei Credit SuisseUnic
 

Ähnlich wie FMK2022 Dokumentation - Thomas Hirt (20)

Hybrides Projektmanagement – Wie Sie agile und klassische Methoden verbinden
Hybrides Projektmanagement – Wie Sie agile und klassische Methoden verbindenHybrides Projektmanagement – Wie Sie agile und klassische Methoden verbinden
Hybrides Projektmanagement – Wie Sie agile und klassische Methoden verbinden
 
2023-08_RPA-ChapterEvent_Überprüfung-der-Codequalität
2023-08_RPA-ChapterEvent_Überprüfung-der-Codequalität2023-08_RPA-ChapterEvent_Überprüfung-der-Codequalität
2023-08_RPA-ChapterEvent_Überprüfung-der-Codequalität
 
Ausschreibungsplattform für Software und IT-Services
Ausschreibungsplattform für Software und IT-ServicesAusschreibungsplattform für Software und IT-Services
Ausschreibungsplattform für Software und IT-Services
 
MediaInfo: Git DVCS & Requirements Management InfoDay@Intland Software
MediaInfo: Git DVCS & Requirements Management InfoDay@Intland Software MediaInfo: Git DVCS & Requirements Management InfoDay@Intland Software
MediaInfo: Git DVCS & Requirements Management InfoDay@Intland Software
 
Welche Prototyping-Methode passt zu meinen Anforderungen? – World Usability D...
Welche Prototyping-Methode passt zu meinen Anforderungen? – World Usability D...Welche Prototyping-Methode passt zu meinen Anforderungen? – World Usability D...
Welche Prototyping-Methode passt zu meinen Anforderungen? – World Usability D...
 
Produktdatenmanagement mit Neo4j - Andreas Weber, semantic pdm
Produktdatenmanagement mit Neo4j - Andreas Weber, semantic pdmProduktdatenmanagement mit Neo4j - Andreas Weber, semantic pdm
Produktdatenmanagement mit Neo4j - Andreas Weber, semantic pdm
 
Wie Web und Mobile-Technologien Service- und Vertriebsprozesse optimieren
Wie Web und Mobile-Technologien Service- und Vertriebsprozesse optimierenWie Web und Mobile-Technologien Service- und Vertriebsprozesse optimieren
Wie Web und Mobile-Technologien Service- und Vertriebsprozesse optimieren
 
Responsive Multichannel-E-Commerce: Vorgehen und Learnings aus der Praxis
Responsive Multichannel-E-Commerce: Vorgehen und Learnings aus der PraxisResponsive Multichannel-E-Commerce: Vorgehen und Learnings aus der Praxis
Responsive Multichannel-E-Commerce: Vorgehen und Learnings aus der Praxis
 
Erschließen Sie neue Geschäfts­­chancen durch optimierte, automatisierte und ...
Erschließen Sie neue Geschäfts­­chancen durch optimierte, automatisierte und ...Erschließen Sie neue Geschäfts­­chancen durch optimierte, automatisierte und ...
Erschließen Sie neue Geschäfts­­chancen durch optimierte, automatisierte und ...
 
Process Automation Forum Vienna, Raiffeisen
Process Automation Forum Vienna, RaiffeisenProcess Automation Forum Vienna, Raiffeisen
Process Automation Forum Vienna, Raiffeisen
 
Firmenvorstellung der Navigate AG
Firmenvorstellung der Navigate AGFirmenvorstellung der Navigate AG
Firmenvorstellung der Navigate AG
 
FMK2022 CustomFunctions Fuer Einsteiger - Thomas Hirt
FMK2022 CustomFunctions Fuer Einsteiger - Thomas HirtFMK2022 CustomFunctions Fuer Einsteiger - Thomas Hirt
FMK2022 CustomFunctions Fuer Einsteiger - Thomas Hirt
 
16021 conect papers
16021 conect papers16021 conect papers
16021 conect papers
 
Community Camp 2016: Die richtige Forensoftware
Community Camp 2016: Die richtige ForensoftwareCommunity Camp 2016: Die richtige Forensoftware
Community Camp 2016: Die richtige Forensoftware
 
DACHNUG50 MX Digitalisierung - DACHNUG Vortrag.pdf
DACHNUG50 MX Digitalisierung - DACHNUG Vortrag.pdfDACHNUG50 MX Digitalisierung - DACHNUG Vortrag.pdf
DACHNUG50 MX Digitalisierung - DACHNUG Vortrag.pdf
 
pm workshop - Microsoft SureStep
pm workshop - Microsoft SureSteppm workshop - Microsoft SureStep
pm workshop - Microsoft SureStep
 
UX & AGILE vom SCRUM Stammtisch Graz
UX & AGILE vom SCRUM Stammtisch GrazUX & AGILE vom SCRUM Stammtisch Graz
UX & AGILE vom SCRUM Stammtisch Graz
 
Roadshow 2018 - Camunda in der Praxis: So geht's
Roadshow 2018 - Camunda in der Praxis: So geht'sRoadshow 2018 - Camunda in der Praxis: So geht's
Roadshow 2018 - Camunda in der Praxis: So geht's
 
agentbase AG - Digitalisierung von Geschäftsprozessen & -regeln
agentbase AG - Digitalisierung von Geschäftsprozessen & -regelnagentbase AG - Digitalisierung von Geschäftsprozessen & -regeln
agentbase AG - Digitalisierung von Geschäftsprozessen & -regeln
 
Einführung der Adobe Marketing Cloud bei Credit Suisse
Einführung der Adobe Marketing Cloud bei Credit SuisseEinführung der Adobe Marketing Cloud bei Credit Suisse
Einführung der Adobe Marketing Cloud bei Credit Suisse
 

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 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
 
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 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
 
FMK2019 FileMaker – das Lizenzmodell Alles was Sie wissen wollen by Klemens ...
FMK2019 FileMaker – das Lizenzmodell Alles was Sie wissen wollen by Klemens  ...FMK2019 FileMaker – das Lizenzmodell Alles was Sie wissen wollen by Klemens  ...
FMK2019 FileMaker – das Lizenzmodell Alles was Sie wissen wollen by Klemens ...Verein FM Konferenz
 

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 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
 
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 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
 
FMK2019 FileMaker – das Lizenzmodell Alles was Sie wissen wollen by Klemens ...
FMK2019 FileMaker – das Lizenzmodell Alles was Sie wissen wollen by Klemens  ...FMK2019 FileMaker – das Lizenzmodell Alles was Sie wissen wollen by Klemens  ...
FMK2019 FileMaker – das Lizenzmodell Alles was Sie wissen wollen by Klemens ...
 

FMK2022 Dokumentation - Thomas Hirt

  • 1. www.filemaker-konferenz.com FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Dokumentation zur Planung, Ausführung und Wartung von FileMaker-Lösungen Thomas Hirt Dokumentation
  • 2. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Dokumentation – Thomas Hirt Über den Sprecher • Studium der Biochemie und des Software Engineering • betreut seit 25+ Jahren Kleinunternehmen und Privatkunden in Informatikbelangen • Geschäftsführer und Inhaber der Tek:Guides GmbH • Windows Umgebungen als Hauptbetätigungsfeld • Einsatz von FileMaker als Entwicklungsplattform seit 2009
  • 3. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Dokumentation – Thomas Hirt Inhalt • Zweck und Arten von Dokumentation • Pro und Contra • Grenzen der Dokumentation • Requirements Engineering • eine häufig unterschätzte Dokumentation • Tipp: Mockups als Gesprächsbasis erstellen • Aufgabenliste & Stundenliste • In-Code Dokumentation • Deployment-Dokumentation • Visualisierung von Struktur und Abläufen
  • 4. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Dokumentation – Thomas Hirt Zweck und Arten von Dokumentation Zweck Art Requirements Engineering • User Stories • diverse Diagrammarten • Mockups • Prototypen Vereinbarungen mit dem Endkunden • Lastenheft • Pflichtenheft Unterstützung von Entwicklung und Software-Unterhalt • Aufgabenliste, Stundenliste • in-Code Dokumentation • Datenbankschema • Diagramme zur Visualisierung von Struktur und Abläufen der Lösung (z.B. UML) Unterstützung von Administratoren bei Installation und Betrieb • Installationsanleitung • Deployment-Diagramm • Diagramme zur Visualisierung der Interaktion der Lösung mit weiteren Diensten/Geräten (z.B. UML) Bedienungsanleitung für Benutzer Benutzerdokumentation
  • 5. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Dokumentation – Thomas Hirt Zweck und Arten von Dokumentation Zweck Art Requirements Engineering • User Stories • diverse Diagrammarten • Mockups • Prototypen Vereinbarungen mit dem Endkunden • Lastenheft • Pflichtenheft Unterstützung von Entwicklung und Software-Unterhalt • Aufgabenliste, Stundenliste • in-Code Dokumentation • Datenbankschema • Diagramme zur Visualisierung von Struktur und Abläufen der Lösung (z.B. UML) Unterstützung von Administratoren bei Installation und Betrieb • Installationsanleitung • Deployment-Diagramm • Diagramme zur Visualisierung der Interaktion der Lösung mit weiteren Diensten/Geräten (z.B. UML) Bedienungsanleitung für Benutzer Benutzerdokumentation
  • 6. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Dokumentation – Thomas Hirt Contra Pro und Contra Pro • mindert den Gewinn • behindert den Projektfortschritt • bei einigen Entwicklern unbeliebt • fördert Kundenzufriedenheit • verbessert Kommunikation mit dem Kunden • bringt Struktur in Projektverlauf • unabdingbar für Entwicklung im Team • unabdingbar für längerfristige Wartbarkeit
  • 7. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Dokumentation – Thomas Hirt Grenzen der Dokumentation • Abwägung der Notwendigkeit • Was ist wirklich wichtig und nötig? • Was ist wünschbar? • Was kann und darf weggelassen werden? • Abwägung der Kosten • Aufwand für Doku in Preiskalkulation einbeziehen • Aufwand für Doku darf Projekt nicht unrentabel machen • Fehlen von Doku darf Lösung später nicht unwartbar machen
  • 8. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Dokumentation – Thomas Hirt Requirements Engineering (eine häufig unterschätzte Dokumentation) • Requirements Engineering ist v.a für folgende Fälle äusserst wichtig: • "Custom Apps" • Customizations (kundenspezifische Anpassungen) • Neuentwicklungen von Standardlösungen • Benutzer und Entwickler stellen sich unter einem bestimmten Begriff häufig unterschiedliche Dinge vor. • "Aber es ist doch logisch, dass wir das so gemeint haben..." • "Aber technisch ist das nur so und so ausführbar..." • Benutzer kommen am Anfang eines Projektes häufig in eine "Weihnachts- wunschlisten-Stimmung" • "Wir schreiben einfach alles auf, was wir auch noch brauchen könnten." • hinführen des Kunden zu einem gesunden Verhältnis von Aufwand und Ertrag (80/20-Regel)
  • 9. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Dokumentation – Thomas Hirt Requirements Engineering (eine häufig unterschätzte Dokumentation) • Wie arbeitet der Kunde genau? • den Kunden dazu "nötigen", seine Abläufe in allen Untervarianten genau wiederzugeben • Abläufe gemeinsam mit dem Kunden dokumentieren • Welche Abläufe sollen möglichst unverändert abgebildet werden? • Welche Abläufe sollen durch die Software-Lösung auf neue Art unterstützt werden? (Redesign der Abläufe) • Bereitschaft des Kunden, sich einzubringen und Zeit zu investieren ist essentiell. • Fehlende Bereitschaft des Kunden, sich mit der neuen Lösung auseinanderzusetzen, ist ein frühes Warnsignal, das bei Einführung der Lösung Probleme und Streitigkeiten drohen.
  • 10. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Dokumentation – Thomas Hirt User Stories • Erfassung aller Abläufe, die mit einer Software ausgeführt werden sollen, als Beschreibung in Textform, als kleine "Geschichte". • Falls es unterschiedliche Typen von Benutzern gibt, müssen die Abläufe zusätzlich pro Art von Benutzer erfasst werden. • Empfehlung: Überarbeitung in mehreren Durchläufen • erstellen einer ersten Version (evtl. gemeinsam) • erstellen einer Liste von Rückfragen durch die Entwickler für die zukünftigen Benutzer • überdenken der Abläufe durch zukünftige Benutzer • Haben wir etwas vergessen? • Brauchen wir etwas eigentlich gar nicht?
  • 11. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Dokumentation – Thomas Hirt User Stories Benutzer- Kategorie Geschichte Details Wichtigkeit Sekretariat Ich erfasse Kundendaten mit vielen Zusatzangaben. Ich schaue diese Kundendaten in einer Detailansicht und in einer Listenübersicht an. In beiden Ansichten muss ich auch Daten ausdrucken und exportieren können. Die Kundendaten müssen insb. umfassen: Adressdaten, Kontaktdaten, Tätigkeitsfelder, Einteilung in Rabattkategorien, regelmässige Korrespondenzen 1 Sekretariat Über die Ansicht der Kundendaten gelange ich mit 1-2 Klicks auf die Ansicht zu den Angeboten, Aufträgen und Rechnungen des jeweiligen Kunden. Rückweg von Angeboten, Aufträgen, Rechnungen zurück zum Kunden muss einfach sein. 1 Geschäftsleitung Ich rufe regelmässig die tagesaktuellen Umsatzzahlen des aktuellen Geschäftsjahres auf. Allnächtliche Berechnung der aktuellen Umsatzzahlen ist erwünscht. 2 Administrator Es gibt eine Übersicht über fehlgeschlagene Logins, welche ich einmal pro Woche kontrolliere. Art des Fehlers, genaue Zeit und Angaben zum Quellsystem sind enthalten, konkret: ... 3
  • 12. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Dokumentation – Thomas Hirt Mockups fürs Requirements Engineering
  • 13. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Dokumentation – Thomas Hirt Aufgabenliste mit/ohne Stundenliste • bringt Struktur in tägliche Arbeit der Umsetzung • Aufteilung der Aufgaben über die Zeit und/oder über mehrere Entwickler möglich • Tracking des Arbeitsfortschritts und der geleisteten Arbeitszeit auf beliebig einfachem oder komplexem Level, je nach Bedarf • Form der Aufgabenliste frei für eigenen Arbeitsstil wählbar • mit oder ohne formeller Methode (z.B. Kanban, Scrum, usw.) • physisch als Post-it Zettel auf Board im Büro • Tool-Unterstützung (z.B. Trello, Microsoft 365 Planner, Nextcloud, usw.) • usw. • Möglichkeit des Trackings, ob voraussichtliche Einnahmen und geleisteter Aufwand im richtigen Verhältnis stehen
  • 14. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Dokumentation – Thomas Hirt Aufgabenliste mit/ohne Stundenliste
  • 15. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Dokumentation – Thomas Hirt Aufgabenliste mit/ohne Stundenliste
  • 16. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Dokumentation – Thomas Hirt Stundenliste als Instrument für Führung und Verbesserung der Kalkulation 270 37% 185 26% 213 29% 60 8% Entwicklung (vereinbart) Entwicklung (Änderungen) Testing/Debugging Customer Interaction
  • 17. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Dokumentation – Thomas Hirt Stundenliste als Instrument für Führung und Verbesserung der Kalkulation 95 17% 295 52% 63 11% 113 20% Adressverwaltung Auftragsbearbeitung Benutzer- & Rechteverwaltung nicht funktionale Anforderungen
  • 18. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Dokumentation – Thomas Hirt In-Code Dokumentation • Voraussetzung für schnelles Verständnis von Skripten, Berechnungen und Custom Functions, kann auch FileMaker Datenbankschemas einfacher lesbar machen • hilft sowohl bei Entwicklung im Team wie auch bei Wartung einer eigenen Lösung, die man nicht jeden Tag bearbeitet • "Was hab ich da gemacht?" • "Wieso macht er das so?" • mein 2 wichtigsten Tipps: • kleine Code-Geschichten erzählen! • lieber etwas zu ausführlich • eine Variante, das auf die Spitze zu treiben: Documentation-Driven Development
  • 19. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Dokumentation – Thomas Hirt In-Code Dokumentation Case ( Artikel::gl_temp_startdatum = "" and Verkaufszahlen__Artikel::gl_temp_startdat = ""; MonthName ( Verkaufszahlen__Artikel::art_startdat ) & " " & Year ( Verkaufszahlen__Artikel::art_startdat ); Artikel::gl_temp_startdatum ≠ "" and Verkaufszahlen__Artikel::gl_temp_startdat = ""; If ( Artikel::gl_temp_startdatum < Verkaufszahlen__Artikel::art_startdat; MonthName ( Verkaufszahlen__Artikel::art_startdat ) & " " & Year ( Verkaufszahlen__Artikel::art_startdat ); MonthName ( Artikel::gl_temp_startdatum ) & " " & Year ( Artikel::gl_temp_startdatum )); Artikel::gl_temp_startdatum = "" and Verkaufszahlen__Artikel::gl_temp_startdat ≠ ""; If ( Verkaufszahlen__Artikel::gl_temp_startdat < Verkaufszahlen__Artikel::art_startdat; MonthName ( Verkaufszahlen__Artikel::art_startdat ) & " " & Year ( Verkaufszahlen__Artikel::art_startdat ); MonthName ( Verkaufszahlen__Artikel::gl_temp_startdat ) & " " & Year ( Verkaufszahlen__Artikel::gl_temp_startdat ) ); Artikel::gl_temp_startdatum ≠ "" and Verkaufszahlen__Artikel::gl_temp_startdat ≠ ""; If ( Verkaufszahlen__Artikel::gl_temp_startdat < Verkaufszahlen__Artikel::art_startdat; MonthName ( Verkaufszahlen__Artikel::art_startdat ) & " " & Year ( Verkaufszahlen__Artikel::art_startdat ); MonthName ( Verkaufszahlen__Artikel::gl_temp_startdat ) & " " & Year ( Verkaufszahlen__Artikel::gl_temp_startdat )); )& " ....... " & If ( Artikel::gl_temp_enddatum = ""; MonthName ( Date ( Month ( Get ( CurrentDate ) ) - 1; Day ( Get ( CurrentDate ) ); Year ( Get ( CurrentDate ) )) ) & " " & If( Month ( Get ( CurrentDate ) ) = 1; Year ( Get ( CurrentDate ) )-1; Year ( Get ( CurrentDate ) )); If ( Year ( Artikel::gl_temp_enddatum ) & Right ( 0 & Month ( Artikel::gl_temp_enddatum ); 2) ≥ Year ( Get ( CurrentDate ) ) & Right ( 0 & Month ( Get ( CurrentDate ) ); 2); MonthName ( Date ( Month ( Get ( CurrentDate ) ) - 1; Day ( Get ( CurrentDate ) ); Year ( Get ( CurrentDate ) )) ) & " " & Year ( Get ( CurrentDate ) ); MonthName ( Artikel::gl_temp_enddatum ) & " " & Year ( Artikel::gl_temp_enddatum ) ))
  • 20. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Dokumentation – Thomas Hirt In-Code Dokumentation (Custom Functions) /* * ===================================================================== * file.isLocal ( ) * * RETURNS: * - TRUE if the active FileMaker database file is * located on the local machine. * - FALSE if the active FileMaker file is either * hosted or even open on the server directly * * GLOBAL VARIABLES SET: NONE * * PURPOSE: determining whether a FileMaker file is located on the * local client machine * * ERROR RETURN VALUES: NONE * DEPENDENCIES: NONE * * AUTHOR: Thomas Hirt * NOTES: * * ===================================================================== * VERSION 1.00, 29.04.2014 * - initial version * * ===================================================================== */ /* * ===================================================================== * file.isLocal ( ) * * RETURNS: * - TRUE if the active FileMaker database file is * located on the local machine. * - FALSE if the active FileMaker file is either * hosted or even open on the server directly * * GLOBAL VARIABLES SET: NONE * * PURPOSE: determining whether a FileMaker file is located on the * local client machine * * ERROR RETURN VALUES: NONE * DEPENDENCIES: NONE * * AUTHOR: Thomas Hirt * NOTES: * * ===================================================================== * VERSION 1.00, 29.04.2014 * - initial version * * ===================================================================== */ Case ( // The file is local and network sharing is switched off. Get ( MultiUserState ) = 0; True; // The file is local but network sharing is turned on. Get ( MultiUserState ) = 1; True; // The file is hosted on either FileMaker Server or FileMaker Pro Get ( MultiUserState ) > 1; False )
  • 21. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Dokumentation – Thomas Hirt In-Code Dokumentation (Custom Functions) Case ( // The file is local and network sharing is switched off. Get ( MultiUserState ) = 0; True; // The file is local but network sharing is turned on. Get ( MultiUserState ) = 1; True; // The file is hosted on either FileMaker Server or FileMaker Pro Get ( MultiUserState ) > 1; False ) /* * ===================================================================== * file.isLocal ( ) * * RETURNS: * - TRUE if the active FileMaker database file is * located on the local machine. * - FALSE if the active FileMaker file is either * hosted or even open on the server directly * * GLOBAL VARIABLES SET: NONE * * PURPOSE: determining whether a FileMaker file is located on the * local client machine * * ERROR RETURN VALUES: NONE * DEPENDENCIES: NONE * * AUTHOR: Thomas Hirt * NOTES: * * ===================================================================== * VERSION 1.00, 29.04.2014 * - initial version * * ===================================================================== */ Case ( // The file is local and network sharing is switched off. Get ( MultiUserState ) = 0; True; // The file is local but network sharing is turned on. Get ( MultiUserState ) = 1; True; // The file is hosted on either FileMaker Server or FileMaker Pro Get ( MultiUserState ) > 1; False )
  • 22. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Dokumentation – Thomas Hirt In-Code Dokumentation (Documentation-Driven Development eines Skriptes) #prevent users from aborting the script ################################################################# #check if membercard has expired ################################################################# ################################################################# #membercard has expired ################################################################# ################################################################# #set global fields and variables ################################################################# ################################################################# #open layout to define members associated with letter template ################################################################# #make sure there are no unstored records before the layout change #show all selected members #sort records #prevent users from aborting the script Allow User Abort [ Off ] Freeze Window ##################################################################### #check if membercard has expired ##################################################################### If [ not IsEmpty ( aMembercards::useAllowedUntil ) and ( aMembercards::useAllowedUntil < Get ( CurrentDate ) ) ] ##################################################################### #membercard has expired ##################################################################### Set Variable [ $json.msg.params; Value:JSONSetElement ( "" ; "type" ; "error" ; JSONString ) ] Set Variable [ $json.msg.params; Value:JSONSetElement ( $json.msg.params ; "title" ; "Mitgliederausweis abgelaufen" ; JSONString ) ] Set Variable [ $json.msg.params; Value:JSONSetElement ( $json.msg.params ; "message" ; "Die Gültigkeit dieser Mitgliederkarte ist abgelaufen. Mitglieder für die Zustellung können nicht mehr ausgewählt werden." ; JSONString ) ] Perform Script [ “mbs.dialog.simple ( JSON: +title ; +message ; -type )”; Parameter: $json.msg.params ] Else ##################################################################### #set global fields and variables ##################################################################### Set Field [ GLOBALS::MEMBERCARD.ID; aMembercards::id ] Set Field [ GLOBALS::MEMBERCARD.VALID.THROUGH; Right ( "0" & aMembercards::validThroughMonth ; 2 ) & "." & aMembercards::validThroughYear ] Set Field [ GLOBALS::MEMBERCARD.USE.DISTROGROUPS; aMembercards::useDistributionGroups ] ###################################################################### #open layout to define members associated with letter template ###################################################################### #make sure that there are no unstored records before the layout change Commit Records/Requests [ No dialog ] If [ GLOBALS::MEMBERCARD.USE.DISTROGROUPS ] Go to Layout [ “Mitgliederausweise.Versandgruppen” (aDistributionGroups); Animation: Flip from Left ] Set Field [ aDistributionGroups::RESTRICTOR.ID; GLOBALS::MEMBERCARD.ID ] Else Go to Layout [ “Mitgliederausweise.Mitglieder” (aMembers); Animation: Flip from Left ] Set Field [ aMembers::RESTRICTOR.ID; GLOBALS::MEMBERCARD.ID ] End If #show all selected members Perform Script [ “global.filter.fields.clear”; Parameter: "" ] Set Field [ GLOBALS::FILTER.BOOL.3; 1 ] Perform Script [ “filtering.dispatcher”; Parameter: "" ] #sort records Perform Script [ “sorting.dispatcher ( List: columnNr ; resort )”; Parameter: List ( 4 ; 1 ) ] End If
  • 23. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Dokumentation – Thomas Hirt In-Code Dokumentation (Documentation-Driven Development eines Skriptes) #prevent users from aborting the script ##################################################################### #check if membercard has expired ##################################################################### If [ ] ##################################################################### #membercard has expired ##################################################################### Else ##################################################################### #set global fields and variables ##################################################################### ###################################################################### #open layout to define members associated with letter template ###################################################################### #make sure that there are no unstored records before the layout change #show all selected members #sort records End If #prevent users from aborting the script Allow User Abort [ Off ] Freeze Window ##################################################################### #check if membercard has expired ##################################################################### If [ not IsEmpty ( aMembercards::useAllowedUntil ) and ( aMembercards::useAllowedUntil < Get ( CurrentDate ) ) ] ##################################################################### #membercard has expired ##################################################################### Set Variable [ $json.msg.params; Value:JSONSetElement ( "" ; "type" ; "error" ; JSONString ) ] Set Variable [ $json.msg.params; Value:JSONSetElement ( $json.msg.params ; "title" ; "Mitgliederausweis abgelaufen" ; JSONString ) ] Set Variable [ $json.msg.params; Value:JSONSetElement ( $json.msg.params ; "message" ; "Die Gültigkeit dieser Mitgliederkarte ist abgelaufen. Mitglieder für die Zustellung können nicht mehr ausgewählt werden." ; JSONString ) ] Perform Script [ “mbs.dialog.simple ( JSON: +title ; +message ; -type )”; Parameter: $json.msg.params ] Else ##################################################################### #set global fields and variables ##################################################################### Set Field [ GLOBALS::MEMBERCARD.ID; aMembercards::id ] Set Field [ GLOBALS::MEMBERCARD.VALID.THROUGH; Right ( "0" & aMembercards::validThroughMonth ; 2 ) & "." & aMembercards::validThroughYear ] Set Field [ GLOBALS::MEMBERCARD.USE.DISTROGROUPS; aMembercards::useDistributionGroups ] ###################################################################### #open layout to define members associated with letter template ###################################################################### #make sure that there are no unstored records before the layout change Commit Records/Requests [ No dialog ] If [ GLOBALS::MEMBERCARD.USE.DISTROGROUPS ] Go to Layout [ “Mitgliederausweise.Versandgruppen” (aDistributionGroups); Animation: Flip from Left ] Set Field [ aDistributionGroups::RESTRICTOR.ID; GLOBALS::MEMBERCARD.ID ] Else Go to Layout [ “Mitgliederausweise.Mitglieder” (aMembers); Animation: Flip from Left ] Set Field [ aMembers::RESTRICTOR.ID; GLOBALS::MEMBERCARD.ID ] End If #show all selected members Perform Script [ “global.filter.fields.clear”; Parameter: "" ] Set Field [ GLOBALS::FILTER.BOOL.3; 1 ] Perform Script [ “filtering.dispatcher”; Parameter: "" ] #sort records Perform Script [ “sorting.dispatcher ( List: columnNr ; resort )”; Parameter: List ( 4 ; 1 ) ] End If
  • 24. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Dokumentation – Thomas Hirt Deployment-Dokumentation • soll nicht auf reine Entwickler fokussiert sein • IT-Administratoren und FileMaker-Entwickler als Zielgruppe • ist nötig und sinnvoll, wenn eine Lösung mehr als nur den reinen FileMaker Server und FileMaker Client benötigt • soll involvierte Geräte, Shares, Dienste, evtl. spezielle Zugriffsarten und Konti enthalten • kann in beliebiger Kombination die Struktur des Deployments und/oder das Zusammenspiel der Komponenten nach dem Deplyoment erklären.
  • 25. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Dokumentation – Thomas Hirt Visualisierung von Struktur und Abläufen • ist dort sinnvoll, wo... • ... Struktur und Abläufe komplex sind. • ... reine in-Code Dokumentation nicht ausreicht. • ... erst erheblicher Einarbeitungsaufwand ein Verständnis der übergeordneten Strukturen und Abläufe erlaubt. • unterschiedliche Diagrammarten mit/ohne Tool-Unterstützung stehen zur Verfügung • meine Tipps: • UML Sequenz-Diagramm • UML Deployment-Diagramm • Diagramme durch Texte ergänzen, wo sinnvoll
  • 26. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Dokumentation – Thomas Hirt Sequenzdiagramm
  • 27. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Dokumentation – Thomas Hirt Deployment Diagramm
  • 28. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Dokumentation – Thomas Hirt Q & R Vielen Dank für Ihr Interesse!
  • 29. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Dokumentation – Thomas Hirt Links auf Tools • Erstellung von Mockups • https://balsamiq.com/ • Microsoft Visio • u.v.m • Erstellung von UML-Diagrammen • https://www.visual-paradigm.com (Community Edition, Modeler Edition) • Microsoft Visio • u.v.m
  • 30. FileMaker Konferenz | Hamburg | 22.-24. Juni 2022 Dokumentation – Thomas Hirt Vielen Dank unseren Sponsoren