SpecVet Plugins Table
The SpecVet Plugins table is a multi-use table located in the SpecVet interface file that holds files for extending the utility of SpecVet
There are three (3) types of files that can be placed into the Plugins table:
- FileMaker Plugins (Install Type) - These are files that are either in the .fmplugin, fmx, or fmx64 file format. They are installed using the FM Install Plugin Script.
- Non-FM Extensions (Export Type) - These are files that are routinely utilized by SpecVet, but are not plugins. They are exported to the Documents directory.
- Utility Files (No Load Type) - These are files that are not routinely utilized. They are exported on an as needed basis.
||This field holds the actual file.
|Name that is used by FM to identify the file. For FM Plugin files, this must exactly match the name returned by the Get (InstalledFMPlugins) function.
||This field allows SpecVet to compare the installed version to the required version.
||Actual name of file as known to the operating system.
||This is the file extension. It must start with a period.
||Machine architecture for which the file is intended.
|FM Version||Versions of FileMaker that are compatible with the file. [Multiple values should be separated by carriage returns.]||13
|Platform||System platform [Macintosh, Windows, iOS, WebDirect]||Macintosh|
|Role||Tells whether the machine is the server or a client [Multiple values should be separated by carriage returns.]||Pro
|Type||Determines how the file is handled at startup. [Install, Export, NoLoad]||Install|
|Active||Determines whether SpecVet attempts to load the file at startup.||Active|
|Function Name*||Description of the function being performed. [Not critical, descriptive only]||Registration|
|Function Code*||The actual code to execute the function.||MBS("Register"; "NRG Software, LLC"; "Complete"; "ProDeveloper"; 201604; -1686553535)
|Role*||Similar to the Role above, except it’s for the function.||Pro
|Expected Result*||This is the expected successful result returned by the plugin.||OK|
*Denotes a repeating field. Each repetition of these fields can be set to a different function, with a maximum of 10 functions available per plugin.
It is important that only one Active record exists for a file per each unique combination of Architecture, FM Version, Platform and Role. Active duplicates (for example two different versions of an FM Plugin) may cause erratic operation.
Plugin Script Operation
The script "Plugins: Install, Register, and Load Plugin Functions" is called by the SpecVet startup script. Here is a general sequence of operation:
- The Plugin script determines the Platform, Application Role, FileMaker Version and System Architecture of the computer running the script.
- The script searches the Plugin Table for Active records that match the above criteria. If matching records are found, it loops through the found set.
- If the Plugin Type = "Install" (FileMaker Plugin) and the Plugin Version differs from the currently installed Plugin, the Plugin File is installed and the FileMaker Application is closed. (This is to ensure that the plugin is fully loaded when FileMaker restarts.)
- If the Plugin Type = "Export" (Non-FM Plugin that needs to be exported), the file is exported to the Documents directory of the user. A subfolder may be specified using the Setting "plugin.directory.export."
- After Installation/Export, the script loops through the repeating fields of the record to run Functions. Starting with with the first repetition, the script evaluates the value of the Function Code field and compares the returned result to the Expected Result field. If the Results do not match, an error message is generated for the user.
Accessing the Plugins Table
You must be logged into SpecVet using an account with Full Access to access the Plugins table.
1. From the SpecVet Home screen, click the Setup tile.
2. Click the Developer Menu button on the lower right corner of the Set Up screen.
3. From the Developer Menu, click the Plug-Ins button under the Development Layouts section.