Jump to content
Ocean West

MirrorSync Tip: Inform Users A New Build Is Available After Sync...

Recommended Posts

When using MirrorSync, backend development doesn't stop and it can be tedious to get the word out to inform all users that a new version of your solution is available to download.

Here is a technique to do just so:

Step 1: Create a table in your solution VERSION this table will have the minimum fields of a UID | version | URL | Time Stamp Create |  Time Stamp Modify

Screen Shot 2017-02-09 at 8.46.33 PM.png

Step 2: Add this layout to your existing mirror sync layouts sync_version and put all fields on the layout as required by MS, and configure the table to sync hub to spoke ignoring changes in spoke and hub always wins conflicts. 

Step 3: Add a record to this table and start the version number at 1 and copy and paste the download link url provided by the MS config tool.

Step 4: Make a cartesian join between this table your your main interface table where your users naturally perform the sync operation. 

Step 5: Add a Script: Version  ( Check | Update ) the two parameters will either check the version and inform you of  a new update, and a way to copy and download the URL.

Screen Shot 2017-02-09 at 8.51.54 PM.png

Step 6: On your main layout add a button that will hide when the variable $$version_update ≠ 1  (and also you can test to see if your not on the live version by testing of host name)

Step 7: Button passes the "update" parameter to the script that simply copies the URL from off the side of the layout and presents a dialog box to the user to close the file and paste the URL into Safari where it will download the file and replace the original. 

Screen Shot 2017-02-09 at 9.00.08 PM.png

How it works is fairly simple. When you have a new build ready, you go to the version table (single record table)  and increment the version number, then open the script and update the version number there.

When the user performs a sync they will be given the newest value from the version table - then you can run this "check" portion of the script to compare the value against  local value from their script version which would be out of sync. The end result will light up a button informing them that a new build is ready to download.

Screen Shot 2017-02-09 at 9.06.25 PM.pngScreen Shot 2017-02-09 at 9.07.13 PM.png


Share this post

Link to post
Share on other sites

Nice idea.

I recently built a change log into my interface to help keep users informed about changes. The log is shown to the user on the splash screen when the solution is opened. 

For the users, each development change is incremented numerically, given a value from 1-5 for Importance to users, and is given one of the following categories:

New feature
Improved/changed feature
Bug fix
Removed feature


Currently each week a server script sends an email to all users to notify them of changes. The email contains the URL to download the file. The user can look over the list and decide whether to upgrade or not.

I might see if I can use your idea to present the updated list of dev changes (implemented since the user's version was downloaded) at the end of each sync. 





Edited by fishtech

Share this post

Link to post
Share on other sites

And just like that this feature is now native in MirrorSync 4 great work Jesse!


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

  • Who Viewed the Topic

    3 members have viewed this topic:
    CKonash  Nippon Maru  Lee Smith 
  • Similar Content

    • By 360Works

      How to Sync with FileMaker Cloud Using 360Works MirrorSync Today we want to let you know that it is completely possible to sync a FileMaker solution hosted on FileMaker Cloud! MirrorSync has been able to handle this task since the release of 3.1. The current version is 4.0 and it remains compatible with FileMaker Cloud.
      FileMaker Cloud leverages Amazon Web Services (AWS) to host your FileMaker solutions in the cloud. Many people are moving to the cloud to cut back on server maintenance time and money. Here at 360Works, we are big fans of AWS - we actually moved all of our hosting to AWS and couldn't be happier. (Jesse Barnum, president of 360Works, presented on the topic of deploying FileMaker Server with AWS at last year?s FileMaker Developers conference.)
      Getting started with MirrorSync for FileMaker Cloud is extremely simple: There's nothing to install and only a couple of steps to get up and running!
      Step 1: Host MirrorSync Elsewhere
      You will need to run MirrorSync on a separate computer from your FileMaker Server, because FileMaker Cloud does not allow the installation of 3rd party software other than plug-ins (MirrorSync is not a plug-in).

      Once you've launched your FileMaker Cloud instance, 360Works can host MirrorSync on a managed AWS server for just $29 a month. There are several other approved hosting providers willing to host MirrorSync as well (see documentation). Alternatively, knowledgeable Linux administrators can host on their own Linux instance with Amazon Web Services.
      Step 2: Enable xDBC
      Because there is no XML Web Publishing Engine with FileMaker Cloud, you must enable incoming access (to port 2399) on your FileMaker Cloud instance in order for MirrorSync to communicate with it using xDBC. You can do this in the AWS console, follow along with this short video:
      A Few Final Notes
      *You will want to reference our MirrorSync and FileMaker Cloud documentation for complete technical guidelines.
      *Users running regular FileMaker Server on a Mac or Windows computer can install MirrorSync 4 on their own server.
      *We've designed MirrorSync to be something that even a novice user can integrate, but we're standing by when you need more advanced help. If you just want your sync integration to be completed as quickly as possible, we're available to do the work for you directly at our hourly consulting rates. Fill out our message form for advanced help!
        Download MirrorSync 4  
      Connect with us on Social Media for news and updates:

    • By GisMo
      I think there was some instructions somewhere, but I cannot find them .
      I have a created local file and server file. Both contain the exact same data. I want to deploy this solution, but I want to avoid a massive first-time sync.
      How can I avoid a massive first-time sync?
    • By jeffwest2
      So I am new to EasySync, and trying to get the best from it.
      I am using it more to replicate a subset of a live database for external clients to access, but they will not be changing anything, so my only requirement is to pull data to my 'Mobile' dataset from my 'Hosted' dataset.
      At the moment the live database is approx. 120k records, but this grows daily between 100 and 300 records for the main customer view, and possible 3 times that for associated activity.
      I seem to have a serious speed issue, in that trying to sync the mobile version just locks everything up, trying to do an initial sync.
      I can manually pull the data over at the end of a day, then mark all of these as EX_Exclude 1 and import them manually into my new portal
      Set a OnCommit on the maincustomer view, so any changes will make the ES_Exclude to 0, thus marking these for sync
      Question 1: How do I set these back to 1 once the sync is done?
      Question 2: Is there a way to Schedule the sync to happen every 15 minutes so it has lessto sysnc, meaning less traffic?
      Question 3: If I cannot schedule it, how do I prevent the 2 database's from appearing to lock, preventing users from working on either side, or slowing everything down?
      Any help with this would be very appreciated as I am totally stumped at the moment.
    • By Carsten
      in which order are the tables synced when MirrorSync starts?
      Is this done in the order how they occur in the "sync" Layout folder?
      We are syncing quite a few tables and use filters in the customization script to reduce the amount of records to be synced.
      We want to start syncing the relevant projects, then only the relevant phases of these projects and then only the relevant tasks of these phases ...
      That is why we need to synchronize in this order ...
      If we start the customization script (MirrorSync Customization) from the different sync Layouts in the "right" order of the tables all filters work fine.
      My question from the beginning is one of my first steps to look for my mistake :-)
      Kind regards from Germany
    • By IT_User
      I have already posted here:
      and have some thoughts in mind, but I will copy what I put in there, here.
      Avoid FMGo Connection Interrupted
      Server Timeout Disconnect
      In the attached links, it goes back to questions that I had that dealt with a file on an iOs device, making sure it stays live and up to date.
      So what I have done is worked on a local file that syncs to the one on the server.
      That seemingly works, however there is a problem that just recently came up when I was testing. When the local file tries to reach the file on the server, it doesn't always connect.
      In talking with others there is two consensus of what might be the cause:
      The Wireless access point is blocking access File security permissions are not working (File Access tab in Security) "Reset All" temporarily works (on the server file) Deauthorizing and Authorizing sometimes works (on the server file) Turning off the File Access requirement doesn't seem to help (on the server file) I do have File Access on the local file, but I haven't tried turning that off.
      Since I can't debug exactly what is going on, on the iPad this makes it harder. (I have put in some custom dialogs to see some things.)
      The local file with the syncing to the server file works on my desktop, but that is a wired connection. (I could try the same wireless connection.)
      It could be that I'm making a duplicate of the local file and putting that on the iPad, which makes the file not work.
      (I put on the duplicate file on the iPad newly each time for testing, because I need a file without certain info on it, which will be filled later [dealing with Get(PersistentID)].)
      Is there something I'm not thinking of?
      To my knowledge, it had been working until recently.
      I'll try a few more things, but hopefully get answers in the meantime.
      Thank you

Important Information

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