We invite everybody to make a short (5min) micro-presentation showing off something that is either very useful for them or that has captured their imagination. From the best CustomFunction to a smart Layout-Tech, from the most handy scripting trick, to the most beautiful RelationshipGraph …
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!
During Philip’s session, I shared a tip on how to open the contents of the pasteboard in VS Code using FileMaker syntax highlighting, after saving it to a RAM disk. The attached file contains the scripts to create the RAM disk and open the contents of the pasteboard in VS Code.
During Philip’s session, I shared a tip...
Day 1
09:15-09:30
Mezzanin - Breakout (14 seats)
Giancarlo Meak
Day 1 | 09:15-09:30 | Mezzanin - Breakout (14 seats)
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 ;-))
Thank you for all lively discussion and FeedBack.
I did attach the demo file Iused in the presentation. It contains the main concept with explanation and example. If you like to know more or want to discuss, get in contact. (v.krambrich@norsult.com)
Sometimes a record ID is good but not en...
Day 1
10:00-10:45
Mezzanin - Breakout (14 seats)
Volker Krambrich
Day 1 | 10:00-10:45 | Mezzanin - Breakout (14 seats)
Or the answer to the most important question when you arrive in Vienna:
where to find the best Wiener Schnitzel supported by dataming? we will find out together!
Tableau is a business intelligence tool that graphically processes data from a Filemaker server at high speed and can be continuously updated with the help of connectors - from Beezwax, for example. The dashboards are interactive and interrelated and can be integrated into any Filemaker solution via webviewer.
Join us for a retrospective look at the most insightful topics from our weekly Tech meetings at Clickworks over the past year. These informal but highly engaging sessions have become a cornerstone of our internal knowledge sharing, team learning, and technical exploration.
In this session, we’ll highlight my most noteworthy topics we've covered—from FileMaker development tips and performance optimization strategies, to integrations, scripting quirks, and lessons learned from real-world client challenges.
FileMaker enables rapid development and modifications, a quality that serves as both a blessing and a potential pitfall. In the early stages of a project, this ability to progress swiftly is invaluable. However, as solutions mature and persist over the years, the need for diligent maintenance and adaptation to evolving business workflows becomes critical. Without this, solutions can accumulate technical debt, becoming cumbersome and less adaptable to new requirements.
Managing code effectively involves continuous evaluation and simplification, ensuring it can rapidly adapt to changing business needs. Discover how maintaining a low technical debt enhances your team's agility and helps adapt quickly to business changes, and safeguarding your investments in FileMaker solutions.
We will spend time looking at what InspectorPro can do to help you maintain your technical debt and discuss ideas on how we can build other ways to measure FileMaker code health.
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!
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.
If you are in a similar situation I want to give you an idea how to solve the problem, which problems you are facing and what is to be considered
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)
I guess everyone uses Postman or similar tools to test connections to API’s. For this I’m not an exeption, I too use Postman. But developing the connection between FileMaker and ActiveCampaign I found out what works in Postman cannot always copied to FileMaker. Most of the time you still need some tweaking.
To help myself get this structured into the database I started creating a sort of framework around it.
I would like to share a keyboard shortcut made with MBS plugin that enables you to automatically create script comments for 'Perform find' and friends, 'Sort', 'Import', 'Export', so you can see at a glance what these Script Steps do.
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.
When we publish the a version to a customer's productive system, we want to preserve the version number, the rollout timestamp and version notes. i wrote a script for that because i forget what i do not automate. i will talk you through that short script and show you how we use it.
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.
This topic 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... ;-)
Claris has revealed that "Centralized Control for FileMaker Security" is in their product roadmap. I have some concerns about their likely approach for this. We deploy solutions with FileMaker Go that must run in areas with no Internet access. If they are planning to replace the current security model with an identity management system that relies on an online, centralized server, this would be an issue for us.
We already use a scripted architecture to replicate accounts across hosted files and are working on a solution to expand this to remote files as well.
I will demonstrate a solution shared with the community and open the discussion on the topic of centralized security management - beyond external authentication or third-party identity providers.
The scenario for a multi-file architecture and why external authentication and third-party ID providers are not options in this scenario.
The public module for centralized account management and implementation walk-through.
A discussion of Claris' roadmap and the approach we have been working on..
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.
Bringing new developers into the FileMak...
Day 2
10:00-10:45
Mezzanin - Breakout (14 seats)
Dinara Valeeva
Day 2 | 10:00-10:45 | Mezzanin - Breakout (14 seats)
Once again, and after seeing what was said in the sessions today, I'm going to change the subject. With the new version of FileMaker Server about to be released, there are many new concepts that will appear: RAG, Fine Tuning, Hugging Faces, Embedding Model... and other new ones that we need to know, because they will appear in our lives, such as Agents, LungChain... In this session, I will explain the basics of all these concepts, where they come from, what we expect from them, and how to use them properly, because as in the movie, there is the Good, the Bad, and the Ugly.
Besides serving our respected clients, the Loggix team does quite some internal development and I'm happy to share last year's progress: a new browser-based Project Management System, based on FileMaker (back end) and FMBetterForms (front end). I will demo how the underlying platforms communicate and can be set up in minutes (you learn a little FMBetterForms). Besides I will explain why we build yet another PMS and of course showcase the PMS. This app is aimed at the SMB app-building industry (aka you) therfore I am looking forward to your feedback!
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.
Following up on the low-code UI builder concept (Web Zeppelin) I demonstrated last year at dot fmp, I’d like to share the latest progress and host a hands-on session where we’ll walk through building a simple app UI together within a single web viewer.
Following up on the low-code UI builder...
Day 2
15:15-16:00
Mezzanin - Breakout (14 seats)
Phillip Kemp
Day 2 | 15:15-16:00 | Mezzanin - Breakout (14 seats)
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. As a bonus I will quickly cover changes with the open source libraries, OData, and the recent server vRevs.
Due to the fact that so many of you asked, I'll show you how to get there from here (Museumsquartier). We (72s Team) will depart together from here and you are welcome to join. We will leave at approx. 6:15pm.
A short follow up to Caleb Ruth’s session on Centralizing Account Management in multiple FileMaker files. I have a controller file to create and edit user accounts. Also allows user to reset password after a simple authorization check. A work in progress. A simple odata use case.
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 and how to integrate with hundreds of tools as well as 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.
See how to integrate Gemini Flash model to read multipage PDF files and extract invoice information as JSON data for further processing in FileMaker.
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 let's explore an easy way to wrap your own FileMaker solution into an MCP Server to provide custom logic for any AI agent.
### 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
# Your thoughts and their life cycle###...
Day 2
14:00-15:00
Mezzanin - Breakout (14 seats)
Gjermund Gusland Thorsen
Day 2 | 14:00-15:00 | Mezzanin - Breakout (14 seats)