2 Replies Latest reply on Nov 19, 2014 4:24 AM by ChristianSchmitz

    The plugin SDK doesn't identify compressed data

    nickorr

      Summary

      The plugin SDK doesn't identify compressed data

      Product

      FileMaker Pro

      Version

      13.0v3

      Operating system version

      Mac OS X

      Description of the issue

      When you insert data into a container field you have the option to compress the file.  The plugin SDK has options to access container field data, and read or write from the files.

      However, there is no obvious way within the current API to identify if a file is compressed, nor is there a way to get at the uncompressed stream.

      By default you are given only the compressed stream when the user chose compression.

      This also has a side effect that on Mac OS the OS appears to decompress the file automatically, but this doesn't happen on windows, so there ends up being a platform incompatibility as well.

      Steps to reproduce the problem

      Import a file into a container field, and choose compression.  On windows, use a field export function to write the file to disk.

      For example, this version of the BaseElements plugin has an export field contents to export files in container fields.

      http://www.goya.com.au/files/beplugin/2.4.0a1/BaseElements.fmplugin.zip
      http://www.goya.com.au/files/beplugin/2.4.0a1/BaseElements.fmx.zip

      So using the BE_ExportFieldContents function in combination with a BE_SaveFileDialog function to choose a location :

      BE_ExportFieldContents ( field ; BE_SaveFileDialog ( "" ) )

      You end up with a compressed version of the file, that can be uncompressed with any program that understands gzip compression.

      Expected result

      You would expect to either get the uncompressed file from the API, or for there to be a way to identify the compress so that the plugin can act accordingly.

      Actual result

      All compressed containers are only accessible as compressed.

      Workaround

      NA