Components All New MacOS Windows Linux iOS
Examples Mac & Win Server Client Guides Statistic FMM Blog Deprecated Old

MBS FileMaker Plugin Example Databases

Install Plugin Update if needed

All examples are included with download of MBS FileMaker Plugin.

Install Plugin Update if needed.fmp12

Overview
Tables1
Relationships0
Layouts1
Scripts9
Value Lists0
Custom Functions0
Custom Menus24
File Options
Default custom menu set[Standard FileMaker Menus]
When opening file
Minimum allowed version12.0
Login usingAccount Name; Account= Admin
Allow user to save passwordOff
Require iOS passcodeOff
Switch to layoutOff
Hide all toolbarsOff
Script triggers
OnFirstWindowOpenOff
OnLastWindowCloseOff
OnWindowOpenOff
OnWindowCloseOff
OnFileAVPlayerChangeOff
Thumbnail Settings
Generate ThumbnailsOn; Temporary

 

Tables

Table Name
Statistics
Occurrences in Relationship Graph
Install Plugin Update if needed
10 fields defined, 1 record
Install Plugin Update if needed

Fields

Table Name: Install Plugin Update if needed - 10 Fields
Field NameTypeOptionsCommentsOn LayoutsIn RelationshipsIn ScriptsIn Value Lists
Plugin File MacNormal, BinaryAuto-Enter:
  • Allow editing
Validation:
  • Only during data entry
Storage:
  • Repetitions: 1
      Plugin File Win 32bitNormal, BinaryAuto-Enter:
      • Allow editing
      Validation:
      • Only during data entry
      Storage:
      • Repetitions: 1
          Version DisplayNormal, TextAuto-Enter:
          • Allow editing
          Validation:
          • Only during data entry
          Storage:
          • Repetitions: 1
          • Indexing: None
          • Automatically create indexes as needed
          • Index Language: German
              Plugin File Win 64bitNormal, BinaryAuto-Enter:
              • Allow editing
              Validation:
              • Only during data entry
              Storage:
              • Repetitions: 1
                  Version NumberNormal, TextAuto-Enter:
                  • Allow editing
                  Validation:
                  • Only during data entry
                  Storage:
                  • Repetitions: 1
                  • Indexing: None
                  • Automatically create indexes as needed
                  • Index Language: German
                      MBS InstalledCalculated, NumberCalculation: Auto-Enter:
                      • Always evaluate
                      Storage:
                      • Repetitions: 1
                      • Do not store calculation results
                      • Index Language: German
                          MBS Installed VersionCalculated, NumberCalculation: Auto-Enter:
                          • Always evaluate
                          Storage:
                          • Repetitions: 1
                          • Do not store calculation results
                          • Index Language: German
                              MBS Installed Version NumberCalculated, NumberCalculation: Auto-Enter:
                              • Always evaluate
                              Storage:
                              • Repetitions: 1
                              • Do not store calculation results
                              • Index Language: German
                                  Plugin File Linux IntelNormal, BinaryAuto-Enter:
                                  • Allow editing
                                  Validation:
                                  • Only during data entry
                                  Storage:
                                  • Repetitions: 1
                                      Plugin File Linux ARMNormal, BinaryAuto-Enter:
                                      • Allow editing
                                      Validation:
                                      • Only during data entry
                                      Storage:
                                      • Repetitions: 1

                                          Layout Objects: Install Plugin Update if needed

                                          Regular Fields

                                          Field Name: Install Plugin Update if needed::Plugin File Mac
                                          Field PropertiesCoordinatesField FormatField BehaviorQuick Find
                                          • Top: 179 pt
                                          • Left: 138 pt
                                          • Bottom: 304 pt
                                          • Right: 391 pt
                                          • Anchoring: Left, Top
                                          Field Format:
                                          • Edit Box
                                          Field Behavior:
                                          • Allow field to be entered: In Find mode, In Browse mode
                                          • Touch keyboard type: System Default
                                          • Go to next field using: Tab key
                                          No

                                          Field Name: Install Plugin Update if needed::Plugin File Win 32bit
                                          Field PropertiesCoordinatesField FormatField BehaviorQuick Find
                                          • Top: 306 pt
                                          • Left: 138 pt
                                          • Bottom: 431 pt
                                          • Right: 391 pt
                                          • Anchoring: Left, Top
                                          Field Format:
                                          • Edit Box
                                          Field Behavior:
                                          • Allow field to be entered: In Find mode, In Browse mode
                                          • Touch keyboard type: System Default
                                          • Go to next field using: Tab key
                                          No

                                          Field Name: Install Plugin Update if needed::Version Display
                                          Field PropertiesCoordinatesField FormatField BehaviorQuick Find
                                          • Top: 68 pt
                                          • Left: 135 pt
                                          • Bottom: 90 pt
                                          • Right: 388 pt
                                          • Anchoring: Left, Top
                                          Field Format:
                                          • Edit Box
                                          Field Behavior:
                                          • Allow field to be entered: In Find mode, In Browse mode
                                          • Touch keyboard type: System Default
                                          • Go to next field using: Tab key
                                          Yes

                                          Field Name: Install Plugin Update if needed::Plugin File Win 64bit
                                          Field PropertiesCoordinatesField FormatField BehaviorQuick Find
                                          • Top: 434 pt
                                          • Left: 138 pt
                                          • Bottom: 559 pt
                                          • Right: 391 pt
                                          • Anchoring: Left, Top
                                          Field Format:
                                          • Edit Box
                                          Field Behavior:
                                          • Allow field to be entered: In Find mode, In Browse mode
                                          • Touch keyboard type: System Default
                                          • Go to next field using: Tab key
                                          No

                                          Field Name: Install Plugin Update if needed::Version Number
                                          Field PropertiesCoordinatesField FormatField BehaviorQuick Find
                                          • Top: 93 pt
                                          • Left: 135 pt
                                          • Bottom: 115 pt
                                          • Right: 388 pt
                                          • Anchoring: Left, Top
                                          Field Format:
                                          • Edit Box
                                          Field Behavior:
                                          • Allow field to be entered: In Find mode, In Browse mode
                                          • Touch keyboard type: System Default
                                          • Go to next field using: Tab key
                                          Yes

                                          Field Name: Install Plugin Update if needed::MBS Installed
                                          Field PropertiesCoordinatesField FormatField BehaviorQuick Find
                                          • Top: 6 pt
                                          • Left: 138 pt
                                          • Bottom: 28 pt
                                          • Right: 391 pt
                                          • Anchoring: Left, Top
                                          Field Format:
                                          • Edit Box
                                          Field Behavior:
                                          • Allow field to be entered: In Find mode, In Browse mode
                                          • Touch keyboard type: System Default
                                          • Go to next field using: Tab key
                                          Yes

                                          Field Name: Install Plugin Update if needed::MBS Installed Version
                                          Field PropertiesCoordinatesField FormatField BehaviorQuick Find
                                          • Top: 31 pt
                                          • Left: 138 pt
                                          • Bottom: 53 pt
                                          • Right: 256 pt
                                          • Anchoring: Left, Top
                                          Field Format:
                                          • Edit Box
                                          Field Behavior:
                                          • Allow field to be entered: In Find mode, In Browse mode
                                          • Touch keyboard type: System Default
                                          • Go to next field using: Tab key
                                          Yes

                                          Field Name: Install Plugin Update if needed::MBS Installed Version Number
                                          Field PropertiesCoordinatesField FormatField BehaviorQuick Find
                                          • Top: 31 pt
                                          • Left: 267 pt
                                          • Bottom: 53 pt
                                          • Right: 391 pt
                                          • Anchoring: Left, Top
                                          Field Format:
                                          • Edit Box
                                          Field Behavior:
                                          • Allow field to be entered: In Find mode, In Browse mode
                                          • Touch keyboard type: System Default
                                          • Go to next field using: Tab key
                                          Yes

                                          Field Name: Install Plugin Update if needed::Plugin File Linux Intel
                                          Field PropertiesCoordinatesField FormatField BehaviorQuick Find
                                          • Top: 563 pt
                                          • Left: 138 pt
                                          • Bottom: 688 pt
                                          • Right: 391 pt
                                          • Anchoring: Left, Top
                                          Field Format:
                                          • Edit Box
                                          Field Behavior:
                                          • Allow field to be entered: In Find mode, In Browse mode
                                          • Touch keyboard type: Default for Data Type
                                          • Go to next field using: Tab key
                                          No

                                          Field Name: Install Plugin Update if needed::Plugin File Linux ARM
                                          Field PropertiesCoordinatesField FormatField BehaviorQuick Find
                                          • Top: 692 pt
                                          • Left: 138 pt
                                          • Bottom: 817 pt
                                          • Right: 391 pt
                                          • Anchoring: Left, Top
                                          Field Format:
                                          • Edit Box
                                          Field Behavior:
                                          • Allow field to be entered: In Find mode, In Browse mode
                                          • Touch keyboard type: Default for Data Type
                                          • Go to next field using: Tab key
                                          No

                                          Buttons

                                          Button PropertiesCoordinatesScript/Script Step
                                            Type:
                                          • Text: Check MBS Version
                                          • Top: 130 pt
                                          • Left: 407 pt
                                          • Bottom: 164 pt
                                          • Right: 531 pt
                                          • Anchoring: Left, Top
                                          Perform Script [ “Check If Update is Needed” ]

                                          Scripts:


                                          Button PropertiesCoordinatesScript/Script Step
                                            Type:
                                          • Text: Copy Version
                                          • Top: 70 pt
                                          • Left: 522 pt
                                          • Bottom: 106 pt
                                          • Right: 601 pt
                                          • Anchoring: Left, Top
                                          Perform Script [ “Copy Version Numbers” ]

                                          Scripts:


                                          Script Hierarchy

                                          Install MBS Plugin
                                          Check If Update is Needed
                                          Copy Version Numbers
                                          Clear
                                          -
                                          Query version for Windows
                                          Query version for Linux
                                          Query version for macOS
                                          Load Plugin from Server

                                          Next Script: [Check If Update is Needed]
                                          Script NameInstall MBS Plugin
                                          Run script with full access privilegesOff
                                          Include In MenuYes
                                          Layouts that use this script
                                            Scripts that use this script
                                            Script Definition
                                            Script Steps
                                            • # Check Architecture
                                            • # will be ? for older 32-bit FileMaker Pro
                                            • Set Variable [ $Arch; Value:GetAsText( Get (ApplicationArchitecture)) ]
                                            • # Check Platform
                                            • Set Variable [ $Plat; Value:Get ( SystemPlatform ) ]
                                            • If [ $Plat = 1 ]
                                            • Set Variable [ $Test; Value:MBS( "Plugin.PrepareForUpdate" ) ]
                                            • # MacOS
                                            • Install Plug-In File [ Install Plugin Update if needed::Plugin File Mac ]
                                            • Else If [ $Plat = 3 ]
                                            • # iOS, nothing to install
                                            • Exit Script [ ]
                                            • Else If [ $Plat = 4 ]
                                            • # Web Direct
                                            • If [ MBS( "IsWindows" ) = 1 ]
                                            • # Windows Server
                                            • Install Plug-In File [ Install Plugin Update if needed::Plugin File Win 64bit ]
                                            • Else If [ MBS("IsLinux") ]
                                            • If [ $Arch = "x86_64" ]
                                            • # Linux on Intel
                                            • Install Plug-In File [ Install Plugin Update if needed::Plugin File Linux Intel ]
                                            • Else
                                            • # Linux on ARM
                                            • Install Plug-In File [ Install Plugin Update if needed::Plugin File Linux ARM ]
                                            • End If
                                            • Else
                                            • # Mac Server
                                            • Install Plug-In File [ Install Plugin Update if needed::Plugin File Mac ]
                                            • End If
                                            • Else If [ $Plat = 5 ]
                                            • # Linux server with CentOS
                                            • Install Plug-In File [ Install Plugin Update if needed::Plugin File Linux Intel ]
                                            • Else If [ $Plat = 8 ]
                                            • # Linux server with Ubuntu
                                            • If [ $Arch = "x86_64" ]
                                            • # Linux on Intel
                                            • Install Plug-In File [ Install Plugin Update if needed::Plugin File Linux Intel ]
                                            • Else
                                            • # Linux on ARM
                                            • Install Plug-In File [ Install Plugin Update if needed::Plugin File Linux ARM ]
                                            • End If
                                            • Else If [ $Plat = -2 ]
                                            • # Windows
                                            • If [ $Arch = "x86_64" ]
                                            • # Win 64-bit
                                            • Install Plug-In File [ Install Plugin Update if needed::Plugin File Win 64bit ]
                                            • Else
                                            • # Win 32-bit
                                            • Install Plug-In File [ Install Plugin Update if needed::Plugin File Win 32bit ]
                                            • End If
                                            • Else
                                            • # something new or old?
                                            • Exit Script [ ]
                                            • End If
                                            • Set Variable [ $LastError; Value:Get(LastError) ]
                                            • Set Variable [ $LastErrorMessage; Value:Get(LastExternalErrorDetail) ]
                                            • Pause/Resume Script [ Duration (seconds): ,2 ]
                                            • If [ $LastError = 0 ]
                                            • If [ MBS("VersionAutoUpdate") = Install Plugin Update if needed::Version Number ]
                                            • Show Custom Dialog [ Title: "Success"; Message: "Installed MBS Plugin: " & MBS("Version"); Default Button: “OK”, Commit: “Yes” ]
                                            • Else
                                            • Show Custom Dialog [ Title: "Success"; Message: "Installed MBS Plugin: " & Install Plugin Update if needed::Version Display & ¶ & "Please restart FileMaker."; Default Button: “OK”, Commit: “Yes” ]
                                            • End If
                                            • Else
                                            • Show Custom Dialog [ Title: "Failed"; Message: "Failed to install plugin due to error " & $LastError & ¶ & $LastErrorMessage; Default Button: “OK”, Commit: “Yes” ]
                                            • End If
                                            Fields used in this script
                                            Scripts used in this script
                                              Layouts used in this script
                                                Tables used in this script
                                                Table occurrences used by this script
                                                Custom Functions used by this script
                                                  Custom menu set used by this script

                                                    Previous Script: [Install MBS Plugin]Next Script: [Copy Version Numbers]
                                                    Script NameCheck If Update is Needed
                                                    Run script with full access privilegesOff
                                                    Include In MenuYes
                                                    Layouts that use this script
                                                    Scripts that use this script
                                                      Script Definition
                                                      Script Steps
                                                      • #Check what plugin version we have here in the database:
                                                      • Go to Layout [ “Install Plugin Update if needed” ]
                                                      • Go to Record/Request/Page [ First ]
                                                      • Set Variable [ $DatabaseVersion; Value:GetAsNumber(Install Plugin Update if needed::Version Number) ]
                                                      • Set Variable [ $InstalledVersion; Value:GetAsNumber(MBS("VersionAutoUpdate")) ]
                                                      • Set Variable [ $InstalledVersionText; Value:GetAsText(MBS("Version")) ]
                                                      • If [ GetAsNumber($InstalledVersion) = "?" ]
                                                      • #not installed
                                                      • Show Custom Dialog [ Message: "MBS Plugin is not installed. Can we install version " & Install Plugin Update if needed::Version Display & " is of MBS plugin now?"; Default Button: “Install”, Commit: “Yes”; Button 2: “Later”, Commit: “Yes” ]
                                                      • If [ Get ( LastMessageChoice ) = 1 ]
                                                      • Perform Script [ “Install MBS Plugin” ]
                                                      • End If
                                                      • Else If [ $InstalledVersion = $DatabaseVersion ]
                                                      • #current version
                                                      • Show Custom Dialog [ Message: "Already up to date"; Default Button: “OK”, Commit: “Yes”; Button 2: “Abbrechen”, Commit: “No” ]
                                                      • Else If [ $InstalledVersion > $DatabaseVersion ]
                                                      • #newer version
                                                      • Show Custom Dialog [ Message: "Already up to date. Installed version " & $InstalledVersionText & " is newer than version " & Install Plugin Update if needed::Version Display & " in database."; Default Button: “OK”, Commit: “Yes”; Button 2: “Abbrechen”, Commit: “No” ]
                                                      • Else
                                                      • #found update
                                                      • Show Custom Dialog [ Message: "Newer Version " & Install Plugin Update if needed::Version Display & " is available. Install now?" & ¶ & "You have version " & $InstalledVersionText; Default Button: “Install”, Commit: “Yes”; Button 2: “Later”, Commit: “Yes” ]
                                                      • If [ Get ( LastMessageChoice ) = 1 ]
                                                      • Perform Script [ “Install MBS Plugin” ]
                                                      • End If
                                                      • End If
                                                      • #go to fields to update them
                                                      • Go to Field [ Install Plugin Update if needed::MBS Installed ]
                                                      • Go to Field [ Install Plugin Update if needed::MBS Installed Version ]
                                                      • Go to Field [ Install Plugin Update if needed::MBS Installed Version Number ]
                                                      • Commit Records/Requests [ Skip data entry validation; No dialog ]
                                                      Fields used in this script
                                                      Scripts used in this script
                                                      Layouts used in this script
                                                      Tables used in this script
                                                      Table occurrences used by this script
                                                      Custom Functions used by this script
                                                        Custom menu set used by this script

                                                          Previous Script: [Check If Update is Needed]Next Script: [Clear]
                                                          Script NameCopy Version Numbers
                                                          Run script with full access privilegesOff
                                                          Include In MenuYes
                                                          Layouts that use this script
                                                          Scripts that use this script
                                                            Script Definition
                                                            Script Steps
                                                            • Set Field [ Install Plugin Update if needed::Version Number; Install Plugin Update if needed::MBS Installed Version Number ]
                                                            • Set Field [ Install Plugin Update if needed::Version Display; Install Plugin Update if needed::MBS Installed Version ]
                                                            Fields used in this script
                                                            Scripts used in this script
                                                              Layouts used in this script
                                                                Tables used in this script
                                                                Table occurrences used by this script
                                                                Custom Functions used by this script
                                                                  Custom menu set used by this script

                                                                    Previous Script: [Copy Version Numbers]Next Script: [-]
                                                                    Script NameClear
                                                                    Run script with full access privilegesOff
                                                                    Include In MenuYes
                                                                    Layouts that use this script
                                                                      Scripts that use this script
                                                                        Script Definition
                                                                        Script Steps
                                                                        • Set Field [ Install Plugin Update if needed::Version Display; "" ]
                                                                        • Set Field [ Install Plugin Update if needed::Version Number; "" ]
                                                                        Fields used in this script
                                                                        Scripts used in this script
                                                                          Layouts used in this script
                                                                            Tables used in this script
                                                                            Table occurrences used by this script
                                                                            Custom Functions used by this script
                                                                              Custom menu set used by this script

                                                                                Previous Script: [Clear]Next Script: [Query version for Windows]
                                                                                Script Name-
                                                                                Run script with full access privilegesOff
                                                                                Include In MenuYes
                                                                                Layouts that use this script
                                                                                  Scripts that use this script
                                                                                    Script Definition
                                                                                    Script Steps
                                                                                      Fields used in this script
                                                                                        Scripts used in this script
                                                                                          Layouts used in this script
                                                                                            Tables used in this script
                                                                                              Table occurrences used by this script
                                                                                                Custom Functions used by this script
                                                                                                  Custom menu set used by this script

                                                                                                    Previous Script: [-]Next Script: [Query version for Linux]
                                                                                                    Script NameQuery version for Windows
                                                                                                    Run script with full access privilegesOff
                                                                                                    Include In MenuYes
                                                                                                    Layouts that use this script
                                                                                                      Scripts that use this script
                                                                                                        Script Definition
                                                                                                        Script Steps
                                                                                                        • #get it as text
                                                                                                        • Set Variable [ $InfoText; Value:MBS( "Container.GetText"; Install Plugin Update if needed::Plugin File Win 64bit; "FILE"; "Windows") ]
                                                                                                        • #text like this: MBS FileMaker Plugin, version 11.2.0.03, built Apr 16 2021
                                                                                                        • Set Variable [ $version; Value:MBS( "RegEx.Extract"; $infoText; "MBS FileMaker Plugin (\d+.\d+.\d+.\d+)"; "\1"; "greedy, caseless" ) ]
                                                                                                        • Show Custom Dialog [ Title: "MBS Version"; Message: $version; Default Button: “OK”, Commit: “Yes”; Button 2: “Cancel”, Commit: “No” ]
                                                                                                        Fields used in this script
                                                                                                        Scripts used in this script
                                                                                                          Layouts used in this script
                                                                                                            Tables used in this script
                                                                                                            Table occurrences used by this script
                                                                                                            Custom Functions used by this script
                                                                                                              Custom menu set used by this script

                                                                                                                Previous Script: [Query version for Windows]Next Script: [Query version for macOS]
                                                                                                                Script NameQuery version for Linux
                                                                                                                Run script with full access privilegesOff
                                                                                                                Include In MenuYes
                                                                                                                Layouts that use this script
                                                                                                                  Scripts that use this script
                                                                                                                    Script Definition
                                                                                                                    Script Steps
                                                                                                                    • Set Variable [ $InfoText; Value:MBS( "Container.GetText"; Install Plugin Update if needed::Plugin File Linux Intel; "FILE") ]
                                                                                                                    • #text like this: MBS FileMaker Plugin, version 11.2.0.03, built Apr 16 2021
                                                                                                                    • Set Variable [ $version; Value:MBS( "RegEx.Extract"; $infoText; "MBS FileMaker Plugin, version (\d+.\d+.\d+.\d+),"; "\1"; "greedy, caseless" ) ]
                                                                                                                    • Show Custom Dialog [ Title: "MBS Version"; Message: $version; Default Button: “OK”, Commit: “Yes”; Button 2: “Cancel”, Commit: “No” ]
                                                                                                                    Fields used in this script
                                                                                                                    Scripts used in this script
                                                                                                                      Layouts used in this script
                                                                                                                        Tables used in this script
                                                                                                                        Table occurrences used by this script
                                                                                                                        Custom Functions used by this script
                                                                                                                          Custom menu set used by this script

                                                                                                                            Previous Script: [Query version for Linux]Next Script: [Load Plugin from Server]
                                                                                                                            Script NameQuery version for macOS
                                                                                                                            Run script with full access privilegesOff
                                                                                                                            Include In MenuYes
                                                                                                                            Layouts that use this script
                                                                                                                              Scripts that use this script
                                                                                                                                Script Definition
                                                                                                                                Script Steps
                                                                                                                                • #extract info file with metadata
                                                                                                                                • Set Variable [ $InfoFile; Value:MBS( "Archive.ExtractFile"; Install Plugin Update if needed::Plugin File Mac; "MBS.fmplugin/Contents/Info.plist" ) ]
                                                                                                                                • #get it as text
                                                                                                                                • Set Variable [ $InfoText; Value:MBS( "Container.GetText"; $InfoFile; "FILE") ]
                                                                                                                                • #query version entry in XML
                                                                                                                                • Set Variable [ $version; Value:MBS( "RegEx.Extract"; $infoText; "<key>CFBundleVersion</key>\s*<string>(.*)</string>"; "\1"; "greedy, caseless" ) ]
                                                                                                                                • Show Custom Dialog [ Title: "Version of MBS Plugin"; Message: $version; Default Button: “OK”, Commit: “Yes”; Button 2: “Cancel”, Commit: “No” ]
                                                                                                                                Fields used in this script
                                                                                                                                Scripts used in this script
                                                                                                                                  Layouts used in this script
                                                                                                                                    Tables used in this script
                                                                                                                                    Table occurrences used by this script
                                                                                                                                    Custom Functions used by this script
                                                                                                                                      Custom menu set used by this script

                                                                                                                                        Previous Script: [Query version for macOS]
                                                                                                                                        Script NameLoad Plugin from Server
                                                                                                                                        Run script with full access privilegesOff
                                                                                                                                        Include In MenuYes
                                                                                                                                        Layouts that use this script
                                                                                                                                          Scripts that use this script
                                                                                                                                            Script Definition
                                                                                                                                            Script Steps
                                                                                                                                            • #normal release here
                                                                                                                                            • Set Variable [ $URL; Value:"https://www.monkeybreadsoftware.com/filemaker/files/gzip/version.json" ]
                                                                                                                                            • Set Variable [ $JSON; Value:"" ]
                                                                                                                                            • Insert from URL [ $JSON; $URL; cURL options: "--FM-text-encoding utf-8 --location --max-time 10 " ] [ Do not automatically encode URL; Select; No dialog ]
                                                                                                                                            • If [ Get(LastError) ≠ 0 ]
                                                                                                                                            • Show Custom Dialog [ Title: "Failed to query MBS server."; Message: Get(LastExternalErrorDetail); Default Button: “OK”, Commit: “Yes” ]
                                                                                                                                            • Exit Script [ Result: "Failed to query server." ]
                                                                                                                                            • End If
                                                                                                                                            • Set Variable [ $date; Value:JSONGetElement ( $json ; "date" ) ]
                                                                                                                                            • Set Variable [ $versionNumber; Value:JSONGetElement ( $json ; "versionNumber" ) ]
                                                                                                                                            • Set Variable [ $versionText; Value:JSONGetElement ( $json ; "versionText" ) ]
                                                                                                                                            • Set Variable [ $URLMac; Value:JSONGetElement ( $json ; "download.mac" ) ]
                                                                                                                                            • Set Variable [ $URLWin32; Value:JSONGetElement ( $json ; "download.win32" ) ]
                                                                                                                                            • Set Variable [ $URLWin64; Value:JSONGetElement ( $json ; "download.win64" ) ]
                                                                                                                                            • Set Variable [ $URLLinux; Value:JSONGetElement ( $json ; "download.linux" ) ]
                                                                                                                                            • Set Variable [ $URLLinuxARM; Value:JSONGetElement ( $json ; "download.linux-arm" ) ]
                                                                                                                                            • Set Variable [ $LoadedCount; Value:0 ]
                                                                                                                                            • #Load Windows 32-bit
                                                                                                                                            • Set Variable [ $Result; Value:"" ]
                                                                                                                                            • Insert from URL [ $result; $URLWin32; cURL options: "--FM-return-container-variable --location " ] [ Do not automatically encode URL; Select; No dialog ]
                                                                                                                                            • If [ Get(LastError ) = 0 and Length($Result) > 1000000 ]
                                                                                                                                            • Set Field [ Install Plugin Update if needed::Plugin File Win 32bit; $result ]
                                                                                                                                            • Commit Records/Requests [ No dialog ]
                                                                                                                                            • Set Variable [ $LoadedCount; Value:$LoadedCount + 1 ]
                                                                                                                                            • End If
                                                                                                                                            • #Load Windows 64-bit
                                                                                                                                            • Set Variable [ $Result; Value:"" ]
                                                                                                                                            • Insert from URL [ $Result; $URLWin64; cURL options: "--FM-return-container-variable --location " ] [ Do not automatically encode URL; Select; No dialog ]
                                                                                                                                            • If [ Get(LastError ) = 0 and Length($Result) > 1000000 ]
                                                                                                                                            • Set Field [ Install Plugin Update if needed::Plugin File Win 64bit; $result ]
                                                                                                                                            • Commit Records/Requests [ No dialog ]
                                                                                                                                            • Set Variable [ $LoadedCount; Value:$LoadedCount + 1 ]
                                                                                                                                            • End If
                                                                                                                                            • #Load macOS
                                                                                                                                            • Set Variable [ $Result; Value:"" ]
                                                                                                                                            • Insert from URL [ $Result; $URLMac; cURL options: "--FM-return-container-variable --location " ] [ Do not automatically encode URL; Select; No dialog ]
                                                                                                                                            • If [ Get(LastError ) = 0 and Length($Result) > 1000000 ]
                                                                                                                                            • Set Field [ Install Plugin Update if needed::Plugin File Mac; $result ]
                                                                                                                                            • Commit Records/Requests [ No dialog ]
                                                                                                                                            • Set Variable [ $LoadedCount; Value:$LoadedCount + 1 ]
                                                                                                                                            • End If
                                                                                                                                            • #Load Linux Intel
                                                                                                                                            • Set Variable [ $Result; Value:"" ]
                                                                                                                                            • Insert from URL [ $Result; $URLLinux; cURL options: "--FM-return-container-variable --location " ] [ Do not automatically encode URL; Select; No dialog ]
                                                                                                                                            • If [ Get(LastError ) = 0 and Length($Result) > 1000000 ]
                                                                                                                                            • Set Field [ Install Plugin Update if needed::Plugin File Linux Intel; $result ]
                                                                                                                                            • Commit Records/Requests [ No dialog ]
                                                                                                                                            • Set Variable [ $LoadedCount; Value:$LoadedCount + 1 ]
                                                                                                                                            • End If
                                                                                                                                            • #Load Linux ARM
                                                                                                                                            • Set Variable [ $Result; Value:"" ]
                                                                                                                                            • Insert from URL [ $Result; $URLLinuxARM; cURL options: "--FM-return-container-variable --location " ] [ Do not automatically encode URL; Select; No dialog ]
                                                                                                                                            • If [ Get(LastError ) = 0 and Length($Result) > 1000000 ]
                                                                                                                                            • Set Field [ Install Plugin Update if needed::Plugin File Linux ARM; $result ]
                                                                                                                                            • Commit Records/Requests [ No dialog ]
                                                                                                                                            • Set Variable [ $LoadedCount; Value:$LoadedCount + 1 ]
                                                                                                                                            • End If
                                                                                                                                            • #all done
                                                                                                                                            • If [ $LoadedCount > 0 ]
                                                                                                                                            • Set Field [ Install Plugin Update if needed::Version Display; $versionText ]
                                                                                                                                            • Set Field [ Install Plugin Update if needed::Version Number; $versionNumber ]
                                                                                                                                            • Commit Records/Requests [ No dialog ]
                                                                                                                                            • End If
                                                                                                                                            • Show Custom Dialog [ Title: "Plugins loaded"; Message: "Loaded " & $LoadedCount & " of 4 plugin files."; Default Button: “OK”, Commit: “Yes” ]
                                                                                                                                            Fields used in this script
                                                                                                                                            Scripts used in this script
                                                                                                                                              Layouts used in this script
                                                                                                                                                Tables used in this script
                                                                                                                                                Table occurrences used by this script
                                                                                                                                                Custom Functions used by this script
                                                                                                                                                  Custom menu set used by this script

                                                                                                                                                    Download example: Install Plugin Update if needed

                                                                                                                                                    Used functions: