Card Window Progress Bars ( updated )

Who doesn't want to know how long something takes? It's not like we, as the busy bees we are, have all the time in the world - right? Well, how about some convenient progress information.

One of the most common procedures within all of computing is to cycle or iterate over a set of something. In FileMaker, this comes in the form of records. A record loop is one of the most common things you'll ever do within FileMaker.

Setting a field value to something else across a range of records? You'll likely use a record loop. So, what's the easiest way show the progress of that record loop? It's currently a Card Window. In fact, when Card Windows first came out this was one of the first solutions I offered for said feature back in 2017. It's been a number of years since then and now we have better methods for handling multiple parameters.

So what better to do than give you a progress update about an update to the Card Window Progress Bars. How's that for progress? That's exactly what this week's video article is all about. How to implement a modern day progress bar for your standard FileMaker record loop.

AttachmentSize
CardWindowProgress2.zip2.2 MB

Comments

Cool idea.
I wonder: How would you go about making this for processes that does not loop through records? For instance, with an extensively refactored codebase I find my self looping through, sometimes hundreds, of sub scripts for prep and post processes.

Also, FYI, the pause script step does accept decimal values - even below 0.01 😊 However, I have found that going below 0.3 really sacrifices accuracy (tried to develop a metronome app once, which I cannot recommend using the FM script engine for 😉)

This technique is great - but you have to have a single context and the progressbar card window layout has to be attached to the base TO of the records you are processing.
If your script is doing several things such as go to one layout, find records, do something, go to another layout with related records and do something, this technique will not work as you need to refresh the window to update the progress. And since a script that does several things in different context, will move to another layout, you'll end up displaying the wrong layout.

Workaround for that is to have multiple progress layouts that is tied to the base TO's of the tables you need to process.

If you want to use web viewers, they won't work either in a card window if you change context as you can't get them to update during the process of changing context.

We really need a progressbar built-in feature that we can get to show independently.
There are several plugins, that offers that and they really work, since they are running in a different thread than the script stack.
But, then they'll only work in FMP.

I'd love to see if you can build something that works around the current issues for doing a more complex loop script, which changes context - without having to create several layouts for each context....

I like the idea and the demo looks great, but like the other poster above I've basically abandoned interactive progress bars for the time being. I've found that my users are usually happy with a simple "Loading, please wait..." popup which is much easier to display while jumping layouts, etc during a script thanks to Freeze Window.