- # Troi File Plug-in release notes Below you can find the version history, with an overview of what has been changed in the current and previous versions of Troi File Plug-in. ### Troi File Plug-in 17.2 for FileMaker 18 to 2025 (March 17, 2026) Improved compatibility Added initial compatibility with upcoming new FileMaker version. Enhanced Script Triggering functionality Added error handling when the plug-in has insufficient privilege for triggering scripts in a FileMaker file. The plug-in now shows an alert dialog if script triggering is not allowed in a (newly created) file. In this case you most likely need to enable the extended privilege Validate cross-file plug-in access (the 'fmplugin' extended privilege) in the fmp12 file. When running Troi File Plug-in on FileMaker Server the plug-in will not show a dialog, but it will add a warning to the Troi Plugin FMServer.log when the script triggering fails. The plug-in also links to our online help page: Enable "Validate cross-file plug-in access" extended privilege for FMP trigger scripts. Added new switch "-DontShowExtendedPrivilegeWarning" to the functions TrFile_DragAndDrop and TrFile_StartDragSource. When you add this switch no alert will be shown if script triggering fails because of insufficient privilege for triggering scripts. Updated the example files DragAndDrop.fmp12, and added script which can test the switch "-DontShowExtendedPrivilegeWarning". Bug fixes (macOS) Improved the code for parsing movies and added casts for atoms that could result into a negative integer value, for example '©cpy' or "/251cpy'. Improved code to prevent a possible crash: some objective-c classes which were implemented in multiple plug-ins had the same name. They now get an unique name. ### Troi File Plug-in 17.1 for FileMaker 18 to 2025 (December 19, 2025) Improved compatibility Tested and made compatible with macOS 26 (Tahoe). Tested and made compatible with Windows 11, including Windows 11 version 25H2 (September 30, 2025). Support for files on custom mount points This release adds support for files and folders located on volumes that are mounted on a custom mount point. (macOS) Every function or script step with a path input parameter will now check for a custom mount point. This might be the case for (remote) SMB or NFS disks. For example the file: "myNFSDisk:folder1:data.txt" might be internally located at: "/Users/john/Library/Application Support/acme.com/Volumes/volA/folder1/data.txt". Added new function TrFile_GetFileMakerPathFromFullPath, which returns a FileMaker styled full path. On macOS this function also converts any paths of files and folders located on volumes that are mounted on a custom mount point. For example the file "SMBDisk:store1:img.jpg" might be returned as this FileMaker styled path "/MacHD/Users/abe/custom_mountpoints/smb_store1/img.jpg". Note that files dropped with the Drag and Drop functionality currently are returned as OS native paths. Add the TrFile_GetFileMakerPathFromFullPath function to convert to the correct FileMaker styled path, which you then can use to set a container field, for example with a JPEG image. (macOS) Improved the TrFile_Search function: when using the switch -FileMakerPathFormat the plug-in now converts the path for files and folders located on volumes that are mounted on a custom mount point. For example for the found file: "NFSDisk:dir2:data.txt" the returned FileMaker styled Path might be: "/MacHD/Users/ida/Library/Acme/Volumes/volA/dir2/data.txt". New and improved functionality Added new switch "-NoExtension" to the TrFile_GetFileName function. When you add this switch the extension will not be included in the returned file name. Note that for (existing) folders with a period in the name, for example "myData 1.3.2A", the full name will be returned. (macOS) Improved and modernized the TrFile_ListFolder function, it now internally uses the native POSIX API. (macOS) Modernized the TrFile_ListDisks function. Improved example files Updated the DragAndDrop.fmp12 example to use the TrFile_GetFileMakerPathFromFullPath for setting the container field with dragged images or movies. Improved the IPTC_XMP_Metadata.fmp12 example file: added a new script "Simple append Caption text to IPTC metadata", which demonstrates how to append text to an IPTC tag. Other bug fixes and changes Fixed a bug in the TrFile_SetMovieMetaData function: when setting a negative GPS coordinate with a zero integer degree, the sign would become positive, for example "-0.1234" would be set as: "+0.1234". Fixed a small memory leak of a semaphore in the functions TrFile_SetMovieMetaData and TrFile_CreateThumbnail. (macOS) Improved the startup registration of the plug-in. When the FileMaker Pro app is translocated and running from a random location, the registration file will now also be searched in "/Applications". Improved registration workflow and added option to disable further registering of the plug-in. Added handling of special DONT_REREGISTER_THIS_PLUGIN tag. (macOS) Fixed a problem with the registration of the plug-in. ### Troi File Plug-in 17.0 for FileMaker 18 to 2025 (July 8, 2025) Improved compatibility Tested and made compatible with Claris FileMaker 2025 (FileMaker Pro 22.0). Tested and made compatible with macOS 15 (Sequoia). Tested and made compatible with Windows 11, including Windows 11 version 24H2 (October 1, 2024). New FileID functionality and support Added support for using the FileID (inode) and the DeviceID (Volume Serial Number) of a file or folder in several functions and script steps. The (macOS or Windows) operating system assigns each file and folder on a disk a serial number, which is a unique number to that disk. These IDs (inodes) stay the same if the file is moved or renamed, making it possible to locate a moved file. Added new switches "-FileIDAttr" and "-DeviceIDAtrr" to the TrFile_GetFileAttribute function. This will return the FileID or the DeviceID of a file or folder. Added new function TrFile_GetFullPathFromFileID, which returns the current full path of a file or folder using the DeviceID and the FileID of a file or folder. (macOS) Added support for volFS file paths, in functions and script steps where a path is used as parameter. You can now use "/.vol/deviceID/fileID" as a path. Date and time improvements Added a new switch "-UTC" to the 9 functions that get a date/time of a file. When you add this switch the returned result will be in the UTC time standard (Coordinated Universal Time), which is the same as the GMT timezone. You can add this switch for example to TrFile_GetTimestampCreated, TrFile_GetTimestampModified or TrFile_GetTimeCreated. Also added the switch "-UTC" to the TrFile_SetTimestampCreated and TrFile_SetTimestampModified functions. When you add this switch the date/time of the file will be set with the UTC time standard (Coordinated Universal Time). (Windows) Fixed a problem with the handling of daylight saving time in the 9 functions that retrieve dates and time from a file, like the TrFile_GetTimestampCreated, the TrFile_GetTimestampModified and the TrFile_GetDateCreated function. These functions now correctly account for daylight saving time at the time of creation of the file. NOTE In some cases the returned time (and date) may differ an hour from the incorrect values returned by previous versions of Troi File (the incorrect values would be returned when DST is currently not in effect, for files that were created during DST). Improved the Attribute.fmp12 example file, it now handles UTC timezones. Extended disk information (Windows) Added new switch "-ExtendedDiskInfo" to the TrFile_ListDisks function. This will return a XML list of all volumes (with GUIDs, drive letters, 32-bit Volume Serial Number and NTFS Serial Numbers, if available). Improved ICC color profile support Improved the ICC Profile support in the TrFile_GetMetaData function: added support for TIFF images when using the switches "-GetIccProfileName", "-GetLocalizedIccProfileName" and "-GetIccProfileDescription". Improved the ICC Profile support in the TrFile_GetMetaData function: added support for PNG images when using the switches "-GetIccProfileName", "-GetLocalizedIccProfileName" and "-GetIccProfileDescription". Improved the GetICC_Profile.fmp12 example file: images which don't have an embedded ICC Profile but have a ColorSpace tag in the EXIF metadata are now properly handled. This case is also indicated on the layout as an EXIF tag only profile. Improved Drag and Drop functionality Drag and drop is now compatible with FileMaker Pro 22. Updated the DragAndDrop.fmp12 example and added notes that you need to enable the "Validate cross-file plug-in access" extended privilege in newly created fmp12 files, for script triggering and drag and drop to work. See also our web page: Trigger scripts and FMP19: enable "Validate cross-file plug-in access" extended privilege. Startup Registration Log Improved the Startup Registration Log: now the name and version of the plug-in are shown at the beginning of the log. (macOS) Modernized the code for registration and flash dialog handling. (Windows) Improved the appearance of the flash dialog of the plug-in: the Troi Plugins logo is now displayed sharper and bigger on screens with higher scale factors. Other bug fixes and changes Improved the FolderManipulation.fmp12 example file. Several small bug fixes and speed improvements. ### Troi File Plug-in 16.0 (for FileMaker 17 to 2024) (June 4, 2024) Improved compatibility Tested and made compatible with Claris FileMaker 2024 (FileMaker Pro 21.0). Tested and made compatible with macOS 14 (Sonoma). Tested and made compatible with Windows 11, including Windows 11 version 23H2 (October 31, 2023). New functionality and improvements Added new function TrFile_CreateFileWithContents, which can be used to create a new (data) file and fill it with (text) contents in one step. NOTE This function creates the file, keeps it open to add the data, then closes the file. This can be very useful if you don't have append or update privileges on the file (for example in a drop folder). Added new script step Create File with Contents, which also can be used to create a new (data) file and fill it with (text) contents in one step. Added new switch "-GetPhotoshopIPTCDigest" to the TrFile_GetMetaData function: this will return the IPTC Digest that Photoshop (and other apps) can store as a PSD resource. It is a 32-bit MD5 hash, the plug-in can return for example "b4ad8c00bd98f20427ee98ecf8498009". If no IPTCDigest is found error code $$-2026 (userDataItemNotFound) is returned. Updated the IPTC_XMP_Metadata.fmp12 example file, it now can get the IPTC Digest. (Windows) Improved the TrFile_ListFolder function, it can now also list folders where the total length of the folder path is longer than 260 (MAX_PATH) characters. In this case the function no longer returns a $$3 (ERROR_PATH_NOT_FOUND) error code. Unicode improvements (macOS) When returning a file path the Unicode characters are now normalized (to the NFC normal form). This means that all characters are now precomposed. For example: ö will now always be returned as one Unicode point: U+00F6 (before this could be two code points: U+006F U+0308). The FileMaker platform internally expects precomposed characters. This normalization is now implemented in these functions: TrFile_DragAndDrop TrFile_ListDisks TrFile_ListFolder TrFile_ResolveAlias TrFile_Search TrFile_SelectFileDialog TrFile_SelectFolderDialog TrFile_SaveFileDialog This normalization is also implemented in these script steps: Add DragAndDrop Handler Show Save File Dialog Show Select File Dialog Show Select Folder Dialog Improved Drag and Drop functionality Drag and drop is now compatible with FileMaker Pro 21. Improved handling of MailDrop in the DragAndDrop.fmp12 example: added support for decoding of subject headers that are encoded as base64 UTF-8 (these subjects start with: "Subject: =?utf-8?B"). See the script "___Parse raw email into fields". Improved thumbnail and metadata support Improved support for getting thumbnails from Photoshop files (with extension .psd) and Large Document Format Photoshop files (with extension .psb). Also the plug-in now can fallback on thumbnails embedded in the PSD or PSB file, when other ways of creating thumbnails are not possible, for example when the color mode of the PSD file is multichannel. Note that these embedded thumbnails are normally small in size, up to 160x160 pixels and the plug-in can only return thumbnails up to this size. (macOS) Fixed a bug in the TrFile_CreateThumbnail function: when trying to create a thumbnail from unsupported file types (like for example .txt files) the file would stay open. When doing this repeatedly no more files could be opened and the error code $$24 would be returned. Improved the TrFile_CreateThumbnail function: improved support for EPS files. Improved the SetExif.fmp12 example file: EXIF GPS Altitude with values below sea level are now properly set. Improved the Set MetaData of Image File script step and the TrFile_SetMetaData function, with "-SetExif" switch: when setting the GPS AltitudeRef byte, the remaining 3 bytes are now set to zero (they could bet set to arbitrary data). (macOS) Added new switch "-AllowPDFUpscaling" to the TrFile_CreateThumbnail function. This will allow you to create larger sized thumbnails (with high quality) from smaller vector based PDFs. For example a vector based PDF has native dimensions of 128x40. When you add the switch you can create a crisp thumbnail with for example size 1280x400. Improved the Thumbnail.fmp12 example. Improved security and speed Improved the security in several placed and updated the source code. Improved the speed of the TrFile_ListFolder function for folders with deep subfolders. Other bug fixes and changes (Windows) Fixed a memory leak in the TrFile_CreateFile function. (macOS) Fixed a small memory leak which occurred when the size of a file was requested. (macOS) Fixed a bug in the TrFile_AsciiValueToText function when using the switch -Encoding=ASCII_Windows. The plug-in no longer crashes when you use values that are undefined for this encoding. The undefined values for this encoding (see Windows-1252 codepage) are 0x81, 0x8D, 0x8F, 0x90 and 0x9D (decimal: 129, 141, 143, 144 and 157). For compatibility with the plug-in running on Windows these values will now be added with the same values as a Unicode character. (Windows) Fixed a problem with the TrFile_ListFolder function: the directories . and .. are now returned on network drives when using the switch -showpointdirs. IMPORTANT The minimum supported FileMaker version is now FileMaker Pro 17. Also the minimum supported macOS version is now macOS 11 (Big Sur). For Windows the minumum supported version is Windows 10. ### Troi File Plug-in 15.1 (for FileMaker 16 to 2023) (May 13, 2024) This is a maintenance update. Improved the code and example files in several places and fixed some small bugs. ### Troi File Plug-in 15.0 (for FileMaker 16 to 2023) (June 1, 2023) Improved compatibility Tested and made compatible with Claris FileMaker Pro 2023 (FileMaker Pro 20.1.1) Tested and made compatible with Claris FileMaker Pro 19 up to Claris FileMaker Pro 19.6.3. Tested and made compatible with Claris Pro 40.2.1. Tested and made compatible with macOS 13 (Ventura). Tested and made compatible with Windows 11, including Windows 11 version 22H2 (September 20, 2022). New functionality and improvements Added switch "-SkipInvisibles" to the TrFile_GetFolderSize function. If you add this switch the plug-in will not add the size of invisible (hidden) files to the returned size. Invisible files are files with hidden attribute or files with a filename that starts with a period. See also the ListFolder.fmp12 example file. Added support for Digital Negative (DNG) files and Apple ProRAW to the TrFile_CreateThumbnail function. You can now create thumbnails from (Apple ProRAW) DNG files. Improved the Set MetaData of Image File script step and the TrFile_SetMetaData function with the switch "-SetIPTC". The plug-in will now write the IPTC metdata earlier in the JPEG file, improving compatibility with other applications that read or write IPTC. The plug-in will now also correct the position of existing (IPTC) metadata when you set IPTC metadata. (Windows) Enhanced the TrFile_CreateThumbnail function and significantly improved the speed of creating thumbnails for rotated JPEGs (with internal orientation tags other than horizontal in the EXIF). (macOS) Improved extended attributes (xattrs) support with the script steps: Insert in File Set MetaData of Image File Substitute In File and the functions: TrFile_InsertContents TrFile_SetMetadata TrFile_Substitute If the source file has extended attributes they are also copied to the destination file. If the source file has a (legacy) resource fork stored as xattr this is also copied. Improved Security Improved the code in several places and made it more secure. (macOS) Modernized the code and removed dependency on legacy Carbon code in several places. Increased speed (Windows) Improved the speed of the TrFile_GetFileSize function for files on network drives. (Windows) Added switch "-UseClassicGetFileSize" to the TrFile_GetFileSize function. If you add this switch the plug-in will use the original implementation of getting the file size. Improved Drag and Drop functionality Drag and drop is now compatible with FileMaker Pro 2023! (macOS only) Improved the drag and drop functionality by allowing File Promise Drops. You can now drag files that don't exist yet, a.k.a. file promises to the FileMaker window. To enable this extra functionality add the new switch "-AllowFilePromiseDrops" to the switches parameter of the TrFile_DragAndDrop function. When you have enabled this, you can drop files (like zips) or images for example from a web application (in Safari) to the drop zone. Added new function TrFile_StartDragSource, which can be used to start drags of any file type from the FileMaker window to for example a web application or the Finder. You can specify what to drop from a container field (or a variable with container data). After a successful drag you can also trigger a script. You add this function to a tooltip calculation to enable it on the layout. For debugging you can also add this switch: "-HighlightDragSource", which will show the (current) rectangle of the DragSource (macOS only). NOTE: Files stored as reference that cannot be found will create a text file: fileReference.txt. This will contain the filename and the (broken) path to the file. (macOS) Improved the drag and drop functionality, improved the code and made it more robust if paths cannot be found or converted. Also improved handling of multiple mail drops on macOS 10.15 and later. (macOS) Improved the MailDrop functionality. Temporary files in the TroiTEMPDRAGFOLDER folder are now deleted after the system restarts and no longer show up in a Rescued Items folder in the trash. Updated the DragAndDrop.fmp12 example. Added notes and optional script steps to better find the bounds for drop zones on layouts with a Top Navigation Part. You can find this in the scripts that will add a drag and drop handler by calling the TrFile_DragAndDrop function. See the scripts: _Start Accept. DragAndDrop (in container fieldbounds) Start Accept. DragAndDrop (in fieldbounds of zone2 or zone3 object) Also improved dropping mail into the DragAndDrop.fmp12 example. It now handles slow maildrops better, by waiting up to 5 seconds. Fixed a problem in the Add DragAndDrop Handler script step and the TrFile_DragAndDrop function: drag and drop now correctly works with FileMaker Pro 2023 (FileMaker Pro 20.1.1). Improved (movie) metadata support Improved the TrFile_GetMetaData function: you can use these switches to easily get a single metadata item of a movie: -GetMovieTitle -GetMovDescriptionStr * -GetMovieKeywords -GetMovieAlbum -GetMovieArtist -GetMovieAuthor -GetMovieComment -GetMovieCopyright -GetMovieInformation -GetMovieProducer -GetMovieDirector -GetMovieEncodedBy * Note that the -GetMovDescriptionStr switch is different from the existing -GetMovieDescription switch, which returns a list of (all) movie properties. Improved the TrFile_GetMetaData function: added support for getting EXIF out of PNG images. NOTE Exif support was added to the PNG format on July 2017, in the "Extensions to the PNG 1.2 Specification, Version 1.5.0". Startup Registration Log Improved the EasyInstallTroiPlugins.fmp12 example file (v1.8.6): added a script which adds the Startup Registration Log to the log field. This will get a text log of the startup registration process of the plug-in. Added an example script "Get Startup Registration Log of the plug-in" of Version.fmp12, which gets the text log of the startup registration of the plug-in. Added switch "-GetStartupRegistrationLog" to the TrFile_Version function. This will return a text log of the plug-in's registration process at startup time of FileMaker Pro. When you have problems registering the plug-in, you can see if the payment certificate was found and if a valid registration code was found. Other bug fixes Fixed a bug in the TrFile_CreateThumbnail function, where FileMaker could crash with Apple ProRAW DNG files, created with iOS 16. Fixed a small memory leak which occurred when you used a path to a non existing file. (macOS) Fixed a problem with the script steps Insert in File, Set MetaData of Image File and Substitute In File and the functions TrFile_InsertContents, TrFile_SetMetadata and TrFile_Substitute. When running on macOS Ventura and the source and destination file being equal these functions would not work and return the error code $$-43 (fnfErr). ### Troi File Plug-in 14.0 (for FileMaker 16 to 19) (August 18, 2022) Improved compatibility Tested and made compatible with Claris FileMaker Pro 19.5 including FileMaker Pro 19.5.2. Tested and added initial compatibility with the upcoming Windows 11 version 22H2. Tested and added initial compatibility with the upcoming macOS 13 Ventura. New functionality and improvements Added new TrFile_GetFileName function, which returns the name of a file (or folder) in a filePath, including the extension. The file does not need to exist. A returned result can be for example "Readme.txt". Updated the Attribute example file with an example of the new TrFile_GetFilename function. Added new TrFile_GetPreferredLanguages function, which returns a list of the preferred language and country codes of the current user. The returned result can be for example: en-US nl-NL en-GB You can also add the switch "-GetFirstLanguage" to only get the first preferred language-country of the list. Added new switch "-GetIccProfileName" to the TrFile_GetMetaData function: this will get the name of the embedded ICC Color Profile in the JPEG, for example it will return "sRGB IEC61966-2.1" or "Generic RGB Profile". If no ICC Profile is embedded error code $$-2026 (userDataItemNotFound) is returned. Added new switch "-GetLocalizedIccProfileName" to the TrFile_GetMetaData function: this will get the localized name of the embedded ICC Color Profile in the JPEG. Based on the user language settings it will return the ICC name that best matches the user language. For example for an Italian user it can return "Profilo RGB generico". Added new switch "-GetIccProfileDescription" to the TrFile_GetMetaData function: this will return a text description of the properties of the embedded ICC Color Profile. The result is formatted as a list. You can also add the switch "-Format=XML" to get the result in XML format, with the XML tags colored blue. When you also add the switch "-DontAddStyle" the result is in plain text. (macOS) Improved the ExecuteShell.fmp12 example file: added an example on how to use sudo so you can execute commands as a superuser with the TrFile_ExecuteShell function. (macOS) Improved the help text in the calculation dialog for the TrFile_Search function, it now shows the two essential switches to use: "-files" and/or "-folders". Improved HEIC/HEIF image format support (macOS 10.15 and later) The TrFile_CreateThumbnail function now supports creating thumbnails from HEIC (High Efficiency Image File Format) image files. This includes .heic images created on iOS and other images with the .heif extension. (Windows 10 version 20H2 and later, Windows 11) The TrFile_CreateThumbnail function can now create thumbnails from HEIC (High Efficiency Image File Format) image files. You will need to install the HEVC Video Extensions from Microsoft (which costs $0.99). Thumbnail support also includes .heic images created on iOS and other images with the .heif extension. See also How to install HEVC Video Extensions on Windows. (Windows 11 and later) Added support for HEIC (High Efficiency Image File Format) image files: the TrFile_GetMetaData function with the switch "-GetImageDescription" now returns a description like codec name and type. Improved iCloud Drive functionality (macOS) Added switch "-iCloudStartDownloadingItem" to the TrFile_SetFileAttribute function. This will start the download of a file on the iCloud Drive to the local disk. For files already locally on the disk, this function won't do anything and the function will return error code 0. You can also specify a folder on iCloud Drive, in this case iCloud will start downloading local copies of all files enclosed by this folder. Added switch "-iCloudRemoveLocalCopy" to the TrFile_SetFileAttribute function. This will remove the local copy of a file on the iCloud Drive. The file will not be removed from iCloud! For files not on the iCloud Drive, this function won't do anything and return error code 0. You can also specify a folder on iCloud Drive, in this case the local copies of all files enclosed by this folder will be removed. Added iCloud Status example to the Attribute.fmp12 example file. This demos getting and changing the iCloud status of files and also demonstrates the switch "-AllowNonLocalCloudItems" of the TrFile_SelectFileDialog function, which allows you to select files that are not downloaded to the local disk. Bug fixes (Windows) Fixed a bug in the TrFile_GetZipInfo function, where only one filename would be returned even if more files are present in the ZIP archive. (macOS) Fixed a bug in the TrFile_GetContents function, where FileMaker could crash if the filePath specified a folder. Now the function returns $$-1302 (notAFileErr) in this case. (macOS) The plug-in would return error code $$-47 (fBsyErr) in some cases where the user did not have sufficient access permissions, for example when getting the contents of a file. In this case the plug-in now returns the more correct error code $$-54 (permErr = permissions error). (macOS) Fixed a problem with the Move Folder and Copy Folder script steps and the TrFile_MoveFolder and TrFile_CopyFolder functions, where the plug-in would return error code $$-47 (fBsyErr) when the destination folder exists. It will now correctly return $$-48 (dupFNErr) if the destination folder exists. Improved the GetExif.fmp12 and SetExif.fmp12 example files, the EXIF padding tag is now parsed too. (Windows) The plug-in no longer returns error $$-120 (dirNFErr; directory not found) when specifying valid UNC paths that use forward slashes as separators (as opposed to backward slashes). So you can now use paths like this: "//Server/share/file.txt". Fixed a bug in the TrFile_GetContents function, where the plug-in would not return the expected error code $$-39 (eofErr) when the start parameter was past the end of the file. (macOS) Fixed a problem with the Move Folder and Copy Folder script steps and the TrFile_MoveFolder and TrFile_CopyFolder functions, where the plug-in could sometimes return error code $$-122 (badMovErr) incorrectly indicating that the destination folder is inside the source folder even when source and destination where valid. Other changes and improvements Improved the example file ManageMedia.fmp12, it now properly handles slashes in folder names and file names: slashes are now converted to colons in the FileMaker style path. IMPORTANT The minimum supported macOS version is now macOS 10.14 (Mojave 10.14). ### Troi File Plug-in 13.1 (for FileMaker 16 to 19) (new download package of November 26, 2021) Fixed a problem with the TrFile_VersionAutoUpdate function, where the plug-in would return the number 13000008 instead of the expected number 13010000 for version 13.1. Updated the Reference.fmp12 for v13.1. ### Troi File Plug-in 13.1 (for FileMaker 16 to 19) (November 24, 2021) Improved compatibility Tested and made compatible with Claris FileMaker Pro 19.3 and FileMaker Pro 19.4. Tested and made compatible with Windows 11. Tested and made compatible with macOS 12 (Monterey) both on Intel and Apple Silicon (arm64). New functionality and improvements Improved the Add Drag and Drop Handler script step and the TrFile_DragAndDrop function: you can now add up to 6 different drag and drop handlers. Improved drag and drop functionality of the TrFile_DragAndDrop function: you can now selectively stop handlers in the same file and/or with the same script name. You can specify it like this: `TrFile_DragAndDrop( "-StopDragAndDrop" ; fileName ; { scriptName } )`. Improved the TrFile_GetAsPlainText function: you can now get the plain text from a PDF in a container field (or a variable with container data of a PDF). Improved the TrFile_CreateThumbnail function. You can now specify any size of thumbnail up to 32767 x 32767 pixels. You no longer need to add the "-AllowAllThumbnailSizes" switch. Improved the Set MetaData of Image File script step and the TrFile_SetMetaData function with the switch "-SetEXIF". The EXIF tags and data are now added to the image file in numerical order, even if the tags in the metadatablock parameter are out of sequence. Improved parsing of PDFs in the TrFile_GetMetaData function and using the switch "-GetPDFDescription": The plug-in now can better parse incrementally updated PDFs. Improved the TrFile_GetMetaData function when using the switch "-GetPDFDescription": the plug-in properly parses UTF-16 encoded fields in the metadata information. Improved the TrFile_GetMetaData function when using the switch "-GetPDFDescription": the plug-in now shows if the PDF is encrypted and if the PDF contains a cross-reference stream object (as introduced with PDF 1.5). (Windows) Improved returned error codes in the functions that retrieve dates and time from a file, like the TrFile_GetDateCreated and TrFile_GetTimestampModified functions: when the file does not exist these functions now return the documented error code $$-43 (fnfErr; File not found) instead of $$2. Improved the EasyInstallTroiPlugins.fmp12 example file (v1.8.2): improved the scripts which can test your registration string for a Server/Web license on FileMaker Server. (macOS) The Launch File script step and the TrFile_Launch function now can return a more relevant error code when the launch does not work. Bug fixes (Windows) Fixed a problem with FileMaker Pro 19.4, which would freeze the application or return a question mark in some functions. (macOS) Fixed a problem on macOS 12 (Monterey) and FileMaker Pro 19.4, where the plug-in would not show the plug-in icon in the flash dialog. (macOS) Fixed a bug that prevented the plug-in from loading in FileMaker Pro 16 (installing it would result in error code 1550). (macOS) Fixed a problem with the Launch File script step and the TrFile_Launch function, where the launch would not work for files on a AFP network disk. (Windows) Fixed a problem where the TrFile_SelectFileDialog function would not always show the places bar; a simpler selection dialog would be shown. Fixed a bug in the TrFile_GetMetaData function, which would make FileMaker Pro crash or become non-responsive. ### Troi File Plug-in 13.0 (for FileMaker 16 to 19) (May 27, 2021) Improved compatibility Tested and made compatible with Claris FileMaker Pro 19, up to and including FileMaker Pro 19.2.2. (macOS) Prepared the plug-in for Apple Silicon: made the plug-in a universal binary by adding code for the arm64 architecture of macOS. Tested and made compatible with macOS 11.4 (Big Sur). Updated the plug-in to use the latest libraries or modern frameworks where possible. Improved PDF support Added new function TrFile_GetAsPlainText function, which will return the text contents of a PDF as plain text. Note that the returned results might be slightly different on macOS compared to Windows: long lines might be wrapped differently. Also this function is implemented for 64-bit FileMaker Pro only. (Windows) Improved the Create Thumbnail script step and the TrFile_CreateThumbnail function: added support for creating thumbnails from PDF files. Note this is implemented for 64-bit FileMaker Pro only. improved ZIP functionality and enhanced ZIP64 support (Windows) Improved the Create Zip script step and the TrFile_CreateZIP function, the plug-in now supports UTF-8 encoding. If the filepath of files to zip contains higher Unicode characters, the filename will be automatically stored in UTF-8 format. (Windows) Added new switch "-ForceUTF8Filenames" to the TrFile_CreateZIP function. When you add this switch all filenames in the ZIP file will be UTF-8 encoded. On macOS this is the default and the switch has no effect. (Windows) Improved the UnZip script step and the TrFile_UnZIP function: ZIP files using the ZIP64 format extension can now be unzipped. The plug-in now has added support for unzipping files compressed with the Deflate64 method. (Windows) Improved the UnZip script step and the TrFile_UnZIP function: the plug-in now automatically detects the encoding of UTF-8 encoded filenames. (Windows) Improved the TrFile_UnZIP function: you can now add a -Encoding=x switch, like -Encoding=ASCII_Windows. The filenames in the ZIP file will be unzipped according to this switch. This is useful if the ZIP file was created using a non-standard filename encoding. (Windows) Improved the TrFile_GetZipInfo function: you can now add a -Encoding=x switch, like -Encoding=ASCII_Windows. The filenames in the ZIP file will be decoded according to this switch. This is useful if the ZIP file was created using a non-standard filename encoding. (Windows) Improved the Create Zip script step and the TrFile_CreateZIP function: error codes are now more accurate. (Windows) Improved the Create Zip script step and the TrFile_CreateZIP function, shortcuts files (with extensions .lnk) are now also zipped into the ZIP file. Improved movie support Improved the movie handling in several functions: added support for internally compressed movies (which contain the 'cmov' movie box). Improved the TrFile_GetFileStructure function: when using the -verbose switch it now returns more detailed movie structure information of a track, like the used video codec of a track or the clean aperture size. Improved the TrFile_GetFileStructure function: it now correctly returns the pixel density metadata. Improved movie metadata support Improved the TrFile_GetMetaData function: added several switches, which return a single property of a movie: -IsValidMovie, which returns 1 (true) if this is a valid movie or 0 (false) otherwise -GetMovieWidth -GetMovieHeight -GetMovieRotation -GetMovieFrameCount* -GetMovieSoftware -GetMovieYear * Note that it might take a while to calculate the frame count. Improved the TrFile_GetMetaData function with the switch "-GetMovieDescription": you can now add an extra switch "-AddFrameCount" if you also want the frame count of the movie. Note that it might take a while to calculate the frame count. Improved the TrFile_GetMetaData function with the switch "-GetMovieDescription": (Windows) this switch now also works when running on a 64-bit version of Windows. The result now also returns the rotation angle and track size (width and height). The (general) size (width and height) now is the display size. So it reflects the rotation of the movie and also the clean aperture. It can return for example 980x1308 for a vertical rotated movie. This can be different from the internal track size, for example 1440x1080. Also changed the order of the returned size of the movie, the function now returns the width first and then the height. You can use the switch "-GetMovieDescriptionOldFormat" to get the original formatted result, i.e. height returned first and not reflecting the rotation of the movie. Added new GetMovieMetadata.fmp12 example file to the download, which demonstrates which metadata (and properties) can be returned from a movie. Improved iCloud Drive functionality (macOS) Added switch "-AllowNonLocalCloudItems" to the TrFile_SelectFileDialog function. When used this will allow you to select iCloud files that are not downloaded to the local disk. Added switch "-iCloudStatus" to the TrFile_GetFileAttribute function, The return values for iCloud Status can be: not on iCloud: this file is not on iCloud (Drive), it is outside the iCloud Drive, it is just a local file on the disk. on iCloud + local: the file is both on iCloud and on the local disk. on iCloud only: the file is only on iCloud, it is not downloaded on the local disk. on iCloud (updating): the file is on iCloud and on the local disk, but it is stale. A new copy is downloading to the local disk. NOTE If a file path does not exists, other values like error $$-43 (fnfErr; File not found) or $$-120 (dirNFErr; directory not found) may be returned. Other changes and improvements (macOS) Added support for using SMB styled paths as parameters for any file or folder path. You can use for example "smb://192.168.178.12/myShare/MainFolder/hello.txt" for a path to a text file. (macOS) Added a new switch "-ForceDelete" to the TrFile_DeleteFolder function. When you use this switch in combination with the switch "-DeleteAllSubFoldersAndAllContents" the plug-in will forcefully delete any open files inside the folder and subfolders. This solves a problem where in some cases the function could return error code $$-47 (fBsyErr). Warning Please use this powerful switch with extra care, it might give problems with applications which have open files. Also it cannot be undone. Also note that with the "-forceDelete" switch the plug-in writes a warning to the system.log for each item it still cannot delete, with a description of the reason. Improved the Create Thumbnail script step and the TrFile_CreateThumbnail function. Added support for creating thumbnails from a container field (or a variable with container data), for example a JPEG or PDF in a container. Improved script triggering when using drag and drop: the plug-in now also triggers scripts where the filename parameter contains a period in the name and the (.fmp12) extension was not included (the FileMaker function "Get(Filename)" will not include the extension). For example if the filename parameter given is "Dropper1.0" the plug-in now adds the .fmp12 extension, resulting in "Dropper1.0.fmp12". IMPORTANT The minimum supported macOS version is now OS X 10.13 (High Sierra). Bug fixes Fixed a bug in the handling of TIFF files stored in containers. (macOS) Fixed a bug in the TrFile_Search function when using the switch "-useSpotlight", where in some cases ? would be returned. Fixed a possible memory leak in the in the TrFile_Search function when using the switch "-useSpotlight". ### 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 dependent 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: 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) (download of May 22, 2020) Made some small corrections to the example files and user guide, regarding FileMaker 19 compability. The plug-in has not changed, is still at v12.0 ### 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 or 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 22, 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 the 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. Added ExportContainer.fmp12 example file, which demonstrates the new TrFile_ExportToFile function. 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. ### Troi File Plug-in 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. ### Troi File Plug-in 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. ### Troi File Plug-in 10.0.1 (for FileMaker 13 to 17) (September 18, 2018) Fixed a bug with registering the plug-in on FileMaker Server. ### Troi File Plug-in 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. ### Troi File Plug-in 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). ### Troi File Plug-in 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. ### Troi File Plug-in 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. ### Version 8.6 (for FileMaker 12 to 15) (September 28, 2016) Tested and improved compatibility with macOS Sierra (Mac OS X 10.12). Added new TrFile_GetIcon function, which gets the icon of a file. It can create icons in sizes varying from 16x16 to 1024x1024 pixels and with double resolution for retina screens. Added new switch "-CreatePNG" to the TrFile_CreateThumbnail function: this will give as result a thumbnail in the PNG format, with an alpha channel. This means that the thumbnail will have the same transparent areas as the original image. Improved support for PDF/X files: you can now see whether a file confirms to the PDF/X standard. Use this function call: TrFile_MetaData( "-GetPDFDescription" ; filePath ). This will return the version of the standard, for example: GTS_PDFXVersion: PDFX-1:2001. (Mac OS X) Fixed a problem in the TrFile_MetaData function with the switches "-GetImageDescription": this function now returns a resolution of 72 (instead of 0) for the horizontal and vertical resolution for JPEG images that don't have an explicit resolution set. (Windows) Fixed a problem with the TrFile_CreateThumbnail function: transparant areas in PNG images are now rendered to white (as they are on Mac OS X). (Mac OS X) Fixed a problem with the TrFile_DragAndDrop function when dragging mail: email messages with a pound sign ("#") in the subject of the email are now handled properly. (Mac OS X) Fixed a bug in the TrFile_CreateZIP function: file paths with accents in the name now no longer return error code $$15. (Mac OS X) fixed a bug in the TrFile_MountDisk function: paths to secure WebDAV servers (with protocol https) are now properly handled. Made small improvements to the DiskMount.fmp12 example file. Updated the Overview.fmp12 file regarding obsolete FSSpecs. ### Version 8.5 (for FileMaker 12 to 15) (May 10, 2016) Tested and made compatible with FileMaker Pro 15. Added new TrFile_ZIPInfo function, which lists the items (files and folders) inside a ZIP file. Added new TrFile_UnZIP function, which expands a ZIP file into a specified folder. Added -SkipDS_Store switch to the TrFile_ZIPInfo function, which will remove .DS_Store files from the result. Mac OS X stores extra info in these hidden files. Added -SkipHiddenMacOSXItems switch to the TrFile_ZIPInfo function, which will remove from the result all items which are in a __MACOSX folder in the ZIP. Mac OS X stores extra info and resource forks of files in this __MACOSX folder. Created the ZIPAndUnZIP.fmp12 example file. Removed the older CreateZip.fmp12 example file. Added new TrFile_CreateAlias function, which creates an alias file (on OS X) or shortcut (on Windows) from the source file or source folder. Further 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 "ap", the auto complete functionality will suggest the TrFile_AppendContents function. You can also type a function name in the functions pane on the right: for example if you type "fold" you will see all the functions relevant to folders, like TrFile_CopyFolder. Fixed several bugs, rewrote and modernized the code in several places and made further improvements. Updated the User Guide and the Overview.fmp12 file. ### Version 8.0.6 (for FileMaker 12, 13 and 14) (March 10th, 2016) (Windows) Added new implementation for TrFile_Metadata("-GetImageDescription", ... ) when running in 64-bit mode. Added new "-TimeoutSecs=x" switch to the TrFile_CreateZIP function. With this switch you can change the timeout time, which can be useful for creating very big ZIP files. Fixed a problem with the TrFile_CreateZIP function: when it timeouts now the correct error $$-4230 kErrTimeOut is returned. (Windows) Fixed a bug in the TrFile_Reveal function: the plug-in now properly reveals files, where the path is formatted as a FileMaker style path (i.e. starting with: "filewin:"). (Mac OS X) Improved the TrFile_CopyFile and TrFile_CopyFolder function: fixed an issue where error code $$-5000 (afpAccessDenied) could occur, when copying items to a SMB disk on a (Windows) server. (Mac OS X) Improved the TrFile_CopyFile function: improved copying of files into drop folders. Improved the log text when running FileMaker Server: more information is added to the log. Improved the log text when running FileMaker Server: after an unsuccessful attempt to register the log now adds the (incorrect) register text used. (Mac OS X) Improved multi-threading behaviour of the functions TrFile_SelectFileDialog, TrFile_SelectFolderDialog and TrFile_SaveFileDialog and the flash dialog. (Mac OS X) Fixed a bug in the TrFile_ExecuteShell function, where it could incorrectly return error code $$4 (EINTR). (Mac OS X) Fixed a problem with the TrFile_DragAndDrop function when dragging mail: email messages with a question mark in the subject of the email are now handled properly. (Mac OS X) Fixed a (crashing) bug with the TrFile_DragAndDrop function when dragging multiple emails. (Mac OS X) Improved the DragAndDrop.fmp12 example file: it now better handles the email structure of the Mail.app of OS X 10.9 to OS X 10.11. ### Version 8.0.5 (for FileMaker 12, 13 and 14) (November 23rd, 2015) Added new switch "-IgnoreAlphaChannel" to the TrFile_CreateThumbnail function: this will ignore the alpha channel (make it completely opaque) before creating a thumbnail. This helps to make proper thumbnails of images that have an inverted alpha channel. This switch currently only has effect on Mac OS X. (Mac OS X) Fixed a bug with TrFile_CreateThumbnail function and PDFs: in some cases the thumbnails created from PDFs would only be 8x8 pixels in size. (Windows) Improved the TrFile_Substitute function: when using substitute in place the function is more robust. (Mac OS X) Improved the TrFile_CopyFile function: removed a possible source for error code $$-5000 (afpAccessDenied). (Mac OS X) Fixed an inconsistency in the TrFile_DragAndDrop function with the 64-bit version of FileMaker Pro 14: a colon is now added at the end of the path for folders dragged onto a drop zone. (Mac OS X) Fixed a bug with TrFile_DragAndDrop when running with FileMaker Pro 14 in 32-bit mode: the plug-in no longer returns error code $$-5600. (Windows) Fixed a bug with the TrFile_GetDateCreated and TrFile_GetDateModified functions: when used for getting dates of folders in some cases the plug-in would return an error code. This bug is also fixed for the variant functions, like for example TrFile_GetTimestampModified. ### Version 8.0.4 (for FileMaker 12, 13 and 14) (September 24th, 2015) Tested and improved compatibility with Windows 10. Fixed a problem in the TrFile_LaunchFile function when opening an application: the opened application now stays in front. (Mac OS X, 64-bit) Fixed a bug in the TrFile_DiskInfo function: in some cases the wrong free space and used space could be returned. (Mac OS X) Improved the TrFile_FindFolder function for the "startup" switch: it will now return the correct path. (Mac OS X) Improved the TrFile_FindFolder function for folders that are no longer available (like the folder Control Panels). It will now return $$-1. (Mac OS X, 64-bit) Improved TrFile_Metadata("-GetImageDescription", ... ) functionality: the result will now also show the Tiff Compression, for TIFF formatted images. (Mac OS X, 64-bit) Improved TrFile_Metadata("-GetImageDescription", ... ) functionality: for Photoshop files the codec will now be set again to "8BPS". Updated several example files: DeleteFile.fmp12, DiskInfo.fmp12, DiskMount.fmp12, ExecuteShell.fmp12, FileManipulation.fmp12, FindFolder.fmp12, FolderManipulation.fmp12, GetPathTo.fmp12, LaunchAndReveal.fmp12, ListFolder.fmp12, MakeASCIIs.fmp12, MoveFolder.fmp12, RecursiveFolder.fmp12 and Thumbnail.fmp12 ### Version 8.0.3 (for FileMaker 12, 13 and 14) (July 20th, 2015) (Mac OS X) TrFile_DragAndDrop is now also implemented for the 64-bit version of FileMaker Pro 14. Updated the DragAndDrop example file. Made a small improvement to the DataIn.fmp12 example file. ### Version 8.0.2 (for FileMaker 12, 13 and 14) (June 23rd, 2015) (Windows) Fixed a bug in the TrFile_Reveal function: the plug-in now properly reveals files with a comma in the filename. (Windows) TrFile_DragAndDrop now works on 64-bit (Windows only). (Windows) Fixed a problem with the TrFile_DragAndDrop function, where ZIP files would be treated as a folder. Fixed typo in user guide. Updated some example files. ### Version 8.0.1 (for FileMaker 12, 13 and 14) (May 26th, 2015) (Mac OS X) Improved the function TrFile_Search: on OS X 10.10 and with FileMaker Pro 14 the default search is now the Exhaustive search. This is the same as when using the switch "-exhaustive" on FileMaker Pro 13. You can no longer use the original (Carbon based) search on OS X 10.10 and FileMaker Pro 14, as this proved unreliable. (Windows) Fixed a bug with the TrFile_GetDateCreated and TrFile_GetDateModified functions: when a file is a ZIP file it no longer returns a $$-43 error (file not found). This bug is also fixed for the variant functions, like for example TrFile_GetTimestampModified. (Windows) Fixed a bug with the TrFile_GetDateCreated and TrFile_GetDateModified functions where in some cases getting the date of a folder would not always return the correct result. Improved the function TrFile_Metadata when using the switch "-GetIPTC": fixed a possible crash when reading corrupt IPTC data (with malformed UTF8 text). ### Version 8.0 (for FileMaker 12, 13 and 14) (May 12th, 2015) Tested and made compatible with FileMaker Pro 12, 13 and 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_File_Plugin.fmx (for 32-bit) and Troi_File_Plugin.fmx64 (for 64-bit). Improved the example file EasyInstallTroiPlugins.fmp12, to support the 64-bit version of FileMaker Pro 14. Added new function TrFile_CreateZIP, which can create ZIP files (a compressed archive). You can zip a single file or a complete folder. Added new CreateZIP example file which demonstrates the TrFile_CreateZIP functionality. Functions which require user interface now support the 64-bit version of FileMaker Pro 14: The functions TrFile_SelectFileDialog, TrFile_SelectFolderDialog and TrFile_SaveFileDialog now can show their dialogs. Added switch "-AllowMultipleFiles" to the TrFile_SelectFileDialog function, which allows the user to select multiple files in the dialog. Use the Command key on OS X or the Control + Alt key on Windows to select or deselect extra items. To select a contiguous group of files at once, click on the first file, then hold Shift and click the last one and all files are selected. Each selected file is returned on a new line. (Mac OS X) Added a new implementation for the function TrFile_Search: you can now search for files and folders using Spotlight. Add the switch "-useSpotlight" for this. NOTE Spotlight does not return all files, for example it omits hidden (invisible) files. Also Spotlight search will not work if a disk is not indexed yet. It is however quite fast. (Mac OS X) You can now filter on extensions (like .txt) when using the TrFile_SelectFileDialog. For this the function TrFile_SetDefaultType now accepts multiple lines, to specify the extensions to enable. The formatting of this is now the same format as on Windows. Added a switch "-SHA1" to the TrFile_GetFileHash function, which can return the SHA-1 hash value (checksum) of a file. Several bug fixes and further improvements. Made various minor changes to several example files. ### Version 7.6 (for FileMaker 11, 12 and 13) (January 20th, 2015) (Mac OS X) Added a new implementation for the function TrFile_Search: you can now search for files and folders using an exhaustive enumeration. This implementation is no longer dependent on carbon. To enable this add the switch "-exhaustive". (Mac OS X) Improved code to load the correct Cocoa code bundle when updating a plug-in with the "Install Plug-in File" script step. Improved the TrFile_MetaData function when using the switch "-GetIPTC": The function now returns "$$-2026" instead of "$$-50" for images which have a IPTC data block, but the length is zero. Updated example files DataIn.fmp12, SelectFile.fmp12, SelectFolder.fmp12 and ListFolder.fmp12 to show an error when an architecture (like 64-bit) is not supported. ### Version 7.5.2 (for FileMaker 11, 12 and 13) (November 25th, 2014) (Windows) Fixed a problem with the TrFile_MoveFolder and TrFile_CopyFolder functions: the plug-in no longer returns an error when the name of the destination folder is a substring of the source folder name. (Mac OS X) Fixed a problem with the TrFile_DragAndDrop function, where scripts in FileMaker files with a period in the file name would not be triggered. (Mac OS X) Fixed a bug in TrFile_CreateFolder function: creation of nested new folders now also works with FileMaker style paths. Improved the CreateFolder example file: it no longer tries to store a path into a calculation field. Improved the TrFile_ExecuteShell function: it is now possible to have a timeout up to 24 hours. Also improved the speed for commands with large results. (Mac OS X) Fixed a bug in TrFile_ExecuteShell function, where some UTF-8 results could potentially crash FileMaker. (Mac OS X) Fixed a problem with the TrFile_CreateThumbnail() function: images with a high resolution (for example 8200 dpi) no longer result in too small thumbnails. (Mac OS X) Improved the flash dialog: it is now implemented as a Cocoa dialog and 64-bit compatible. Added new switch -GetRegistrationState to the TrFile_Version function: this switch allows you to check if the plug-in is currently registered. Updated Version example file to show the use of -GetRegistrationState. Improved the FileManipulation.fmp12 example file, so it no longer uses the obsolete function TrFile_FileSpecToFullPath(). Improved the code and the registration text shown in the log when running FileMaker Server. (Mac OS X) Fixed a bug with registration on FileMaker Server 13: the plug-in now looks in the correct folder for the Troi Payment Certificate. Improved the example file EasyInstallTroiPlugins.fmp12 (in the FileMaker Pro 12 formatted download only), so it is possible to reinstall the same plug-in version. ### Version 7.5.1 (for FileMaker 11, 12 and 13) (May 28th, 2014) (Mac OS X) Fixed a bug that could crash FileMaker Pro with certain registration strings when using the "Troi Payment Certificate.txt". ### Version 7.5 (for FileMaker 11, 12 and 13) (May 27th, 2014) Final non-beta version of the plug-in. (Windows) Fixed a 'file in use' bug in the TrFile_CreateThumbnail() function: the plug-in now properly releases the image file. Improved the example file EasyInstallTroiPlugins.fmp12 (in the FileMaker Pro 12 formatted download only), it is now possible to add more information from FileMaker Server to the log field. ### Version 7.4.9.1 beta (for FileMaker 11, 12 and 13) (April 25th, 2014) Compatible with FileMaker Pro 13 and 64-bit First Public Beta Version. Tested and made compatible with FileMaker Pro 13, including 13.0v3. Added support for 64-bit architecture: On Windows there are now 2 plug-ins: Troi_File_Plugin.fmx (for 32-bit) and Troi_File_Plugin.fmx64 (for 64-bit). NOTE Only Filemaker Server and FileMaker WebDirect are 64-bit processes and require the Troi_File_Plugin.fmx64 version to be installed. On OS X the 32-bit and 64-bit version is a single universal plug-in. Rewrote most parts of the plug-in. IMPORTANT This plug-in drops support for Windows XP (the plug-in will no longer load on XP). On Mac OS X the minimum system is now OS X 10.6.8 (the plug-in will not load on 10.5 and earlier). Getting Metadata (Mac OS X) Added new implementation for TrFile_Metadata("-GetMovieDescription", ... ) and TrFile_Metadata("-GetImageDescription", ... ) when running in 64-bit mode. NOTE These 2 functions are not implemented on Windows and on Mac OS X versions prior to OS X 10.7. In this case the plug-in returns with error code $$-4243 (kErrNotImplemented). In the TrFile_Metadata( ) function you can now add the switch "-PreferQuickTime" in combination with the switches "-GetMovieDescription" and "-GetImageDescription". If possible the plug-in will use the old code which depends on QuickTime. QuickTime is not available on 64-bit, in this case the switch "-PreferQuickTime" will be ignored and the new code will be used. Improved the TrFile_MetaData function: When using it with the switch "-GetMovieDescription" this function now also returns the data rate (in bits/s) of movies. Improved the TrFile_MetaData function: When using it with the switch "-GetMovieDescription" the value of frames per second (fps) is now based on the video track and is more accurate. (Mac OS X) Improved the TrFile_MetaData function: When using it with the switch "-GetMovieDescription" this function now also returns the audio codec (like AAC) of movies. Improved the TrFile_MetaData function (but only with the switch "-PreferQuickTime"): when using it with the switch "-GetMovieDescription" more types of codecs are returned (as media handler). These types include: 'flsh' (Flash Media Handler) and 'sprt' (Sprite Animation Media Handler). Other types can also be returned. NOTE this is dependent on QuickTime, and may be removed in a future version! Other improvements and fixes Added new implementation for TrFile_CreateThumbnail(), for both OS X and Windows. This implementation is no longer dependent on QuickTime. (Mac OS X) Made an improvement to the TrFile_DeleteFolder function: it now handles removal of the hidden file ".DS_Store". Improved the functions TrFile_ListFolder and TrFile_GetTypeOfItem, the error codes are now more cross-platform. Improved the example file EasyInstallTroiPlugins.fmp12 (in the FileMaker Pro 12 formatted download only), to be able to install plug-ins for 64-bit and running under WebDirect. Fixed a small problem with de Mail Drop example in the DragAndDrop file that would not include the last character of the email body into the field. (Mac OS X) Improved the DragAndDrop example file by adding support for decoding quoted-printable formatted emails, and improving handling for the Mail folder structure of Mac OS X 10.7 and 10.8. Improved the example file ManageMedia.fmp12 with test scripts for creating thumbnails. Improved the CreateFolder example file: it now no longer uses the obsolete function TrFile_FileSpecToFullPath(). Improved the Disable example file: it now gives more information on what is happening. Also the function used to test the disable is now working better. Improved the ManageMedia example file: it now properly handles movie files with these extensions: .f4v, .flv and .m4v. Clarified proper keyword formatting in the IPTC_XMP_Metadata example file. Made small improvements in several other example files. Miscellaneous (Mac OS X) The plug-in no longer supports the deprecated FileSpec format. Only full paths and FileMaker style paths are now supported for specifying a file or folder. The functions TrFile_FullPathToFileSpec and TrFile_FileSpecToFullPath are obsolete and now return error code $$-4266 (kErrNoLongerSupported). Made most functions of the plug-in available for auto-enter calculations (they now appear also in the list of available external functions). Please note that using the plug-in's functions in auto-enter calculations may cause performance penalties and other side effects. In some cases it might be useful to be able to add a function of the plug-in in an auto-enter calculation. Moved to the registration system for version 7.5. You need a new license, otherwise the plug-in will run in demo mode, showing a flash dialog. Created a new test file FileManipulationTest.fmp12, which can be used to test the file manipulation functionality of the plug-in when running on FileMaker Server 13. This is a separate download. ### Version 7.0 (for FileMaker 10, 11 and 12) (July 24th, 2013) New functionality Tested and improved compatibility with Windows 8 and Windows 8.1 (preview version). Added new function TrFile_InsertContents, which can insert text into a file, at a specified position. Also added a new Insert example file demonstrating this functionality. Added a grid view to the Thumbnail example file, which demonstrates (in a simplified way) how to implement square thumbnails in a grid. (Mac OS X) Improved the drag and drop functionality by adding Mail Drop. You can now drag one or more emails from the Mail.app to the FileMaker window. Add the switch "-AllowMailDrops" to the switches parameter of TrFile_DragAndDrop function to enable this extra functionality. Updated the DragAndDrop example file to reflect the Mail Drop functionality with an extensive example demonstrating the handling of single and multiple Mail Drops. Added an optional thumbnailName parameter to the TrFile_CreateThumbnail function. This name is added to the created (thumbnail) image data and is also added when the thumbnail is stored in a container field. The name is normally not visible, but will be used for example when you perform an Export Field Contents action later. Metadata enhancements Added new switch to TrFile_SetMetaData function: "-SetImageURL", this can set the Photoshop Image URL metadata. Note that the Image URL is not part of the official IPTC specification. Added new functionality to the TrFile_SetMetaData function when using the switch "-SetIPTC". You can now also write the IPTC encoded as UTF-8 text, by using the new -UTF8CharSet switch. In the written image file the CodedCharacterSet tag (which indicates the encoding) will be set to UTF-8. Other fixes and improvements Rewrote the source code to make the plug-in more efficient and prevent possible errors. Fixed a bug in the TrFile_ListFolder function which could lead to a crash when one of the files inside the folder listed had a name longer than 128 characters. (Mac OS X) Fixed a bug in the TrFile_MountDisk function on Mountain Lion which could lead to a crash, when a url-style server name would be used with certain disk names, for example a disk with a space in the name. Updated the IPTC_XMP_Metadata example file to check for the correct version. (Mac OS X) TrFile_MountDisk: paths to SMB servers are now handled by improved and modern code. ### Version 6.2 (for FileMaker 10, 11 and 12) (May 31st, 2013) (Windows) Fixed a bug in the TrFile_ListFolder function and the "-Recursive" switch: folders with a period as 2nd character in the name are now also listed recursively. (Mac OS X) Fixed a problem with the TrFile_ExecuteShell function: short commands of only 2 characters like "ls" could return an empty string. (Windows) Fixed a problem with the "-GetGPS" switch of the "TrFile_MetaData" function: The minutes and seconds part of the GPS coordinates are now correctly returned in all cases. Also trailing zeros are no longer present in the raw GPS data. Improved the GetExif example file: the latitude and longitude is better displayed, the minutes are now shown for all GPS formats. Fixed a small problem in the layout text of the ListFolder example file. Fixed a bug in TrFile_Substitute function where under certain conditions performing a substitute with a big file could give a wrong result. (Windows) Fixed a problem in TrFile_MetaData function with the switches "-GetImageDescription", "-GetMovieDescription" and "-GetPDFDescription". It no longer returns the error code $$-43 (file not found) for existing files. (Windows) Fixed a problem where calling the TrFile_MetaData function with the switch "-GetXMP" and PNG image files could potentially hang the FileMaker Pro application. Fixed a problem where the plug-in would not correctly load when running as a server-side plug-in or as a web-side plug-in under FileMaker Server 12. ### Version 6.1.1 (for FileMaker 10, 11 and 12) (August 1st, 2012) Fixed a script problem in "All File Examples.fp7" and "All File Examples.fmp12". The script "Check if the correct FILE plug-in is installed" checked against the version of the Troi Activator Plug-in, causing it to ask to update the File Plug-in even if the Troi File Plug-in was current. Tested with Mountain Lion (OS X 10.8) and fixed a small compatibility issue. Fixed a typo in the Version.fp7 example file. ### Version 6.1 (for FileMaker 10, 11 and 12) (June 26th, 2012) Improved for FileMaker Pro 12 Made compatible and tested with FileMaker Pro 12. The example files are now available in the new .fmp12 format. Added new example file EasyInstallTroiPlugins.fmp12 (in the FileMaker Pro 12 formatted download only), which contains the plug-ins (a Mac and Windows version) and can install the plug-in from within FileMaker Pro 12. Added new switch "-GetPluginInstallPath" to the TrFile_Version function: this switch will return the path where a plug-in is installed, for example "/Mac HD/Users/User Name/Library/Application Support/FileMaker/Extensions/Troi_File.fmplugin". Removed the obsolete MultiExport.fp7 and MultiPDF.fp7 example files as this can now be done natively with FileMaker Pro. Improved Drag and Drop (Windows) Fixed a problem with the drag and drop functionality not starting with FileMaker Pro 12. Note: starting drag and drop (on Windows only) will remove the default drag and drop of the FileMaker Pro application until you restart the FileMaker Pro application. Updated the DragAndDrop.fp7 (and DragAndDrop.fmp12) example file. Improved the vertical correction for the Status Toolbar when starting drag an drop with field bounds in the scripts. The script to start Drag and Drop was also rewritten for clarity. (Mac OS X) Changed the DragAndDrop.fmp12 example file: the container field no longer allows field entry in browse mode to resolve a conflict with the Drag and Drop of the FileMaker Pro 12 application. Other improvements and fixes Improved the TrFile_CreateThumbnail function: added a "-TryNativeJPEGDecoding" switch, which will decode the JPEG natively, instead of using QuickTime. Note that for the subsequent scaling QuickTime still is used. This switch makes TrFile_CreateThumbnail work better for some JPEG images, specifically if those JPEGS have a color profile "sRGB IEC61966-2-1 black scaled". See the script "Simple Create Thumbnail 256x256 -TryNativeJPEGDecoding" in the Thumbnail.fp7 file. NOTE the created thumbnails may look slightly different from the ones generated by QuickTime, also color profiles and antialiasing are handled differently. Improved the TrFile_CreateThumbnail function: the plug-in now returns fnfErr ($$-43) when the image file could not be found, instead of the noThumbnailFoundErr ($$-8994) which implied that the file exists. Made small improvement to the Thumbnail.fp7 example file. Updated the IPTC_XMP_Metadata.fp7 (and IPTC_XMP_Metadata.fmp12) example file. Fixed a mistake in the "Simple write IPTC data" script, in the formatting of the IPTC tags. Also made several small improvements to the IPTC_XMP_Metadata.fp7 example file. (Windows) fixed a bug with the TrFile_MetaData function: now images with higher Unicode characters in the file name no longer give $$123 as error code. Updated the HTML export example file. Also renamed it to HTMLExport.fp7 (and HTMLExport.fmp12). (Mac OS X) Fixed a problem with TrFile_SelectFileDialog, and TrFile_SelectFolderDialog and TrFile_SaveFileDialog: the initialFolder parameter now also works if the folder name contains higher Unicode characters. Fixed a programming error which could possibly cause a memory problem with the TrFile_CreateFile or TrFile_Substitute functions. ### Version 6.0 for FileMaker 9 through 11 (March 6th, 2012) New functionality Improved the TrFile_CreateFolder function: you can now specify a path and the plug-in will create the folder, including all folders in the path that do not exist. Improved the TrFile_Search function: you can now also specify a folder in which the search must be done, instead of searching the whole disk. Added new function TrFile_GetFileHash, which can return the MD5 hash value (checksum) of a file. You can use this hash to check if a file has not changed (by comparing it to a stored MD5 hash). Also added an example of this function to Attribute.fp7 Improved the TrFile_SetFileAttribute function: you can now also set the (color) Finder Label for folders (Mac OS X only). Metadata enhancements New: you can now read the metadata of PDF files. Use this function call: TrFile_MetaData( "-GetPDFDescription" ; filePath ). This can extract the following metadata information from PDF files: title, subject, keywords, number of pages, author and more. Improved the ManageMedia.fp7 example file. It can now also add the metadata of PDFs to the description. New functionality in the TrFile_MetaData function, and the switch "-GetXMP": the plug-in now can read the (XMP) metadata in PNG image files. Improved the IPTC_XMP_Metadata.fp7 example file, including an example that shows how to parse XMP metadata into easy readable text. New functionality in the TrFile_MetaData function when using the switch "-GetIPTC": the plug-in now automatically detects if the text is UTF-8 encoded (and also returns with the metadata text correctly formatted). Added a switch "-DontUseAutoUTF8Detection" to the TrFile_MetaData function, to be used with the switch "-GetIPTC". It allows you to bypass the automatic detection of UTF-8 encoded text in the IPTC metadata. This can potentially be used for images that have improperly formatted IPTC metadata. Improved the GetExif.fp7 example file: now the orientation tag is also parsed out, so you can see if the image is in portrait or landscape format. Other fixes and improvements Fixed a few small issues and made several smaller improvements. Updated several example files and documentation for the new functionality. ### Version 5.5.2 for FileMaker 9 through 11 (January 3rd, 2012) Made small change to the bundle (on Mac OS X) and FileVersion resource (on Windows) so it now reflects the correct version number. ### Version 5.5.1 for FileMaker 9 through 11 (July 22nd, 2011) (Mac OS X) Fixed a bug with TrFile_ListDisks function when running on OS X Lion (10.7): the plug-in no longer returns two incorrect disknames (home and net). Fixed a bug with TrFile_ListFolder function and the "-Recursive" switch: the plug-in now correctly handles folders containing an extreme large number of items (directly at that folder level), for example 100.000 individual files in that folder. Improved the speed of the TrFile_ListFolder function (up to 5 times faster). Improved the TrFile_ListFolder function and the "-Recursive" switch: the plug-in now by default encodes filenames which contain a forward slash "/": slashes are substituted with "%2F". This is the same as how native FileMaker style paths are handled and also makes it possible to differentiate from the folder separator. Also added a switch "-DontEncodeSlash" which disables this encoding of slashes. Corrected an inaccuracy in a function name in the example file DataIn.fp7. Fixed a bug in the handling of registration strings. ### Version 5.5 for FileMaker 9 through 11 (July 14th, 2011) Compatibility enhancements Tested and made compatible with Mac OS X Lion 10.7 (GM): in our preliminary testing we have found no major issues with Mac OS X Lion. Note: This is only an initial finding. We will continue our testing when newer releases of Lion come out. New functionality for listing folders and searching for files Improved the TrFile_ListFolder function: you can now recursively get the list of files and folders and all the subfolders of the folder you are listing. To enable this add the switch "-Recursive". Note that files and folders in sub-folders are listed with their relative folder path, with a slash as separator, for example "Subfolder/Filename.txt". (Mac OS X) Improved the TrFile_ListFolder function: also added the switch "-ShowPackageContents". When used in combination with the "-Recursive" switch this also lists the contents of a package folder (like for example a Mac OS X app). (Mac OS X) Improved the TrFile_ListFolder function: changed the default to returning long file names (up to 255 characters). You no longer need to add the switch "-LongNames" to do this. If you want the truncated names (up to 31 chars), please add the switch "-ShortNames". (Windows) Improved TrFile_ListFolder function, it now better returns files with higher Unicode characters in the name. (Mac OS X) Improved the TrFile_Search function: changed the default to returning long file names (up to 255 characters). You no longer need to add the switch "-LongNames" to do this. If you want the truncated names, please add the switch "-ShortNames". (Windows) Improved TrFile_Search function, it now better returns files with higher Unicode characters in the name. New functionality for images Improved the TrFile_CreateThumbnail function, added a "-Square" switch, which will result in square thumbnails. In this case the thumbnails will have the extending parts of the wider side of the image cropped (thus showing the middle square of the image). Also note that the image will be scaled proportionally up to a square, if one of the sides of the image is smaller than the requested size. This makes sure the result is always a square with the exact dimensions requested. Improved the TrFile_CreateThumbnail function, added support for creating thumbnails from CRW files (a RAW file type from Canon). Improved the TrFile_MetaData function, and the switch "-GetEXIF": Added support for getting EXIF data from RAW files. This will work for all RAW formats which are internally based on the TIFF format. Many (but not all) RAW file formats are based on the TIFF file format. Examples include 3FR (Hasselblad), DCR, K25, KDC (Kodak), CR2 (Canon), ERF (Epson), MEF (Mamiya), MOS (Leaf), NEF (Nikon), ORF (Olympus), PEF (Pentax), RW2 (Panasonic) and ARW, SRF, SR2 (Sony). Improved the TrFile_MetaData function, and the switch "-GetEXIF": also added limited support for returning EXIF data in CRW files (a RAW file type from Canon). Note that normally CRW files dont have an EXIF data block, but the plug-in will try to create one from the available data. Other fixes and improvements Updated the example files and documentation for the new functionality. Fixed a few small issues and made several smaller improvements. ### Version 5.0.3 for FileMaker 9 through 11 (June 24th, 2011) Improved the TrFile_CreateThumbnail function: in case of a corrupt JPEG the plug-in now returns error code codecDataVersErr ($$-8970) instead of the more general noThumbnailFoundErr ($$-8994). Improved the TrFile_CreateThumbnail function: when the plug-in returns a thumbnail the size is now determined more accurately, and is no longer dependent on internal PICT data. Fixed a bug in handling of registration strings. Fixed several smaller issues and bugs and made several smaller improvements. ### Version 5.0.2 for FileMaker 9 through 11 (February 11th, 2011) Improved the TrFile_SetContents and TrFile_AppendContents functions: when writing text which contains one or more Unicode NULL characters (U+0000) the complete text will now be written to the file. Note that normally Unicode character NULL in a FileMaker text field indicates corrupt text data. Improved the TrFile_Substitute function: improved handling when either the search string or replace string contains one or more Unicode NULL characters (U+0000). Further improved support for unusual encodings in the TrFile_SetContents, TrFile_AppendContents and TrFile_Substitute functions: When used with unusual encodings and when writing text which contains one or more Unicode NULL characters (U+0000) the complete text will now be written to the file. Added new example for creating UTF-8 Encoded files to CreateFile.fp7. It also demonstrates how to add a Byte Order Mark (BOM) to the UTF-8 file. Added new example script for creating a ISO 8859-1 Encoded file to CreateFile.fp7. This script can easily be modified for different encodings. Improved the DataIn.fp7 example file to better demonstrate the use of the TrFile_Exists() function. (Windows) Improved the TrFile_FindFolder function, for the "desktop" and "mydocuments" switch: it will now also work when the username in the path contains higher Unicode characters. Fixed a problem in registering with the built-in function. Corrected the path of logs files in the document filemaker-server-side-plug-ins.htm. Tested and compatible with FileMaker Pro 11v3. ### Version 5.0.1 (for FileMaker 9 through 11) (September 29th, 2010) Improved the TrFile_CreateThumbnail function, so that it now returns a native binary type. This makes it possible to use the Set Variable script step. Fixed a rotation bug in the TrFile_CreateThumbnail function: RAW files with orientation tags other than horizontal now get a properly rotated thumbnail. Improved the Thumbnail.fp7 example file to better demonstrate the use of the "-AntiAliasThumbnail" switch. (Windows) Fixed a bug with TrFile_ExecuteShell always returning a timeout error $$-4230 even if the executed process terminated on time. (Windows) Improved handling of the switch "-Encoding=ISO_8859_15" in several functions. Rewritten code in several places. Improved the example file ManageMedia.fp7: added scripts to get, set and update container field with FMP styled paths. (Mac OS X) Fixed a problem with FileMaker Pro 11.0v2 making drag and drop not working properly. ### Version 5.0 (for FileMaker 9 through 11) (June 21st, 2010) New functionality Made compatible and tested with FileMaker Pro 11. Added compatibility with Windows 7. Troi File Plug-in is now compatible with FileMaker styled paths, like for example "filemac:/MacHD/folder/file.txt". Each function with a FileSpec parameter can now also be given a FileMaker styled path. You can still use all the FileSpec formats of previous versions of the Troi File Plug-in, like for example "MacHD:folder:file.txt" on Mac OS X and "C:\folder\letter.txt" on Windows. Updated CreateFile.fp7 example to show the use of FileMaker style paths, like "filewin:/C:/dir/test.txt". Improved Drag and Drop functionality: you can now specify up to two drag destination rectangles (even on the same window), each drag can trigger a different script. See the example in DragAndDrop.fp7 Added new function: TrFile_GetTypeOfItem, which provides an easy way to see if a paths points to a folder or file. Updated the example file DragAndDrop.fp7 to make use of the new function: TrFile_GetTypeOfItem. Added support for RAW files in TrFile_CreateThumbnail: it can now create a thumbnail from the (large) thumbnail embedded in the RAW file. This should work for several RAW formats, but currently only has been tested with Canons CR2 format. Added switch "-GetFullSizeRawThumbnail" to the TrFile_CreateThumbnail function: This switch will return the full size thumbnail embedded in the RAW file. This should work for several RAW formats, but currently only has been tested with Canons CR2 format. You can now get the creation date and modification date of a folder using the TrFile_GetDateCreated and TrFile_GetDateModified functions. This also works with the variant functions, like for example TrFile_GetTimestampModified. You can now set the creation date and modification date of a folder using the TrFile_SetTimestampCreated and TrFile_SetTimestampModified functions. Fixes (Windows) Fixed a problem with TrFile_ExecuteShell always returning a timeout error $$-4230 even if the executed process terminated on time. (Windows) Improved TrFile_ExecuteShell, including improved error handling. (Mac OS X) Fixed a problem when creating a temporary file on a remote disk, which could result in a $$-5000 (afpAccessDenied) error. This error could occur in several functions: TrFile_CreateThumbnail, TrFile_SetMetaData and TrFile_Substitute. (Mac OS X) Fixed a bug in TrFile_MoveFile function that could lead to a crash of FileMaker and removed calls to an older ResolveAlias function. This change will also fix potential problems in other functions that have a full path as parameter. Other changes and enhancements (Mac OS X only) Added support for ColorSync in TrFile_CreateThumbnail: this function can now create a thumbnail in the sRGB color space. The thumbnail will have the "sRGB IEC61966-2.1" profile embedded. NOTE this feature is not enabled by default, it needs to be enabled by adding a "-AddColorSyncSupport" to the switches parameter of TrFile_CreateThumbnail(). Improved the TrFile_MetaData function: When retrieving GPS metadata the Altitude reference now returns 0, indicating Sea Level. Added new switch to TrFile_Version: -UnregisterPlugin. This will remove the registration data. The plug-in will be in a unregistered state after this. See the "Temporary Register File Plug-in" script in the file RegiFunc.fp7 for an example use. Improved example files and documentation Updated CreateFile.fp7 and MoveFolder.fp7 example to use variables and to make use of the TrFile_Exists function. Fixed a script in the FolderManipulation.fp7 example file. Improved the GetExif.fp7 and SetExif.fp7 example files: they now also parse the GPS data types: Image direction and Image direction reference (True or Magnetic direction) and Degree of precision. Updated the User Guide, and also fixed an incorrect example in the User Guide and Overview.fp7 ### Version 4.6.2 (for FileMaker 7 through 10) (July 6th, 2009) Fixed a small error in the display of the GPS data in GetExif.fp7 example file: the symbols for minutes (') and seconds (") were switched in the latitude and longitude text. Improved the GetExif.fp7 example file: it now uses variables for parsing the data. ### Version 4.6.1 (for FileMaker 7 through 10) (June 23rd, 2009) Improved the TrFile_MetaData function for the switch "-GetMovieDescription": added Current Time (in seconds) to movie description. This is also available when there is no Timecode track. Improved the TrFile_MetaData function: the returned pixel depth (with switch "-GetImageDescription") is now more accurate for certain images. Added missing documentation for switch "-GetImageDescription" of function TrFile_Metadata to User Guide and Overview.fp7 . (Mac OS X) Added new switch "-PackageFolderAttr" to the function TrFile_GetFileAttribute: this can be used to determine if a file is a package folder. For example all Mac OS X applications are really package folders. This can be used to determine if a result of a drag and drop action is a package or a real folder. Adapted example file DragAndDrop.fp7, to make use of the new "-PackageFolderAttr" switch of the function TrFile_GetFileAttribute. (Windows) Improved Drag and Drop functionality: when starting drag and drop it will now only use the name of the current front window (and no longer tests if this is the same as the fileName parameter). This means that drag and drop with a renamed window now also works. Note, however, if there are two windows with the same name the plug-in might pick the wrong one. You can prevent this from happening by using different names for each window. Improved the example files DragAndDrop.fp7 and ManageMedia.fp7 to better handle audio files, like .mp3, .m4a and .mid files. (Mac OS X) Improved handling of volumes with higher Unicode characters in TrFile_SelectFileDialog and TrFile_SaveFileDialog. Fixed a problem with the TrFile_CreateThumbnail function and the switch "-AntiAliasThumbnail": 16-bit images will now be properly antialiased resulting in better thumbnails. (Mac OS X) Fixed a bug in the example file RecursiveFolder.fp7. It would stop too soon. Corrected incorrect example in User Guide for TrFile_MountDisk. (Mac OS X) Disabled a default workaround for a bug in the Alias manager. This workaround would lead to a $$-1407 error (errFSNotAFolder) for some functions when users are also using network based home directories. If you still need this workaround add this step: `Set Variable[ $errorCode, TrFile_Version( "-AliasBugWorkAroundON" )]` See also the scripts in the CreateFile.fp7 example file. Added code for easier debugging. ### Version 4.6 (for FileMaker 7 through 10) (January 29th, 2009) New features Made compatible with FileMaker Pro 10. Added new TrFile_VersionAutoUpdate function. The TrFile_VersionAutoUpdate function is part of an emerging standard for FileMaker plug-ins of third party vendors of plug-ins. The version number is returned in the format aabbccdd where every letter represents a digit of the level, so versions can be easily compared. Added the plug-in's version number to the description in FileMaker's preference pane. Troi File plug-in is now compatible to run under FileMaker Server! The plug-in now creates log files when running under FileMaker Server to make troubleshooting installing easier and and provides feedback regarding errors and registration status. Note that some functions which can't run under FileMaker Server or under the Web Engine: they will now return an error code: $$-4251 = kErrNotAvailableOnServer. This entails the functions which use GUI, like for example show a dialog. Also Note that you need a special Server/WebEngine license to use this plug-in on FileMaker Server. See our web site for details. Bug fixes Fixed a bug in the TrFile_MountDisk function: when using "afp://" style addresses it will no longer show a superfluous user and password dialog. Fixed a bug in the TrFile_MetaData function and the switch "-GetEXIF": if the Exif data block was too big it would not be retrieved. Fixed a bug in the TrFile_DiskInfo function when using switches "-GetFreeMegs" or "-GetTotalMegs". Fixed a bug in the TrFile_CreateThumbnail function using the switch "-AntiAliasThumbnail": no longer will some thumbnail sizes result in a white band at the right. Improved the handling of Unicode paths in the TrFile_GetFileAttribute and TrFile_SetFileAttribute functions. Fixed a bug in the handling of re-registration: No longer is an incorrect Expired dialog shown. Fixed a bug in TrFile_Substitute (and TrFile_ConvertFromFMText): when using text which contains lots of Unicode characters that require more than two UTF-8 characters, this is now handled better. Fixed a bug in TrFile_SetContents and TrFile_AppendContents: when writing text which contains lots of Unicode characters that require more than two UTF-8 characters, the text is now written out completely. (Windows) Fixed a bug with Drag and Drop functionality using a FileMaker file that is hosted on a FileMaker server: drag and drop now works more reliable. Improved Drag and Drop functionality: triggering is now only occurring during IdleSafe, eliminating possible crashes. Graphic improvements Tested with FileMaker Pro 10 and tweaked several little (graphic) issues. Changed the Open File script in all example files to resize better for FileMaker Pro 10. Adapted example file DragAndDrop.fp7, to take into account that the status area in FileMaker Pro 10 is no longer at the left. This caused the custom drag and drop rectangle to be drawn at the wrong location. Improved example files and documentation Improved the example files DragAndDrop.fp7 and ManageMedia.fp7 to better handle network paths. Improved Drag and Drop example for PDFs on Windows, PDFs are now inserted as media type file. Removed unnecessary file references in ManageMedia.fp7 and Import1Image.fp7 Improved the MoveFolder.fp7 example. Added the switch "-GetXMP" to the documentation of the TrFile_Metadata function. ### Version 4.5.1 (for FileMaker 7, 8.x and 9) (July 7th, 2008) (Windows) Fixed a problem in the "TrFile_ContentsDialog" function and the filtering on file types (for example .txt). (Mac OS X) Improved robustness when the startup disk is renamed while the plug-in is running. Fixed a bug in "TrFile_DragAndDrop" function, when using the custom field bounds (drop box). This now also works when the toolbars of FileMaker are visible. Improved the user guide and the Overview.fp7 file: fixed some reference to old function names. Added missing DataIn.fp7 example file in the download. ### Version 4.5 (for FileMaker 7, 8.x and 9) (June 11th, 2008) New functions Added new "TrFile_Reveal" function. With this you can reveal files and folders in the Finder or Windows Explorer. Added powerful new "TrFile_DragAndDrop" function. With this you can drag files and folders on the FileMaker window. The paths of the dropped items can then be handled in a triggered script, for example to put them in a container field. More Metadata support Added "-GetGPS" switch to the "TrFile_MetaData" function. This will return the Global Positioning System data embedded in the Exif data in images. With this you can find the coordinates (latitude and longitude) where the image was taken. Added support for reading XMP metadata (as used for example by Photoshop) in the "TrFile_MetaData" function. Improved the TrFile_MetaData function for the switch "-GetMovieDescription". It will now return more movie information. New items are: track count, frame count, frames per second, preferred playback rate, codec name, codec type. Also when the movie contains a Timecode track, the Timecode at the beginning and end of the movie and the Timecode of the current frame is returned. Added extra switches to the TrFile_MetaData function which return individual movie attributes: "-GetMovieDuration", which returns the duration in seconds of a movie. When a movie contains a Timecode track the switches "-GetTimecodeBegin", "-GetTimecodeEnd", "-GetTimecodeCurrent" return the begin, end and current Timecode respectively. If there is no Timecode track an empty string is returned. More and better Exif Metadata support Added support for writing Exif data. This is still somewhat limited as the Exif Maker Note and the Exif Thumbnail will not be added when setting the Exif data. Added "-GetRawExif" switch to the "TrFile_MetaData" function: This returns the data in the more original form, for example aperture will be returned as 95/32, instead of 2.96875. Improved the "TrFile_MetaData" function for getting Exif: implemented better handling of corrupt Exif data and incomplete date/times in Exif data. More Execute Shell possibilities Added "-DontWaitOnResult" switch to the TrFile_ExecuteShell function. With this switch the plug-in will not wait on the termination of the process, but return immediately. Added a default timeout of 20 seconds to the TrFile_ExecuteShell function. If the process started does not terminate in 20 seconds the plug-in returns with a timeout error $$-4230. Added "-TimeoutSecs=x" switch to the TrFile_ExecuteShell function. With this switch you can change the timeout until the function returns if the process started does not terminate. (Windows only) Added "-ShowCommandWindow" switch to the TrFile_ExecuteShell function, which will show the command window and then wait 5 seconds. This can be used for debugging. (Windows only) Added "-WaitAfterExitTicks=x" switch to the TrFile_ExecuteShell function. With this switch you can change the timeout the function waits after the command window has ended. Other changes Improved the TrFile_CreateThumbnail function: added a switch "-AntiAliasThumbnail", which results in better bicubic antialiased thumbnails. Improved the TrFile_CreateThumbnail function: added a switch "-BitDepth=32", which will make the thumbnail a 32 bits image. Several bug fixes and further improvements. ### Version 4.0.3 (for FileMaker 7, 8.x and 9) (June 3rd, 2008) (Mac OS X) Fixed a problem where the plug-in would not load on PPC G3 machines. (Windows) Improved the TrFile_FindFolder function: when using the "temporary" switch it now returns the long Windows path. ### Version 4.0.2 (for FileMaker 7, 8.x and 9) (March 17th, 2008) Removed a limitation of 2000 characters in the command of the TrFile_ExecuteShell function. The limit for the command string is now limited by the FileMaker application, currently up to 1 Gb characters. Realistically about 300.000 characters can be handled by the operating system. (Windows) Improved the TrFile_LaunchFile function: the (optional) extra parameter now works better with higher Unicode characters. Improved the switch "-GetExif" in the "TrFile_MetaData" function: it now returns more and better data. Several other smaller (internal) refinements and improvements. ### Version 4.0.1 (for FileMaker 7, 8.x and 9) (October 9th, 2007) Improved the speed of the TrFile_CreateThumbnail function. (Windows) Fixed a bug in the TrFile_CreateThumbnail function when used with the -TryMoviePict switch on a QuickTime movie. The created thumbnails are now of the specified size, instead of onl 8x8 pixels. Fixed a bug in TrFile_MetaData function and the switch "-GetImageDescription", where error code $$-2020 could be returned, even if QuickTime was installed. Also the codectype is now correct. Fixed a bug in TrFile_CreateFolder function where an (internal) error code $$-4299 could be returned, when given an error code as input parameter. (Windows) Fixed a bug in the TrFile_DeleteFolder function where in some cases the function would return an error code $$-43 after succesfully deleting the folder. (Windows) Fixed a bug in the 9 functions that retrieve dates and time from a file, like the TrFile_GetDateCreated and TrFile_GetTimestampModified functions. The functions now also work with open files, and no longer returns $$-43 in this case. Improved the ManageMedia.fp7 example: it can now identify and handle more movie types: DV, MPG, MP4, and AVI. Added switch "-HideInvisibles" to the TrFile_SelectFileDialog function. Improved the TrFile_Substitute function, the function can now handle a longer search parameter, up to 500.000 characters. Added the switch "-Encoding=BytesOnly" to the TrFile_Substitute function This will encode all characters in the text that have Unicode value of 0 to 255. All higher characters are skipped. Improved the MultiPDF.fp7 and the ExecuteShell.fp7 example files. Fixed a typo in the user guide. Improved the TrFile_MetaData function for the switch "-GetMovieDescription" it will now return the duration (in seconds) of a movie. ### Version 4.0 (for FileMaker 7, 8 and 8.5) (June 5th, 2007) Added compatibility with Windows Vista. Added TrFile_CopyFolder function, which can copy (and rename) complete folders (with their subfolders). Added TrFile_MoveFolder function, which can move (and rename) complete folders (with their subfolders) to a new location on the disk. Added TrFile_ExecuteShell function, which can execute command in the shell of the operating system. Added TrFile_AsciiValueToText function, with the same functionality as in the Troi Serial Plug-in. With this function you can make special ASCII characters, like Line Feed or Vertical Tab, which can then be used easily in for example the TrFile_Substitute function. Added switch "-GetImageDescription" and "-GetMovieDescription" to the TrFile_MetaData function. This will retrieve image data like width, height and depth. Added new example file ManageMedia.fp7. This example file combines some of the Troi File Plug-ins function to create a powerful Media Manager for images and movies. It shows how to import one or multiple images from a folder and retrieves meta data like width and height, IPTC meta data like description and EXIF meta data like shutter time. (Windows) Improved the function TrFile_ListFolder: it can now handle folders containing more than 32000 items. Added the switch "-Encoding=BytesOnly" to both the TrFile_SetContents and the TrFile_AppendContents function. This will encode all characters in the text that have Unicode value of 0 to 255. All higher characters are skipped. Improved the TrFile_CreateThumbnail function. You can now specify a higher quality bit depth of 32. Fixed a bug in the function TrFile_MetaData with the switch "-GetImageURL" where the plug-in would not return an included URL. ### Version 3.6.1 (for FileMaker 7, 8 and 8.5) (April 12th, 2007) Fixed a bug in writing out binary data with the switch "-Encoding=ASCII_Mac", in both the TrFile_SetContents and TrFile_AppendContents functions. Made some improvements to the IPTC_Manipulation.fp7 example. ### Version 3.6 (for FileMaker 7, 8 and 8.5) (February 5th, 2007) (Windows) fixed a bug where, with both QuickTime and the Troi File Plug-in installed, copying or pasting could lead to a freeze. (Mac OS X) Fixed a bug with filtering in TrFile_SelectFileDialog. Fixed a problem with the TrFile_MetaData crashing with some images containing specific undefined EXIF data tags. Improved TrFile_SetMetaData: IPTC meta data can now also be added to JPEG files that did not yet have any previous IPTC or Photoshop data. (Mac OS X) Fixed a bug where copying a file to a remote volume could erroneously return a disk full error ($$-34). Compacted a few example files. ### Version 3.5.3 (for FileMaker 7, 8 and 8.5) (November 15th, 2006) (Mac OS X) Improved the TrFile_MoveFile function. Moving files with higher unicode values, like Greek now works correctly. All functions are now visible in all calculation boxes, including Custom Functions. (Windows) Fixed a problem with the TrFile_SetMetaData function not being visible. (Windows) Made minor improvements to the IPTC_Manipulation.fp7 example. (Mac OS X) Switched of creation of unneeded logging information with copy and move functions. Improved the Create Folder.fp7 example file: fixed incorrect line in script. Improved the Image import.fp7 example file to work with FileMaker 8 and variables. Improved the FileManipulation.fp7 example file. Improved the user guide and the Overview.fp7 file: fixed some typos etc. Also renamed the user guide to be more clear to which plug-in it is for. ### Version 3.5.2 (for FileMaker 7, 8 and 8.5) (August 3rd, 2006) (Mac OS X) Fixed a problem where the plug-in would not work after using the AutoUpdate feature of FileMaker Server. ### Version 3.5.1 (for FileMaker 7, 8 and 8.5) (July 24th, 2006) (Mac OS X) Fixed a bug that prevented the plug-in from loading in FileMaker Pro 7. Added a consistency check for missing resources. The plug-in can for example miss resource files after being incorrectly zipped or tarred. Updated the User Guide for version 3.5. We also improved the links in the table of contents, so the links now also work with the Preview application of Mac OS X. ### Version 3.5 (for FileMaker 7, 8 and 8.5) (July 12th, 2006) Made compatible with FileMaker Pro 8.5. (Mac OS X) Converted to Universal plug-in which runs natively on PowerPC and Intel Macs. Improved the TrFile_CopyFile function, it is much faster and can now copy files bigger than 2 Gb. Added new switch to the TrFile_GetContents function: "-ConvertToFMPLinebreaks". This will still get the data of the selected file but also convert any line breaks to the line break FileMaker expects: CRLF, LF and CR will all become CR. NOTE only use this when getting text files, as it might change the data returned. If for example you use it with an image file the imported image might get corrupted. Added 3 functions to get the last access date of a file: See Attribute.fp7 for details. Added set TrFile_SetMetaData function, which can set the IPTC metadata in JPEG files. Improved TrFile_SelectFileDialog and TrFile_SaveFileDialog: the initial directory can now be longer than 150 characters. Cleaned up code in several places. ### Version 3.0.7 (for FileMaker 7 and 8) (April 26th, 2006) Added new example file RecursiveFolder.fp7. This example file lists all folders inside a folder and optionally performs an action on all the files in the folders. Improved handling of EXIF data in TrFile_MetaData function, especially images with corrupt EXIF data is now handled gracefully. (Mac OS X) Fixed a bug in TrFile_CopyFile function which could return $$-39 when copying files to SMB disks. (Mac OS X) Improved internal creation of full paths for remote disks, for example with SMB mounted Windows disks. This fix makes that the TrFile_SelectFileDialog and TrFile_SaveFileDialog functions now returns better paths. (Mac OS X) Fixed a possible problem with TrFile_ListDisks function and higher Unicode characters in the diskname. (Mac OS X) Improved the TrFile_GetFileCreator and TrFile_GetFileType function: when a file has no Creator or FileType associated with it, the functions will now return the visible text: "0000", that is 4 zero characters (Unicode 30) instead of 4 invisible Unicode 0 characters. (Mac OS X) Improved the TrFile_SetFileAttribute function: when setting either Creator or FileType you can now set it no Creator or FileType. Use "0000", that is 4 zero characters (Unicode 30). You can also use an empty string in the cftype parameter. (Mac OS X) Improved the TrFile_LaunchFile function, for files on remote SMB volumes. (Windows) Improved the TrFile_SaveFileDialog function. (Windows) Improved the TrFile_SelectFileDialog and TrFile_SaveFileDialog functions to work better with longer filepaths of up to 1000 characters. Fixed a link to a wrong place in the user guide. Cleaned up code in several places and prepared for universal binary. Also prepared registration handling for next release. ### Version 3.0.6 (for FileMaker 7 and 8) (February 17th, 2006) Fixed a bug in TrFile_CreateFile, which could crash FileMaker in most cases. ### Version 3.0.5 (for FileMaker 7 and 8) (February 15th, 2006) Fixed a bug in TrFile_MetaData, which could crash on certain jpeg images. Improved the TrFile_Launch function, for files residing on a network disk, with higher ASCII's in the folder names. (Mac OS X) TrFile_CreateFile can now create files with no Creator or no FileType. (Mac OS X) Fixed a bug in TrFile_DeleteFolder where in some cases no dialog would be shown. (Mac OS X) Improved TrFile_SetAttribute and TrFile_GetAttribute: Finder comments (from the Get Info window) are now properly set and retrieved. This also works under Mac OS 10.4 (Tiger) as Spotlight comments. Cleaned up code in several places and prepared for universal binary. Version 3.0.4.1 (for FileMaker 7) (June 9th, 2005) Updated Overview.fp7. The detail data is now shown correctly. Updated the readme to reflect that upgrade registrations have been sent. ### Version 3.0.4 (for FileMaker 7) (June 8th, 2005) New features Added two new functions to change the creation date and modification date of a file: TrFile_SetTimestampCreated and TrFile_SetTimestampModified. Added examples for this in the Attributes.fp7 example file. Added switch to TrFile_SetContents and TrFile_AppendContents functions: -CRtoCRLF. This switch makes it possible to write files using Windows line endings. Return characters in the text parameter are substituted with CRLF (Carriage Return followed by a Line Feed) in the written file. Improved the GetExif.fp7 example file: It now clears the field text when no IPTC data is present in the JPEG file. Added support for importing PDF files in the Import1Image.fp7 example file. This will work only on Mac OS X, as FileMaker only supports PDFs there. Bug fixes and corrections Improved handling of Unicode in TrFile_CreateFolder function. The handling of Unicode is now more robust, as file paths with higher Unicode characters in both the foldername and the path are now handled correctly. (Windows) Fixed a bug in TrFile_SetContents, where the file length would not be set correctly, if the file already existed. (Mac OS X) Fixed a resource conflict at idle time with other plug-ins. Also the plug-in no longer needs processor time when FileMaker is idle. Updated User Guide and included TrFile_Exists documentation. ### Version 3.0.3 (for FileMaker 7) (November 10th, 2004) New features (Windows) The TrFile_SelectFolderDialog will now show a Make New Folder button in the dialog. You can turn this off using the -NoNewFolderButton switch. Added TrFile_Exists function that will return 1 if a file or folder exists. See the script "Test if file or folder Exists" in the DataIn.fp7 example. No other documentation yet available. Bug fixes Improved handling of Unicode in several functions. The handling of Unicode is now more robust, as file paths with higher Unicode characters in both the filename and the path are now handled correctly. This concerns these functions: TrFile_CreateFile TrFile_CreateThumbnail TrFile_DeleteFile TrFile_Substitute (Windows) Improved handling of Unicode characters in TrFile_SelectFileDialog, TrFile_SaveFileDialog and TrFile_SelectFolderDialog. A prompt with higher Unicode characters is now displayed properly and also a path with higher Unicode characters is returned correctly. (Mac OS X) Fixed a bug in TrFile_SaveFileDialog, where higher Unicode characters in the defaultName parameter did not work. Improved the TrFile_SetContents and TrFile_AppendContents function: On Mac it can also write out ASCII 0 characters. NOTE At the moment it is NOT possible to write texts that contains ASCII 0 characters on Windows. This is caused by a bug in FileMaker Plug-ins API. The latest version of FileMaker Pro (at this time of writing: 7.0v3) still has this problem. We are investigating workarounds. (Windows) Fixed a bug in TrFile_DeleteFolder. It no longer returns $$6, when deleting a folder and all its subfolders. Other improvements Improved the Diskmount.fp7 example file: It now is more obvious that there are more example records. Improved the conversion note FMP7ConversionNote.htm. Improved the ImageImport.fp7 example file to work better with the extension .jpeg. Changed an error code in TrFile_DeleteFolder, so that it is the same on all platforms. When a directory to delete is not empty the function will no longer return $$145 on Windows, but $$-47 (fBsyErr), as on Mac. IMPORTANT: please check your scripts as this might affect your error handling. (Mac OS X) Added a script step to disable a bug workaround in the plug-in. If you disable it the plug-in is more FileVault compatible. See the script: "Set AliasBug Workaround OFF" in the CreateFile.fp7 example, for information how to disable it. ### Version 3.0.2 (for FileMaker 7) (September 15th, 2004) Improved Launch.fp7 file; now includes example to open a folder. Fixed a bug in TrFile_GetContents, which would crash the plug-in. ### Version 3.0.1 (for FileMaker 7) (August 23rd, 2004) Changed the name of the plug-in, to ensure better compatibility with the autoupdate functionality of FileMaker Server. Changed spaces to underscores: On Mac OS X the plug-in now is called Troi_File.fmplugin and on Windows: Troi_File_Plugin.fmx. IMPORTANT: don't forget to remove the previous Troi File.fmplugin. (Mac OS X) Improved handling of full paths with higher Unicode characters in them. (Mac OS X) Improved TrFile_Search function, it now also finds files with higher Unicode characters in the name. The functions TrFile_ListDisks, TrFile_ListFolder and TrFile_Search function no longer add a return at the end of the last line. TIP Add the -ReturnAtEnd switch if you want the last item to be followed by a return. Improved handling of filenames with long names in it. Improved TrFile_FullPathToFileSpec function. Fixed a bug in TrFile_GetContents where in some situations no error code would be returned. In the Define Calculation dialog box at the top right: TrFile_FindFolder now shows correctly that it only has one parameter: folderswitch. Improved the MultiPDF.fp7 example file to work when destination is a different hard disk. Improved the ImageImport.fp7 and Import1Image.fp7 example file to work with FileMaker 7. Added the user guide. ### Version 3.0b2 beta (for FileMaker 7) (July 21st, 2004) The beta plug-in for Windows is now included! Exposed more functions calls in a calculation field, in Define Fields. You can now use several of the plug-in's functions in a calculation field, making it for example possible to gather data without scripts. NOTE: Not all of the plug-in's functions are available in the Define Calculation Field dialog. We show only the ones that can be safely used in a calculation field. Changed the function TrFile_ThumbnailToClip to TrFile_CreateThumbnail. It now returns a thumbnail directly into a container, without using the clipboard! IMPORTANT: please change your scripts to account for this change. See the Thumbnail.fp7 example file for an example on how to do this. New: Filtering on shown file types in the TrFile_SelectFileDialog function is now also possible on Windows, and adds powerful wildcard filtering too. See the SelectFile.fp7 example file. Improved RefPict.fp7 example file, for importing pictures while storing only a reference. It now uses the new API, removed calls to the old API. And it also works on Windows. Improved MultiPDF.fp7 example file to work with Save as PDF option, as built-in in Mac OS X. The TrFile_ContentsDialog function no longer needs all the optional parameters, it can be called with only the switches parameter. Fixed a bug in TrFile_MetaData function. EXIF parsing no longer adds an extra null character at the end of text results. ### Version 3.0b1 beta (for FileMaker 7) (June 29th, 2004) Converted to new Function API of FileMaker Pro 7. Each function can now handle longer texts than the previous limit of 64000. Most functions now supports Unicode characters. (see the FMP6 conversion notes for details). Converted example files to fp7 format and script steps to use the new functions names. ### Version 2.8 (for FileMaker 6) (29-June-2004) Prepared plug-in for FileMaker 7: Converted example files to fp7 format. The function "TrFile-GetPathTo" with the -CurrentFileName switch does not work with FileMaker Pro 7, and now returns in FileMaker 7 the error code "$$-4215" (kErrInvalidFMPVersion).Solution: use the build-in Get(FilePath) function. See the GetpathTo.fp7 example file in the download of File Plug-in 3.0, for an example on how to convert a FileMaker style path to a full path in the format the File Plug-in understands. The function "TrFile-ReferenceToClip" does not work with FileMaker Pro 7, and now returns in FileMaker 7 the error code "$$-4215" (kErrInvalidFMPVersion). Solution: use the FileMaker 7 native way to import as a reference. See the RefPict.fp7 example file in the download of File Plug-in 3.0. (Mac OS) The functions "TrFile-FileSpecToFullPath" and "TrFile-FileSpecToFullPath" now will pass on an error code, like for example $$-43. (Windows) fixed a bug in TrFile-Get FileSpec Dialog, TrFile-Save FileSpec Dialog and TrFile-ContentsDialog functions. If you used these functions, the enclosing folder of the last selected file could not be deleted, Windows would say "Cannot delete folder: It is being used by another program.". (Mac OS X) you can now launch folders. (Windows) fixed a bug where TrFile-DeleteFile could return a random error code, when there was really no error. (Mac OS X) When using the function TrFile-FindFolder with the "-Root" switch, it now returns the top folder on the startup disk folder (for example "Mac HD:") and no longer the System folder on the startup disk (for example "Mac HD:System:"). IMPORTANT this may break a script if you assumed a result like: "Mac HD:System:". (Windows) Instead of $$1 the date functions now return more descriptive (Mac like) error codes. This concerns these functions: TrFile-GetDateCreated, TrFile-GetTimeCreated, TrFile-GetDateTimeCreated, TrFile-GetDateModified, TrFile-GetTimeModified and TrFile-GetDateTimeModified. (Windows) The TrFile-CopyFile and TrFile-MoveFile and the TrFile-GetFileSize will now return Mac like error codes. For example they will return error code $$-48 instead of $$183 when a file already exists. Improved example Import1Image.fp5. (Windows) Improved ListFolder function: it no longer needs a backslash at the end. (Windows download) Added forgotten Overview.fp5 file. ### Version 2.7.1 (24-May-2004) (Mac) Improved correct display of dialog messages, like when the plug-in has stopped working. Also moved resources to a range not affected by the FileMaker application. (Windows) Removed possible beeping sound from TrFile-ReferenceToClip". (Mac OS X) Improved example Import1Image.fp5, so that it now also works on Mac OS X. ### Version 2.7 (19-Jan-2004) Improved the "TrFile-MetaData" function. Added 2 new switches "-SourceMacCharSet" and "-SourceWinCharSet", to be used with the switch "-GetIPTC". IPTC data in image files can have either Mac or Windows encoded higher ASCII characters in IPTC texts. With these new switches you can tell the plug-in which character encoding you expect in the image files. Alternatively you can retrieve both encodings and then see which is best. NB: If you don't specify a CharSet switch, the plug-in uses the encoding of the platform it is running on. (Mac OS X) Improved the "TrFile-ListFolder" function. Added support on Mac OS X for long filenames, up to 255 characters. By default the plug-in returns the truncated name. If you add the switch -longnames the plug-in can now return the long filenames. (Mac OS X) Improved the "TrFile-Search" function. Added support on Mac OS X for long filenames, up to 255 characters. By default the plug-in returns the truncated name. If you add the switch "-longnames" the plug-in can now return the long filenames. (Mac OS X) Improved the "TrFile-Search" function, you don't longer have to add a colon ":" after the diskname. Added a switch "-CurrentAppFolder" to the TrFile-GetPathTo function, which returns the folder of the current running application. This is for example the folder of the FileMaker Pro application or the folder of the FileMaker runtime application. (Mac OS X only) Changed behaviour of the switch "-CurrentApplication". This function now returns the FSSpec to the FileMaker application package (usually FileMaker Pro.app), instead of the carbon executable inside this package. So the full path will no longer be: "MacHD:Applications:FileMaker Pro 6 Folder:FileMaker Pro.app:Contents:MacOS:FileMaker Pro" Instead it will be: "MacHD:Applications:FileMaker Pro 6 Folder:FileMaker Pro.app:" Be aware that the FSSpec of this package is a folder! IMPORTANT this may break a script if you assumed the "Contents:MacOS:FileMaker Pro" was at the end. If you only want to find the folder of the FileMaker application use the new switch "-CurrentAppFolder". (Windows NT/XP) Fixed a bug in the TrFile-Substitute function: if you substituted in place and the replace string was shorter than the search string, garbage text could be appended at the end of the file. Fixed a bug in the TrFile-Substitute function: If you gave wrong parameter to the function (an empty source file string) the plug-in could crash. Now it properly returns $$-50 in this case. (Mac OS X only) Fixed a bug in the TrFile-FileSpec To FullPath function where higher ASCII characters in the path, like u-umlaut, would not be returned correctly. Improved example files: Removed pause in CreateFile.fp5 example; removed superfluous layout in FileManipulation.fp5 example and fixed link to Launch.fp5 in All File Examples.fp5. Improved the Import1Image.fp5 example file. On Mac OS X it now splits the selected path correctly into path and name. Improved the Image Catalog Sample File. (Mac) Registration now also works if the registration file has a ".txt" extension at the end. ### Version 2.6.1 (10-Mar-2003) Added support on Mac OS X for mounting disks on WebDav servers (requires Mac OS X 10.2). Added support on Mac OS X for long file names, up to 255 characters, in full paths and FSSpecs. For example in the TrFile-CopyFile and TrFile-MoveFile function you can now move and copy with file names longer than 31 characters. Fixed a problem with slashes in path names or disk names on Mac OS X. In this case the Alias Manager would generate an error. The plug-in still tries the Alias Manager but if it fails it now also can fall back to a different method. Fixed problem with getting the FSSpec of a disk name on Mac OS 9.x. The plug-in still tries the Alias Manager but if it fails it now also can fall back to a different method. Improved TrFile-ReferenceToClip function for JPEG files. The image bounds are now determined, even if QuickTime is not installed. Improved retrieving IPTC data. the switch "-GetIPTC" in the "TrFile-MetaData" function. Higher ASCII characters in IPTC texts, like ü (u-umlaut), would not be returned. Improved -GetExif in the "TrFile-MetaData" function. In JPEG files saved with Photoshop 7 this would sometimes fail. Improved the example files: CreateFile.fp5, VTtoCR.fp5 and the SubstituteLineEnd.fp5, MountDisk.fp5, GetExif.fp5. Removed the 68k code from the plug-in. This plug-in can no longer run on Mac 68k machines. Updated the user guide. ### Version 2.6 (10-Dec-2002) Improved the "TrFile-Substitute" function. You can now use replace strings of up to 64000 characters, enabling for example to substitute tags in template files with longer replacements. Added "TrFile-MountDisk" function, which can mount remote disks on a server. Added "TrFile-UnmountDisk" function for Windows, so this function is now available on all platforms. Added switch to "TrFile-DiskInfo" to check if a disk is a remote network disk. Added switch to "TrFile-DiskInfo" to get the total and free amount of Mb of a disk. Added switch to "TrFile-DiskInfo" to get the UNC name, like "//Server/share", from a drive letter (Windows only). Added switch to "TrFile-DiskInfo" to get the drive letter, like "K:" from the UNC name (Windows only). Added DiskMount.fp5 example file, showing mounting and unmounting of disks. Improved the Import1Image.fp5 example file: improved scripts. Improved the Attribute example file. Improved the EXIF example file, removing old code. User Guide: fixed 2 hotlinks. Fixed a bug in the "TrFile-MetaData" function. The "-GetEXIF" now handles SHORT in an EXIF format better. With some files this could result in errors in the returned width, height or ISO. Added a great Image Catalog.fp5 example template (together with SmallCo). Fixed a problem with filtering files on Mac: you can now open all files of a given type (such as 'TEXT', for example) even if the creator is different. ### Version 2.5 (03-June-2002) Improved the "TrFile-Substitute" function. You can now substitute in the same file! You can do this by leaving the destination parameter empty or specifying the same source file and destination file. Added a new switch -CurrentApplication to "TrFile-GetPathTo", which returns the path to the FileMaker Application. Improved importing as a reference of EPS files. The bounding box is now better respected, which should result in better printing behaviour. MP3 files can now also be imported as reference with the function "TrFile-ReferenceToClip" (Mac OS Only). Improved "TrFile-MetaData" function. The "-getIPTC" switch now also works with IPTC data from certain files (especially files with a slightly different IPTC format, including Photoshop 6), instead of returning the error "$$-2026". Also added a new example files demonstrating IPTC parsing and EXIF parsing". Added support for Photoshops ImageURL format. Use the function "TrFile-MetaData" with the switch "-GetImageURL" for this. "TrFile-FindFolder" is now also available on Windows, and can for example return the desktop folder. "TrFile-ListDisks" is now also available on Windows and returns the available disks, separated by a return, for example "C:<CR>D:<CR>E:<CR>". Added Mac OS functionality to "TrFile-GetFileAttribute" to get the Finder Label and the Finder Comment, which are visible with the Get Info command in the Mac OS Finder. Added new attributes you can set with "TrFile-SetFileAttribute": You can set the Finder Comment and Finder Label (Mac OS only). Added Mac OS functionality to "TrFile-SetFileAttribute". You can now set the Creator and the FileType. Added Windows functionality to "TrFile-DiskInfo" to get the Volume Serial Number (VSN) and the Volume Label of a hard disk. Improved the "TrFile-Launch" function. On Windows you can now add extra parameters to the launch command, which are then given to the launching application. Added 12 new example files, making a total of 32 and improved the existing ones. New user guide. ### Version 2.2 (10-June-2001) Tested with FileMaker 5.5 and ported to Mac OS X. The Mac version of the plug-in is now a so called 'Super Fat' plug-in that will run on Mac OS 8, 9 and Mac OS X. All selection dialogs now use Navigation Services when available (Mac). Improved Import Image example file, fix bug with Win NT + FileMaker 5 and Added .PCT and .EPS as a supported extensions. Made error codes more cross platform. Instead of the generic error codes $$-1, $$-2 and $$-3, a proper error code is returned. This affects only the Windows platform and these functions: * CreateFolder, now returns $$-48 on Mac and Windows if the folder already exists * If the file didn't not exist several functions returned the error code $$-1 on Windows. Now those functions return $$-43 on both Windows and Mac. examples are: SetContents, AppendContents, Substitute * instead of $$-2 and $$-3 proper error can now be returned. Improved Version function. It now also can show the Flash Dialog and return a version buildnumber. Fixed a bug in GetContents, where getting from the 2nd character would get from the 1st character instead. Fixed a bug in "TrFile-GetDateCreated" and "TrFile-GetDateModified" on Windows. These function were returning the date derived from UTC (Coordinated Universal Time). This would some times result in creation or modification dates that were a day off. They now return the date based on the local time zone. "TrFile-ThumbnailToClip" with the thumbnail size of 80 no longer uses the default Quicktime function, as it had problems with the positioning of the bounds (like displaying it in to the left in Preview mode). Fixed a bug in Mac version of "TrFile-Search": now aliases are only returned when you ask for them. ### Version 2.1.2 (22-September-2000) Fixed a bug in "TrFile-ReferenceToClip" with the importing of BMP files (Win) Improved the multi image import sample. Added extra example file "CreateFolder". ### Version 2.1 (21-August-2000) Added "TrFile-ReferenceToClip" function. See the user guide for details. Added ThumbnailToClip for windows. Added Diskinfo to retrieve the count of folders of a disk; see example file Added -noDialog, bithDepth=8, size=128 options for ThumbnailToClip. Mac: fixed a bug in GetPathTo, which would not work correct as a runtime (from developer 5) Windows: fixed a bug in GetPathTo, which would not work correct as a runtime (from developer 5). NOTE: The fix is for Windows 95/98 only: We have not found a way to fix this in WindowsNT and Windows2000 Mac: Fixed a rare bug where the full path was not correctly handled. If you had 2 disksnames starting with the same beginning, like "KES" and "KES Work" CopyFile and MoveFile etc could return file on wrong disk, due to an Aliasmanager bug. Windows: Improved handling of international characters, you can now save with higher ASCII in the prompt/filenames/path etc. ### Version 2.0 (03-Apr-2000) Added extra parameter for the initial Directory. to the functions "ContentsDialog", "Get FileSpec Dialog" and "Save FileSpec Dialog". Now you can specify where the selection dialog starts. ### Version 2.0b1 (21-Mar-2000) Added 12 functions: GetAttribute, SetAttribute, Substitute, DeleteFolder, SelectFolder, Disable/Enable Control, ConvertToFMText and ConvertFromFMText, GetPathTo (CurrentFile), (Get)MetaData, ListDisks (Mac), UnmountDisk. Windows: Fixed a bug where a dialog message would appear with the text: "Couldn't close search handle". ### Version 1.5 (24-Feb-2000) Added User Guide Mac: Fixed a rare bug where the full path was not correctly handled. If you had 2 disksnames starting with the same beginning, like "KES" and "KES Work" CopyFile and MoveFile etc could return an errors. ### Version 1.2.2.1 (12-Mar-1999) Mac: added code to bring the Finder to front when launching a file, to be able to show dialogs like "The document "..." could not be opened, because the application program that created it could not be found." ### Version 1.2.1 (10-Jan-99) added a built-in 'register function' for developers of runtimes. added the multi-import sample. fixed a bug with CreateFile on Windows. If the file exists the CreateFile now returns error code $$-48 (Duplicate FileName). In this situation also on Mac $$-48 is returned (was $$-1) added more example files (multi-image import, multi HTML export) ### Version 1.2 (03-Jul-98) clearer errorcodes returned by TrFile-Launch function. added TrFile-FolderList function added TrFile-Launch function removed the startup flash screen. Now a flash screen is shown the first time the plug-in functionality is used. This flash screen is removed after payment of the licence fee. added example demonstrating Multiple import and export. added example demonstrating Multiple creation using PDFWriter. improved handling of FSSpec to FullPath. ### Version 1.1 (29-4-98) added create folder added find folder added file copy and move file copy now returns an errorcode if destination file exists added partial read and appendToFile added Multiple file export demonstration split into 3 separate plugins: Troi Dialog Plug-in, Troi Coding Plug-in and Troi File Plug-in ### Version 1.0 (29-1-98) First release fixed a bug on 68k machines which disposed of a pointer improperly.