SlideShare a Scribd company logo
1 of 25
Michael Westendorf
Senior Application Developer
www.dbservices.com
RENAME WITH CONFIDENCE -
BUILDING DYNAMIC
FILEMAKER SYSTEMS
Questions
If you have a question, please
typist it into the console. If we
don’t get to your question, please
send it to fba@dbservices.com
Agenda
• The benefits of a dynamic system
• Bad scripting, functions to avoid
• Identifying Indirection With BaseElements
• Using FileMaker Internal IDs
• Execute SQL, friend or foe?
• Additional resources
About DB Services
•We are a team of analysts, developers, and
designers creating custom applications to make
your organization more effective and efficient.
Learn more about our FileMaker services on our
website.
•If you leave this presentation wanting learn more!
Check out our FileMaker Blog where we post new
content each month.
•To learn more about DB Services, check out our
website at www.dbservices.com
Background
Work
• Member of FM Academy
• Article included in FM Newsletter
• Global presence (Canada, Europe,
Africa)
• Team focused on adding value
• Senior Application Developer at

DB Services
• Certified in 15, 14, 13 , 12
• Working with FileMaker for 10 years
• Sponsor at FileMaker Developer
Conference
Benefits Of A Dynamic System
• Allows renaming of objects
• Allows analysis tools such as BaseElements 

to identify objects in use/unreferenced
• Prevent errors
Indirection
Any development practice that prevents FileMaker to
recognize your usage as a reference to the object.
These will not show up as being used in a DDR
Good Indirection - Dynamically grabbing an object name
and using it in your solution.
Things To Avoid
Hardcoding
• Table occurrence names
• Layout names
• Field names
• Window Names
• Value List Names
• Script Names
*Layout Object Names
• Never rename a layout object
Scripts/Functions
• Get( LayoutName )
• Evaluate
• ExecuteSQL
• ValueListItems
• DatabaseNames
• FieldBounds
• FieldComments
• FieldIDs
• FieldRepetitions
• FieldStyle
• FieldType GetField
• GetNextSerialValue
• LayoutObjectNames
• RelationInfo
• Get ( LayoutNumber )
• Get ( LayoutTableName )
• Get ( ScriptName )
Scripts/Functions
• Set Field By Name
• Go To Layout - by name or #
• Go to Related Record - Layout by name or #
• Select Window - File Renaming
• Close Window - File Renaming
Common Examples
If [ Get ( LayoutName ) = "Orders" ]
Do Some Code
End If

Evaluate( “TableName” & “::” & $fieldName )
ExecuteSQL ( “SELECT companyName FROM customer” ; “” ; “” )
ValueListItems( Get( FileName); "DealerAllProducts")
Examples
Set Variable [ $GeoField; 

Value:

Case( not IsEmpty( GLOB_Globals.tog::gFedExZone) ;
"ord_ZIPzone::FedExRateZone";
not IsEmpty( GLOB_Globals.tog::gState) ;
“ORD__Orders.tog::OrdShipState_t”;
not IsEmpty( GLOB_Globals.tog::gCountry) ;
“ORD__Orders.tog::OrdShipCountry_t”; "") ]
Set Field By Name [ Evaluate ("$ProdSpecField"); $ProdSpec ]
Examples
Set Variable [ $GeoField; 

Value:

Case( not IsEmpty( GLOB_Globals.tog::gFedExZone) ;
getfieldname( ord_ZIPzone::FedExRateZone );
not IsEmpty( GLOB_Globals.tog::gState) ;
getfieldname( ORD__Orders.tog::OrdShipState_t );
not IsEmpty( GLOB_Globals.tog::gCountry) ;
getfieldname( ORD__Orders.tog::OrdShipCountry_t ); "") ]
Set Field By Name [ $GeoField; $ProdSpec ]
Examples
Examples
Evaluate( “Packing Slips::Roll Qty “ & $s )
Identifying Indirection
BaseElements Demo
Demo
FileMaker Internal IDs
Using custom functions to identify the internal
id in FileMaker.
Pros
• Allows you to rename objects
Cons
• Still can not be seen by DDR/BaseElements
• Harder to read code
FileMaker Internal IDs
Can all be referenced using internal ids
• Tables
• Layouts
• Value Lists
• Fields - GetFieldName( )
• Scripts
Demo
FileMaker Internal IDs
Execute SQL
Pros
• Context Independent
• Can save time when development
Cons
• Natively requires indirection
• SELECT only
• Large sets of data can have performance issues
Demo
Execute SQL
Integrations
Indirection
• ODBC
• PHP
• Server Schedules (scripts names)
• Applescript or Batch scripts to call FileMaker scripts
• And many more
Additional Resources
DB Services website article
• “Using FileMaker Table, Layout IDs in Scripts and Calculations”
BaseElements Article
• “BaseElements, Unreferenced and Indirection”
Custom Functions
• briandunning.com
Q&A

More Related Content

Viewers also liked

Al's_Resume - Job Captain - Commercial
Al's_Resume - Job Captain - CommercialAl's_Resume - Job Captain - Commercial
Al's_Resume - Job Captain - CommercialAlfred Socias
 
Presentazioa j.pollock
Presentazioa j.pollockPresentazioa j.pollock
Presentazioa j.pollockmikeljara
 
Moltrup Content Strategy Stanford Medicine 9 2016
Moltrup Content Strategy Stanford Medicine 9 2016Moltrup Content Strategy Stanford Medicine 9 2016
Moltrup Content Strategy Stanford Medicine 9 2016Wendy Moltrup
 
10 Most Frequently Asked Questions about Measuring Social Media
10 Most Frequently Asked Questions about Measuring Social Media10 Most Frequently Asked Questions about Measuring Social Media
10 Most Frequently Asked Questions about Measuring Social MediaAlan K'necht
 
CV Karen Silence January 2016
CV Karen Silence January 2016CV Karen Silence January 2016
CV Karen Silence January 2016Karen Silence
 
Rx16 workshop 200_group_ppt
Rx16 workshop 200_group_pptRx16 workshop 200_group_ppt
Rx16 workshop 200_group_pptOPUNITE
 
WordPress Website Creation Training Course Slides
WordPress Website Creation Training Course SlidesWordPress Website Creation Training Course Slides
WordPress Website Creation Training Course SlidesEquinet Academy
 
Elementos básicos de la computadora y sus funciones.
Elementos básicos de la computadora y sus funciones.Elementos básicos de la computadora y sus funciones.
Elementos básicos de la computadora y sus funciones.jrtorresb
 
Capítulo 1 introducción a los servicios y aplicaciones móviles
Capítulo 1   introducción a los servicios y aplicaciones móvilesCapítulo 1   introducción a los servicios y aplicaciones móviles
Capítulo 1 introducción a los servicios y aplicaciones móvilesJuan Carlos Cuevas Martínez
 
Resources and Tools For Website Development
Resources and Tools For Website DevelopmentResources and Tools For Website Development
Resources and Tools For Website Development199.design
 

Viewers also liked (14)

Vovici Vision 2011: Better Surveys Through Social Media
Vovici Vision 2011: Better Surveys Through Social MediaVovici Vision 2011: Better Surveys Through Social Media
Vovici Vision 2011: Better Surveys Through Social Media
 
Al's_Resume - Job Captain - Commercial
Al's_Resume - Job Captain - CommercialAl's_Resume - Job Captain - Commercial
Al's_Resume - Job Captain - Commercial
 
Work and education of Dr.Anvarsalim
Work and education of Dr.AnvarsalimWork and education of Dr.Anvarsalim
Work and education of Dr.Anvarsalim
 
Presentazioa j.pollock
Presentazioa j.pollockPresentazioa j.pollock
Presentazioa j.pollock
 
Moltrup Content Strategy Stanford Medicine 9 2016
Moltrup Content Strategy Stanford Medicine 9 2016Moltrup Content Strategy Stanford Medicine 9 2016
Moltrup Content Strategy Stanford Medicine 9 2016
 
10 Most Frequently Asked Questions about Measuring Social Media
10 Most Frequently Asked Questions about Measuring Social Media10 Most Frequently Asked Questions about Measuring Social Media
10 Most Frequently Asked Questions about Measuring Social Media
 
CV Karen Silence January 2016
CV Karen Silence January 2016CV Karen Silence January 2016
CV Karen Silence January 2016
 
Rx16 workshop 200_group_ppt
Rx16 workshop 200_group_pptRx16 workshop 200_group_ppt
Rx16 workshop 200_group_ppt
 
flat design and colors
flat design and colorsflat design and colors
flat design and colors
 
WordPress Website Creation Training Course Slides
WordPress Website Creation Training Course SlidesWordPress Website Creation Training Course Slides
WordPress Website Creation Training Course Slides
 
Elementos básicos de la computadora y sus funciones.
Elementos básicos de la computadora y sus funciones.Elementos básicos de la computadora y sus funciones.
Elementos básicos de la computadora y sus funciones.
 
Capítulo 1 introducción a los servicios y aplicaciones móviles
Capítulo 1   introducción a los servicios y aplicaciones móvilesCapítulo 1   introducción a los servicios y aplicaciones móviles
Capítulo 1 introducción a los servicios y aplicaciones móviles
 
Resources and Tools For Website Development
Resources and Tools For Website DevelopmentResources and Tools For Website Development
Resources and Tools For Website Development
 
3D
3D3D
3D
 

Similar to Rename with Confidence – Building Dynamic FileMaker Systems

Learning to run
Learning to runLearning to run
Learning to rundominion
 
How to generate customized java 8 code from your database
How to generate customized java 8 code from your databaseHow to generate customized java 8 code from your database
How to generate customized java 8 code from your databaseSpeedment, Inc.
 
Silicon Valley JUG - How to generate customized java 8 code from your database
Silicon Valley JUG - How to generate customized java 8 code from your databaseSilicon Valley JUG - How to generate customized java 8 code from your database
Silicon Valley JUG - How to generate customized java 8 code from your databaseSpeedment, Inc.
 
Learning To Run - XPages for Lotus Notes Client Developers
Learning To Run - XPages for Lotus Notes Client DevelopersLearning To Run - XPages for Lotus Notes Client Developers
Learning To Run - XPages for Lotus Notes Client DevelopersKathy Brown
 
(Updated) SharePoint & jQuery Guide
(Updated) SharePoint & jQuery Guide(Updated) SharePoint & jQuery Guide
(Updated) SharePoint & jQuery GuideMark Rackley
 
10.Local Database & LINQ
10.Local Database & LINQ10.Local Database & LINQ
10.Local Database & LINQNguyen Tuan
 
datastage training | datastage online training | datastage training videos | ...
datastage training | datastage online training | datastage training videos | ...datastage training | datastage online training | datastage training videos | ...
datastage training | datastage online training | datastage training videos | ...Nancy Thomas
 
How to obtain the Cloudera Data Engineer Certification
How to obtain the Cloudera Data Engineer CertificationHow to obtain the Cloudera Data Engineer Certification
How to obtain the Cloudera Data Engineer Certificationelephantscale
 
Groovy Architectural Flexibility
Groovy Architectural FlexibilityGroovy Architectural Flexibility
Groovy Architectural FlexibilityDavid Dawson
 
JavaOne2016 - How to Generate Customized Java 8 Code from Your Database [TUT4...
JavaOne2016 - How to Generate Customized Java 8 Code from Your Database [TUT4...JavaOne2016 - How to Generate Customized Java 8 Code from Your Database [TUT4...
JavaOne2016 - How to Generate Customized Java 8 Code from Your Database [TUT4...Speedment, Inc.
 
How to JavaOne 2016 - Generate Customized Java 8 Code from Your Database [TUT...
How to JavaOne 2016 - Generate Customized Java 8 Code from Your Database [TUT...How to JavaOne 2016 - Generate Customized Java 8 Code from Your Database [TUT...
How to JavaOne 2016 - Generate Customized Java 8 Code from Your Database [TUT...Malin Weiss
 
NZYP Project Casestudy using SilverStripe CMS
NZYP Project Casestudy using SilverStripe CMSNZYP Project Casestudy using SilverStripe CMS
NZYP Project Casestudy using SilverStripe CMSCam Findlay
 
The SharePoint & jQuery Guide - Updated 1/14/14
The SharePoint & jQuery Guide - Updated 1/14/14The SharePoint & jQuery Guide - Updated 1/14/14
The SharePoint & jQuery Guide - Updated 1/14/14Mark Rackley
 
Sterling for Windows Phone 7
Sterling for Windows Phone 7Sterling for Windows Phone 7
Sterling for Windows Phone 7Jeremy Likness
 
Codeigniter Training Part3
Codeigniter Training Part3Codeigniter Training Part3
Codeigniter Training Part3Weerayut Hongsa
 
Apex Enterprise Patterns: Building Strong Foundations
Apex Enterprise Patterns: Building Strong FoundationsApex Enterprise Patterns: Building Strong Foundations
Apex Enterprise Patterns: Building Strong FoundationsSalesforce Developers
 
24221030 Enhance Oracle Sshr With Advanced Personalizations And Oa Fwk Extens...
24221030 Enhance Oracle Sshr With Advanced Personalizations And Oa Fwk Extens...24221030 Enhance Oracle Sshr With Advanced Personalizations And Oa Fwk Extens...
24221030 Enhance Oracle Sshr With Advanced Personalizations And Oa Fwk Extens...Hossam El-Faxe
 
AZMS PRESENTATION.pptx
AZMS PRESENTATION.pptxAZMS PRESENTATION.pptx
AZMS PRESENTATION.pptxSonuShaw16
 

Similar to Rename with Confidence – Building Dynamic FileMaker Systems (20)

Learning to run
Learning to runLearning to run
Learning to run
 
How to generate customized java 8 code from your database
How to generate customized java 8 code from your databaseHow to generate customized java 8 code from your database
How to generate customized java 8 code from your database
 
Silicon Valley JUG - How to generate customized java 8 code from your database
Silicon Valley JUG - How to generate customized java 8 code from your databaseSilicon Valley JUG - How to generate customized java 8 code from your database
Silicon Valley JUG - How to generate customized java 8 code from your database
 
Learning To Run - XPages for Lotus Notes Client Developers
Learning To Run - XPages for Lotus Notes Client DevelopersLearning To Run - XPages for Lotus Notes Client Developers
Learning To Run - XPages for Lotus Notes Client Developers
 
(Updated) SharePoint & jQuery Guide
(Updated) SharePoint & jQuery Guide(Updated) SharePoint & jQuery Guide
(Updated) SharePoint & jQuery Guide
 
10.Local Database & LINQ
10.Local Database & LINQ10.Local Database & LINQ
10.Local Database & LINQ
 
datastage training | datastage online training | datastage training videos | ...
datastage training | datastage online training | datastage training videos | ...datastage training | datastage online training | datastage training videos | ...
datastage training | datastage online training | datastage training videos | ...
 
How to obtain the Cloudera Data Engineer Certification
How to obtain the Cloudera Data Engineer CertificationHow to obtain the Cloudera Data Engineer Certification
How to obtain the Cloudera Data Engineer Certification
 
Groovy Architectural Flexibility
Groovy Architectural FlexibilityGroovy Architectural Flexibility
Groovy Architectural Flexibility
 
Sales force
Sales forceSales force
Sales force
 
JavaOne2016 - How to Generate Customized Java 8 Code from Your Database [TUT4...
JavaOne2016 - How to Generate Customized Java 8 Code from Your Database [TUT4...JavaOne2016 - How to Generate Customized Java 8 Code from Your Database [TUT4...
JavaOne2016 - How to Generate Customized Java 8 Code from Your Database [TUT4...
 
How to JavaOne 2016 - Generate Customized Java 8 Code from Your Database [TUT...
How to JavaOne 2016 - Generate Customized Java 8 Code from Your Database [TUT...How to JavaOne 2016 - Generate Customized Java 8 Code from Your Database [TUT...
How to JavaOne 2016 - Generate Customized Java 8 Code from Your Database [TUT...
 
NZYP Project Casestudy using SilverStripe CMS
NZYP Project Casestudy using SilverStripe CMSNZYP Project Casestudy using SilverStripe CMS
NZYP Project Casestudy using SilverStripe CMS
 
The SharePoint & jQuery Guide - Updated 1/14/14
The SharePoint & jQuery Guide - Updated 1/14/14The SharePoint & jQuery Guide - Updated 1/14/14
The SharePoint & jQuery Guide - Updated 1/14/14
 
Sterling for Windows Phone 7
Sterling for Windows Phone 7Sterling for Windows Phone 7
Sterling for Windows Phone 7
 
Codeigniter Training Part3
Codeigniter Training Part3Codeigniter Training Part3
Codeigniter Training Part3
 
Apex Enterprise Patterns: Building Strong Foundations
Apex Enterprise Patterns: Building Strong FoundationsApex Enterprise Patterns: Building Strong Foundations
Apex Enterprise Patterns: Building Strong Foundations
 
24221030 Enhance Oracle Sshr With Advanced Personalizations And Oa Fwk Extens...
24221030 Enhance Oracle Sshr With Advanced Personalizations And Oa Fwk Extens...24221030 Enhance Oracle Sshr With Advanced Personalizations And Oa Fwk Extens...
24221030 Enhance Oracle Sshr With Advanced Personalizations And Oa Fwk Extens...
 
AZMS PRESENTATION.pptx
AZMS PRESENTATION.pptxAZMS PRESENTATION.pptx
AZMS PRESENTATION.pptx
 
Version Control meets Database Control
Version Control meets Database ControlVersion Control meets Database Control
Version Control meets Database Control
 

More from DB Services

2020 and Beyond: Navigating Claris Transformations & Innovations Post-Pandemic
2020 and Beyond: Navigating Claris Transformations & Innovations Post-Pandemic2020 and Beyond: Navigating Claris Transformations & Innovations Post-Pandemic
2020 and Beyond: Navigating Claris Transformations & Innovations Post-PandemicDB Services
 
Claris Engage 2020, FileMaker Pro 19.1, and FileMaker Server 19.1
Claris Engage 2020, FileMaker Pro 19.1, and FileMaker Server 19.1Claris Engage 2020, FileMaker Pro 19.1, and FileMaker Server 19.1
Claris Engage 2020, FileMaker Pro 19.1, and FileMaker Server 19.1DB Services
 
FileMaker 19 Overview | DB Services
FileMaker 19 Overview | DB ServicesFileMaker 19 Overview | DB Services
FileMaker 19 Overview | DB ServicesDB Services
 
Claris Connect Overview | DB Services
Claris Connect Overview | DB ServicesClaris Connect Overview | DB Services
Claris Connect Overview | DB ServicesDB Services
 
Becoming a-filemaker-designer-in-60-minutes
Becoming a-filemaker-designer-in-60-minutesBecoming a-filemaker-designer-in-60-minutes
Becoming a-filemaker-designer-in-60-minutesDB Services
 
Filemaker selling-design
Filemaker selling-designFilemaker selling-design
Filemaker selling-designDB Services
 
Filemaker security-protect-your-data
Filemaker security-protect-your-dataFilemaker security-protect-your-data
Filemaker security-protect-your-dataDB Services
 
Filemaker FMP URLs
Filemaker FMP URLsFilemaker FMP URLs
Filemaker FMP URLsDB Services
 
FileMaker Scripting Best Practices
FileMaker Scripting Best PracticesFileMaker Scripting Best Practices
FileMaker Scripting Best PracticesDB Services
 

More from DB Services (9)

2020 and Beyond: Navigating Claris Transformations & Innovations Post-Pandemic
2020 and Beyond: Navigating Claris Transformations & Innovations Post-Pandemic2020 and Beyond: Navigating Claris Transformations & Innovations Post-Pandemic
2020 and Beyond: Navigating Claris Transformations & Innovations Post-Pandemic
 
Claris Engage 2020, FileMaker Pro 19.1, and FileMaker Server 19.1
Claris Engage 2020, FileMaker Pro 19.1, and FileMaker Server 19.1Claris Engage 2020, FileMaker Pro 19.1, and FileMaker Server 19.1
Claris Engage 2020, FileMaker Pro 19.1, and FileMaker Server 19.1
 
FileMaker 19 Overview | DB Services
FileMaker 19 Overview | DB ServicesFileMaker 19 Overview | DB Services
FileMaker 19 Overview | DB Services
 
Claris Connect Overview | DB Services
Claris Connect Overview | DB ServicesClaris Connect Overview | DB Services
Claris Connect Overview | DB Services
 
Becoming a-filemaker-designer-in-60-minutes
Becoming a-filemaker-designer-in-60-minutesBecoming a-filemaker-designer-in-60-minutes
Becoming a-filemaker-designer-in-60-minutes
 
Filemaker selling-design
Filemaker selling-designFilemaker selling-design
Filemaker selling-design
 
Filemaker security-protect-your-data
Filemaker security-protect-your-dataFilemaker security-protect-your-data
Filemaker security-protect-your-data
 
Filemaker FMP URLs
Filemaker FMP URLsFilemaker FMP URLs
Filemaker FMP URLs
 
FileMaker Scripting Best Practices
FileMaker Scripting Best PracticesFileMaker Scripting Best Practices
FileMaker Scripting Best Practices
 

Recently uploaded

Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...FIDO Alliance
 
Event-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream ProcessingEvent-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream ProcessingScyllaDB
 
Working together SRE & Platform Engineering
Working together SRE & Platform EngineeringWorking together SRE & Platform Engineering
Working together SRE & Platform EngineeringMarcus Vechiato
 
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?Paolo Missier
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...panagenda
 
Introduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptxIntroduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptxFIDO Alliance
 
Collecting & Temporal Analysis of Behavioral Web Data - Tales From The Inside
Collecting & Temporal Analysis of Behavioral Web Data - Tales From The InsideCollecting & Temporal Analysis of Behavioral Web Data - Tales From The Inside
Collecting & Temporal Analysis of Behavioral Web Data - Tales From The InsideStefan Dietze
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxFIDO Alliance
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftshyamraj55
 
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfThe Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfFIDO Alliance
 
2024 May Patch Tuesday
2024 May Patch Tuesday2024 May Patch Tuesday
2024 May Patch TuesdayIvanti
 
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...FIDO Alliance
 
WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024Lorenzo Miniero
 
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...Skynet Technologies
 
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...ScyllaDB
 
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPTiSEO AI
 
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfBreaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfUK Journal
 
Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Patrick Viafore
 
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfLinux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfFIDO Alliance
 
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...marcuskenyatta275
 

Recently uploaded (20)

Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
 
Event-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream ProcessingEvent-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream Processing
 
Working together SRE & Platform Engineering
Working together SRE & Platform EngineeringWorking together SRE & Platform Engineering
Working together SRE & Platform Engineering
 
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
 
Introduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptxIntroduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptx
 
Collecting & Temporal Analysis of Behavioral Web Data - Tales From The Inside
Collecting & Temporal Analysis of Behavioral Web Data - Tales From The InsideCollecting & Temporal Analysis of Behavioral Web Data - Tales From The Inside
Collecting & Temporal Analysis of Behavioral Web Data - Tales From The Inside
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoft
 
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfThe Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
 
2024 May Patch Tuesday
2024 May Patch Tuesday2024 May Patch Tuesday
2024 May Patch Tuesday
 
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
 
WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024
 
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
 
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
 
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
 
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfBreaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
 
Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024
 
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfLinux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
 
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
 

Rename with Confidence – Building Dynamic FileMaker Systems

  • 1. Michael Westendorf Senior Application Developer www.dbservices.com RENAME WITH CONFIDENCE - BUILDING DYNAMIC FILEMAKER SYSTEMS
  • 2. Questions If you have a question, please typist it into the console. If we don’t get to your question, please send it to fba@dbservices.com
  • 3. Agenda • The benefits of a dynamic system • Bad scripting, functions to avoid • Identifying Indirection With BaseElements • Using FileMaker Internal IDs • Execute SQL, friend or foe? • Additional resources
  • 4. About DB Services •We are a team of analysts, developers, and designers creating custom applications to make your organization more effective and efficient. Learn more about our FileMaker services on our website. •If you leave this presentation wanting learn more! Check out our FileMaker Blog where we post new content each month. •To learn more about DB Services, check out our website at www.dbservices.com
  • 5. Background Work • Member of FM Academy • Article included in FM Newsletter • Global presence (Canada, Europe, Africa) • Team focused on adding value • Senior Application Developer at
 DB Services • Certified in 15, 14, 13 , 12 • Working with FileMaker for 10 years • Sponsor at FileMaker Developer Conference
  • 6. Benefits Of A Dynamic System • Allows renaming of objects • Allows analysis tools such as BaseElements 
 to identify objects in use/unreferenced • Prevent errors
  • 7. Indirection Any development practice that prevents FileMaker to recognize your usage as a reference to the object. These will not show up as being used in a DDR Good Indirection - Dynamically grabbing an object name and using it in your solution.
  • 8. Things To Avoid Hardcoding • Table occurrence names • Layout names • Field names • Window Names • Value List Names • Script Names *Layout Object Names • Never rename a layout object
  • 9. Scripts/Functions • Get( LayoutName ) • Evaluate • ExecuteSQL • ValueListItems • DatabaseNames • FieldBounds • FieldComments • FieldIDs • FieldRepetitions • FieldStyle • FieldType GetField • GetNextSerialValue • LayoutObjectNames • RelationInfo • Get ( LayoutNumber ) • Get ( LayoutTableName ) • Get ( ScriptName )
  • 10. Scripts/Functions • Set Field By Name • Go To Layout - by name or # • Go to Related Record - Layout by name or # • Select Window - File Renaming • Close Window - File Renaming
  • 11. Common Examples If [ Get ( LayoutName ) = "Orders" ] Do Some Code End If
 Evaluate( “TableName” & “::” & $fieldName ) ExecuteSQL ( “SELECT companyName FROM customer” ; “” ; “” ) ValueListItems( Get( FileName); "DealerAllProducts")
  • 12. Examples Set Variable [ $GeoField; 
 Value:
 Case( not IsEmpty( GLOB_Globals.tog::gFedExZone) ; "ord_ZIPzone::FedExRateZone"; not IsEmpty( GLOB_Globals.tog::gState) ; “ORD__Orders.tog::OrdShipState_t”; not IsEmpty( GLOB_Globals.tog::gCountry) ; “ORD__Orders.tog::OrdShipCountry_t”; "") ] Set Field By Name [ Evaluate ("$ProdSpecField"); $ProdSpec ]
  • 13. Examples Set Variable [ $GeoField; 
 Value:
 Case( not IsEmpty( GLOB_Globals.tog::gFedExZone) ; getfieldname( ord_ZIPzone::FedExRateZone ); not IsEmpty( GLOB_Globals.tog::gState) ; getfieldname( ORD__Orders.tog::OrdShipState_t ); not IsEmpty( GLOB_Globals.tog::gCountry) ; getfieldname( ORD__Orders.tog::OrdShipCountry_t ); "") ] Set Field By Name [ $GeoField; $ProdSpec ]
  • 17. Demo
  • 18. FileMaker Internal IDs Using custom functions to identify the internal id in FileMaker. Pros • Allows you to rename objects Cons • Still can not be seen by DDR/BaseElements • Harder to read code
  • 19. FileMaker Internal IDs Can all be referenced using internal ids • Tables • Layouts • Value Lists • Fields - GetFieldName( ) • Scripts
  • 21. Execute SQL Pros • Context Independent • Can save time when development Cons • Natively requires indirection • SELECT only • Large sets of data can have performance issues
  • 23. Integrations Indirection • ODBC • PHP • Server Schedules (scripts names) • Applescript or Batch scripts to call FileMaker scripts • And many more
  • 24. Additional Resources DB Services website article • “Using FileMaker Table, Layout IDs in Scripts and Calculations” BaseElements Article • “BaseElements, Unreferenced and Indirection” Custom Functions • briandunning.com
  • 25. Q&A