SlideShare a Scribd company logo
Being an Optimist in a Pessimistic World
10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019
www.filemaker-konferenz.com
Who am I?
Been developing solutions with FileMaker since FileMaker 2.1
- Certified in versions 7 - 18

- Talented and Diverse Team @ Beezwax 🐝

Things I love…
- Research and Development 

- Data Visualization ( Tableau, D3, etc… )

- Hiking

- Sharp Knives

- Architecture
Vincenzo Menanno
Dramatically reduce network traffic!
What If…
Less network traffic… translates into.
Less work for the server
Less network traffic on your network
Sending only changed values
Reduce number of locks server needs to manage
Savings if you are using AWS
Significantly improve performance.
And What If…
This enables things like …
The ability to audit changes
Store data transactionally
Faster rendering and responsiveness
Pessimistic vs Optimistic
Differences
The Journey
Tools
Techniques
Break the rules…
FileMaker pessimistic record locking
Record locked for duration of edit
Server keeps tracks of Locks
Edit happens locally
The whole record is always transported
Record modification count
O optimistic record locking
Record locked only for committing data
Server doesn’t have more work
Edits happen on server
Send only changes
Use hashes instead modification counts
Compare with Past, Present & Future
E
^
👻
Calculations unstored —> stored
Log Audits
Local editing (many benefits)
And no additional traffic on network
E
^
optimistic record lockingO
there is more…
⚠ WARNING 🚧 🚧🚧 🚧
Percent of Tasked Completed
Project Task
Year
# Projects each Year
Has to have transactional integrity
Last Update 06/16/2019 04:33 PM
Eventual integrity
⚠ WARNING 🚧 🚧 🚧 🚧
Implications (not for everyone)
Solution Complexity
Types of Updates
- Transactional Integrity
- Eventual Integrity
Transactions with FileMaker
Test & Measure 🛠
Test out new ideas
Establish a Baseline
Measure
Need built in native tools
- for measurements
- for errors
🛠 NetworkMonitor Tool 🛠
Native Editing
Globals ( popovers and cards )
Local File Editing
Local File Editing (Data API)
Commit Footprint
3 Hashes (past, present, future)
A twist on MVC (model, view, controller)
The Journey
What is it
Implementation
How is it helpful
The Commit Footprint
Convert Calculations From
Unstored —> Stored
Sum ( TASK::AMOUNT )
If ( UPDATE ; “” ) & Sum ( TASK::AMOUNT ) )
Commit Footprint | What
Set Variable [ $_outer_start; Value: UTCMilli ]
//Perform Script [ “. commit footprint”; P: "5463" ] [ Wait ]
Perform Script on Server [ “. commit footprint”; P: "5463" ] [ Wait ]
Set Variable [ $_inner_duration; Value:Get ( ScriptResult ) ]
Set Variable [ $_outer_end; Value: UTCMilli ]
Set Variable [ $_outer_duration; Value:$_outer_end - $_outer_start ]
UTCMilli = Get ( CurrentTimeUTCMilliseconds ) / 1000
Commit Footprint | What
Set Variable [ $_id; Value:Get ( ScriptParameter ) ]
Go to Layout [ “JOB” (JOB) ]
Perform Find [ Find Requests: Find Records: JOB::ID: “$_id” ]
Set Variable [ $_inner_start; Value: UTCMilli ]
Set Field [ JOB::UPDATE; Get ( CurrentHostTimestamp ) ]
Commit Records/Requests [ No dialog ]
Set Variable [ $_inner_end; Value: UTCMilli ]
Set Variable [ $_inner_duration; Value:$_inner_end - $_inner_start ]
Exit Script [ Result: "Inner: " & $_inner_duration ]
UTCMilli = Get ( CurrentTimeUTCMilliseconds ) / 1000
Commit Footprint | Benefits
measurement on local area network
Local Area Network PS PSoS Percent
outer 0.078 0.097 -24.3%
inner 0.038 0.012 99.3%
Commit Footprint | Benefits
measurement from Hayward about 25 miles away
Wide Area Network PS PSoS Percent
outer 1.134 0.145 87.2%
inner 0.982 0.009 99.1%
Commit Footprint | Benefits
measurement from Oakland about 50 miles away
Wide Area Network PS PSoS Percent
outer 1.554 0.265 82.9%
inner 1.268 0.009 99.3%
Commit Footprint | Benefits
measurement from London about 5359 miles away
Wide Area Network PS PSoS Percent
outer 3.03 0.279 90.8%
inner 2.073 0.009 99.6%
Case Study Changes
Items Before After % Change
Basetables 46 33 -28.3%
Tables 158 89 -43.7%
Fields 985 549 -44.3%
Scripts 271 147 -45.8%
Layouts 97 47 -51.5%
Unstored Cals 103 9 -91.3%
Total 152’728 54805 -64.1%
Case Study | Benefits
Performance Before After % Change
Open 33 5 84.8%
New Project 19 2 89.5%
Project List 10 2 80%
Admin View 15 1 93.3%
Get ( RecordModificationCount )
1
2 3
4
MD5 Hash Ghosts
👻 - Past (original data)
👻 - Present (server data)
👻 - Future (changed data)
GetContainerAttribute (
List (
EventLocal::Event_Name ;
EventLocal::Date_Start ;
EventLocal::Date_End ;
EventLocal::Event_Description
) ;
"MD5"
)
You can use GetContainerAttribute
with non container fields!
MVC - Model | View | Controller
Model
View
Controller
Layout
Local StorageScripts
Demos
Data Transferred
Globals ( popovers and cards )
Local File Editing
Local File Editing (Data API)
The Journey
Single Add or Edit
Data validated before creation
Drawback: Multiple Edits
Globals
Single Add or Edit
Data validated before creation
Support for multiple edits
Very verbose to put in place
Local File Editing
Single Add or Edit but can be multiple
Data validated before creation
Support for multiple edits
Less verbose but more complexity
Local File Editing (Data API)
Pessimistic vs Optimistic
Recap
xDifferences between
Techniques Commit footprint / Local file editing
Warnings Important things to consider
Different approaches Global | Local | Data API
MVC Clear separation & easy to implement
Generating Hashes 👻 of past, present, and future
Resources
Network Monitor Tool for FileMaker - search for Network Monitor
Transactions Todd Geist - https://www.youtube.com/watch?v=FQzXs9SXt-U
Native Imports on Server - https://blog.beezwax.net/2019/05/22/imports-without-
tariffs-natively-with-filemaker-server/
Greg Lane (Tuesday 2:45 PM) - Maximizing FileMaker Performance
Chris Irvine (concurrently) - Doing it Right: Fast Solutions Developed WAN First
Under the Hood: Exploring FileMaker Server 18’s Performance Features
My recorded DevCon Session https://www.youtube.com/watch?v=g00xNgjKzv0
👻
👻
👻
Credits and Images
Slide: Luciano peeking Through - Vince Menanno
Footprint: https://unsplash.com/photos/BqpdGGfezFw
Piano - https://unsplash.com/photos/QNghR29tHR0
Choices - https://unsplash.com/photos/PXB7yEM5LVs
Coffee Test - https://unsplash.com/photos/i22gbC3gFm4
Journey - https://unsplash.com/photos/5hvn-2WW6rY
Thank you

More Related Content

What's hot

Lessons from running AppSync in prod
Lessons from running AppSync in prodLessons from running AppSync in prod
Lessons from running AppSync in prod
Yan Cui
 
Deploying Machine Learning in production without servers - #serverlessCPH
Deploying Machine Learning in production without servers - #serverlessCPHDeploying Machine Learning in production without servers - #serverlessCPH
Deploying Machine Learning in production without servers - #serverlessCPH
Damien Cavaillès
 
Alex Pshul: What We Learned by Testing Execution of 300K Messages/Min in a Se...
Alex Pshul: What We Learned by Testing Execution of 300K Messages/Min in a Se...Alex Pshul: What We Learned by Testing Execution of 300K Messages/Min in a Se...
Alex Pshul: What We Learned by Testing Execution of 300K Messages/Min in a Se...
CodeValue
 
Serverless with Google Cloud Functions
Serverless with Google Cloud FunctionsServerless with Google Cloud Functions
Serverless with Google Cloud Functions
Jerry Jalava
 
Better Software is Better than Worse Software - Michael Coté (Cape Town 2019)
Better Software is Better than Worse Software - Michael Coté (Cape Town 2019)Better Software is Better than Worse Software - Michael Coté (Cape Town 2019)
Better Software is Better than Worse Software - Michael Coté (Cape Town 2019)
VMware Tanzu
 
Liquid Day - Retos modernos del desarrollo de aplicaciones de negocio
Liquid Day - Retos modernos del desarrollo de aplicaciones de negocioLiquid Day - Retos modernos del desarrollo de aplicaciones de negocio
Liquid Day - Retos modernos del desarrollo de aplicaciones de negocio
Software Guru
 
Neos 101 [Inspiring Con 2014]
Neos 101 [Inspiring Con 2014]Neos 101 [Inspiring Con 2014]
Neos 101 [Inspiring Con 2014]
Christian Müller
 
Will the Real Public API Please Stand Up? Amir Zuker
Will the Real Public API Please Stand Up? Amir ZukerWill the Real Public API Please Stand Up? Amir Zuker
Will the Real Public API Please Stand Up? Amir Zuker
CodeValue
 
Build a RESTful API with the Serverless Framework
Build a RESTful API with the Serverless FrameworkBuild a RESTful API with the Serverless Framework
Build a RESTful API with the Serverless Framework
masahitojp
 
.NET Cloud-Native Bootcamp
.NET Cloud-Native Bootcamp.NET Cloud-Native Bootcamp
.NET Cloud-Native Bootcamp
VMware Tanzu
 
Building Powerful Applications with AngularJS 2 and TypeScript - David Giard
Building Powerful Applications with AngularJS 2 and TypeScript - David GiardBuilding Powerful Applications with AngularJS 2 and TypeScript - David Giard
Building Powerful Applications with AngularJS 2 and TypeScript - David Giard
ITCamp
 
C# Production Debugging Made Easy
 C# Production Debugging Made Easy C# Production Debugging Made Easy
C# Production Debugging Made Easy
Alon Fliess
 
Fluent 2018: When third parties stop being polite... and start getting real
Fluent 2018: When third parties stop being polite... and start getting realFluent 2018: When third parties stop being polite... and start getting real
Fluent 2018: When third parties stop being polite... and start getting real
Akamai Developers & Admins
 
Presentation tim numann
Presentation tim numannPresentation tim numann
Presentation tim numann
TechDivision GmbH
 
9 steps to awesome with kubernetes
9 steps to awesome with kubernetes9 steps to awesome with kubernetes
9 steps to awesome with kubernetes
BaraniBuuny
 
Nils Rhode - Does it always have to be k8s - TeC Day 2019
Nils Rhode - Does it always have to be k8s - TeC Day 2019Nils Rhode - Does it always have to be k8s - TeC Day 2019
Nils Rhode - Does it always have to be k8s - TeC Day 2019
Haufe-Lexware GmbH & Co KG
 
Origins of Serverless
Origins of ServerlessOrigins of Serverless
Origins of Serverless
Andrii Soldatenko
 
PyCon APAC 2016: Django, Flask 고민없이 개발하고 서비스하는 PaaS, IBM Bluemix
PyCon APAC 2016: Django, Flask 고민없이 개발하고 서비스하는 PaaS, IBM BluemixPyCon APAC 2016: Django, Flask 고민없이 개발하고 서비스하는 PaaS, IBM Bluemix
PyCon APAC 2016: Django, Flask 고민없이 개발하고 서비스하는 PaaS, IBM Bluemix
Jin Gi Kong
 
Building a Serverless company with Node.js, React and the Serverless Framewor...
Building a Serverless company with Node.js, React and the Serverless Framewor...Building a Serverless company with Node.js, React and the Serverless Framewor...
Building a Serverless company with Node.js, React and the Serverless Framewor...
Luciano Mammino
 
Apache OpenWhisk - KRnet 2017
Apache OpenWhisk - KRnet 2017Apache OpenWhisk - KRnet 2017
Apache OpenWhisk - KRnet 2017
Jin Gi Kong
 

What's hot (20)

Lessons from running AppSync in prod
Lessons from running AppSync in prodLessons from running AppSync in prod
Lessons from running AppSync in prod
 
Deploying Machine Learning in production without servers - #serverlessCPH
Deploying Machine Learning in production without servers - #serverlessCPHDeploying Machine Learning in production without servers - #serverlessCPH
Deploying Machine Learning in production without servers - #serverlessCPH
 
Alex Pshul: What We Learned by Testing Execution of 300K Messages/Min in a Se...
Alex Pshul: What We Learned by Testing Execution of 300K Messages/Min in a Se...Alex Pshul: What We Learned by Testing Execution of 300K Messages/Min in a Se...
Alex Pshul: What We Learned by Testing Execution of 300K Messages/Min in a Se...
 
Serverless with Google Cloud Functions
Serverless with Google Cloud FunctionsServerless with Google Cloud Functions
Serverless with Google Cloud Functions
 
Better Software is Better than Worse Software - Michael Coté (Cape Town 2019)
Better Software is Better than Worse Software - Michael Coté (Cape Town 2019)Better Software is Better than Worse Software - Michael Coté (Cape Town 2019)
Better Software is Better than Worse Software - Michael Coté (Cape Town 2019)
 
Liquid Day - Retos modernos del desarrollo de aplicaciones de negocio
Liquid Day - Retos modernos del desarrollo de aplicaciones de negocioLiquid Day - Retos modernos del desarrollo de aplicaciones de negocio
Liquid Day - Retos modernos del desarrollo de aplicaciones de negocio
 
Neos 101 [Inspiring Con 2014]
Neos 101 [Inspiring Con 2014]Neos 101 [Inspiring Con 2014]
Neos 101 [Inspiring Con 2014]
 
Will the Real Public API Please Stand Up? Amir Zuker
Will the Real Public API Please Stand Up? Amir ZukerWill the Real Public API Please Stand Up? Amir Zuker
Will the Real Public API Please Stand Up? Amir Zuker
 
Build a RESTful API with the Serverless Framework
Build a RESTful API with the Serverless FrameworkBuild a RESTful API with the Serverless Framework
Build a RESTful API with the Serverless Framework
 
.NET Cloud-Native Bootcamp
.NET Cloud-Native Bootcamp.NET Cloud-Native Bootcamp
.NET Cloud-Native Bootcamp
 
Building Powerful Applications with AngularJS 2 and TypeScript - David Giard
Building Powerful Applications with AngularJS 2 and TypeScript - David GiardBuilding Powerful Applications with AngularJS 2 and TypeScript - David Giard
Building Powerful Applications with AngularJS 2 and TypeScript - David Giard
 
C# Production Debugging Made Easy
 C# Production Debugging Made Easy C# Production Debugging Made Easy
C# Production Debugging Made Easy
 
Fluent 2018: When third parties stop being polite... and start getting real
Fluent 2018: When third parties stop being polite... and start getting realFluent 2018: When third parties stop being polite... and start getting real
Fluent 2018: When third parties stop being polite... and start getting real
 
Presentation tim numann
Presentation tim numannPresentation tim numann
Presentation tim numann
 
9 steps to awesome with kubernetes
9 steps to awesome with kubernetes9 steps to awesome with kubernetes
9 steps to awesome with kubernetes
 
Nils Rhode - Does it always have to be k8s - TeC Day 2019
Nils Rhode - Does it always have to be k8s - TeC Day 2019Nils Rhode - Does it always have to be k8s - TeC Day 2019
Nils Rhode - Does it always have to be k8s - TeC Day 2019
 
Origins of Serverless
Origins of ServerlessOrigins of Serverless
Origins of Serverless
 
PyCon APAC 2016: Django, Flask 고민없이 개발하고 서비스하는 PaaS, IBM Bluemix
PyCon APAC 2016: Django, Flask 고민없이 개발하고 서비스하는 PaaS, IBM BluemixPyCon APAC 2016: Django, Flask 고민없이 개발하고 서비스하는 PaaS, IBM Bluemix
PyCon APAC 2016: Django, Flask 고민없이 개발하고 서비스하는 PaaS, IBM Bluemix
 
Building a Serverless company with Node.js, React and the Serverless Framewor...
Building a Serverless company with Node.js, React and the Serverless Framewor...Building a Serverless company with Node.js, React and the Serverless Framewor...
Building a Serverless company with Node.js, React and the Serverless Framewor...
 
Apache OpenWhisk - KRnet 2017
Apache OpenWhisk - KRnet 2017Apache OpenWhisk - KRnet 2017
Apache OpenWhisk - KRnet 2017
 

Similar to FMK2019 being an optimist in a pessimistic world by vincenzo menanno

QSpiders - Installation and Brief Dose of Load Runner
QSpiders - Installation and Brief Dose of Load RunnerQSpiders - Installation and Brief Dose of Load Runner
QSpiders - Installation and Brief Dose of Load Runner
Qspiders - Software Testing Training Institute
 
Apache Beam: A unified model for batch and stream processing data
Apache Beam: A unified model for batch and stream processing dataApache Beam: A unified model for batch and stream processing data
Apache Beam: A unified model for batch and stream processing data
DataWorks Summit/Hadoop Summit
 
Working with data using Azure Functions.pdf
Working with data using Azure Functions.pdfWorking with data using Azure Functions.pdf
Working with data using Azure Functions.pdf
Stephanie Locke
 
Apache Samza 1.0 - What's New, What's Next
Apache Samza 1.0 - What's New, What's NextApache Samza 1.0 - What's New, What's Next
Apache Samza 1.0 - What's New, What's Next
Prateek Maheshwari
 
Sherlock Homepage - A detective story about running large web services - NDC ...
Sherlock Homepage - A detective story about running large web services - NDC ...Sherlock Homepage - A detective story about running large web services - NDC ...
Sherlock Homepage - A detective story about running large web services - NDC ...
Maarten Balliauw
 
Sherlock Homepage (Maarten Balliauw)
Sherlock Homepage (Maarten Balliauw)Sherlock Homepage (Maarten Balliauw)
Sherlock Homepage (Maarten Balliauw)
Visug
 
Sherlock Homepage - A detective story about running large web services (VISUG...
Sherlock Homepage - A detective story about running large web services (VISUG...Sherlock Homepage - A detective story about running large web services (VISUG...
Sherlock Homepage - A detective story about running large web services (VISUG...
Maarten Balliauw
 
Azure machine learning service
Azure machine learning serviceAzure machine learning service
Azure machine learning service
Ruth Yakubu
 
MongoDB for Time Series Data
MongoDB for Time Series DataMongoDB for Time Series Data
MongoDB for Time Series Data
MongoDB
 
Play Framework
Play FrameworkPlay Framework
Play Framework
Harinath Krishnamoorthy
 
Into The Box 2018 Ortus Keynote
Into The Box 2018 Ortus KeynoteInto The Box 2018 Ortus Keynote
Into The Box 2018 Ortus Keynote
Ortus Solutions, Corp
 
How to deploy & optimize eZ Publish
How to deploy & optimize eZ PublishHow to deploy & optimize eZ Publish
How to deploy & optimize eZ Publish
Kaliop-slide
 
Advanced kapacitor
Advanced kapacitorAdvanced kapacitor
Advanced kapacitor
InfluxData
 
Stream Processing in SmartNews #jawsdays
Stream Processing in SmartNews #jawsdaysStream Processing in SmartNews #jawsdays
Stream Processing in SmartNews #jawsdays
SmartNews, Inc.
 
Docker Logging and analysing with Elastic Stack
Docker Logging and analysing with Elastic StackDocker Logging and analysing with Elastic Stack
Docker Logging and analysing with Elastic Stack
Jakub Hajek
 
Docker Logging and analysing with Elastic Stack - Jakub Hajek
Docker Logging and analysing with Elastic Stack - Jakub Hajek Docker Logging and analysing with Elastic Stack - Jakub Hajek
Docker Logging and analysing with Elastic Stack - Jakub Hajek
PROIDEA
 
Timely Year Two: Lessons Learned Building a Scalable Metrics Analytic System
Timely Year Two: Lessons Learned Building a Scalable Metrics Analytic SystemTimely Year Two: Lessons Learned Building a Scalable Metrics Analytic System
Timely Year Two: Lessons Learned Building a Scalable Metrics Analytic System
Accumulo Summit
 
Setting Up a TIG Stack for Your Testing
Setting Up a TIG Stack for Your TestingSetting Up a TIG Stack for Your Testing
Setting Up a TIG Stack for Your Testing
Jet Liu
 
Grails and Ajax
Grails and AjaxGrails and Ajax
Grails and Ajax
TO THE NEW | Technology
 
Flink Forward San Francisco 2018: David Reniz & Dahyr Vergara - "Real-time m...
Flink Forward San Francisco 2018:  David Reniz & Dahyr Vergara - "Real-time m...Flink Forward San Francisco 2018:  David Reniz & Dahyr Vergara - "Real-time m...
Flink Forward San Francisco 2018: David Reniz & Dahyr Vergara - "Real-time m...
Flink Forward
 

Similar to FMK2019 being an optimist in a pessimistic world by vincenzo menanno (20)

QSpiders - Installation and Brief Dose of Load Runner
QSpiders - Installation and Brief Dose of Load RunnerQSpiders - Installation and Brief Dose of Load Runner
QSpiders - Installation and Brief Dose of Load Runner
 
Apache Beam: A unified model for batch and stream processing data
Apache Beam: A unified model for batch and stream processing dataApache Beam: A unified model for batch and stream processing data
Apache Beam: A unified model for batch and stream processing data
 
Working with data using Azure Functions.pdf
Working with data using Azure Functions.pdfWorking with data using Azure Functions.pdf
Working with data using Azure Functions.pdf
 
Apache Samza 1.0 - What's New, What's Next
Apache Samza 1.0 - What's New, What's NextApache Samza 1.0 - What's New, What's Next
Apache Samza 1.0 - What's New, What's Next
 
Sherlock Homepage - A detective story about running large web services - NDC ...
Sherlock Homepage - A detective story about running large web services - NDC ...Sherlock Homepage - A detective story about running large web services - NDC ...
Sherlock Homepage - A detective story about running large web services - NDC ...
 
Sherlock Homepage (Maarten Balliauw)
Sherlock Homepage (Maarten Balliauw)Sherlock Homepage (Maarten Balliauw)
Sherlock Homepage (Maarten Balliauw)
 
Sherlock Homepage - A detective story about running large web services (VISUG...
Sherlock Homepage - A detective story about running large web services (VISUG...Sherlock Homepage - A detective story about running large web services (VISUG...
Sherlock Homepage - A detective story about running large web services (VISUG...
 
Azure machine learning service
Azure machine learning serviceAzure machine learning service
Azure machine learning service
 
MongoDB for Time Series Data
MongoDB for Time Series DataMongoDB for Time Series Data
MongoDB for Time Series Data
 
Play Framework
Play FrameworkPlay Framework
Play Framework
 
Into The Box 2018 Ortus Keynote
Into The Box 2018 Ortus KeynoteInto The Box 2018 Ortus Keynote
Into The Box 2018 Ortus Keynote
 
How to deploy & optimize eZ Publish
How to deploy & optimize eZ PublishHow to deploy & optimize eZ Publish
How to deploy & optimize eZ Publish
 
Advanced kapacitor
Advanced kapacitorAdvanced kapacitor
Advanced kapacitor
 
Stream Processing in SmartNews #jawsdays
Stream Processing in SmartNews #jawsdaysStream Processing in SmartNews #jawsdays
Stream Processing in SmartNews #jawsdays
 
Docker Logging and analysing with Elastic Stack
Docker Logging and analysing with Elastic StackDocker Logging and analysing with Elastic Stack
Docker Logging and analysing with Elastic Stack
 
Docker Logging and analysing with Elastic Stack - Jakub Hajek
Docker Logging and analysing with Elastic Stack - Jakub Hajek Docker Logging and analysing with Elastic Stack - Jakub Hajek
Docker Logging and analysing with Elastic Stack - Jakub Hajek
 
Timely Year Two: Lessons Learned Building a Scalable Metrics Analytic System
Timely Year Two: Lessons Learned Building a Scalable Metrics Analytic SystemTimely Year Two: Lessons Learned Building a Scalable Metrics Analytic System
Timely Year Two: Lessons Learned Building a Scalable Metrics Analytic System
 
Setting Up a TIG Stack for Your Testing
Setting Up a TIG Stack for Your TestingSetting Up a TIG Stack for Your Testing
Setting Up a TIG Stack for Your Testing
 
Grails and Ajax
Grails and AjaxGrails and Ajax
Grails and Ajax
 
Flink Forward San Francisco 2018: David Reniz & Dahyr Vergara - "Real-time m...
Flink Forward San Francisco 2018:  David Reniz & Dahyr Vergara - "Real-time m...Flink Forward San Francisco 2018:  David Reniz & Dahyr Vergara - "Real-time m...
Flink Forward San Francisco 2018: David Reniz & Dahyr Vergara - "Real-time m...
 

More from 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.pdf
Verein 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 Puls
Verein FM Konferenz
 
FMK2022 Custom Functions von Philipp Puls
FMK2022 Custom Functions von Philipp PulsFMK2022 Custom Functions von Philipp Puls
FMK2022 Custom Functions von Philipp Puls
Verein FM Konferenz
 
FMK2022 FileMaker Fehler von Martin Schwarz
FMK2022 FileMaker Fehler von Martin SchwarzFMK2022 FileMaker Fehler von Martin Schwarz
FMK2022 FileMaker Fehler von Martin Schwarz
Verein 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 Schulz
Verein 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 Schulz
Verein FM Konferenz
 
FMK2022 Neue Programmiertechniken von Adam Augusting
FMK2022 Neue Programmiertechniken von Adam AugustingFMK2022 Neue Programmiertechniken von Adam Augusting
FMK2022 Neue Programmiertechniken von Adam Augusting
Verein 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 Augustin
Verein 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 Kaiser
Verein FM Konferenz
 
FMK2022 Dokumentation - Thomas Hirt
FMK2022 Dokumentation - Thomas HirtFMK2022 Dokumentation - Thomas Hirt
FMK2022 Dokumentation - Thomas Hirt
Verein FM Konferenz
 
FMK2022 CustomFunctions Fuer Einsteiger - Thomas Hirt
FMK2022 CustomFunctions Fuer Einsteiger - Thomas HirtFMK2022 CustomFunctions Fuer Einsteiger - Thomas Hirt
FMK2022 CustomFunctions Fuer Einsteiger - Thomas Hirt
Verein 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 Watson
Verein FM Konferenz
 
FMK2022 Datenschutz DSGVO Christoph Kluss
FMK2022 Datenschutz DSGVO Christoph KlussFMK2022 Datenschutz DSGVO Christoph Kluss
FMK2022 Datenschutz DSGVO Christoph Kluss
Verein FM Konferenz
 
FMK2022 Rechnungen Inkasso - Christoph Kluss
FMK2022 Rechnungen Inkasso - Christoph KlussFMK2022 Rechnungen Inkasso - Christoph Kluss
FMK2022 Rechnungen Inkasso - Christoph Kluss
Verein 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é.pdf
Verein 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 Watson
Verein 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 Koudelka
Verein FM Konferenz
 
FMK2019 Hardware Integrated by HOnza Koudelka
FMK2019 Hardware Integrated by HOnza KoudelkaFMK2019 Hardware Integrated by HOnza Koudelka
FMK2019 Hardware Integrated by HOnza Koudelka
Verein 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 Mair
Verein 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 Augustin
Verein FM Konferenz
 

More from 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 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 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
 

Recently uploaded

Your Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective UpskillingYour Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective Upskilling
Excellence Foundation for South Sudan
 
Advanced Java[Extra Concepts, Not Difficult].docx
Advanced Java[Extra Concepts, Not Difficult].docxAdvanced Java[Extra Concepts, Not Difficult].docx
Advanced Java[Extra Concepts, Not Difficult].docx
adhitya5119
 
Hindi varnamala | hindi alphabet PPT.pdf
Hindi varnamala | hindi alphabet PPT.pdfHindi varnamala | hindi alphabet PPT.pdf
Hindi varnamala | hindi alphabet PPT.pdf
Dr. Mulla Adam Ali
 
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptxC1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
mulvey2
 
A Independência da América Espanhola LAPBOOK.pdf
A Independência da América Espanhola LAPBOOK.pdfA Independência da América Espanhola LAPBOOK.pdf
A Independência da América Espanhola LAPBOOK.pdf
Jean Carlos Nunes Paixão
 
Liberal Approach to the Study of Indian Politics.pdf
Liberal Approach to the Study of Indian Politics.pdfLiberal Approach to the Study of Indian Politics.pdf
Liberal Approach to the Study of Indian Politics.pdf
WaniBasim
 
How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17
Celine George
 
Walmart Business+ and Spark Good for Nonprofits.pdf
Walmart Business+ and Spark Good for Nonprofits.pdfWalmart Business+ and Spark Good for Nonprofits.pdf
Walmart Business+ and Spark Good for Nonprofits.pdf
TechSoup
 
Main Java[All of the Base Concepts}.docx
Main Java[All of the Base Concepts}.docxMain Java[All of the Base Concepts}.docx
Main Java[All of the Base Concepts}.docx
adhitya5119
 
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Dr. Vinod Kumar Kanvaria
 
DRUGS AND ITS classification slide share
DRUGS AND ITS classification slide shareDRUGS AND ITS classification slide share
DRUGS AND ITS classification slide share
taiba qazi
 
The simplified electron and muon model, Oscillating Spacetime: The Foundation...
The simplified electron and muon model, Oscillating Spacetime: The Foundation...The simplified electron and muon model, Oscillating Spacetime: The Foundation...
The simplified electron and muon model, Oscillating Spacetime: The Foundation...
RitikBhardwaj56
 
Community pharmacy- Social and preventive pharmacy UNIT 5
Community pharmacy- Social and preventive pharmacy UNIT 5Community pharmacy- Social and preventive pharmacy UNIT 5
Community pharmacy- Social and preventive pharmacy UNIT 5
sayalidalavi006
 
How to Manage Your Lost Opportunities in Odoo 17 CRM
How to Manage Your Lost Opportunities in Odoo 17 CRMHow to Manage Your Lost Opportunities in Odoo 17 CRM
How to Manage Your Lost Opportunities in Odoo 17 CRM
Celine George
 
ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...
ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...
ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...
PECB
 
Digital Artefact 1 - Tiny Home Environmental Design
Digital Artefact 1 - Tiny Home Environmental DesignDigital Artefact 1 - Tiny Home Environmental Design
Digital Artefact 1 - Tiny Home Environmental Design
amberjdewit93
 
clinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdfclinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdf
Priyankaranawat4
 
Film vocab for eal 3 students: Australia the movie
Film vocab for eal 3 students: Australia the movieFilm vocab for eal 3 students: Australia the movie
Film vocab for eal 3 students: Australia the movie
Nicholas Montgomery
 
How to Setup Warehouse & Location in Odoo 17 Inventory
How to Setup Warehouse & Location in Odoo 17 InventoryHow to Setup Warehouse & Location in Odoo 17 Inventory
How to Setup Warehouse & Location in Odoo 17 Inventory
Celine George
 
S1-Introduction-Biopesticides in ICM.pptx
S1-Introduction-Biopesticides in ICM.pptxS1-Introduction-Biopesticides in ICM.pptx
S1-Introduction-Biopesticides in ICM.pptx
tarandeep35
 

Recently uploaded (20)

Your Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective UpskillingYour Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective Upskilling
 
Advanced Java[Extra Concepts, Not Difficult].docx
Advanced Java[Extra Concepts, Not Difficult].docxAdvanced Java[Extra Concepts, Not Difficult].docx
Advanced Java[Extra Concepts, Not Difficult].docx
 
Hindi varnamala | hindi alphabet PPT.pdf
Hindi varnamala | hindi alphabet PPT.pdfHindi varnamala | hindi alphabet PPT.pdf
Hindi varnamala | hindi alphabet PPT.pdf
 
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptxC1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
 
A Independência da América Espanhola LAPBOOK.pdf
A Independência da América Espanhola LAPBOOK.pdfA Independência da América Espanhola LAPBOOK.pdf
A Independência da América Espanhola LAPBOOK.pdf
 
Liberal Approach to the Study of Indian Politics.pdf
Liberal Approach to the Study of Indian Politics.pdfLiberal Approach to the Study of Indian Politics.pdf
Liberal Approach to the Study of Indian Politics.pdf
 
How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17
 
Walmart Business+ and Spark Good for Nonprofits.pdf
Walmart Business+ and Spark Good for Nonprofits.pdfWalmart Business+ and Spark Good for Nonprofits.pdf
Walmart Business+ and Spark Good for Nonprofits.pdf
 
Main Java[All of the Base Concepts}.docx
Main Java[All of the Base Concepts}.docxMain Java[All of the Base Concepts}.docx
Main Java[All of the Base Concepts}.docx
 
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
 
DRUGS AND ITS classification slide share
DRUGS AND ITS classification slide shareDRUGS AND ITS classification slide share
DRUGS AND ITS classification slide share
 
The simplified electron and muon model, Oscillating Spacetime: The Foundation...
The simplified electron and muon model, Oscillating Spacetime: The Foundation...The simplified electron and muon model, Oscillating Spacetime: The Foundation...
The simplified electron and muon model, Oscillating Spacetime: The Foundation...
 
Community pharmacy- Social and preventive pharmacy UNIT 5
Community pharmacy- Social and preventive pharmacy UNIT 5Community pharmacy- Social and preventive pharmacy UNIT 5
Community pharmacy- Social and preventive pharmacy UNIT 5
 
How to Manage Your Lost Opportunities in Odoo 17 CRM
How to Manage Your Lost Opportunities in Odoo 17 CRMHow to Manage Your Lost Opportunities in Odoo 17 CRM
How to Manage Your Lost Opportunities in Odoo 17 CRM
 
ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...
ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...
ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...
 
Digital Artefact 1 - Tiny Home Environmental Design
Digital Artefact 1 - Tiny Home Environmental DesignDigital Artefact 1 - Tiny Home Environmental Design
Digital Artefact 1 - Tiny Home Environmental Design
 
clinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdfclinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdf
 
Film vocab for eal 3 students: Australia the movie
Film vocab for eal 3 students: Australia the movieFilm vocab for eal 3 students: Australia the movie
Film vocab for eal 3 students: Australia the movie
 
How to Setup Warehouse & Location in Odoo 17 Inventory
How to Setup Warehouse & Location in Odoo 17 InventoryHow to Setup Warehouse & Location in Odoo 17 Inventory
How to Setup Warehouse & Location in Odoo 17 Inventory
 
S1-Introduction-Biopesticides in ICM.pptx
S1-Introduction-Biopesticides in ICM.pptxS1-Introduction-Biopesticides in ICM.pptx
S1-Introduction-Biopesticides in ICM.pptx
 

FMK2019 being an optimist in a pessimistic world by vincenzo menanno

  • 1. Being an Optimist in a Pessimistic World 10. FileMaker Konferenz | Hamburg | 16.-19. Oktober 2019 www.filemaker-konferenz.com
  • 2. Who am I? Been developing solutions with FileMaker since FileMaker 2.1 - Certified in versions 7 - 18 - Talented and Diverse Team @ Beezwax 🐝 Things I love… - Research and Development - Data Visualization ( Tableau, D3, etc… ) - Hiking - Sharp Knives - Architecture Vincenzo Menanno
  • 3.
  • 4. Dramatically reduce network traffic! What If…
  • 5. Less network traffic… translates into. Less work for the server Less network traffic on your network Sending only changed values Reduce number of locks server needs to manage Savings if you are using AWS
  • 7. This enables things like … The ability to audit changes Store data transactionally Faster rendering and responsiveness
  • 8. Pessimistic vs Optimistic Differences The Journey Tools Techniques
  • 10. FileMaker pessimistic record locking Record locked for duration of edit Server keeps tracks of Locks Edit happens locally The whole record is always transported Record modification count
  • 11. O optimistic record locking Record locked only for committing data Server doesn’t have more work Edits happen on server Send only changes Use hashes instead modification counts Compare with Past, Present & Future E ^ 👻
  • 12. Calculations unstored —> stored Log Audits Local editing (many benefits) And no additional traffic on network E ^ optimistic record lockingO there is more…
  • 13. ⚠ WARNING 🚧 🚧🚧 🚧 Percent of Tasked Completed Project Task Year # Projects each Year Has to have transactional integrity Last Update 06/16/2019 04:33 PM Eventual integrity
  • 14. ⚠ WARNING 🚧 🚧 🚧 🚧 Implications (not for everyone) Solution Complexity Types of Updates - Transactional Integrity - Eventual Integrity Transactions with FileMaker
  • 15. Test & Measure 🛠 Test out new ideas Establish a Baseline Measure Need built in native tools - for measurements - for errors
  • 17. Native Editing Globals ( popovers and cards ) Local File Editing Local File Editing (Data API) Commit Footprint 3 Hashes (past, present, future) A twist on MVC (model, view, controller) The Journey
  • 18. What is it Implementation How is it helpful The Commit Footprint
  • 19. Convert Calculations From Unstored —> Stored Sum ( TASK::AMOUNT ) If ( UPDATE ; “” ) & Sum ( TASK::AMOUNT ) )
  • 20. Commit Footprint | What Set Variable [ $_outer_start; Value: UTCMilli ] //Perform Script [ “. commit footprint”; P: "5463" ] [ Wait ] Perform Script on Server [ “. commit footprint”; P: "5463" ] [ Wait ] Set Variable [ $_inner_duration; Value:Get ( ScriptResult ) ] Set Variable [ $_outer_end; Value: UTCMilli ] Set Variable [ $_outer_duration; Value:$_outer_end - $_outer_start ] UTCMilli = Get ( CurrentTimeUTCMilliseconds ) / 1000
  • 21. Commit Footprint | What Set Variable [ $_id; Value:Get ( ScriptParameter ) ] Go to Layout [ “JOB” (JOB) ] Perform Find [ Find Requests: Find Records: JOB::ID: “$_id” ] Set Variable [ $_inner_start; Value: UTCMilli ] Set Field [ JOB::UPDATE; Get ( CurrentHostTimestamp ) ] Commit Records/Requests [ No dialog ] Set Variable [ $_inner_end; Value: UTCMilli ] Set Variable [ $_inner_duration; Value:$_inner_end - $_inner_start ] Exit Script [ Result: "Inner: " & $_inner_duration ] UTCMilli = Get ( CurrentTimeUTCMilliseconds ) / 1000
  • 22. Commit Footprint | Benefits measurement on local area network Local Area Network PS PSoS Percent outer 0.078 0.097 -24.3% inner 0.038 0.012 99.3%
  • 23. Commit Footprint | Benefits measurement from Hayward about 25 miles away Wide Area Network PS PSoS Percent outer 1.134 0.145 87.2% inner 0.982 0.009 99.1%
  • 24. Commit Footprint | Benefits measurement from Oakland about 50 miles away Wide Area Network PS PSoS Percent outer 1.554 0.265 82.9% inner 1.268 0.009 99.3%
  • 25. Commit Footprint | Benefits measurement from London about 5359 miles away Wide Area Network PS PSoS Percent outer 3.03 0.279 90.8% inner 2.073 0.009 99.6%
  • 26. Case Study Changes Items Before After % Change Basetables 46 33 -28.3% Tables 158 89 -43.7% Fields 985 549 -44.3% Scripts 271 147 -45.8% Layouts 97 47 -51.5% Unstored Cals 103 9 -91.3% Total 152’728 54805 -64.1%
  • 27. Case Study | Benefits Performance Before After % Change Open 33 5 84.8% New Project 19 2 89.5% Project List 10 2 80% Admin View 15 1 93.3%
  • 29. MD5 Hash Ghosts 👻 - Past (original data) 👻 - Present (server data) 👻 - Future (changed data)
  • 30. GetContainerAttribute ( List ( EventLocal::Event_Name ; EventLocal::Date_Start ; EventLocal::Date_End ; EventLocal::Event_Description ) ; "MD5" ) You can use GetContainerAttribute with non container fields!
  • 31. MVC - Model | View | Controller Model View Controller Layout Local StorageScripts
  • 32. Demos
  • 34. Globals ( popovers and cards ) Local File Editing Local File Editing (Data API) The Journey
  • 35. Single Add or Edit Data validated before creation Drawback: Multiple Edits Globals
  • 36. Single Add or Edit Data validated before creation Support for multiple edits Very verbose to put in place Local File Editing
  • 37. Single Add or Edit but can be multiple Data validated before creation Support for multiple edits Less verbose but more complexity Local File Editing (Data API)
  • 39. xDifferences between Techniques Commit footprint / Local file editing Warnings Important things to consider Different approaches Global | Local | Data API MVC Clear separation & easy to implement Generating Hashes 👻 of past, present, and future
  • 40. Resources Network Monitor Tool for FileMaker - search for Network Monitor Transactions Todd Geist - https://www.youtube.com/watch?v=FQzXs9SXt-U Native Imports on Server - https://blog.beezwax.net/2019/05/22/imports-without- tariffs-natively-with-filemaker-server/ Greg Lane (Tuesday 2:45 PM) - Maximizing FileMaker Performance Chris Irvine (concurrently) - Doing it Right: Fast Solutions Developed WAN First Under the Hood: Exploring FileMaker Server 18’s Performance Features My recorded DevCon Session https://www.youtube.com/watch?v=g00xNgjKzv0 👻 👻 👻
  • 41. Credits and Images Slide: Luciano peeking Through - Vince Menanno Footprint: https://unsplash.com/photos/BqpdGGfezFw Piano - https://unsplash.com/photos/QNghR29tHR0 Choices - https://unsplash.com/photos/PXB7yEM5LVs Coffee Test - https://unsplash.com/photos/i22gbC3gFm4 Journey - https://unsplash.com/photos/5hvn-2WW6rY