Ocean West

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

3 posts in this topic

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. 

Thanks,

ft.

 

 

Edited by fishtech

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

  • Similar Content

    • By Carsten
      Hi,
      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 ...
      project-phase-task
      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
      Carsten
       
       
    • By IT_User
      I have already posted here:
      https://community.filemaker.com/thread/170677
      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
    • By 360Works
      We have recently released versions 3.14 - 3.16 of MirrorSync with improvements for recovery mode, high-volume syncs, and rebuilding sync data. Overall, the reliability of MirrorSync has greatly improved, and the speed of SQL and server-to-server syncs have increased significantly! 
       
      Immediately after the release of 3.14 and 3.15, we were able to identify and fix a few quirks resulting in an even more reliable version with 3.16. 
       
      In 3.16, we even added a few additional features including the ability to pre-populate databases for server-to-server syncs with non-FileMaker databases, faster initial syncs, and new support for re-importing a new configuration over an existing one, which is very useful in a vertical market solution deployment. 
       
      This is a free update for current users. For those new to MirrorSync, the server license is free and ships with one free configuration of FileMaker Pro or FileMaker Go syncing with FileMaker Server and one free device allowance. All additional configurations and devices are available for purchase. 
       
      MirrorSync can sync between any combination of FileMaker Pro, FileMaker Go, FileMaker Server, SQL database (MySQL, Oracle, SQL Server, or any database that supports JDBC), Salesforce, and Amazon RedShift. To download the current version, please visit the MirrorSync product page
       
      For a complete list of changes, please visit our MirrorSync changelog
    • By 360Works
      We have recently released versions 3.14 - 3.16 of MirrorSync with improvements for recovery mode, high-volume syncs, and rebuilding sync data. Overall, the reliability of MirrorSync has greatly improved, and the speed of SQL and server-to-server syncs have increased significantly! 
       
      Immediately after the release of 3.14 and 3.15, we were able to identify and fix a few quirks resulting in an even more reliable version with 3.16. 
       
      In 3.16, we even added a few additional features including the ability to pre-populate databases for server-to-server syncs with non-FileMaker databases, faster initial syncs, and new support for re-importing a new configuration over an existing one, which is very useful in a vertical market solution deployment. 
       
      This is a free update for current users. For those new to MirrorSync, the server license is free and ships with one free configuration of FileMaker Pro or FileMaker Go syncing with FileMaker Server and one free device allowance. All additional configurations and devices are available for purchase. 
       
      MirrorSync can sync between any combination of FileMaker Pro, FileMaker Go, FileMaker Server, SQL database (MySQL, Oracle, SQL Server, or any database that supports JDBC), Salesforce, and Amazon RedShift. To download the current version, please visit the MirrorSync product page
       
      For a complete list of changes, please visit our MirrorSync changelog
       
    • By Scotty Nordlund
      What is the best practice for retrieving the last sync timestamp?  I want GO users to be aware of how much time has elapsed since their last sync as a reminder to sync often.  I know the timestamp lives on the MirrorSync table, but I would have to make a new occurrence of the MirrorSync table and relate it to all the tables that have layouts that contain the timestamp which seems awkward.  
      If I can get a timestamp of the last sync in a global field, I can run it through a custom function that outputs the time ago in words (e.g. 3 hours ago, or 5 minutes ago, etc.), and put it on my interfaces.