We have two current encryption plug-ins: Troi Coding Plug-in 1.6.2
which uses the Classic API and Troi Encryptor Plug-in 2.5.2 (or
higher) which uses the newer FileMaker 7 Native syntax (API). NOTE 2 Below we will discuss Troi Encryptor Plug-in 2.0, the first version to use the new FileMaker 7 API, but this also applies to future versions with a higher number, like version 2.5.2 TIP Although you can use both Troi Coding Plug-in 1.6.2 and Troi Encryptor Plug-in 2.0 together when running FileMaker 7, this is not recommended. Please only use Troi Encryptor Plug-in 2.x for FileMaker Pro 7, as FileMaker Pro 7 does not always work correctly with the Troi Coding plug-in 1.6.2. Troi Coding Plug-in 1.6.2 (Classic API) is not completely compatible with FileMaker 7/8Troi Coding Plug-in 1.6.2 in general does work with FileMaker Pro 7. However we have found these specific issues with FileMaker 7: Zeros in (encrypted) fieldsIf there are ASCII zeros in a text FileMaker does only give the text before the ASCII zero to the plug-in. TIn some cases this can result in data loss. Omega and Apple characters in (encrypted) fields.The Omega character "Ω", with Mac ASCII code 189 (0xBD), is in FileMaker Pro 7 converted to Unicode 937. However on Windows UNICODE 8486 is used (0x2126). The Apple character "", with Mac ASCII code 240 (0xF0), is in FileMaker Pro 7 converted to Unicode 63743. However on Windows this is not returned at all.
This is a problem. This can result in data loss. General issue for all classic plug-ins with higher ASCII'sFileMaker Pro 7 has a new internal architecture, which is using Unicode for the text fields. FileMaker Pro 6 only used ASCII encoding. All plug-ins written for the 'classic' FileMaker 6 architecture do not receive characters that are outside this ASCII range, these characters are replaced with spaces. In general our classic plug-ins should be compatible as long as the text used is lower ASCII text. Troi Coding Plug-in 1.6.2 is using the classic API, so only characters in the ASCII range will work.
Troi Encryptor Plug-in 2.0 (Native FileMaker 7 API)Troi Encryptor Plug-in 2.0 was created specifically for FileMaker Pro 7. Below are some considerations when converting to Troi Encryptor Plug-in 2.0. New function syntaxThe plug-in functions have a different syntax compared to the FileMaker 6 plug-in. For example the Checksum function has this syntax in the classic API: External("Troi-Checksum", "text" ) The syntax in the new API looks like this: Encr_Checksum( switches ; text ) Note that functions look like a real function call, no longer a call to External(). Also a hyphen "-" is no longer allowed, so the hyphens have changed to underscores "_" instead. Note too that parameters don't have to be concatenated with a pipe. Instead use a semicolon ";" to separate the parameters. The brackets "{}" indicate optional parameters. Below is an example how this function would appear in ScriptMaker: Set Field [ChecksumField , TIP Function names are no longer case sensitive, and will change to the correct case after you close the "Specify Calculation" dialog box. Multiple parameters and new switchesAs seen from the syntax, plug-in functions now can have multiple parameters. To make this plug-in more consistent, all functions now have a switches parameter as the first parameter. This makes enhancing the plug-in in the future easier. Finally we renamed a few functions and also removed any spaces in the name. See the specific functions notes below for the specifics. TIP Switches are not case sensitive. Omitting optional parametersWhen you omit an optional parameter be sure to add an extra semicolon after the last one, otherwise FileMaker will show an alert that there are too few parameters in this function. For example, below we omitted the 3rd parameter at the end (initialfolder). This is the correct way to do this: Set Field [ EncryptedField, New parameter limitsThe plug-in functions now have a size limit of 1 Gb per parameter (up from the total of 64000 character limit for all parameters in FileMaker 6). The Troi Encryptor Plug-in 2.0 can handle those bigger parameters, however, displaying the results in FileMaker 7 can take a long time. For example we tested with a 300.000 character text. The step itself took less than 2 seconds. However, FileMaker then updated the layout, which took about 20 seconds! Converting the function callWhen converting FileMaker does not change the plug-in call. So after conversion you need to do this manually. Here are the global steps:
Let's for example take this Troi Coding Plug-in 1.6.2 call: External("Troi-Encrypt", textField ) This needs to be changed to this Encryptor Plug-in 2.0 call: Encr_Encrypt( "-Unused" ; textField ) TIP Just copy script or steps from the example files of the Encryptor download, they are all in the Encryptor Plug-in 2.0 format! Renamed functionsThe table below will help you figure out the new names for changed function names:
Specific functions notesThe table below lists conversion issues with specific functions:
Please report problems and bugsIf you find any other problems or bugs, not mentioned
above, please send an email to: info@troi.com.
Please do NOT send attachments unless specifically
requested. Please include the FileMaker Pro version, your
platform and operating system in your comments. |