MBS FileMaker Plugin 14.5 development

Hello,

in this thread I want to post to you what's new in development of MBS Plugin, version 14.5.

Download is available as usual here:

monkeybreadsoftware.com/filemaker/files/Prerelease/

If you like our plugin, bookmark, like or forward this thread.

If not, well you can ignore it.

New functions in documentation .

Thanks for supporting our plugin.

For questions please do not answer here, but start a new discussion.

You can click on the mbs-plugin-development tag and subscribe to get an email for new topics with this tag, so you get notified.

Greetings
Christian

1 Like

14.5pr1:

  • Updated DynaPDF to version 4.0.93.262.
  • Updated CURL to version 8.10.1.
  • Fixed crash with running Python on Windows.
  • Added DynaPDF.GetAnnotTextAlign function.
  • Added DynaPDF.ClearLicense function.
  • Added JSON.InsertRecords function to insert array of records in JSON.
  • Updated to libxml2 version 2.13.4.
  • Updated to libxslt version 1.1.42.
  • Updated LibXL to version 4.4.0.
  • Updated OpenSSL to version 3.3.2.
  • Note: SSLv3 is disabled now.
  • Updated libarchive to version 3.7.6.
  • Changed Archive.Content to skip GID, UID, Permissions, RDev, FileType and HardLink fields, if not set.
  • Updated zxing library to newer branch.
  • Improved Barcode.Detect by using newer zxing library.
  • Added Barcode.DetectAsJSON function.
  • Updated to Xcode 16.0.
  • Updated jpeg library to version 9.6.
  • Fixed CURL Multi functions, broken in 14.4.
  • Added a field to database design dialog for tables to show comments. To add a comment, define a field _TableComment and put comment text there.
  • Fixed an issue with GMImage.WriteToPDFContainer and Twain.Acquire on Windows.
  • Added Text.FilterSwissQRCode function.
  • Added DynaPDF.GetGlyphIndex and DynaPDF.GetGlyphOutline functions.
  • Updated discount library to version 2.2.7d.
  • Added Audit.BuildCaches function.
  • Updated unicode tables for removing accents for Text.RemoveAccents function.
1 Like

@MonkeybreadSoftware

Is there any way this particular variable declaration can be excluded from the variable check?

This is something I often do for loops to initialise the variable and exit check all within the single step. However $c is never deemed to have been initialised prior.

1 Like

This is what I was hoping SetLocals would solve, but I don't think it actually disables the initialized variable checking. Maybe it could be modified to do so?

You're setting $total but you aren't zeroing $c.

If you aren't setting $c to zero prior to the loop do you ever wonder what the value of $c is as the loop begins?

I never wonder - it's always empty. Empty + 1 = 1 :slight_smile:

Now, if I am working with a second loop further down the script, I"ll obviously blank $c before that.. perhaps i should just be always defining $c before very loop as a good standard practice.

This is what I landed on as well, largely because of MBS's urging :slightly_smiling_face:

Please add a comment before the loop

\# @variable $c

to tell the plugin. Or use Set Variable to set $c to 0.

You could also make it a comment in the Let() line.

Exit Loop If [ // @variable $c Let ($c = $c + 1; $c > $total) ]

14.5pr2:

  • Added field comment to the tooltips for the export dialog.
  • Fixed an issue in Window.PositionNextDialog function for Windows.
  • Updated DynaPDF to version 4.0.94.265.
  • Added DynaPDF.GetAnnotColor and DynaPDF.GetTextBBox functions.
  • Fixed an edge case with swiss keyboard layout for RemoteControl.PressKey function and the virtual key lookup.
  • Added sample script into extras to launch two FileMaker on macOS, one with HTTP tunneling on and one with it being off.
  • Optimized XML functions to better handle thread locking.
  • Improved error handling for XML.ApplyStylesheet.
  • Added some auto complete for custom functions for parameters and function names:
    • Table occurrences
    • Field names after ::
    • Operator names
    • Function names from function list
    • Parameter names
    • Get/Hole/Obtenir functions
  • Invoke with fn-F5 in the dialog or we auto invoke it for you.
3 Likes

Thank you for that, @MonkeybreadSoftware !

That was a real “Chrtistian” at the FileMaker conference in Malbun, Liechtenstein! During the session “What I always wanted to tell Claris”, I said that auto complete in the custom functions dialog was important to me. And at the end of the session you came and said: "I've now built that into the plugin." Awesome!

4 Likes

Ditto, this is awesome!

Which leads me to this...

How difficult would it be to add auto complete to this dialog ? It would be a big time saver

Unfortunatley though I've had to roll back this version as I am noticing a number of times the CF is just deleted when auto-complete appears, see attached video. Often it is when doing select all and trying to copy the text of the CF. It doesn't appear to happen every time, but more common when cursor is at the end of text.

Because the auto complete stuff is rolled into a single preference for both calc engine dialogs and CF's , I can't just disable it for CF hence the rollback, Hopefully this can be addressed.

recording.mp4.zip (1.6 MB)

Sorry for the trouble.
Let's try to fix.

There is not yet an option for turning this on/off directly.

I've changed it to not auto complete if you press command key. Does that fix the issue?

New build:
https://www.monkeybreadsoftware.com/filemaker/builds/Mac/

Please use Terminal to remove quarantine as shown in Readme.
MBS("CompileDate") returns 9 Oct 2024.

And just press option key when clicking to open that dialog and the plug-in jumps into the inner dialog.

See
Option Click for FileMaker Script Workspace

1 Like

Thanks for this. I was aware of the option+click which is also a great feature. Part of the reason for seeing if auto-complete is doable in the first dialog is that when you add this script step, you both define the variable name, and then you have the option of adding in the calc at the same time.

This is far more efficient than then reaching for the mouse to go into the calc engine dialog, so it would be nice for auto complete here.

Option+click is certainly useful for editing pre-existing script steps, but not so much when creating a new one.

I'll try out this new build shortly

Cheers!

@MonkeybreadSoftware

The new build does address the select all issue of removing the text, so thank you for that.

I am noticing however that while the drop-down for table occurrence auto complete is quite snappy and fast, the auto complete for fields is very slow and beach-balls often.

See attached video. Often times the drop down looks to apepar, but does not, but each character press is resulting in a beach-ball, making it quite difficult to use.

This is a large solution, 100+ tables, 1000+ TO's, and the table in the example has 450 fields.

Screen Recording 2024-10-10 at 9.13.04 AM.mp4.zip (985.9 KB)

Next version will do more caching for table and field names to speed it up a bit. Thanks for testing.