Skip to main content
Tag

new features

Troi File Plug-in Release notes 1998-2021

In this post you find the older release notes for Troi File Plug-in for FileMaker Pro.

Troi File Plug-in 12.1 (for FileMaker 16 to 19) (January 26, 2021)

Improved compatibility

  • Tested and made compatible with Claris FileMaker Pro 19, up to and including FileMaker Pro 19.2.
  • Tested and made compatible with macOS 11.0 (Big Sur).
  • Tested and made compatible with Windows 10 version 20H2 (October 2020 Update) and Windows 10 version 2004 (May 2020 Update).

New function and functionality

  • Added new function TrFile_GetFileKind, which will return a (localized) description of what kind of file this is. For example a .fmp12 file will return “FileMaker Document” and a .zip file will return “ZIP Archive”. NOTE The description will be returned in the current system language. Also note that the resulting description can be slightly different depending on platform, installed applications and OS version.
  • Improved the TrFile_GetFileHash function: you can now use a container (or a variable with container data) as the source parameter, for example a JPEG in a container field.
  • Added switch “-AllowNonLocalCloudItems” to the TrFile_SelectFileDialog function. When used this will allow you to select files that are not downloaded to the local disk.
  • Improved the TrFile_GetMetaData function: added support for FujiFilm Raw image files (.raf) when using the switches “-GetEXIF” and “-GetXMP”.
  • Improved the TrFile_CreateThumbnail function for .CRW (RAW) files, when using the switch “-GetFullSizeRawThumbnail” switch, the function now returns the full size thumbnail embedded in the RAW file.
  • Improved the IPTC_XMP_Metadata.fmp12 example file, it now also demonstrates the use of a image container as a source for the TrFile_GetMetaData function.

Improved ZIP/UnZIP features

  • Added new switch “-DontAddDS_Store” to the TrFile_CreateZIP function. When you add this switch hidden .DS_Store files will not be added to the ZIP file (.DS_Store files can be added to folders by the macOS Finder).
  • Added new switch “-AddMacOSXAttributes” to the TrFile_CreateZIP function. When you add this switch extended attributes and resource forks are added to the ZIP file. If there are extended attributes (or files with resource forks) this will be stored in a “__MACOSX” folder at the top level.
  • (Windows) Improved the UnZip script step and the TrFile_UnZIP function: for corrupted ZIP files (or files that are not ZIPs at all) the plug-in now returns error code $$-4249 (kErrCorruptTag) instead of the (internal) error code $$-77 (initIWMErr).

Bug fixes

  • Fixed a problem while using the encoding switch -Encoding=ASCII_Windows (Windows-1252) : the plug-in no longer crashes when an incorrect or corrupt text with undefined character codes (like for example 0x81) is read. In this case the Unicode replacement character is returned.
  • (macOS) Fixed a problem with the functions TrFile_Substitute, TrFile_SetMetadata and TrFile_InsertContents functions: in some cases (with the source and destination file being equal) these functions would work but incorrectly return an error code $$-47.
  • (Windows) Fixed a problem with creating thumbnails with the Create Thumbnail script step or the TrFile_CreateThumbnail function, the plug-in would not honor the EXIF orientation tag for some JPEG images.
  • (Windows) Fixed a possible memory leak in the Create Thumbnail script step and the TrFile_CreateThumbnail function.
  • Fixed a bug in the TrFile_GetMetaData function: when using the switch “-GetPDFDescription” the plug-in no longer truncates text when it contains a slash.
  • Fixed a problem in the Set MetaData of Image File script step and the TrFile_SetMetaData function. The GPS Altitude Reference can now be set correctly (0 = Above Sea Level and 1 = Below Sea Level).
  • (Windows) Fixed a possible memory leak in the TrFile_GetMetaData function when using the switch “-GetImageDescription”.
  • (Windows) Improved the TrFile_FindFolder function, for the “desktop” switch, in some cases the path to the user folder would be incorrect.
  • Fixed a regressed bug in the TrFile_GetMetaData function with the switch “-GetXMP”. The plug-in now properly returns large XMP metadata (more than 64000 bytes) of JPEG images stored in a container field.
  • (macOS) Fixed a bug in the Set Finder Comment script step, the TrFile_SetFinderComment function and the TrFile_SetFileAttribute function with the switch “-FinderComment”. The plug-in no longer returns a $$-1700 error code for some filepaths.
  • Fixed a bug in the TrFile_ExchangeFiles function, which could return error code $$-50.

Other changes and improvements

  • IMPORTANT The minimum supported FileMaker version is now FileMaker Pro 16. Also the minimum supported macOS version is now OS X 10.12 (Sierra), and Windows 8. You can keep using v12.0 for older versions of FileMaker Pro, Windows or Mac OS X.
  • Renamed the Delete File script step to Delete file (note the lower case f), making its name different from the FileMaker native Delete File step. This ensures that when you copy and paste script steps the correct step is pasted.
  • (macOS) Modernized the TrFile_GetFileAttribute function with the switch “-FinderCommentAttr”. It now uses a more modern framework.
  • (macOS) Modernized the Set Finder Comment script step, the TrFile_SetFinderComment function and the TrFile_SetFileAttribute function with the switch “-FinderComment”. They now use a more modern framework.
  • (macOS) Improved compatibility when running FileMaker Pro 19 in dark mode, the flash dialog is now more visible.
  • (macOS) If the plug-in can’t load a bundle at start-up, the plug-in will now write a detailed error to the system.log. See the Console.app in this case (search for FileMaker in the system.log).
  • Improved the GetExif.fmp12 and SetExif.fmp12 example files, they handle the GPS Altitude Reference better (above or below sea level).
  • Improved the EasyInstallTroiPlugins.fmp12 example file: updated the plug-in install scripts. These scripts also give more detailed instructions.
  • In EasyInstallTroiPlugins.fmp12 improved the scripts (and layout) where you can test your registration string for a Server/Web license on FileMaker Server.

Troi File Plug-in 12.0 (for FileMaker 15 to 19) (May 20, 2020)

Improved compatibility

  • Tested and made compatible with Claris FileMaker Pro 19 and FileMaker Pro 18.0.3.
  • Tested and improved compatibility with Windows 10 up to version 1909 (the November 2019 Update).
  • Tested and improved compatibility with macOS Catalina up to version 10.15.4.

New script steps and functions

  • Added new TrFile_GetExtension function, which returns the extension of a file in a filepath. If the filename has no extension an empty string is returned.
  • Added new Bring To Front script step: if the FileMaker Pro application is behind other applications, this step will bring FileMaker Pro in front of other applications. Use this for example when you use the Add Drag and Drop Handler functionality to drag from another application that is in front. In the trigger script you can decide if and when you want to bring FileMaker to the front.
  • Added new TrFile_BringToFront function: if the FileMaker Pro application is behind other applications, this function will bring FileMaker Pro in front of other applications. Use this for example when you use the TrFile_DragAndDrop function to drag from another application that is in front.

New functionality

  • Added new switch “-DontAddEnclosingFolder” to the TrFile_CreateZIP function. When you add this switch the top folder will not be added to the ZIP file, only the contents of the top folder.
  • Improved the TrFile_CreateZIP function. When the destination ZIP filename does not have an extension the plug-in now adds the .zip extension.
  • Added new option to the Create File script step: “Create Folders: off/on”. When this option is set to “on” the plug-in creates new (sub)folders if they don’t exist in the specified path.
  • Improved the TrFile_CreateFile function: added a new switch “-CreateFolders”. When using this switch the plug-in creates new (sub)folders if they don’t exist in the specified path.
  • Added new switch “-FileMakerPathFormat” to the TrFile_Search function: when used the result will be a list of FileMaker formatted fully qualified paths. On macOS this will be for example “/macHD/users/ad/text.txt”. On Windows this will be like “/C:/users/ad/text.txt”.
  • (macOS) Added a new switch “-ForceDelete” to the TrFile_DeleteFile function, which forcefully deletes a file if it is busy (open). This solves a problem where in some cases the function could return error code $$-47 (fBsyErr). Please use this new switch with care.
  • Improved compatiblity with implicit FileMaker styled paths, like for example “/MacHD/folder/file.txt” and “/C:/directory/file.txt”. Each function or step with a path parameter can now also be given a this FileMaker styled path (without prepending “filemac:” or “filewin:”. Any path starting with a slash will be parsed as a FileMaker styled path (of the platform on which FileMaker Pro is running).
    You can still use all the other path formats like “MacHD:folder:file.txt” and “filemac:/MacHD/fold/file.txt” on macOS and “C:\folder\letter.txt” and “filewin:/C:/dir/file.txt” on Windows.
  • (macOS) Improved and prepared the Add DragAndDrop Handler script step and the TrFile_DragAndDrop function for FileMaker Pro 19.
  • Added new switch “-BringToFront” to the TrFile_DragAndDrop function. This will always bring the FileMaker app to the front just before the drag triggerscript is triggered.

Improved metadata features

  • Improved the TrFile_GetMetaData function: added support for TIFF images when using the switches “-GetIPTC”, “-GetEXIF” and “-GetXMP”.
  • Improved the TrFile_GetMetaData function with the switch “-GetGPS”. The plug-in now returns the GPSVersionID tag formatted as readable text, for example “2.3.0.0”.
  • Improved the TrFile_SetMetaData function with the switch “-SetEXIF”. You can now write the GPSVersionID tag if you format it as readable version string, for example “2.14.0.5”.
  • Improved the TrFile_SetMetaData function, it now has a more robust error checking, especially when using the switch “-SetEXIF”.
  • Improved the SetExif.fmp12 example file, it now shows how to set a different GPS location in the EXIF of an image.
  • Improved the IPTC_XMP_Metadata.fmp12 example file, it now is much more modular and uses variables where possible, making it easier to copy it into your solution.

Other changes and improvements

  • IMPORTANT The minimum supported FileMaker version is now FileMaker Pro 15. Also the minimum supported macOS version is now OS X 10.11 (El Capitan). You can keep using v11.0.2 for older versions of FileMaker Pro or Mac OS X.
  • (macOS) Fixed a bug in the Create Folder script step and the TrFile_CreateFolder function: the plug-in can now create folders with a slash in the folder name and no longer returns error code $$-37 (bdNameErr) indicating a bad file name.
  • (macOS) Fixed a bug in the Add DragAndDrop Handler script step and the TrFile_DragAndDrop function where it could return error $$-5600 when running as a runtime app.
  • (Windows) Fixed a problem where adding the switch “-ScrollDropZone” in the Add DragAndDrop Handler script step and the TrFile_DragAndDrop function would not work for multiple drag zones.
  • Updated the DragAndDrop.fmp12 example: added switch “-ScrollDropZone” in some scripts, so the dropzone will scroll with the window.
  • (macOS) Improved the Create Zip script step and the TrFile_CreateZIP function: when creating a zip file in a destination folder where you have no write access the plug-in now returns error code $$-5000 (afpAccessDenied) instead of the (unspecific) error code $$15.
  • (macOS) Improved the UnZip script step and the TrFile_UnZIP function: when unzipping to a destination folder where you have no write access the plug-in now returns error code $$-5000 (afpAccessDenied) instead of the (unspecific) error code $$15.
  • (Windows) Improved the TrFile_Search function: using a FileMaker style path (i.e. starting with: “filewin:”) for the search directory now works better.
  • (Windows) Fixed a bug in the TrFile_Search function, where in some cases not all matching results would be returned.
  • Fixed a possible memory leak in the TrFile_SetMovieMetaData function.
  • Fixed a bug in the Set MetaData of Image File script step and the TrFile_SetMetaData function. When setting the metadata on an image on a remote (SMB) disk an error code $$-1401 could be returned. This bug is also fixed for other related functionality.
  • Fixed a possible crash when getting EXIF metadata of an incorrect image in the TrFile_GetMetaData function.
  • Fixed a bug in the TrFile_GetMetaData function with the switch “-GetXMP”. The plug-in now properly returns large XMP metadata (more than 64000 bytes) of JPEG images stored in a container field.
  • Fixed a bug in the TrFile_GetMetaData function with the switch “-GetXMP”: fixed a potential crash when getting the XMP metadata of an incorrect movie file.
  • (macOS Catalina) Fixed a bug in the Open Folder script step, the Launch File script step and the TrFile_Launch function: on macOS 10.15 (Catalina) an error code $$-10100 could be returned when opening an item located on a AFP mounted disk.
  • (macOS Catalina) Fixed a bug in the Reveal File script step, the Reveal Folder script step and the TrFile_Reveal function, where the incorrect item could be revealed for items located on AFP mounted disks.
  • Improved and modernized the DragAndDrop.fmp12 file. Added new layout and script which demonstrates the BringToFront functionality.
  • Improved multiple example files, they no longer refer to installing plug-ins into the Extensions folder inside the FileMaker folder.
  • Small cosmetic improvement of the Regifunc.fmp12 example.

Troi File Plug-in 11.0.2 (for FileMaker 14 to 18) (September 10, 2019)

  • Tested and improved the compatibility with the upcoming macOS 10.15 (Catalina).
  • (macOS Catalina) Fixed a bug in the Show Select Folder Dialog script step and the TrFile_SelectFolderDialog function where selecting the top folder of a disk would result in the diskname with two colons at the end (instead of one), for example “macHD::”.
  • (Windows) Fixed a bug in the TrFile_GetContents function, where an error code $$-4212 (kErrReadBytesDiff) could be returned when getting the contents of an empty file.
  • Made small improvements to the DataIn.fmp12 example file.
  • Updated the text on the layout of the DragAndDrop.fmp12 example, to better show the “-ScrollDropZone” switch.

Troi File Plug-in 11.0.1 (for FileMaker 14 to 18) (June 13, 2019)

  • (Windows) Fixed a bug in the Create Folder script step and TrFile_CreateFolder function: the plug-in no longer returns error $$-43 (fnfErr) when creating nested subfolders on a mounted shared disk.
  • (macOS) Fixed a problem with creating thumbnails from PDFs with the Create Thumbnail script step or the TrFile_CreateThumbnail function: the plug-in no longer returns error code $$-2003 instead of the thumbnail.
  • (macOS) Fixed a possible memory leak when using the drag and drop functionality.
  • (macOS) Fixed a bug in the Add DragAndDrop Handler script step and the TrFile_DragAndDrop function where it could return error $$-5600 when running FileMaker Pro 18.
  • (Windows) Fixed a bug in the Add DragAndDrop Handler script step and the TrFile_DragAndDrop function when running FileMaker Pro 14, which would cause the script not to be triggered.
  • Updated the DragAndDrop.fmp12 example to check for the minimum plug-in version 11.0.1.

Troi File Plug-in 11.0 (for FileMaker 14 to 18) (May 21, 2019)
New functionality

  • Tested and made compatible with FileMaker Pro 18 and FileMaker Pro 17.0.6.
  • Added new TrFile_ExportToFile function, which can save container data to disk. This function can also be used on FileMaker Server.
  • Added new TrFile_IsFree function, which can be used to determine if a file is in use by a different application (or locked).
  • (macOS) Added new Set MetaData of Movie script step, which can set or replace metadata of movie files (like .mov and .mp4). It can add and change metadata like title, GPS and creation date. Note: this works only on macOS.
  • (macOS) Added new TrFile_SetMovieMetaData function, which can add (or replace) metadata to movie files (like .mov and .mp4). It can add and change metadata like title, GPS and creation data. Note: this is implemented only on macOS.
  • (macOS) Improved TrFile_CreateThumbnail function and the Create Thumbnail script step: you can now create thumbnails of movie files (like mov, mp4 etc). The plug-in creates a thumbnail of the first frame of the movie.
  • (macOS) Prepared the plug-in for notarization: the plug-in can now be added to a runtime, to create a hardened FileMaker runtime app which can be notarized by Apple. Notarization gives users more confidence, as the runtime has been checked by Apple for malicious components.
  • (Windows) Improved the TrFile_ExecuteShell function and the Execute Shell script step. If you use the switch “-Encoding=UTF8” the plug-in now indicates invalid UTF-8 characters with the string <INVALID UTF8>.
  • Improved the ExecuteShell.fmp12 example file, you can now specify the encoding of the result of the command.

Other changes and improvements

  • IMPORTANT (macOS only) The minimum supported FileMaker version is now FileMaker Pro 14. Also the minimum supported Mac OS version is now OS X 10.10 (Yosemite). You can keep using v10.2 for older versions of FileMaker Pro or Mac OS X.
  • (macOS) The plug-in no longer has the 32-bit code included.
  • Improved the initialization when installing the plug-in with the FileMaker Pro “Install Plug-In File” script step.
  • Updated the EasyInstallTroiPlugins.fmp12 file, it can show additional error information from Get(LastExternalErrorDetail) when running on FileMaker Pro 18. The EasyInstallTroiPlugins.fmp12 file can also run a test registration script for a plug-in after you have installed it on FileMaker Server.
  • Updated the example files for FileMaker Pro Advanced 18.
  • Made small corrections to the user guide.
  • Fixed a bug in the TrFile_CreateThumbnail function where creating a thumbnail from a RAW file could result in a crash when stopping FileMaker Pro if other plug-ins were also installed.
  • Fixed a bug in the TrFile_CreateThumbnail function where creating a thumbnail from a RAW file could result in a hang when stopping FileMaker Pro.
  • Fixed a bug in the TrFile_GetMetaData function with the switch “-GetEXIF” where in some cases getting EXIF of a RAW file could result in error code $$-4259.
  • (Windows) Fixed a bug in the TrFile_ExecuteShell function and the “Execute Shell” script step, where sections of the result text would not be included.
  • (Windows) Fixed a bug in the Launch Application and the TrFile_Launch function which could fail and return an error code $$-1 in some cases when running FileMaker Pro in Windows Server 2012. This bug could also manifest itself with the Reveal functionality of the plug-in.
  • (macOS) Fixed a bug in the TrFile_ListFolder function and the “-Recursive” switch, where in some cases the function could randomly fail and return error code $$-120.
  • Modernized the Regifunc.fmp12 file, it now demonstrates the cross-platform plug-in registration process.

Version 10.2 (for FileMaker 13 to 17) (March 4, 2019)

  • Tested and made compatible with FileMaker Pro 17.0.4.
  • (Windows) Fixed a problem where the plug-in would not be loaded on Windows 7.
  • (Windows; 32-bit) Modernized the code when using the TrFile_GetMetaData function with the switches “-GetImageDescription” and “-GetMovieDescription”. This functionality now works for most image and movie formats without QuickTime installed.
  • (macOS) Improved TrFile_CreateThumbnail function and the “Create Thumbnail” script step: you can now create thumbnails of Photoshop files (with extension .psd).
  • Fixed a problem in the TrFile_CreateThumbnail function and the “Create Thumbnail” script step: the plug-in no longer returns error code $$-8994 (noThumbnailFoundErr) instead of the expected error code $$-2003 (cantFindHandler) when no thumbnail could be created.
  • Updated the code base, the plug-in now uses more modern C++ libraries.
  • (macOS) Removed old code dealing with resources.
  • Updated the EasyInstallTroiPlugins.fmp12 file, it can now run a test registration script for a plug-in after you have installed it on FileMaker Server.
  • Made small corrections to the user guide.

Version 10.1 (for FileMaker 13 to 17) (January 7, 2019)

  • Tested and made compatible with FileMaker Pro 17.0.3.
  • Added support for the Windows XP EXIF tags. These are the tags XPTitle, XPComment, XPAuthor, XPKeywords and XPSubject (tags 40091 to 40095):
    • Improved the TrFile_GetMetaData function with the switch “-GetEXIF”. The plug-in now returns the WindowsXP EXIF tags correctly.
    • Improved the TrFile_SetMetaData function with the switch “-SetEXIF”. You can now write EXIF data with WindowsXP EXIF tags.
  • Improved support for EXIF with UTF-8 text:
    • Improved the TrFile_GetMetaData function with the switch “-GetEXIF”. You can now get EXIF with UTF-8 encoded strings using the switch “-SourceUTF8Charset”.
    • Improved the TrFile_SetMetaData function with the switch “-SetEXIF”. You can now write EXIF with encoded UTF-8 strings by adding the switch “-UTF8Charset”.
  • Improved the TrFile_SetMetaData function: it no longer creates an empty destination file when specifying invalid switches.
  • Improved the GetStructure.fmp12 file: it now shows a dialog when trying the TrFile_GetFileStructure function with a (old!) QuickTime movie that has its MOOV atom in a resource fork. Note that the TrFile_GetFileStructure currently does not support MOOV atom in a resource fork.
  • Improved the DragAndDrop.fmp12 file.
  • Improved the All File Examples.fmp12 file.

Version 10.0.1 (for FileMaker 13 to 17) (September 18, 2018)

  • Fixed a bug with registering the plug-in on FileMaker Server.

Version 10.0 (for FileMaker 13 to 17) (May 15, 2018)
New functionality

  • Tested and made compatible with FileMaker Pro 17.
  • Rewrote and modernized the low level file handling code of the plug-in.
  • Added new Exchange Files script step, which can (quickly) exchange two files on disk. With the checkbox “Allow different volumes” you can even exchange files on different disks. Note that this may take more time.
  • Added new TrFile_ExchangeFiles function, which can (quickly) exchange two files on disk. When you add the switch “-AllowDifferentVolumes” the plug-in also can exchange files on different disks. Note that this may take more time.
  • Added new TrFile_GetCodeSignInfo function, which returns code sign info of signed files (like applications and plug-ins).
  • Added new TrFile_GetFileStructure function, which returns the structure of a movie file. It can analyze a movie file (.mov) and return a list of all movie boxes (formerly known as atoms) in the movie. The movie boxes are indented to visualize the tree structure of the boxes. The result can be formatted as XML or as a more readable list of movie boxes. It can also return the structure of a ISOBMFF (ISO base media file format), for example MP4 or HEIC.
  • Added new switch “-AllowDifferentVolumes” to the TrFile_MoveFile function, which allows the move of the file between different volumes (disks). Note that moving a big file across disks may take more time.
  • The plug-in now indicates if an external script step is compatible with a product. The step is shown in grey if it is incompatible for that product (for example for iOS) in the script editing pane (center) and the script steps pane (right).
  • Added new switch “-AddFolderSuffix” to the TrFile_ListFolder function: this will add a trailing slash to folders in the result, making them recognizable as folders.
  • Added a new switch to the TrFile_DragAndDrop function: “-ScrollDropZone” to help with the scrolling behavior when you use a drop zone for the drag destination. When you add the switch the position of the dropzone will scroll too when scrolling the FileMaker window.
    This is also implemented in the script step “Add DragAndDrop Handler” with the checkbox “Scroll the drop zone”.

Improved metadata support

  • Improved the TrFile_SetMetaData function with the switch “-SetEXIF”. The plug-in is now compliant with EXIF v2.3.1. It writes tags introduced in EXIF version 2.3.1, like LensMake, LensModel and LensSerialNumber and timezone tags. The plug-in also handles these tags: ambient temperature, humidity, pressure, waterdepth, acceleration, sensitivity type, standard output sensitivity, recommended exposure index. Finally the plug-in handles the GPS tag GPSHPositioningError, which indicates horizontal positioning errors in meters.
  • Improved the TrFile_SetMetaData function with the switch “-SetEXIF”. The code has been rewritten and the plug-in now writes EXIF data that is better readable by PHP.
  • Added more tags to be written when using the TrFile_SetMetaData function and the switch “-SetEXIF”: the plug-in now correctly writes the tags: WhitePoint and PrimaryChromaticities. It now also writes tags which are not part of the EXIF specification, but may exist in the EXIF data in some images. This can be tags like ProcessingSoftware or DocumentName.
  • (macOS) Added initial support for HEIC (High Efficiency Image File Format) image files: the TrFile_GetMetaData function with the switch “-GetImageDescription” now returns a description.

Other improvements and changes

  • Improved handling of files located on remote volumes like WebDAV.
  • Fixed a problem with the TrFile_Exists function, where certain incorrect paths with double colons would result into a 1 as result.
  • Improved the TrFile_DragAndDrop function so that it works with FileMaker Pro 17.
  • (macOS 10.13.4) Fixed a problem with the TrFile_DragAndDrop function when using the switch “-AllowMailDrops”, where an incorrect path to the temporary email file would be returned. The plug-in now returns the correct path. In some cases the Mail app does not create the temporary email file, the plug-in then returns the complete drag information, which can be parsed to get the correct location of the email.
  • Added example script to the SelectFile.fmp12 example file which demonstrates how to use the switch “-HideInvisibles”.
  • (macOS) The minimum supported Mac OS X version is now 10.8.

Version 9.1 (for FileMaker 12 to 16) (February 20, 2018)
New functionality

  • Added new TrFile_ResolveAlias function, which will resolve an alias file (on macOS) or shortcut (on Windows). It returns the path to the destination of the alias file. If the alias is broken you can use the switch “-ReturnLastKnownPath” to get the last path the alias pointed to.
  • Added extra switch “-AddAliasInfo” to the TrFile_GetTypeOfItem function. If an item is an alias file (or shortcut on Windows) the result will be “file (alias)”.
  • You can now add the “-DontResolveAlias” switch to the TrFile_SelectFileDialog function. When you select an alias/shortcut the result is the path to the alias itself (and not the destination path where the alias points to).
  • (Windows) Added code signing to the plug-in for Windows (On macOS code signing was already added in version 8.0).

New functionality for movie metadata

  • Added new functionality to the TrFile_GetMetaData function: when using the switch “-GetMovieMetadata” the plug-in now returns all metadata embedded in QuickTime movies (with extension .mov) and all variants of MP4 movies. This returns a list of metadata in the movie, returning for example Artist, Creation date and Description.
  • Added new functionality to the TrFile_GetMetaData function: when using the switch “-GetMovieGPS” the plug-in now returns the GPS location data of the movie. With an extra -Format switch you can specify how the location is returned:
    Format switch Description Example
    -Format=Decimal Decimal coordinates (default) +52.0907 +5.1213 +112.000
    -Format=DegMinSecs Latitude, longitude (in degrees,
    minutes and seconds) and height (in meters)
    52° 05′ 26.5″ N, 5° 07′ 16.7″ E, 112m
    -Format=ISO6709 Formatted according to ISO 6709 52.0907+5.1213+112.000/
  • Added new switch “-GetMovieCreationDate” to the TrFile_GetMetaData function: when using this switch the plug-in returns the creation date (including time + timezone) of the movie (if present as metadata). This might return for example: “2018-01-31T16:29:07+0200”
  • Added new functionality to the TrFile_GetMetaData function: when using the switch “-GetXMP” the plug-in now can read embedded XMP metadata in movies. The plug-in supports reading XMP metadata for QuickTime movies (with extension .mov) and all variants of MP4 movies.
  • Improved the example file ManageMedia.fmp12, it now demonstrates how to retrieve metadata from movies (including XMP).

Other improvements

  • Improved the TrFile_GetMetadata function. Added new switch “-SourceUTF8CharSet”, to be used with the switch “-GetIPTC”. The IPTC metadata of the source image file will forced to be read as UTF-8 encoded.
  • Updated the FileManipulation.fmp12 example file to show the TrFile_ResolveAlias function.
  • (Mac OS) Fixed a possible bug in the TrFile_Substitute function, when substituting in place: there are no longer spurious extra characters at the end of the new file when the replace string is shorter than the search string.
  • In the TrFile_Substitute function, when the search string is at the end of the source file the destination now has the correct end character.
  • (Mac OS) Fixed a bug in the TrFile_Substitute function on macOS 10.13 (High Sierra): when you substitute in place this no longer gives an $$-50 error code as result.
  • (Mac OS) Improved the reliability of the TrFile_SetMetadata and TrFile_InsertContents functions on macOS 10.13 (High Sierra).
  • (Mac OS) Fixed a possible memory leak in the TrFile_GetFolderSize function.
  • (Mac OS) Fixed a compilation problem with code signing and extended attributes in macOS 10.12 (Sierra).

Version 9.0.1 (for FileMaker 12 to 16) (June 19, 2017)

  • (Windows) Fixed a bug with the TrFile_DragAndDrop function which prevented drag and drop when running FileMaker Pro 16.
  • Improved the DragAndDrop.fmp12 example file: the calculation for the bounds of the three drag zones are improved when running FileMaker Pro 16.

Version 9.0 (for FileMaker 12 to 16) (May 9, 2017)
New functionality

  • Tested and made compatible with FileMaker Pro 16.
  • Added new TrFile_GetFolderSize function, which can get the total size (in bytes) of a folder.
  • Added new TrFile_AppendContentsToFile function, which can append text to the end of a specified (text) file.
  • Added new TrFile_SetContentsOfFile function, which can set the contents of a specified (text) file.
  • (Mac OS) Added new TrFile_SetFinderComment function, which can set the text of a Finder comment (also called Spotlight comment) of a specified file or folder. You can see the comment with the Get Info command in the Finder.
  • Renamed the TrFile_MetaData function to TrFile_GetMetaData, as to better reflect its functionality.
  • Added possibility to use a container as the source parameter for the TrFile_GetMetadata function.
  • Improved the TrFile_DragAndDrop function: you can now specify three different drop zones with the TrFile_DragAndDrop function.

Extra features when running FileMaker Pro 16

  • The File Plug-in adds multiple script steps when running FileMaker Pro 16.
    You can select these script steps in the script steps pane in Script Workspace, or you can begin typing the script step name, then choose the script step from the list that appears.
    The script steps significantly expand the possible actions you can perform with FileMaker Pro. The following 36 script steps are added:
  • Append to File
  • Get File Contents with Dialog
  • Enable/Disable Troi File Plug-in
  • Copy File
  • Copy Folder
  • Create Alias
  • Create File
  • Create Folder
  • Create Thumbnail
  • Create Zip
  • Delete File
  • Delete Folder
  • Add DragAndDrop Handler
  • Execute Shell
  • Insert in File
  • Launch File
  • Launch Application
  • Mount Disk
  • Move File
  • Move Folder
  • Open Folder
  • Reveal File
  • Reveal Folder
  • Show Save File Dialog
  • Show Select File Dialog
  • Show Select Folder Dialog
  • Set Contents of File
  • Set File Attribute
  • Set Finder Comment
  • Set MetaData of Image File
  • Set Timestamp Created
  • Set Timestamp Modified
  • Stop DragAndDrop Handlers
  • Substitute In File
  • Unmount Disk
  • UnZip

NOTE Only steps that perform an action have been added as a script step. Functions that just return information (like for example TrFile_GetFileSize) are only available as an external function.

  • Added new example file CreateFile-for-FMP16.fmp12, which demonstrates how to use the new external script steps of FileMaker Pro 16.
  • Added support for online help for the functions and script steps of the plug-in. You can now easily get online help from the Troi website, by clicking the Help button (the small question mark button) next to the function description in the functions pane or the script step description in the script steps pane.

Miscellaneous

  • (Mac OS X) Fixed a problem with the TrFile_DragAndDrop function when dragging mail: email messages with a semicolon (“;”) in the subject of the email are now handled properly.
  • Several bug fixes and further improvements.
  • Updated the Attribute.fmp12 example file.
  • Made various minor changes to the example files to better work with FileMaker Pro 16.
  • Updated the code by adding improved namespace handling to make the plug-in more robust.

Version 8.6.1 (for FileMaker 12 to 15) (January 20, 2017)

  • (Windows) Improved the handling of certain ZIP files with the TrFile_UnZIP function: the plug-in will now implicitly create a folder when items in the ZIP file are in a subfolder, but that subfolder itself is not present.
  • Improved TrFile_MetaData( “-GetPDFDescription”): the plug-in can now better parse newer PDF versions, like PDF 1.7. And if there is a parsing error the plug-in returns the partial data.
  • (Mac OS X) Improved TrFile_MetaData( “-GetMovieDescription”): when a movie contains a Timecode track, the Timecode at the beginning and end of the movie and the Timecode of the current frame is returned again as part of the description.
  • Improved the multi-threading behavior of the TrFile_Metadata function. Multiple running scripts on FileMaker Server at the same time will now work better.
  • Improved the multi-threading behavior of the TrFile_Substitute function. Multiple running scripts on FileMaker Server at the same time will now work better.
  • Fixed a memory leak in the TrFile_Substitute function.
  • Fixed a bug in the TrFile_SetContents and TrFile_AppendContents functions where extra spurious characters could be written. This could happen when a text which contained combining unicode characters (for example a combining diaeresis, combining to ä) was written to a file using encoding: -Encoding=ASCII_Windows.
  • (Mac OS X) Improved stopping of the drag and drop handling and removed a potential memory leak.
  • (Mac OS X) Fixed a potential crash in the TrFile_DragAndDrop function, when restarting drag and drop multiple times.
  • (Windows) Added an exception handler, which handles (fatal) exceptions in the plug-in. It will save information on the exception to a dump file in the Temp directory. The dump file will be named similar to this:
    “Crashdump Troi File Plug-In v8.6.1-20161231-212603-5488-3164.dmp”.
    When running FileMaker Server the plug-in also writes the exception in the “Troi Plugin FMServer.log”:

    • 2017-01-01 21:26:03 [Troi File Plug-In] Exception raised. code = -1073741819
    • 2017-01-01 21:26:03 [Troi File Plug-In] Created crash dumpfile:
      C:\Users\user\AppData\Local\Temp\Crashdump Troi File Plug-In v8.6.1-20170101-212603.dmp
    • 2017-01-01 21:26:03 [Troi File Plug-In] **** FATAL ERROR: EXIT PROCESS ****
  • (Mac OS X) Improved export of symbols: now only the symbols that are required are exported by the plug-in.
  • Improved the internal registration of function calls of the plug-ins, making it more robust on more platforms.

Continue Reading

Troi Serial Plug-in Release notes 1999-2017

In this post you find the older release notes for Troi Serial Plug-in for FileMaker Pro.

Version 4.5.1 (for FileMaker 12 to 15) (March 2, 2017)

  • Updated the code in several places and added improved namespace handling to make the plug-in more robust.
  • Fixed a bug in the Serial_Receive function, where in some cases not all data would be returned directly.
  • (Mac OS X) Improved export of symbols of the compiled plug-in: now only the symbols that are required are exported.
  • (Mac OS X, 32-bit only) Fixed a possible interference with other plug-ins, during the registration phase.
  • Updated debug example file and made several small improvements to the example files.

Continue Reading

Troi Dialog Plug-in Release notes 1998-2017

In this post you find the older release notes for Troi Dialog Plug-in for FileMaker Pro.

Troi Dialog Plug-in versions for FileMaker Pro 12, 13, 14 and 15

Version 6.5.1 (for FileMaker 12 to 15) (February 15, 2017)

  • Added switch to the Dial_ListDialog function: “-ExtraLineHeight=x”, where you can specify extra height (in pixels) for each list item.
  • (Windows) Improved the Dial_ListDialog function: list items should have more vertical height when using hi-resolution displays.
  • Updated the code in several places and added improved namespace handling to make the plug-in more robust.
  • (Mac OS X) Improved export of symbols of the compiled plug-in: now only the symbols that are required are exported.
  • (Mac OS X, 32-bit only) Fixed a possible interference with other plug-ins, during the registration phase.
  • Fixed a bug in the code for registering the plug-in.

Version 6.5 (for FileMaker 12 to 15) (May 17, 2016)

  • Tested and improved compatibility with Windows 10 and OS X 10.11 (El Capitan).
  • Tested and made compatible with FileMaker Pro 15.
  • Improved the multi-threading behavior of the plug-in when running in FileMaker Pro 15.
  • Improved the example file EasyInstallTroiPlugins.fmp12, to provide more help when an installation error occurs.
  • Added description and type-ahead information for all functions of the plug-in. This extra function description will be shown in FileMaker Pro 15 in the Specify Calculation dialog box when you type a function name and also as a text popup in the functions pane on the right.
    The type-ahead information is used by the auto complete functionality of FileMaker Pro 15. In the calculation pane of the Specify Calculation dialog box you can type a letter or two of the function name and instantly see a list of matching function names. For example when you type “li”, the auto complete functionality will suggest the Dial_ListDialog function. You can also type a function name in the functions pane on the right: for example if you type “dial” you will see all the functions relevant to dialogs, like Dial_BigInputDialog.
  • Fixed several bugs, rewrote and modernized the code in several places and made further improvements.
  • Updated the User Guide and the Overview.fmp12 file.

Troi Dialog Plug-in versions for FileMaker Pro 12, 13 and 14

Version 6.1.1 (for FileMaker 12, 13 and 14) (June 23rd, 2015)

  • (Windows) Fixed a problem with the Dial_FlashDialog function, the dialog would stay considerably longer on screen than specified with the ticks parameter.
  • Updated the user guide.

Version 6.1 (for FileMaker 12, 13 and 14) (May 12th, 2015)

  • Tested and made compatible with FileMaker Pro 14.
  • Added support for 64-bit architecture with FileMaker Pro 14: On OS X the 32-bit and 64-bit version is a single universal plug-in and on Windows there are 2 plug-ins: Troi_Dialog.fmx (for 32-bit) and Troi_Dialog.fmx64 (for 64-bit).
  • Improved the example file EasyInstallTroiPlugins.fmp12, to support the 64-bit version of FileMaker Pro 14.
  • Improved the Dial_Dialog function: the result can now also be the text of the button: add the switch -ReturnButtonText for this.

Troi Dialog Plug-in versions for FileMaker Pro 10, 11, 12 and 13

Version 6.0 (for FileMaker 10 through 13) (March 11th, 2015)

  • Improved the Dial_InputDialog function: popups can now display values from a second value list. The selected value from the first value list is returned. You can use this for example with a list of ItemIDs and a list of ItemDescriptions. The descriptions are shown to the user, while the itemID is returned.
  • Updated the Dial_SetPopup function: there is now an optional last parameter secondPopupValues, which sets the second value list. When set for a popup, the plug-in automatically displays the second value list, but returns the corresponding value from the first popup list.
  • Updated the Dial_GetPopup function: when you add the switch “-SecondValueList” the plug-in returns the second value list for that popup.
  • Improved the Dial_ListDialog function: added a switch: -AllowMultipleSelection which allows the user to select multiple items from the list. The selected items are returned separated by the pipe character. You can also preselect multiple items. Command-A (OS X) or control-A (Windows) can be used to select all items.
  • (Mac OS X) Improved the Dial_InputDialog and Dial_BigInputDialog functions: added support for undo and redo in the edit fields through these keyboard shortcuts: undo (command-z) and redo (command-shift-z).
  • (Mac OS X) Improved the Dial_InputDialog function: added support for these keyboard shortcuts: copy (command-C), paste (command-V), cut (command-X) and select all (command-A).
  • (Mac OS X) Improved the Dial_BigInputDialog function: added support for these keyboard shortcuts: copy (command-C), paste (command-V), cut (command-X) and select all (command-A).
  • Made several improvements to the dialog example files.
  • Rewrote the code in several areas and made it more future proof.
  • Added new switch -GetRegistrationState to the Dial_Version function: this switch allows you to check if the plug-in is currently registered.
  • Updated Version example to show the use of -GetRegistrationState.
  • (Mac OS X) Added code signing to the plug-in, also compatible with the new Mavericks version of code signing.
  • IMPORTANT This plug-in drops support for Windows XP (the plug-in will no longer load on XP). On Mac OS X the minimum supported system is now OS X 10.6.8 (the plug-in will not load on 10.5 and earlier).

Continue Reading

Troi Activator Plug-in Release notes 2001-2017

In this post you find the older release notes for Troi Activator Plug-in for FileMaker Pro.

Troi Activator Plug-in 4.5 (for FileMaker 12 to 16) (September 4, 2017)

  • Tested and made compatible with FileMaker Pro 16.
  • Rewrote and modernized the code in several places.
  • Added namespace handling and improved the internal registration of function calls to make the plug-in more robust.
  • (Mac OS) Added code signing to the plug-in.
  • (Mac OS) Improved export of symbols: now only the symbols that are required are exported by the plug-in.
  • Made various minor changes to the example files to better work with FileMaker Pro 16.
  • Updated the User Guide and the Reference.fmp12 file.

Extra features when running FileMaker Pro 16

  • The Activator Plug-in adds multiple script steps when running FileMaker Pro 16.
    You can select these script steps in the script steps pane in Script Workspace, or you can begin typing the script step name, then choose the script step from the list that appears.
    The script steps expand the possible actions you can perform with FileMaker Pro. The following 10 script steps are added:

NOTE Only steps that perform an action have been added as a script step. Functions that have no side effect (like for example Actr_GetIPAddress) are only available as an external function.

  • Added new scripts to the RemoteTriggers.fmp12, ScheduleTriggers.fmp12, ShutdownRestart.fmp12, Sleep.fmp12 and UploadData.fmp12 example files, to demonstrate how to use the new external script steps of FileMaker Pro 16. The examples check if FileMaker Pro 16 is running and will then select these new scripts.
  • Added support for online help for the functions and script steps of the plug-in. You can now easily get online help from the Troi website, by clicking the Help button (the small question mark button) next to the function description in the functions pane or the script step description in the script steps pane.

Bug fixes

  • Fixed a possible memory leak when receiving messages send by the Actr_SendRemoteEvent function.
  • (Mac OS) Fixed a bug in the Actr_SendRemoteEvent function, which in some cases could cause a crash.
  • Fixed a bug in the Actr_StartListener function: when you receive a remote message the yourText text could contain an invisible ASCII null character at the end.
  • (Mac OS) Fixed a bug which could cause a crash when quiting FileMaker Pro.
  • Fixed a bug in the Actr_RunScript function, the plug-in now returns an error code if the script did not trigger.
    When the database name does not exist error code $$-4232 (kErrNoSuchDatabase) is returned. And when the script name does not exist error code $$-4233 (kErrNoSuchScript) is returned.

Troi Activator Plug-in versions for FileMaker Pro 12, 13, 14 and 15

Version 4.0 for FileMaker 12, 13, 14 and 15 (June 14, 2016)

  • Tested and made compatible with FileMaker Pro 15.
  • Tested and improved compatibility with Windows 10 and OS X 10.11 (El Capitan).
  • You can now schedule up to 1500 events to trigger, up from 1000.
  • Added description and type-ahead information for all functions of the plug-in. This extra function description will be shown in FileMaker Pro 15 in the Specify Calculation dialog box when you type a function name and also as a text popup in the functions pane on the right.
    The type-ahead information is used by the auto complete functionality of FileMaker Pro 15. In the calculation pane of the Specify Calculation dialog box you can type a letter or two of the function name and instantly see a list of matching function names. For example when you type “sch”, the auto complete functionality will suggest the Actr_ScheduleEvent function. You can also type a function name in the functions pane on the right: for example if you type “HTTP” you will see all the functions with HTTP in the name, like Actr_StartHTTPServer.
  • Improved the multi-threading behavior of the plug-in when running in FileMaker Pro 15.
  • Improved the example file EasyInstallTroiPlugins.fmp12, to provide more help when an installation error occurs.
  • Updated the UploadData.fmp12 example file: it now correctly shows a Google Map in a webviewer.
  • Fixed a possible memory leak in the HTTP Server when receiving GPS location data.
  • Fixed a typo in the web page of the http server.
  • Fixed several bugs, rewrote and modernized the code in several places and made further improvements.
  • Updated the User Guide and the Overview.fmp12 file.

Troi Activator Plug-in versions for FileMaker Pro 12, 13 and 14

Version 3.6 for FileMaker 12, 13 and 14 (May 12th, 2015)

  • Tested and made compatible with FileMaker Pro 14.
  • Added support for 64-bit architecture with FileMaker Pro 14: On OS X the 32-bit and 64-bit version is a single universal plug-in and on Windows there are 2 plug-ins: Troi_Activator.fmx (for 32-bit) and Troi_Activator.fmx64 (for 64-bit).
  • Improved the example file EasyInstallTroiPlugins.fmp12, to support the 64-bit version of FileMaker Pro 14.
  • Fixed a bug that could make FileMaker Pro 14 crash when showing a flash dialog.

Continue Reading