Jump to content
View in the app

A better way to browse. Learn more.

FMForums.com

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

I have a container field that's configured to use External Secure storage in the hosted file. When I sync a PDF that's stored in that field in the mobile file, it gets pushed up to the hosted file without any problems. But if I then modify that record on the hosted file, for example by changing a value in one of the text fields, and then sync again, the record gets pulled down to the mobile file, but the container data (in the mobile file) gets corrupted.

 

When the container data is valid, GetAsText ( MyTable::MyContainerField ) returns something like this:

 

remote:Transfer Request.pdf
PDF :Secure/0D/63/4D03FB8E/064665D1/C08FFD43/C64C

 

After the sync, it returns just this:

 

C64C

 

Changing the storage from Secure to Open fixes this problem, but the documents contain sensitive data, so that won't work. A workaround would be to embed the documents internally, but it would be better to have them stored externally.

 

The Open Issues page talks about issues with compressed containers. Is that what's going on here too?

Hello.

 

It appears as though the problem that we have seen with compressed containers also applies to external, secure containers.

 

From what I can tell, when you Base64 encode a container field, FileMaker does not first check to see if the container is compressed or secure. As a result, it ends up encoding the compressed or secure version of the container. If you then decode that value, the result is not the original container. I have tried a few work-arounds for this (including setting up a proxy for the original container field), and all have failed. 

 

At first, I thought that maybe this was a bug in FileMaker's Base64Encode function. However, I'm seeing similar behavior when using the "BE_Base64_Encode" function that is available in the BaseElements plugin, as well as the "Container.GetBase64" function that is available in the Monkeybread MBS plugin. So the problem seems to be further upstream. It is as if when FileMaker retrieves the compressed or secure container, it does not immediately uncompress or decrypt it. As a result, functions that reference the container return incorrect values.

 

 

Thanks.

 

-- Tim

Tim,

 

This post seems to explore the issue with compression and base64 decoding as well:

 

http://fmforums.com/forum/topic/92243-marking-a-container-as-compressed-as-insert-file-can/

 

 

Are there any issues that you are aware of regarding the reliability of open stored containers?

 

I've been searching, but do seem to remember Wim Decorte remarking that there is a data reliability issue. I'm hoping he was simply warning us not to modify the container data from outside of FM.

 

Thanks,

Barbara

  • Author

Barbara,

 

FWIW, syncing open stored containers using EasySync seems to be working fine for me.

Create an account or sign in to comment

Important Information

By using this site, you agree to our Terms of Use.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.