Scripting: back to basics

Let's talk about scripting. In general. And a bit more specific as well. We're not talking about the latest and greatest, just about scripting in everyday life.


A hopefully interesting session for those among us that are less experienced in scripting, and a refresh for the veterans. This is intended as an "old school dotFMP style" session, with a minimum amount of slides and a maximum amount of idea exchange.


I am writing down some things we could be talking about, as they come to mind…  much too much for our 45 minute time frame, but a break-out session in another room will follow, for those who want to pursue this a bit more. No AI was used while compiling this list.


  • How do we organise our scripts? 
    • - In folders? 
    • - Specific names based on functionality, layout, base table, privileges? Numbering? Short or elaborate?
    • - Anything else?
  • Parameter passing?
    • - Historically, custom functions and workarounds to pass multiple parameters, like e.g. global fields
    • - JSON as a way to pass parameters, advantages and limitations of JSON
    • - Modern alternatives to pass parameters (e.g. dictionaries, XML…)
    • - Subscripts and script results
  • Script documentation
    • - Script headers?
    • - Documenting parameters and (initialising) variables
    • - Documenting what is calling our script… scripts, buttons, events, plug-ins, other? Tips and tricks
    • - Header documentation, inline documentation, references to support and development tickets,, authors, History of changes… Tips and tricks
  • Variables
    • - Naming conventions?
    • - $ versus $$ variables versus globals or even plug-in variables ($$$)
    • - Arrays of variables
    • - Tips and tricks
  • Managing Scripts
    • - Readability, maximum size and subscripts, tools to make your scripts more readable
    • - Reusable scripts, and maybe discuss context as well here
    • - Over engineering
    • - Multiple developers editing the same scripts
    • - Commenting out script steps, why and when
    • - Copying and pasting scripts and script steps, tips and tricks, duplicate script vs new script
    • - Searching - and replacing - in scripts, tools available for this
    • - Shortcuts to make your life easier, and why they sometimes fail, careful with donations
    • - Script step defaults, bugs
  • Debugging
    • - Using the Debugger, tips and tricks, problems
    • - Using the Data Viewer, also tips and tricks, and problems :-)
    • - Pause On Error (maybe pun intended), not always useable
  • Scripting techniques
    • - If-elseif-else
    • - Loops
    • - Transactions
    • - Error tracking, capturing, reporting
    • - Plug-ins versus the purist approach
  • Server side scripts
    • - Compatible script steps
    • - Parameter passing
    • - Debugging, error tracking and reporting


This list will be modified in the next few months, as I think about stuff and get feedback from folks.

Peter Wagemans

09:45-10:30

Day 1 | 2025-06-05

Suite C (25 seats)

login for watchlist