Sign in to follow this  
Followers 0
UltimateTech

Can I use MirrorSync with Externally Stored container fields?

9 posts in this topic

Hi There,

 

I have a database that my company uses for inspections. It is running very successfully, syncing data between iPads and the main database using MirrorSync. All of the initial difficulties we experienced have been fixed and for the most part, we have a very smooth solution.

 

The problem I have now is the database size. During an inspection, we need to take photos of non compliant items. As the sites are quite large, there could be up to 700 tenancies in any one site, and in each of those tenancies, there may be anything up to 7 non compliant items. As you can imagine this makes the database expand very very quickly, and it is currently sitting at 5.5Gb  :hmm:

 

What I want to be able to do is move all of the container fields to external storage. The only problem is, if I do this, I am not sure that MirrorSync will still sync all of the data. How would i best handle this situation to make sure I can still sync the required images and still manage to keep the size of the actual database file down?

 

 

Share this post


Link to post
Share on other sites

There are a couple of general options, without knowing your specific use case

 

1) Start filing closed jobs to an external storage, that way you can run your operational database as pr today

2) Use super container, not sure how this will sync

3) Use web viewer with some selv made system, I have between 500GB - 1TB of data in such a repository, will require access

4) Others?

Share this post


Link to post
Share on other sites

On the server side, you can simply switch to externally stored containers, and everything will continue to work for all of your existing offline users - they won't be able to tell the difference, and MirrorSync doesn't care either way.

 

You may run into an issue when distributing new offline files, however. Let me ask a few questions:

1) Are your offline users running a copy of the server file, or have you created a separate mobile file for them to use?

2) If it's a copy of the server file, are you distributing an empty clone, or a full copy of the server file?

Share this post


Link to post
Share on other sites

Hi Jesse,

 

I am distributing a full clone of the database to the offline users.

 

Cheers

Share this post


Link to post
Share on other sites

When you say a "full clone", can you clarify that? Do you mean a copy of the database will all records, or a copy of the database with no records?

Share this post


Link to post
Share on other sites

Hi Jesse,

 

I mean a full clone of the database at that present time with all records, including photos that are in containers. This is why it is such a big issue. the database is far too large to be used effectively on a regular basis from the iPad running a remote database.

 

I need a way to store the photos externally on the server, but I also need the ability to sync the photos that are taken on the iPad on site as these make up part of the inspection. 

 

does that make sense?

Share this post


Link to post
Share on other sites

Yes, I understand now. I was confused because typically the word "clone" implies that it's empty (no records).

 

There is an extra step that needs to happen any time you're copying a FileMaker database with externally stored container fields to an iOS device. This is a FileMaker requirement, not a MirrorSync one. We've documented the process here: 

 

http://docs.360works.com/index.php/MirrorSync_advanced_topics#Does_MirrorSync_sync_external_container_fields.3F

Share this post


Link to post
Share on other sites

Ahhh lol, I wasn't aware that a clone was an empty database. Apologies for the confusion.

 

I will go through the info in the link you provided and test it out. See how I go :-)

 

Thanks

Share this post


Link to post
Share on other sites

Sorry Jesse, Just going through that info, and I have a question. If the self contained file has all data available to it, does this mean that the file will have all of the container field files written into the actual self contained database?

 

If this file will have all of the data stored internally, would it not work out to be the same size on the iPad?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0

  • Similar Content

    • By sal88
      Hi all
      Fairly trivial (but annoying) problem here!
      I've just transferred all Invoice PDFs to their respective container fields - which is externally stored (non secure) on the FMS Server.
      However the first PDF in the table had an '_1' at the end of the filename on the server. When I cleared the field and re-added the PDF it then has '_2' at the end, and so on.
      The underscore disappeared when I transferred the container from 'Invoices/' to 'Invoices2/' but the problem remains when I transfer back to 'Invoices/'.
      It doesn't happen to any other PDFs/records, just this first one in the table. Any ideas how I can 'reset' this?
      MT
    • By jbante
      I'm working on a function to extract text from a .txt.gz file in a container field:
      //SM_TextFromGZIP ( containerFieldName ) import java.util.zip.GZIPInputStream; import java.util.io.*; GZIPInputStream gunzip = new GZIPInputStream(fmpro.getContainerStream(containerFieldName)); InputStreamReader reader = new InputStreamReader(gunzip); BufferedReader pr = new BufferedReader(reader); String line; String finalOutput = \"\"; while ((line = pr.readLine()) != null)     finalOutput += line; return finalOutput; When I run this, I get this from the SMLastStackTrace function:
      java.io.IOException: com.prosc.fmkit.types.FMBinary$FMContainerInputStream.read() returned value out of range -1..255: -117     at java.util.zip.GZIPInputStream.readUByte(GZIPInputStream.java:250)     at java.util.zip.GZIPInputStream.readUShort(GZIPInputStream.java:237)     at java.util.zip.GZIPInputStream.readHeader(GZIPInputStream.java:140)     at java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:56)     at java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:65)     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)     ... Any thoughts on a fix or alternative solution?
    • By naio
      My old fp7 solution had some fields that store the path to external pdf files, the files were stored in the same server machine and the path were like "file://oldserver/folder/file", the pdf files are shown in the solution through a webviewer field. The solution is developed under the 'separation model'.
      I just converted the solution to FM15 and I moved into a new server, at present I have both servers up and running, so the fmp12 database with fields pointing to "file://oldserver/folder/file" still shows pdf files as expected.
      Given that I want the paths to point to a certain folder into the new server I'm trying to find the right path to the new location of files but so far I haven't been able even thought I made sure that users fmserver and fmsadmin have full permissions on the folder that stores the pdf files.
      On the other hand I've seen that FMS15 creates a folder named "RC_Data_FMS" with a subfolder for each fmp12 file where the external container data is meant to be stored. Am I forced to store my pdf files in there OR somewhere else in the network?
      Thank you in advance.
       
       
    • By Roger Tuan
      Is it possible to sync data in a Filemaker portal to an external MySQL database? For example, an invoice listing multiple products stored in another table (assuming I only want the information in the portal, such as qty, name, price).
      Or do we have to manually sync all related tables behind the scenes and then re-create the relationships using joins later?
      Thank you!
    • By Roger Tuan
      With MirrorSync 3 set to come out at DevCon, what is going to happen to people who have existing MirrorSync 2 licenses?
      We're about to buy a MirrorSync license. Do we need to wait for 3 to be released first in order to avoid an immediate upgrade two weeks later?
      Thanks.