- # 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. Version 10.2 (for FileMaker 13 to 17) (March 4, 2019) Tested and made compatible with FileMaker Pro 17.0.4. (Windows) Fixed a problem where the plug-in would not be loaded on Windows 7. (Windows; 32-bit) Modernized the code when using the TrFile_GetMetaData function with the switches "-GetImageDescription" and "-GetMovieDescription". This functionality now works for most image and movie formats without QuickTime installed. (macOS) Improved TrFile_CreateThumbnail function and the "Create Thumbnail" script step: you can now create thumbnails of Photoshop files (with extension .psd). Fixed a problem in the TrFile_CreateThumbnail function and the "Create Thumbnail" script step: the plug-in no longer returns error code $$-8994 (noThumbnailFoundErr) instead of the expected error code $$-2003 (cantFindHandler) when no thumbnail could be created. Updated the code base, the plug-in now uses more modern C++ libraries. (macOS) Removed old code dealing with resources. Updated the EasyInstallTroiPlugins.fmp12 file, it can now run a test registration script for a plug-in after you have installed it on FileMaker Server. Made small corrections to the user guide. Version 10.1 (for FileMaker 13 to 17) (January 7, 2019) Tested and made compatible with FileMaker Pro 17.0.3. Added support for the Windows XP EXIF tags. These are the tags XPTitle, XPComment, XPAuthor, XPKeywords and XPSubject (tags 40091 to 40095): Improved the TrFile_GetMetaData function with the switch "-GetEXIF". The plug-in now returns the WindowsXP EXIF tags correctly. Improved the TrFile_SetMetaData function with the switch "-SetEXIF". You can now write EXIF data with WindowsXP EXIF tags. Improved support for EXIF with UTF-8 text: Improved the TrFile_GetMetaData function with the switch "-GetEXIF". You can now get EXIF with UTF-8 encoded strings using the switch "-SourceUTF8Charset". Improved the TrFile_SetMetaData function with the switch "-SetEXIF". You can now write EXIF with encoded UTF-8 strings by adding the switch "-UTF8Charset". Improved the TrFile_SetMetaData function: it no longer creates an empty destination file when specifying invalid switches. Improved the GetStructure.fmp12 file: it now shows a dialog when trying the TrFile_GetFileStructure function with a (old!) QuickTime movie that has its MOOV atom in a resource fork. Note that the TrFile_GetFileStructure currently does not support MOOV atom in a resource fork. Improved the DragAndDrop.fmp12 file. Improved the All File Examples.fmp12 file. Version 10.0.1 (for FileMaker 13 to 17) (September 18, 2018) Fixed a bug with registering the plug-in on FileMaker Server. Version 10.0 (for FileMaker 13 to 17) (May 15, 2018) New functionality Tested and made compatible with FileMaker Pro 17. Rewrote and modernized the low level file handling code of the plug-in. Added new Exchange Files script step, which can (quickly) exchange two files on disk. With the checkbox "Allow different volumes" you can even exchange files on different disks. Note that this may take more time. Added new TrFile_ExchangeFiles function, which can (quickly) exchange two files on disk. When you add the switch "-AllowDifferentVolumes" the plug-in also can exchange files on different disks. Note that this may take more time. Added new TrFile_GetCodeSignInfo function, which returns code sign info of signed files (like applications and plug-ins). Added new TrFile_GetFileStructure function, which returns the structure of a movie file. It can analyze a movie file (.mov) and return a list of all movie boxes (formerly known as atoms) in the movie. The movie boxes are indented to visualize the tree structure of the boxes. The result can be formatted as XML or as a more readable list of movie boxes. It can also return the structure of a ISOBMFF (ISO base media file format), for example MP4 or HEIC. Added new switch "-AllowDifferentVolumes" to the TrFile_MoveFile function, which allows the move of the file between different volumes (disks). Note that moving a big file across disks may take more time. The plug-in now indicates if an external script step is compatible with a product. The step is shown in grey if it is incompatible for that product (for example for iOS) in the script editing pane (center) and the script steps pane (right). Added new switch "-AddFolderSuffix" to the TrFile_ListFolder function: this will add a trailing slash to folders in the result, making them recognizable as folders. Added a new switch to the TrFile_DragAndDrop function: "-ScrollDropZone" to help with the scrolling behavior when you use a drop zone for the drag destination. When you add the switch the position of the dropzone will scroll too when scrolling the FileMaker window. This is also implemented in the script step "Add DragAndDrop Handler" with the checkbox "Scroll the drop zone". Improved metadata support Improved the TrFile_SetMetaData function with the switch "-SetEXIF". The plug-in is now compliant with EXIF v2.3.1. It writes tags introduced in EXIF version 2.3.1, like LensMake, LensModel and LensSerialNumber and timezone tags. The plug-in also handles these tags: ambient temperature, humidity, pressure, waterdepth, acceleration, sensitivity type, standard output sensitivity, recommended exposure index. Finally the plug-in handles the GPS tag GPSHPositioningError, which indicates horizontal positioning errors in meters. Improved the TrFile_SetMetaData function with the switch "-SetEXIF". The code has been rewritten and the plug-in now writes EXIF data that is better readable by PHP. Added more tags to be written when using the TrFile_SetMetaData function and the switch "-SetEXIF": the plug-in now correctly writes the tags: WhitePoint and PrimaryChromaticities. It now also writes tags which are not part of the EXIF specification, but may exist in the EXIF data in some images. This can be tags like ProcessingSoftware or DocumentName. (macOS) Added initial support for HEIC (High Efficiency Image File Format) image files: the TrFile_GetMetaData function with the switch "-GetImageDescription" now returns a description. Other improvements and changes Improved handling of files located on remote volumes like WebDAV. Fixed a problem with the TrFile_Exists function, where certain incorrect paths with double colons would result into a 1 as result. Improved the TrFile_DragAndDrop function so that it works with FileMaker Pro 17. (macOS 10.13.4) Fixed a problem with the TrFile_DragAndDrop function when using the switch "-AllowMailDrops", where an incorrect path to the temporary email file would be returned. The plug-in now returns the correct path. In some cases the Mail app does not create the temporary email file, the plug-in then returns the complete drag information, which can be parsed to get the correct location of the email. Added example script to the SelectFile.fmp12 example file which demonstrates how to use the switch "-HideInvisibles". (macOS) The minimum supported Mac OS X version is now 10.8. Version 9.1 (for FileMaker 12 to 16) (February 20, 2018) New functionality Added new TrFile_ResolveAlias function, which will resolve an alias file (on macOS) or shortcut (on Windows). It returns the path to the destination of the alias file. If the alias is broken you can use the switch "-ReturnLastKnownPath" to get the last path the alias pointed to. Added extra switch "-AddAliasInfo" to the TrFile_GetTypeOfItem function. If an item is an alias file (or shortcut on Windows) the result will be "file (alias)". You can now add the "-DontResolveAlias" switch to the TrFile_SelectFileDialog function. When you select an alias/shortcut the result is the path to the alias itself (and not the destination path where the alias points to). (Windows) Added code signing to the plug-in for Windows (On macOS code signing was already added in version 8.0). New functionality for movie metadata Added new functionality to the TrFile_GetMetaData function: when using the switch "-GetMovieMetadata" the plug-in now returns all metadata embedded in QuickTime movies (with extension .mov) and all variants of MP4 movies. This returns a list of metadata in the movie, returning for example Artist, Creation date and Description. Added new functionality to the TrFile_GetMetaData function: when using the switch "-GetMovieGPS" the plug-in now returns the GPS location data of the movie. With an extra -Format switch you can specify how the location is returned:
  Format switch | Description | Example
  -Format=Decimal | Decimal coordinates (default) | +52.0907 +5.1213 +112.000
  -Format=DegMinSecs | Latitude, longitude (in degrees, minutes and seconds) and height (in meters) | 52° 05' 26.5" N, 5° 07' 16.7" E, 112m
  -Format=ISO6709 | Formatted according to ISO 6709 | 52.0907+5.1213+112.000/
Added new switch "-GetMovieCreationDate" to the TrFile_GetMetaData function: when using this switch the plug-in returns the creation date (including time + timezone) of the movie (if present as metadata). This might return for example: "2018-01-31T16:29:07+0200" Added new functionality to the TrFile_GetMetaData function: when using the switch "-GetXMP" the plug-in now can read embedded XMP metadata in movies. The plug-in supports reading XMP metadata for QuickTime movies (with extension .mov) and all variants of MP4 movies. Improved the example file ManageMedia.fmp12, it now demonstrates how to retrieve metadata from movies (including XMP). Other improvements Improved the TrFile_GetMetadata function. Added new switch "-SourceUTF8CharSet", to be used with the switch "-GetIPTC". The IPTC metadata of the source image file will forced to be read as UTF-8 encoded. Updated the FileManipulation.fmp12 example file to show the TrFile_ResolveAlias function. (Mac OS) Fixed a possible bug in the TrFile_Substitute function, when substituting in place: there are no longer spurious extra characters at the end of the new file when the replace string is shorter than the search string. In the TrFile_Substitute function, when the search string is at the end of the source file the destination now has the correct end character. (Mac OS) Fixed a bug in the TrFile_Substitute function on macOS 10.13 (High Sierra): when you substitute in place this no longer gives an $$-50 error code as result. (Mac OS) Improved the reliability of the TrFile_SetMetadata and TrFile_InsertContents functions on macOS 10.13 (High Sierra). (Mac OS) Fixed a possible memory leak in the TrFile_GetFolderSize function. (Mac OS) Fixed a compilation problem with code signing and extended attributes in macOS 10.12 (Sierra). Version 9.0.1 (for FileMaker 12 to 16) (June 19, 2017) (Windows) Fixed a bug with the TrFile_DragAndDrop function which prevented drag and drop when running FileMaker Pro 16. Improved the DragAndDrop.fmp12 example file: the calculation for the bounds of the three drag zones are improved when running FileMaker Pro 16. Version 9.0 (for FileMaker 12 to 16) (May 9, 2017) New functionality Tested and made compatible with FileMaker Pro 16. Added new TrFile_GetFolderSize function, which can get the total size (in bytes) of a folder. Added new TrFile_AppendContentsToFile function, which can append text to the end of a specified (text) file. Added new TrFile_SetContentsOfFile function, which can set the contents of a specified (text) file. (Mac OS) Added new TrFile_SetFinderComment function, which can set the text of a Finder comment (also called Spotlight comment) of a specified file or folder. You can see the comment with the Get Info command in the Finder. Renamed the TrFile_MetaData function to TrFile_GetMetaData, as to better reflect its functionality. Added possibility to use a container as the source parameter for the TrFile_GetMetadata function. Improved the TrFile_DragAndDrop function: you can now specify three different drop zones with the TrFile_DragAndDrop function. Extra features when running FileMaker Pro 16 The File Plug-in adds multiple script steps when running FileMaker Pro 16. You can select these script steps in the script steps pane in Script Workspace, or you can begin typing the script step name, then choose the script step from the list that appears. The script steps significantly expand the possible actions you can perform with FileMaker Pro. The following 36 script steps are added: Append to File Get File Contents with Dialog Enable/Disable Troi File Plug-in Copy File Copy Folder Create Alias Create File Create Folder Create Thumbnail Create Zip Delete File Delete Folder Add DragAndDrop Handler Execute Shell Insert in File Launch File Launch Application Mount Disk Move File Move Folder Open Folder Reveal File Reveal Folder Show Save File Dialog Show Select File Dialog Show Select Folder Dialog Set Contents of File Set File Attribute Set Finder Comment Set MetaData of Image File Set Timestamp Created Set Timestamp Modified Stop DragAndDrop Handlers Substitute In File Unmount Disk UnZip NOTE Only steps that perform an action have been added as a script step. Functions that just return information (like for example TrFile_GetFileSize) are only available as an external function. Added new example file CreateFile-for-FMP16.fmp12, which demonstrates how to use the new external script steps of FileMaker Pro 16. Added support for online help for the functions and script steps of the plug-in. You can now easily get online help from the Troi website, by clicking the Help button (the small question mark button) next to the function description in the functions pane or the script step description in the script steps pane. Miscellaneous (Mac OS X) Fixed a problem with the TrFile_DragAndDrop function when dragging mail: email messages with a semicolon (";") in the subject of the email are now handled properly. Several bug fixes and further improvements. Updated the Attribute.fmp12 example file. Made various minor changes to the example files to better work with FileMaker Pro 16. Updated the code by adding improved namespace handling to make the plug-in more robust. Version 8.6.1 (for FileMaker 12 to 15) (January 20, 2017) (Windows) Improved the handling of certain ZIP files with the TrFile_UnZIP function: the plug-in will now implicitly create a folder when items in the ZIP file are in a subfolder, but that subfolder itself is not present. Improved TrFile_MetaData( "-GetPDFDescription"): the plug-in can now better parse newer PDF versions, like PDF 1.7. And if there is a parsing error the plug-in returns the partial data. (Mac OS X) Improved TrFile_MetaData( "-GetMovieDescription"): when a movie contains a Timecode track, the Timecode at the beginning and end of the movie and the Timecode of the current frame is returned again as part of the description. Improved the multi-threading behavior of the TrFile_Metadata function. Multiple running scripts on FileMaker Server at the same time will now work better. Improved the multi-threading behavior of the TrFile_Substitute function. Multiple running scripts on FileMaker Server at the same time will now work better. Fixed a memory leak in the TrFile_Substitute function. Fixed a bug in the TrFile_SetContents and TrFile_AppendContents functions where extra spurious characters could be written. This could happen when a text which contained combining unicode characters (for example a combining diaeresis, combining to ä) was written to a file using encoding: -Encoding=ASCII_Windows. (Mac OS X) Improved stopping of the drag and drop handling and removed a potential memory leak. (Mac OS X) Fixed a potential crash in the TrFile_DragAndDrop function, when restarting drag and drop multiple times. (Windows) Added an exception handler, which handles (fatal) exceptions in the plug-in. It will save information on the exception to a dump file in the Temp directory. The dump file will be named similar to this: "Crashdump Troi File Plug-In v8.6.1-20161231-212603-5488-3164.dmp". When running FileMaker Server the plug-in also writes the exception in the "Troi Plugin FMServer.log": 2017-01-01 21:26:03 [Troi File Plug-In] Exception raised. code = -1073741819 2017-01-01 21:26:03 [Troi File Plug-In] Created crash dumpfile: C:\Users\user\AppData\Local\Temp\Crashdump Troi File Plug-In v8.6.1-20170101-212603.dmp 2017-01-01 21:26:03 [Troi File Plug-In] **** FATAL ERROR: EXIT PROCESS **** (Mac OS X) Improved export of symbols: now only the symbols that are required are exported by the plug-in. Improved the internal registration of function calls of the plug-ins, making it more robust on more platforms. 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 an 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 ($$-48) 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.