We invite everybody to make a short (5min) micro-presentation showing off something that is either very useful for them or that has captures their imagination.
Not everybody is used to speak in front of a group, but that is exactly what Vienna Calling is about. So this is an icebreaker of sorts. It is also a hook to get in touch with the other attendees more easily.
Please just open a file, zoom in and show and tell!
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.
Sometimes a record ID is good but not enough. Using a key like "[TABLENAME] <RecordUUID>" can simplify life and reduce redundancy and complexity of the Relationship Graph. I used the concept since its presentation in Berlin 2013 in many solutions.
Look at examples and discuss pros and cons. Looking for feedback and new ideas from the expert round ;-))
Day 1
10:00-10:45
Mezzanin - Breakout (14 seats)
Volker Krambrich
Day 1 | 10:00-10:45 | Mezzanin - Breakout (14 seats)
If your answer is “store a number in a field,” you’re missing out on a world of possibilities! In this session, we’ll take barcode and QR scanning to the next level: triggering actions, automating workflows, and making FileMaker do way more than you thought possible with a simple scan.
Forget boring inventory lists, think real-time interactions, unexpected use cases, and a touch of FileMaker magic. Come see how a simple "beep" can set big things in motion!
Take your FileMaker projects to the next level by mastering the integration of third-party tools and software. This session will focus entirely on how to enhance the FileMaker ecosystem with complementary technologies that improve scalability, performance, and client satisfaction. Discover how to seamlessly connect FileMaker with external APIs, cloud services, automation platforms, and data visualization tools to create powerful, feature-rich solutions. Learn best practices for selecting and implementing the right tools to meet your project’s unique needs, streamline development, and future-proof your infrastructure. Whether you’re tackling enterprise-level solutions or aiming to expand your FileMaker toolkit, this session will provide practical strategies and insights for success.
Automation of data manipulation before and after data migration
During a data migration, we are faced with the task of integrating this into a process with preparation and follow-up. These are 1. before the migration 1.1 prepare the data. 2. after the migration 2.1 transfer the entire table contents to the productive environment, 2.2. transfer individual data from the development environment to the production environment, e.g. for newly introduced settings fields and 2.3. set and update data manually after the migration
This process is made more difficult by the fact that there are actions that have to be carried out for every migration and there are actions that only have to be carried out for the next migration, as they affect newly created structures.
In addition, certain (completed) sites in the databases are to be transferred from the development environment to the production environment, but other sites "in progress" are not yet to be transferred. This knowledge lies with the employee who is responsible for the construction site.
In a team in which several people are allowed to carry out the migration and completed sites are to be migrated ASAP, it can become problematic to always communicate or document the relevant information correctly.
In response to this problem, we have developed a tool that not only records the tasks, but can also perform them automatically before and after a migration.
A showcase of an app we developed for a client. It helps users—primarily graphic designers—manage a catalog of digital assets (mainly PDF and TIFF files) stored on an on-premise server. The app provides a gallery view of the entire catalog within FileMaker and offers various ways to manipulate these assets.
We heavily utilise MBS and WebViewers in this app, so if you're interested in a practical use case for these technologies—drop by and listen. And watch. And maybe even learn (not guaranteed).
What this session will cover:
How we tackled importing data from an old solution previously used by the client
How we implemented a "folder" view (tree structure)
How we manipulate physical copies of files through FileMaker (short answer: MBS for the win)
How we display all files in a gallery format
Requested features we couldn't implement due to platform limitations (or our brain limitations)
Open discussion: What could we have done better?
Unfunny jokes
Day 1
15:00-15:45
Mezzanin - Breakout (14 seats)
Serhii Leshchenko
Day 1 | 15:00-15:45 | Mezzanin - Breakout (14 seats)
Brief introduction to Initiative '24 (24U's endeavor to make the FileMaker calculation engine significantly faster for everyone), followed by a discussion on details like:
why and how it can be done
why it's worth the effort and why it makes sense along with other great improvements
how to convince Claris to make it priority (i.e. how to get enough votes to make it idea #1)
how to help Claris to get it done
how to benchmark and which functions to focus on primarily
how not to break any existing solutions but still make all of them faster
Most of you already know about this initiative, so I want to keep the introduction very short and instead focus on joining our forces to come up with solid strategy that makes sense and has a chance to get accepted and adopted by Claris.
Generative AI has been able to create impressive applications in Python or React, but FileMaker application creation is a different proposition. This session will review what is and isn't possible in terms of using LLMs to create FileMaker applications.
Only recently, I learned that FM gets slower when processing scripts for longer periods. Keen to learn more about that, I started testing. In this session, I will share my findings. Yes, it gets slower, but that is not the entire story.
At the time of writing ( March ), I am still working on the tests. If you're interested in reading more, please come back later
Can ten year-old development modules still be useful? There's nothing about AI in this session.
When external authentication is not an option, but a solution demands a multi-file architecture, here is a solution for centralized account management.
First, the reasonable scenario for a multi-file architecture and why external authentication is not an option (hint: mobile).
Second, the ten year-old module for centralized account management and implementation walk-through.
Finally, brainstorming thumbs in the dike for remaining issues.
Bringing new developers into the FileMaker world can be challenging—where do they start, and how do you ensure they gain real skills quickly? As a junior developer myself, I experienced my company’s structured training program firsthand. Later, I helped refine it to make onboarding even smoother.
In this session, I’ll share:
The original training plan we used and what worked.
The changes we made to improve learning efficiency.
Practical strategies for companies to train newcomers more effectively.
Whether you’re a beginner looking for a learning roadmap or a team lead building a training program, this talk will give you actionable insights to make the onboarding process easier and more effective.
Day 2
10:00-10:45
Mezzanin - Breakout (14 seats)
Dinara Valeeva
Day 2 | 10:00-10:45 | Mezzanin - Breakout (14 seats)
In this hands-on session, I'll explain how to generate more efficient code, optimize scripts, and speed up your workflow with the help of AI. I'll show real-world examples, best practices, and techniques that you can immediately implement in your projects. Ideal for Filemaker developers who want to boost their productivity and take their skills to the next level using AI. You don't need to be an expert to generate good code.
Following on from my talk at last years DotFMP, I will be sharing my WebZepplin UI builder. Together we will test drive the creation of a basic interface within a webviewer to demonstrate the benefits it brings.
Day 2
11:00-12:00
Mezzanin - Breakout (14 seats)
Phillip Kemp
Day 2 | 11:00-12:00 | Mezzanin - Breakout (14 seats)
### Thinking fast and slow somebody said. In what narrative I thought.
The thinking of data as your thoughts; turning into IP( Intellectual Property )
What is backup? rsync to the cloud? Does your term backup have a definition? Does a media have to be physically distanced to become a backup? Such as an ejected LTO or CDVD/BD-ROM?
Defining these terms are imperative to defining who you are in the digital world.
Do you have seeding strategies for your laptops and workstations?
## Your thoughts can have different forms and iterations * In your mind * Written down on paper * Written down in your computer * Structured * SOP? Standard operating Procedure; what most apps should be based on? * Computer application solution; FileMaker, iOS, web, and / or others * Live data from computer, searches in database * Published from live data, as pr example SSPR( Server Side PreRendered ) as dead HTML, to offload database, and for SEO to index more quickly.
I'm not saying these are the right sequence for your thoughts, I'm saying that these should be considered and maybe be a starting point for your very own thoughts.
As markdown: https://gist.github.com/TyrfingMjolnir/4b7c63ca1bce6780d30948183a861698
Day 2
14:00-15:00
Mezzanin - Breakout (14 seats)
Gjermund Gusland Thorsen
Day 2 | 14:00-15:00 | Mezzanin - Breakout (14 seats)
Sharing and explaining cool and complex calculations, (such as those in my examples PDF Links, PDF Barcodes, PDF Canvas, PDF Pages, PNG Barcodes, PNG Canvas or Advent of Code), discussing different approaches to creating, debugging and optimizing calculations, when (not) to use the help of AI, what challenges we have faced and how we dealt with them etc.
Intentionally setting this to a small room in parallel to the MBS session, this is primarily intended for people who prefer (for whatever reasons) pure FileMaker calculations even for complex tasks over leveraging plug-ins, JavaScript and other alternatives. I can imagine 1 hour may become too short even in a very small group of people... ;-)
Trouble managing your projects as a freelancer or SMB software house? Check out our browser based solution that covers the process from Project intake, Story board setup, Resource planning, Client sprint acceptance, Hour booking and Invoicing. If not interested in Project Management is worth seeing what can be build with FileMaker and FMBetterForms.
How to create a failsafe environment so your Python scripts always run as expected. Demo of a small solution where FileMaker sets the right environment, saves the python scripts in the right place and calls them to perform a task. It also installs the needed libraries if missing. This is something I created to read serial data from weighing scales used in our lab. The work was in ensuring the right environment when doing system calls from FileMaker (as it is not the same environment as working in the Terminal) Created in FileMaker 16 for those who aren't always using the latest.
In an era of ever-growing data, holding on to outdated information can slow down performance, increase costs, and complicate data management. But deleting data isn't always the best option. This session explores why you don’t need to keep old data active and how smart archiving techniques can help. Learn how to efficiently store JSON files using structured archiving strategies, ensuring historical data remains accessible when needed—without overloading your systems. Discover best practices for indexing, compression, and retrieval, keeping your data ecosystem lean, efficient, and future-proof.
Join me for an in-depth exploration of the internal data object in Draco, focusing on the latest enhancements in JSON handling within the calculation engine. Discover practical strategies to leverage these improvements effectively in your projects. Additionally, we will provide updates on the new features of the Claris FileMaker Upgrade Tool, highlighting its capabilities for efficiently “patching” FileMaker files.
Now that the Data API is going to become a second-class citizen over time, lets discuss the differences in scripting and performance between the two, and how easy (or not) it might be to move from one method to the other. Bring a use-case so we can all work through it.
An Introduction to n8n LowCode platform and its capabilities to quickly build and deploy AI Agents with no hazzle.
You learn how to make sense of the power of modern LLMs and AI Tools with a few clicks on a flexible workflow platform. How to integrate with FileMaker Server via DataAPI. Building a RAG pipeline with vector stores and attach it to a Custom Chat-Bot including your own business documents and data.
We will challenge the latest AI models from Claude and ChatGPT to understand business queries in natural language and search inside a FileMaker database by the plain power of system prompts. We let the AI figure out how to retrieve information from our sources.
Last but not least we use Gemini Flash model to read multipage PDF files and extract invoice information as JSON data for further processing in FileMaker.
Customer: We need an integration for that!
Developer: *Looks at api docs* OK, it's very doable!
Now the story begins....
This session is about context, data, limitations and timing.
We have multiple ways of moving data from A to B and from B to A using Insert From URL, Claris Connect, Claris Studio and a vast amount of 3rd party tools.
Instead of discussing how to handle api calls, I'll focus on sharing real world experiences with planning and executing integrations. I'll share a few cases of solving problems of source data, delays and limitations of systems vs laws.