Your SlideShare is downloading. ×
0
Rename with Confidence – Building Dynamic FileMaker Systems
Rename with Confidence – Building Dynamic FileMaker Systems
Rename with Confidence – Building Dynamic FileMaker Systems
Rename with Confidence – Building Dynamic FileMaker Systems
Rename with Confidence – Building Dynamic FileMaker Systems
Rename with Confidence – Building Dynamic FileMaker Systems
Rename with Confidence – Building Dynamic FileMaker Systems
Rename with Confidence – Building Dynamic FileMaker Systems
Rename with Confidence – Building Dynamic FileMaker Systems
Rename with Confidence – Building Dynamic FileMaker Systems
Rename with Confidence – Building Dynamic FileMaker Systems
Rename with Confidence – Building Dynamic FileMaker Systems
Rename with Confidence – Building Dynamic FileMaker Systems
Rename with Confidence – Building Dynamic FileMaker Systems
Rename with Confidence – Building Dynamic FileMaker Systems
Rename with Confidence – Building Dynamic FileMaker Systems
Rename with Confidence – Building Dynamic FileMaker Systems
Rename with Confidence – Building Dynamic FileMaker Systems
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Rename with Confidence – Building Dynamic FileMaker Systems

413

Published on

Learn about best practices, common mistakes, and how to build your system with best practices. Why to avoid indirection and how to use tools to identify indirection. Learn techniques that you can …

Learn about best practices, common mistakes, and how to build your system with best practices. Why to avoid indirection and how to use tools to identify indirection. Learn techniques that you can easily implement to ensure your system is dynamic and built to last.

Learn the following:
• 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

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
413
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Michael Westendorf Senior Application Developer
 www.dbservices.com RENAME WITH CONFIDENCE - BUILDING DYNAMIC FILEMAKER SYSTEMS
  • 2. 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
  • 3. Benefits Of A Dynamic System • Allows renaming of objects ! • Allows analysis tools such as BaseElements 
 to identify objects in use/unreferenced ! • Prevent errors
  • 4. 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.
  • 5. 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
  • 6. Scripts/Functions • Get( LayoutName ) • Evaluate • ExecuteSQL • ValueListItems • DatabaseNames • FieldBounds • FieldComments • FieldIDs • FieldRepetitions • FieldStyle • FieldType GetField • GetNextSerialValue • LayoutObjectNames • RelationInfo • Get ( LayoutNumber ) • Get ( LayoutTableName ) • Get ( ScriptName )
  • 7. 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
  • 8. Common Examples If [ Get ( LayoutName ) = "Orders" ] Do Some Code End If
 Evaluate( “TableName” & “::” & $fieldName ) ! ExecuteSQL ( “SELECT companyName FROM customer” ; “” ; “” ) ! ValueListItems( Get( FileName); "DealerAllProducts")
  • 9. 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 ]
  • 10. 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 ]
  • 11. Examples
  • 12. Examples Evaluate( “Packing Slips::Roll Qty “ & $s )
  • 13. Identifying Indirection BaseElements Demo
  • 14. 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
  • 15. FileMaker Internal IDs Can all be referenced using internal ids • Tables • Layouts • Value Lists • Fields - GetFieldName( ) • Scripts
  • 16. Execute SQL Pros • Context Independent • Can save time when development ! Cons • Natively requires indirection • SELECT only • Large sets of data can have performance issues
  • 17. Integrations Indirection • ODBC • PHP • Server Schedules (scripts names) • Applescript or Batch scripts to call FileMaker scripts • And many more
  • 18. Additional Resources DB Services • “Using FileMaker Table, Layout IDs in Scripts and Calculations” • http://www.dbservices.com/articles/using-filemaker-table- layout-ids-in-scripts-and-calculations ! Goya BaseElements • “BaseElements, Unreferenced and Indirection” • http://support.goya.com.au/kb/baseelements-features/ baseelements-unreferenced-and-indirection ! Custom Functions • briandunning.com

×