SlideShare una empresa de Scribd logo
1 de 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

Más contenido relacionado

Destacado

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
 

Destacado (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 a 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
 
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
 
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.
 
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 a 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
 
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...
 
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...
 
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
 

Más de DB 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
 

Más de DB Services (8)

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
 

Último

The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Exploring ChatGPT Prompt Hacks To Maximally Optimise Your Queries
Exploring ChatGPT Prompt Hacks To Maximally Optimise Your QueriesExploring ChatGPT Prompt Hacks To Maximally Optimise Your Queries
Exploring ChatGPT Prompt Hacks To Maximally Optimise Your QueriesSanjay Willie
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 

Último (20)

The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Exploring ChatGPT Prompt Hacks To Maximally Optimise Your Queries
Exploring ChatGPT Prompt Hacks To Maximally Optimise Your QueriesExploring ChatGPT Prompt Hacks To Maximally Optimise Your Queries
Exploring ChatGPT Prompt Hacks To Maximally Optimise Your Queries
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 

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