Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

FMK2017 - Modularity in FileMaker 16 by Russell Watson

862 views

Published on

- Modularität
- Kartenfenster
- Wie man modulare Baukasten baut
- Gibt's keine bessere Methode?

Published in: Technology
  • Be the first to comment

  • Be the first to like this

FMK2017 - Modularity in FileMaker 16 by Russell Watson

  1. 1. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 www.filemaker-konferenz.com New Possibilities Neue Möglichkeiten and more und mehr..... Russell Watson "MrWatson" Modularity Modularität in fm16
  2. 2. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Modularität in fm16 von MrWatson Russell Watson “MrWatson” * The FileMaker Certified Developer logo is a trademark of FileMaker, Inc. in the United States and other countries. * Thanks to Klemens Kegebein of the K&K Verlag for permission to use his poster image BA Hons Media Studies & German Sussex University, UK BSc Informatik Freie Universität, Berlin mrwatson-gbs
  3. 3. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Modularität in fm16 von MrWatson Menu 1.Modularity Modularität 2.Card Windows Kartenfenster 3.How to make modular widgets 
 Wie man modulare Baukasten baut 4.Isn't there a better way to do this? 
 Gibt's keine bessere Methode? 5.One more thing… One more thing… 6.Question time Fragen / Antworten / Diskussion
  4. 4. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Modularität in fm16 von MrWatson Modularity Modularität
  5. 5. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Modularität in fm16 von MrWatson Modularity Modularität • What is a module? Was ist ein Modul? • Building block Baustein • Component Komponent • Function Funktion Function Component Black Box • Single Simple Unit eigenständige einfache Einheit • Separate separat • Independent unabhängig • Interfaces Schnittstellen pp
  6. 6. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Modularität in fm16 von MrWatson What possibilities does fm16 offer? Welche Möglichkeiten bietet fm16 an? Modularity Modularität
  7. 7. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Modularität in fm16 von MrWatson Add a module in FileMaker 15 FileDataCFScriptsLayouts File B (Module) File A (Your App) f1 f2 f3 A 1 ? B 2 ! C 3 @ ScriptAPI f( X ) f( X ) Script calls Traditional ⟺ parameters Layout ext. File Ref. / Static Data Source BUILD IN Scripts
  8. 8. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Modularität in fm16 von MrWatson Add a module in FileMaker 16 FileDataCFScriptsLayouts File B (Module) Dynamic Data SourceFile A (Your App) f1 f2 f3 A 1 ? B 2 ! C 3 @ ScriptAPI f( X ) f( X ) Script calls JSON Params Card windows Trend: Avoid CFs → sharability ↑ If possible data via JSON params just call
  9. 9. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Modularität in fm16 von MrWatson fm16 = Powerful modular functionality! FileDataCFScriptsLayouts File B (Module) Dynamic Data SourceFile A (Your App) Script API Script calls Card windows
  10. 10. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Modularität in fm16 von MrWatson Card Windows Kartenfenster Layout * Cal-Picker from John Renfrew
  11. 11. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Modularität in fm16 von MrWatson Some great card window examples Coole Kartenfenster Beispiele • LOgiCATOR / Mark Scott / Beezwax • https://blog.beezwax.net/2017/05/09/introducing-logicator-a-modular- search-interface-for-filemaker-16/ • https://blog.beezwax.net/2017/06/06/introducing-logicator-part-2- filemaker-16-card-windows-and-modular-design/ • https://blog.beezwax.net/2017/10/12/logicator-part-3-ready-set-integrate- into-your-filemaker-apps/ • Date picker / John Renfrew • https://community.filemaker.com/docs/DOC-8288 • https://community.filemaker.com/docs/DOC-8751 • Widgets / Todd Geist / geistinteractive.com • Video: https://www.youtube.com/watch?v=mXpcD9Yf6Ko
  12. 12. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Modularität in fm16 von MrWatson Card Windows • Pioneering work by John Renfrew • Function-Separation Model • Posts on LinkedIn:
  13. 13. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Modularität in fm16 von MrWatson Very Quick Demo
  14. 14. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Modularität in fm16 von MrWatson Troubled Relationship Parent-Child Window • Child has NO knowledge of parent, no • Get( ParentWindowFile ) • Get( ParentWindowWidth ) • Positioning of card window • Only FIRST layout centres correctly • Modal • Master Window is frozen • Communication Child → Parent window problematic…
  15. 15. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Modularität in fm16 von MrWatson How to make modular widgets Wie man modulare Baukasten baut Widget
  16. 16. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Modularität in fm16 von MrWatson Simplest Widget → ScriptResult File A your app Simple Widget ScriptAPI Return ScriptResult Script Pause Call Script • Simplest solution… • …IFF the process can occur in a one script round-trip • (Script Pause OK, but no Script HALT)
  17. 17. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Modularität in fm16 von MrWatson LOgiCATOR • Simple solution for a single file App • but not scalable for multi-fie solutions… File A your app LOgiCATOR ScriptAPI ScriptAPI File B File C File D File E File F File G File H File I File J File K
  18. 18. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Modularität in fm16 von MrWatson File A your app File A your app CalDatePicker ScriptAPI Open Date Picker Timer script polls result Return Date to Original CalDatePicker • This is more like functional programming: CalDatePicker is a black box. • Polling with timer scripts, however, is unpleasant ... • …and the dynamic data source can run the wrong script, if the target file changes… Dynamic Data Source
  19. 19. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Modularität in fm16 von MrWatson Isn't there a better way to do this? Gibt's keine bessere Methode?
  20. 20. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Modularität in fm16 von MrWatson File A your app Widget ScriptAPI Start script What we need is CALLBACK SCRIPTS… • …just like other programming languages have… "On Event X, call File: "A", Script: "Handle X", Param: 1 "On Event Y, call File: "A", Scrip:t "Handle Y", Param: 2 (JSON DATA) Callback ScriptAPI Handle X Handle Y Event X Event Y JSON
  21. 21. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Modularität in fm16 von MrWatson Demo CALLBACK SCRIPTS
  22. 22. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Modularität in fm16 von MrWatson How does it do that?
  23. 23. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Modularität in fm16 von MrWatson PSBN - Perform Script [ By Name
  24. 24. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Modularität in fm16 von MrWatsonFileDataScriptsLayouts File A your app File W . Card-Window Widgets . Callback ScriptAPI JSON Callback Script info ScriptAPI JSON Layout Callback Script info JSON File B ScriptAPI Module D, E, F File C File 50 Script ID?
  25. 25. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Modularität in fm16 von MrWatson Achtung! PSBN is a Proof of Concept and is not guaranteed on production systems*! * If the internal ID of the script is too high, PSBN cannot perform the script
  26. 26. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Modularität in fm16 von MrWatson Finally, because THIS will be MOST IMPORTANT in coming years… Scripts Script API Script calls one more thing…
  27. 27. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Modularität in fm16 von MrWatson FileMakerDoc is coming
  28. 28. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Modularität in fm16 von MrWatson Thank You “MrWatson” mrwatson-gbs Questions?
  29. 29. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Vortrag und Sprecher Vielen Dank unseren Sponsoren

×