Troi URL Plug-in Release notes 2002-2014

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

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

Version 4.0 for FileMaker 11, 12 and 13 (June 24th, 2014)

  • Compatible with FileMaker Pro 13 and 64-bit
  • 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_URL.fmx (for 32-bit) and Troi_URL.fmx64 (for 64-bit).
    NOTE Only Filemaker Server and FileMaker WebDirect are 64-bit processes and require the Troi_URL.fmx64 version to be installed. On OS X the 32-bit and 64-bit version is a single universal 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).
  • When running under 64-bit the TURL_Get, TURL_Post functions have no progress dialog implemented. Currently this not needed too, as on FileMaker Server no UI can be shown anyway.
  • Improved the Twitter example file: it is now alsways using a secure https connection for posing tweets, as Twitter switched off posting via the (less secure) http protocol.
  • Improved the example file FillForm: it is now easier to set the username and password and to specify an encoding switch.
  • (Mac OS X) Improved the flash dialog, it is now implemented as a Cocoa dialog and 64-bit compatible.
  • Several small corrections in the Read Me file and example files.


Version 3.5 for FileMaker 11, 12 and 13 (October 16th, 2013)

  • Improved the TURL_Get function: it can now automatically detect UTF-8 encoded web pages (and encode it correctly). This is determined by looking for the meta and charset tag in the HTML result of the TURL_Get function. With an XML result the “encoding=utf-8” tag will also be detected.
  • Also improved the TURL_Post function: it can now automatically detect UTF-8 encoded web pages if the result data contains a meta charset tag or a XML encoding tag.
  • Added new switch “-DontDetectEncoding” to the TURL_Get and TURL_Post functions: with this switch automatic UTF-8 encoding detection is disabled. In this case the function will keep the native encoding of previous versions of the plug-in (before v3.5).
  • Improved the TURL_Get function: added the switch “-Encoding=UTF8” to force the resulting page to be interpreted as UTF-8.
    You can also use this alternative switch: “-Encoding=UTF-8” (note the extra dash).
  • Added new function TURL_SetAuthCredentials to be able to set the Consumer Key and Consumer Secret for an OAuth authorization. This makes it possible to work with more web services who use OAuth 1.x.
  • Added new example file OAuthWebService.fp7 to demonstrate the OAuth functionality for Web Services and the TURL_SetAuthCredentials function.
  • Improved the example files GetPage and FillForm: they now detect spaces in the URL and can encode the spaces with %20.
  • Improved error handling for malformed URL starting with “http:/www” (instead of “http://www”).
  • Improved the example file Twitter.fp7.
  • Updated the Twitter example file to use the Twitter REST API v1.1 as the older API is no longer active.
  • When when you use the “-DontAutoRedirect” switch with the TURL_Get and TURL_Post functions the HTTP status codes in the 300-399 range (redirection range) now also generate an error code, for example $$-301 (Moved Permanently). Use the switch “-ReturnDataAfterError” to see more details, like the URL to where this was redirected.
  • (Windows) Fixed a problem with the timestamps being generated for OAuth functions. They are now in UTC.
  • Fixed a typo in the user guide, regarding URL lengths.

Version 3.0 for FileMaker 10, 11 and 12 (October 10th, 2012)

  • Further improved compatiblity with FileMaker Pro 12.
  • The example files are now available in the new .fmp12 format.
  • Added new function TURL_Put. This will perform the PUT method on the server. You can use the PUT method to transfer files or upload data to web servers who support this method.
  • Added new function TURL_Delete. This will perform the DELETE method on the server. You can use the DELETE method to delete items on web servers who support this method.
  • Added the PutDelete.fp7 example file to demonstrate the newly added functionality.
  • Added new example file EasyInstallTroiPlugins.fmp12 (in the FileMaker Pro 12 formatted download only), which contains the plug-ins and can install the plug-in from within FileMaker Pro 12.
  • Corrected a problem with PNG images, which are returned with the TURL_Get and TURL_Post functions.
  • Fixed a bug in the ‘unregistered’ flash dialog, where in rare cases the dialog would not be dismissed.

Version 2.6.2 for FileMaker 10, 11 and 12 (Sept 3rd, 2012)

  • Made compatible and tested with FileMaker Pro 12.
  • 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.
  • (Windows) Fixed a problem in the TURL_Get and TURL_Post functions, where the switch -TimeoutTicks=xxx would not always work.
  • Added new switch “-GetPluginInstallPath” to the TURL_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_URL.fmplugin”.

Troi URL Plug-in versions for FileMaker Pro 9, 10 and 11

Version 2.6.1 (for FileMaker 9 through 11) (March 19th, 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 2.6 (for FileMaker 9 through 11) (March 30th, 2011)

  • Added 3 new (related) functions to make web service authorization and subsequent sending of authorized requests easy.
    These functions specifically make it very easy to work with a Twitter account and post tweets from FileMaker. The three functions are:
    -TURL_GetAuthorizationURL, which talks with a web service to get an authorization URL. With this URL the user can authorize the plug-in to use this service.
    -TURL_SendAuthorizationPIN, which will send the PIN (obtained while granting access) to the web service to complete the authorization.
    -TURL_SendAuthorizedRequest, which can send requests (like posting a tweet), using the credentials obtained during authorization.
  • Added new TURL_HMACSHA1 function, which calculates a keyed-hash message authentication code (HMAC-SHA1) signature using a (secret) key.
  • Added new TURL_ToURLEncoded function, which URL encodes text (also known as percent-encoding). For example “hello world!” will become “hello%20world%21”. See also http://en.wikipedia.org/wiki/Percent-encoding.
  • Improved the TURL_ToHTTP function: added switch “-UpperCaseHex”, which will make the encoded string contain only uppercase hexadecimals, like for example %0A (instead of %0a) for the linefeed character.
  • Added “-DontTryWithUserPassword” switch to the TURL_Get and TURL_Post functions. With this switch the plug-in will never try to send a username and password when the web server responds with “401 Authorization Error”.
  • (Windows) Fixed a problem in the TURL_Get and TURL_Post functions, where the switch -TimeoutTicks=xxx would not set the correct timeout time.
  • Corrected the path of logs files in the document filemaker-server-side-plug-ins.htm.

Version 2.5 (for FileMaker 9 through 11) (January 20th, 2011)

  • Made compatible with FileMaker Pro 10 and FileMaker Pro 11.
  • Added compatibility with Windows 7.
  • Added two optional paramaters to the TURL_SetProxy function: ProxyUserName and ProxyPassword. Some proxy servers require separate authentication, which you can now supply with these parameters.
  • Improved the TURL_Get and TURL_Post functions to better support the proxy server credentials like username and passwords.
  • Troi URL 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 to provide feedback regarding errors and registration status.
    Note that if some functionality can’t run under FileMaker Server or under the Web Engine it will now return error code: $$-4251. This entails the functions which use GUI, like for example show a dialog. Note that the progress dialog in the TURL_Get and TURL_Post function is automatically disabled. Also please note that you need a special Server/Web license to use this plug-in on FileMaker Server. See our web site for details.
  • Completely rewrote the code for handling images which are returned with the TURL_Get and TURL_Post functions:
    -Improved the speed and reliability of getting images.
    -Fixed a problem where some images would not be recognized as JPEG or some valid JPEG images would return the error code $$-4247 (kErrInvalidImageType).
    -Added extra sanity checks for images that are corrupt or invalid. If this is the case error $$-4247 is returned. This can prevent FileMaker from hanging on the invalid image.
    -Fixed a bug which could lead to a possible memory related error, while getting PNG images.
  • Added new switch to TURL_Version: -UnregisterPlugin. This will remove the registration data. The plug-in will be in an unregistered state after this.
    See the “Temporary Register Troi URL Plug-in” script in the file RegiFunc.fp7 for an example use.
  • Added the plug-in’s version number to the description in FileMaker’s preference pane.
  • Added new TURL_VersionAutoUpdate function. The TURL_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.
  • Updated the User Guide and Overview.fp7 file. Also added new function TURL_VersionAutoUpdate and missing switches like “-ExtraImageCheck”.
  • Improved code in several places, improved example files and fixed several smaller bugs.

Troi URL Plug-in versions for FileMaker Pro 7, 8.x and 9

Version 2.0.3 (for FileMaker 7, 8 and 9) (August 4th, 2008)

  • Added new switch “-AlwaysSendUserPassword” to the TURL_Get and TURL_Post functions. This will make the plug-in to directly send the username and password even when that might not be necessary.
  • (Mac OS X) Improved the TURL_Post function: added switch “-Encoding=ISO_8859_1” to be able to specify the ISO latin 1 data for the POST data encoding.
  • (Windows) Improved the TURL_Post function: Changed the default encoding from “-Encoding=ASCII_Mac” to “-Encoding=UTF8”. This encoding is now used for the POST data if you don’t specify an “-Encoding=…” switch.
  • (Mac OS X) Improved the TURL_Post function: improved the encoding with switch “-Encoding=UTF8”.
  • (Windows) Improved the TURL_Post function: added workaround, where from some servers and in some circumstances the HttpSendRequest would be issued three times.
  • (Windows) Added new switch “-AllowAnyRootCertificate”, which can be added to HTTPS TURL_Get and TURL_Post functions. When you get the error code $$12045 you can add this switch to allow root certificates from unrecognized certification authorities. Note that this is less secure.
  • (Windows) Fixed a problem with certificates from unrecognized certification authorities, when using HTTPS in the TURL_Get and TURL_Post functions. The plug-in now returns an error code, most likely $$12045 (Certificate authority is invalid) instead of an empty result.
  • (Mac OS X) Fixed a problem where the plug-in would not load on Mac OS X 10.3.9.
  • (Mac OS X) Fixed a problem where the plug-in could return error code $$-9876 (eventLoopQuitErr), when calling the TURL_Get or TURL_Post function just after opening a new FileMaker window.
  • Set the user agent for the browser to “Troi URL Plug-In 2.0”
  • Updated the FillForm.fp7, to include a script with a long timeout.
  • Updated the User Guide and Overview.fp7 file.

Version 2.0.2 (for FileMaker 7, 8 and 8.5)(November 7th, 2006)

  • (Windows) Fixed a problem where after installing Internet Explorer 7 the plug-in would return an error of $$87.
  • (Windows) When using the TURL_Post function with the -NotEncoded switch: the plug-in now no longer adds “Content-Type: application/x-www-form-urlencoded” to the headers.
  • (Mac OS X) Added “-DontAutoRedirect” switch for the TURL_Get and TURL_Post function.
  • (Mac OS X) Added “-AllowAnyRootCertificate” switch which can be added to HTTPS TURL_Get and TURL_Post functions. This switch will allow root certificates from unrecognized certification authorities. Note that this is less secure.
  • Added user interface for explicitly setting a proxy in the example file “FillForm.fp7”.
  • Corrected wrong field for the -NotEncoded switch on the layout of the example file “FillForm.fp7”.
  • Fixed a problem in the example files “GetPage.fp7” and “GetImages.fp7”. The button “Set proxy server” now executes the correct script.
  • (Windows) Changed the error code returned when a timeout occurs: instead of $$12002 the plug-in now returns $$-4230, as on Mac OS X.
  • Changed name of user guide to be more clear for which plug-in it refers to.

Version 2.0.1 (for FileMaker 8.5, 8 and 7)(August 22nd, 2006)

  • Added the new function TURL_GetLastProperties, which returns information about the last image downloaded. You can ask for image type, width and height. Also fixed a bug in the windows version
  • (Windows) Fixed bug in TURL_GetLastProperties.
  • Improved the GetImages.fp7 example file.
  • Added a consistency check for missing resources. The plug-in will now notice missing resources for example after being incorrectly zipped or tarred.

Version 2.0b2 (for FileMaker 8.5, 8 and 7) (August 2nd, 2006)

  • Fixed a bug where after disabling and re-enabling the plug-in not all the functions of the plug-in would be available.
  • (Windows) Fixed a problem with not using implicit ports, like www.test.com:8080
  • (Mac OS X) Fixed a problem where the plug-in would not work after using the AutoUpdate feature of FileMaker Server.

Version 2.0b1 (for FileMaker 8.5, 8 and 7)(July 24th, 2006)

    • First public beta for FileMaker Pro 8.5. On Mac the plug-in is now an Universal plug-in which runs on PowerPC-based and on Intel-based Macs.
    • Added “-ExtraImageCheck” switch to the TURL_Get and TURL_Post functions. This will make the plug-in do extra checking on the returned data if the data might be a image after all even if the images on the web site doesn’t have a .png or .gif extension.
    • Added new function: TURL_GetLastProperties, to retrieve the last image properties: image type, image height and width.
    • Added switch -ReturnDataAfterError to TURL_Get and TURL_Post functions. This will return the error code followed by the data. Useful for debugging when partial data is returned.
    • (Mac OS X) the “-Portnumber =xxx” switch now also works in TURL_Post.
    • The plug-in now recovers better from some errors in the TURL_Get and TURL_Post functions.
    • Made the plug-in functions also visible in Custom Functions.
    • Improved file type checking for images, especially GIFs, in the TURL_Get and TURL_Post functions.
    • Improved error handling in the TURL_Get and TURL_Post functions.
    • Added sanity checks to the TURL_Get and TURL_Post functions. The plug-in now checks if returned images are corrupt or invalid. If this is the case error $$-4247 is returned. This can prevent FileMaker from hanging on the invalid image.
    • (Mac OS X) Fixed a bug in the TURL_Get and TURL_Post functions, where with some long URLs would return with error code $$-2131.

NOTE This download does not contain example files: get the example files from the non-beta version. Download Troi URL Plug-in 1.8.x for this.

Version 1.8.3 (for FileMaker 7 and 8) (July 20th, 2006)

  • Made the plug-in’s functions also visible in Custom Functions.
  • (Mac OS X) the “-Portnumber =xxx” switch now also works in TURL_Post.
  • The plug-in now recovers better from some errors in the TURL_Get and TURL_Post functions.
  • (Mac OS X) Fixed a bug in the TURL_Get and TURL_Post functions, where with some long URLs would return with error code $$-2131.
  • TURL_Post: Added forgotten “theData” parameter in external list in the calculation dialog box, it now shows correctly as: “TURL_Post( switches ; theURL ; theData )”.
  • Updated the FillForm.fp7 example file, to reflect changes to external web pages.
  • Cleaned up code in several places and prepared for Universal version. Also prepared registration handling for next release.

Version 1.8.2 (for FileMaker 7 and 8) (February 6th, 2006)

  • Added new function: TURL_SetProxy. This gives you an explicit way to set a proxy server.
  • Added switch to TURL_Post: “-NotEncoded”. This switch willsend the post data without any encoding for “www-form-urlencoded”.
  • (Mac OS X) Fixed a memory leak in TURL_GET and TURL_POST, which could return error code $$24 and eventually lead to a crash.
  • (Windows) Improved proxy handling code on Windows.

Version 1.8.1 (for FileMaker 7 and 8) (October 15th, 2005)

  • (Mac OS X) Cookies and Custom-Headers are now set properly.
  • (Windows) Cookies and Custom-Headers can now be set on Windows too.
  • Improved handling of HTTP errors and JPEGs.
  • Added user guide and updated Overview.fp7.
  • Added support to get GIF images from the web into a container field.

Version 1.8 BETA (for FileMaker 7) (August 30th, 2005)

  • Converted to new Function API of FileMaker Pro 7.
  • Added support to get JPEG images from the web into a container field.

NOTE Most functions now fully support Unicode, however there are some exceptions. Please read the FileMaker Pro 8 conversion note for more information on this and conversion to Troi URL Plug-in 1.8. Go to the FileMaker 8 Conversion Note


Troi URL Plug-in versions for FileMaker Pro 6

Version 1.3 (21 September 2005)

  • New version also accepts registration of Troi URL Plug-in 1.8.
  • Updated package and release notes.

Version 1.2 (10-August-2004)

  • (Mac OS) Added support for customizing the header sent to web servers on Mac OS and Mac OS X, through the new TURL-SetCustomHeader function. This allows you to set the content-type too: for example “Content-type: text/html” or “Content-type: text/xml”. Added DRAFT layout for this in the GetPage.fp5 file.
  • Added -ExtraCRLFafterData switch to the TURL-POST function. This allows you to add CRLF at the end of the data.

IMPORTANT Changed behavior: On Windows the TURL-POST function would add an extra CRLF at the end of the data it sends to the web server. This caused problems with some web servers. Starting with this version of the plug-in this extra CRLF is no longer added. Please use the -ExtraCRLFafterData switch if you need the CRLF at the end.

  • (Mac OS) 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.
  • When you specify a too long timeout value in the TURL-POST and the TURL-GET function, the plug-in now returns $$-4239, indicating the timeout is too big.
  • Added documentation on checkboxes and radiobuttons in the TURL-POST function.
  • Improved the FillForm.fp5 example file, to use the custom headers if necessary.
  • (Mac OS) fixed a bug, when a web page is not available on the web server. Instead of an empty page the error code 404 is now returned.
  • Fixed an error in the TURL-GET and TURL-POST function where the switch “-TimeoutSecs=301” (or bigger) would result in an inaccurate error code kErrPortNrOutOfRange ($$-4228) instead of kErrTimeOutOutOfRange ($$-4239).

Version 1.1

  • Added support for cookies. On Mac OS and Mac OS X, this is done through the new TURL-SetCookies function. On Windows cookies are handled automatically by the operating system.
  • Added support for secure connections (HTTPS) using SSL on Windows. (Mac OS already supported HTTPS).
  • (Mac OS only) Fixed a bug which could crash FileMaker, if the URL did not exist and the progress dialog was shown.
  • (Windows only) Fixed a problem where the plug-in would not return all data for a password protected web page.
  • Changed the implementation on Windows. System requirements on Windows are now: Windows 98, Windows Me, Windows NT 4.0 (Service Pack 6), Windows 2000, Windows XP. We no longer support older Windows versions.
  • Updated the user guide and example files.

Version 1.0.1
Troi URL Plug-in 1.0.1 version is a small update, mainly for Windows users of the plug-in. Version 1.0.1 has these changes for Windows only :

  • Timeout error fixed: we fixed a problem where the plug-in would always return with a timeout error code $$-4230 for certain URLs.
  • Extra length bytes at certain points in the returned HTML are now removed.
  • When an authorization error occurs the plug-in now returns $$-30776 (URLAuthenticationError) , instead of showing the error page from the browser itself.
  • When a timeout occurs the plug-in now always returns error code $$-4230, instead of $$-3259 in some cases.

NOTE The Mac OS Plug-in was not changed. Version 1.0.1 of the Mac OS plug-in is the same as the 1.0 version. We only changed the version number to keep in sync with the Windows version.
Furthermore we:

  • added a “For Solution developers” folder, with information about distributing this plug-in.
  • corrected a few errors in the user guide
  • added 5 questions to the Troi URL plug-in FAQ and a Proxy settings page to our web site.

Version 1.0

  • Added support for Proxy servers on Windows. (Mac OS already supported Proxy servers.
  • Added the function TURL-ToHTTP, which can encode text in to HTTP format.
  • You can now set a custom text for the name of the user agent the plug-in sends to a server, so the plug-in can pretend to be a specific browser.
  • You can now customize the text and button of the progress dialog box (Mac OS only).
  • On Mac OS and Mac OS X long operations now can be canceled by pressing the Esc key or Command-Period.
  • Changed the default timeout to 15 seconds.
  • If there is no protocol at the beginning of an URL, the plug-in now adds “http://” before it.
  • A few bugs have been fixed.
  • Furthermore we have improved the examples and user guide, so you can get started more easily.