# 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 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.