Jump to content
  • Welcome to FMFourms!

  • Our picks

    • New Client Story: Lab9 & ClickWorks

      How do you scale internal systems to support a growing retail and service network; without losing agility?

      From building their first FileMaker tool in-house back in 1993 to powering daily operations for 300+ employees today, Lab9 has always valued efficiency and innovation. When their internal platform needed a complete redesign, they partnered with us at ClickWorks.

      Together, we reimagined their platform by refining design, improving day-to-day usability, and supporting teams across service, retail, and operations. It’s a collaboration that still continues today.

      Read the full story here - https://www.clickworks.eu/en/case/inside-lab9-a-custom-platform-a-lasting-partnership/
      • 0 replies
    • On June 27, many members of the Claris Engineering team, including Lucy Chen and Clay, will join me for an under the hood look at Claris FileMaker 2023. Two sessions: 9:00 a.m. PDT and 4:00 p.m. PDT. [Register here](https://content.claris.com/claris-fm2023-webinar-uth-fmforums).
        • Meow
      • 0 replies
    • The task at hand was finding an API for one of our clients that could provide a comprehensive list of their clients stores. The goal was to cross-reference this with our database, ensuring each store was accounted for. Despite my efforts, the search came up empty. However, their website presented an intriguing alternative: a detailed directory segmented by state and country.

      My initial approach was to examine the website's HTML, yet this only yielded the default data. Attempts to append the URL to load data from different countries proved futile. The website's dropdown appeared to use JavaScript to pull varying data sets. My initial assumption was that each selection triggered a new query. However, upon closer inspection, I discovered a JSON object nestled just before the closing body tag. Rather than querying anew each time, the JavaScript simply drew from different arrays within this pre-loaded object.

      Enter ChatGPT, OpenAI's conversational AI. 
      • 0 replies
    • Claris's VP of Marketing Ann Devens just announced Claris Engage - February 6-8, 2024 on the Apple campus in Austin, Texas.

      We'll share more details about registration, speaking, hotels, and exhibiting soon.

      I hope to see you there!
        • Like
      • 0 replies
    • This is essentially a port of WORDLE built-in FileMaker there are many who are addicted to this daily challenge.
        • Like
  • Topics

  • Blog Entries

         0 comments
      Working with simple lists of values is one of the most fundamental aspects of building software. FileMaker, like any other development environment, often requires working with lists of values, whether it's a global field used as a relationship key or multiple selections made from a checkbox widget.
      In this video, I'll present a number of custom functions that provide common and practical operations for handling lists of values. These functions can be copied and pasted directly into your FileMaker solution, offering a wide range of benefits.
      Functions covered in this video:
      ValueExists ValuePosition ValuesExtract ValuesNotInList ValuesWalk ValuesWrap ValueToggle We'll walk through each function and discuss how it's most commonly used within a FileMaker solution. Whether you've worked extensively with lists or only sparingly, these functions may change the way you approach handling values in your projects.
      Click the title or link to this article to view the video.
      View the full article
         0 comments
      As of May 2025, Claris Studio now includes Custom Views, making it easier to shape dashboards and interfaces around your workflow. You can mix and match elements from different views, create role-specific layouts for team members or vendors, and access your FileMaker data more efficiently. In this article, we’ll explore how Custom Views can simplify your work and share practical examples to help you get started.
         0 comments
      Here are links to articles and resources related to today’s FM Training Livestream presentation: Best of FileMaker Hacks Tips, Tricks and Traps YouTube link coming soon Demo Files coming soon Articles Replace + GetNthRecord to Fill Down Sometimes Less Is More Reliable When 2 is greater than 10 Layout Calculations in FileMaker 20.2 Layout Calculations… Continue reading September 2025 FM Training LivestreamView the full article
         0 comments
      Download WoodgeNav.fmp12 Making your FileMaker Pro solution easy to navigate is key to providing a great user experience in your solution. WoodgeNav is a free FileMaker navigation solution.
      Anybody who has used a web browser knows what the back and forward buttons do. It’s expected that you can navigate to a new page, the go back to a list and look for another item. This behaviour has become so ingrained that if software doesn’t do this it can just feel broken. If we build a website or web-app we get this behaviour for free. In FileMaker Pro this requires a little bit more work.
      A quick Google will reveal many existing solutions to this problem:

      https://apjuk.com/browsernav/
      Paul Jansen, APJ Ltd
      https://www.filemakermagazine.com/videos/adding-back-buttons
      ISO FileMaker Magazine
      https://www.youtube.com/watch?v=HMVDqHWvklY
      Accelerate Computer Training

      These are all good solutions, but none of them quite gave me the behaviour I was looking for. The functionality I was looking for was:

      Backward/forwards navigation function.
      Multi-window support with seperare history per window.
      Ability to show now just layout name, but record specific information for previous pages.
      Neat, compact appearance that behaves the way a user expects it to behave without a learning curve.
      Not too onerous for the developer to keep on-top of.

      Getting Started
      I used Paul Jansens BrowserNav as a starting point but with a few key developments and improvements. I wanted to be able to have the user CTRL click the back button and be shown a list of the previous layouts they were on. Using a popover and a button bar with calculations.
      The Custom Function BrowserNav.History was updated to allow it to be called its a specific number of steps back into the history. It was also updated to return either the Name, Number or Hide status of that history item.
      Let ([ ~w = Position ( Substitute ( Filter ( Substitute ( ¶ & $$BrowserNav.Windows & ¶; ¶ & Get ( WindowName ) & ¶; "¶•¶" ); "•¶" ); ¶; "|" ); "•"; 1; 1 ) - 1; ~valueNum = numBack + 1 ]; Case ( type = "Name"; GetPipeValue ( GetValue ( $$BrowserNav.Layout.backward[~w]; ~valueNum ); 3 ); type = "Number"; GetPipeValue ( GetValue ( $$BrowserNav.Layout.backward[~w]; ~valueNum ); 2 ); type = "Hide"; IsEmpty ( GetValue ( $$BrowserNav.Layout.backward[~w]; ~valueNum ) ); "" ) ) Each segment in the button bar could look up its text from the correct global variable. If that repetition is empty the button will be hidden. This logic is only evaluated when the pop-over is shown, so it doesn't slow the layout down too much.
      When one of the navigation history buttons is clicked we pass the number back into the history we are looking. We then lookup the list of window names so we can get the right global variable repetition. From there we can get value number from the variable and return the layout number.
      This code could be updated to use a JSON structure rather than pipe spaced values, but unless you use the pipe character ‘|’ in your layout names this it should work just fine.
      In most web browsers the default behaviour is to just go back one step when you click the back button, but to show a list if you CTRL click it, so lets see how we can do that in FileMaker Pro.
      We can add a script trigger to the popover it’s self (not the button) to OnObjectEnter fire a script.
      Here we can check for any active modifier keys held down (shift, ctrl, alt, windows key etc), if so Exit Script: True and the popover will appear. If false the we can load the last item from the nav list.
      As we open and close windows we need to keep our list of window names inline with the repetition number for the global variables we are using to save the history.
      With the original version of BrowserNav if you closed say the third window out of four then the references would get mixed up when another window was added.
      To get round this I added an OnWindowClose script trigger to manage the global variables. By finding the number Window Name in the list, we can the renumber the reference to any subsequent windows.
      Using Let and Evaluate here allows the global variables to be looped over and have their repetition number recalculated.
      Evaluate ( "Let ([ $$BrowserNav.Layout.backward[" & $i & "] = $$BrowserNav.Layout.backward[" & $i + 1 & "]; $$BrowserNav.NavBackTip[" & $i & "] = $$BrowserNav.NavBackTip[" & $i + 1 & "]; $$BrowserNav.NavNextTip[" & $i & "] = $$BrowserNav.NavNextTip[" & $i + 1 & "] ]; True )" ) So the final modification is to make it easy to add calculated text to the description of the history item.
      By adding an off screen textbox to the layout, it’s possible to call the function BrowserNav.Save This way the layout is only added to this history if the object is added to the layout. We can also include records specific information in the history as well.
      We only want to include the most recently seen record for a given layout, so we need to make sure we don’t add to the history as the user might browse next/previous records.
      Global Navigation Bar
      Also included in the download file an example global navigation. This simple system allows you to specify a set of icons, labels and layout names for a neat system wide navigation bar. You can also hold down CTRL to open the layout in a new window.
      The above screenshot shows the config layout where you set up the navigation. When the file opens the nav items are loaded into a set of repeating global meaning the nav bar can be added to any layout. I’ll cover how this works in a follow-up article.
      So feel free to download the sample file and use it for anything you want.
      If you have any questions, suggestions or want some help implementing into your solution drop me a message.
      View the full article
         0 comments
      As any FileMaker solution grows, it's inevitable that errors will creep in as methods and scripts are updated with newer features. And with every new script you add, you're also introducing new opportunities for errors.
      For the longest time, we've relied on the Pause on Error checkbox to invoke the debugger when an error occurs. While useful, the constant pop-up of the debugger can quickly interrupt your development "flow" — and honestly, it gets a bit annoying.
      Starting with FileMaker 18, we gained a new script step called Set Error Logging. When used effectively within your script call stack, this step can be a powerful tool. By integrating it properly, you can capture and pass along exactly the information you want when errors occur. Even better, if you're logging to a terminal window, you can add color to make the output easier to scan.
      This video will walk you through one of the best methods for catching and analyzing errors while scripting your FileMaker solution.
      Click the title or link to this article to view the video.
      View the full article
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.