14 Replies Latest reply on Apr 30, 2015 8:20 AM by planteg

    I have the ability to push schema updates to UI files? (Data Separation)


      Hey FileMaker Enthusiasts,


      I was wondering if I could get some feedback on a solution I have implemented for pushing updates to UI files.


      The situation.


      I have a solution that runs one of my businesses. It uses the data separation model. Data file on a server that is opened on the WAN and local UI files on my machine and my partners machine. As we are at opposite ends of the country, the data file has to reside on a server open to the WAN as it didn't make sense to send the UI data over the internet.


      As you can imagine, I would make changes to my copy of the UI, then send a copy of the UI to my partner over email, telling him to bin the previous UI and use the new one. This works just now because its just us two, but when we start to grow this method becomes tedious and just annoying.


      I set out to find a way that I could make changes to the UI, upload them to a sort of Version control FileMaker database. Then when my partner logs in on the old UI, it detects a new version on the server, downloads it, removes the original UI and he's good to go.


      I have found this technique EXTREMELY useful as I can make changes to the UI and know for a fact that it is pushed to my partners machine the next time he logs in.


      My question is this, would any other FileMaker developers, who have run into the same problem as me (having to send users new UI over email or USB), find this solution useful if I brought it to market?


      Allowing you to have some sort of version control of your UI files and having the ability for clients to essentially update their UI without you ever having to do it for them.


      I'd really appreciate some feedback on this approach and if you would pay for this as a service. Also it doesn't use any plugins to do the updates, its completely FileMaker only. It also works on FMGo 12, haven't confirmed yet for 13 but it should.

        • 1. Re: I have the ability to push schema updates to UI files? (Data Separation)

          SeedCode's GoZync facilitates updates.

          I think, but can not confirm, that EasySync by Tim D and Mirror Sync by 360 Works all also facilitate updates.


          FileMaker itself has also published a SyncGuide written by Katherine Russel that describes in detail how to build a system of your own to do it.


          Seems like a crowded market to me... how would your proposed system differentiate from whats already available?

          • 2. Re: I have the ability to push schema updates to UI files? (Data Separation)

            Programmer nerds might baulk at something they could do themselves as a weekend pet-project thing like I did for an in-house db when I morphed it into a separation model.  But I can see some organizations might not want to pay a consultant or their own staff to do something they could buy if the price was right.





            • 3. Re: I have the ability to push schema updates to UI files? (Data Separation)

              It is not very difficult to insert a GUI file into a container in the mother file and then Download that for use.


              Insert file into container

              Export Container field


              I use that to bypass iTunes and I also automatically delete all of the storage records and insert 12 new files.


              Your updating sequencing would be unique and perhaps worth looking at.


              However, I also have a backup script in each file I am working on that only works when I have the file open. Won't work for anyone else. That script creates a clone of the file in the Clone folder, a timestamped backup in the TimeStamp folder, and the lates HotFile in the HotFile folder so I don't have to quit.


              I can trigger any of these scripts from the Mother FIle and then insert the HotFile into the Mother FIle and export from any logged in computer.


              ( I can also script new tables in the Data file...) I can start with a blank file on the server and fill in the tables via script!

              • 4. Re: I have the ability to push schema updates to UI files? (Data Separation)

                I was under the impression that all the solutions you mentioned where aimed at pushing and pulling data too and from FileMaker Go. To aid in the problem of how to deal with Offline data coming 'out of sync' with a master online database.


                What I'm doing has nothing to do with data integrity, it only effects UI files that are store locally. UI local, e.g. Desktop, iPad, etc Data File External on a FM Server in the cloud.


                As UI files rarely ever have records in them, except maybe for Menu tables, I don't really care about data synchronisation or data coming 'out of sync' with a master data file because I know that the data is always live in the cloud and the UI files are accessing this live file.


                What I was proposing was having the ability to push Schema changes in a UI file to client machines. The problem I can see and have experienced working for FileMaker developers is if you have a data separation model where the UI file is local to a clients machine and the Data file is in the cloud. You have to manually upgrade each machine with the new UI.


                You as the developer may have to make changes to the UI from time to time and say (this is a real world example I have experienced) your UI files are currently local to over 100 machines, you have to spend a considerable amount of time upgrading everybody to the UI.


                This method solves that and saves that time. What I also seen as an advantage is, as a developer, you'd have a sort of github service, allowing you track all the submits you have made to my product. It would also be an offsite back up of a UI file which is handy too.


                Thanks for the feedback, I'll need to look into the other solutions you suggest and see if they are doing the same thing.

                • 5. Re: I have the ability to push schema updates to UI files? (Data Separation)

                  Yea I'm one of them. I tend to have to try and figure out how something is done. I was thinking of making it a subscription service. Initial thoughts where in the region of £5-10 a month. But I'd have to do some research on the competition and their pricing models.


                  I'd also need to make sure that the servers in cloud where decent and could handle a lot of imports/exports of container fields.

                  • 6. Re: I have the ability to push schema updates to UI files? (Data Separation)

                    Steven,  I use the separation model as you, when developing as I work most of the time remotely.... data on server and the UI on the clients machine.  As the number of users grows,  it becomes harder to verify everyone has the most recent version of the UI.   Have contemplated putting the UI alongside the Data file on the server and having a "opener" file on the clients' computers that would not change.   Open to comments on that approach.


                    But personally though,  I try to avoid having to pay reoccurring charges ...

                    • 7. Re: I have the ability to push schema updates to UI files? (Data Separation)

                      A client I work for has a database in that form. The UI file is separate from the Data file but they all reside on the same FileMaker server. It works relatively well if you are opening the UI over a LAN. In there case they have a UI file well over 100MB and opens fairly quick using a Launcher file on a LAN.


                      However this is over the LAN, imaging having to download over 100MB over the WAN each time you launched the database. It would grind to a halt.


                      In your case, your UI file may be small enough to open over the WAN, it would have to be completely Theme optimised to minimise the amount of CSS in the file. But even with that, every time you add to the UI file, its file size will always increase thus take longer to launch.


                      Personally I don't like having the UI on the FileMaker Server now with the new Perform Script on Server action. With a well modularised solution you can off load all the network intensive functions to the server and just get the result transmitted over the network. In my system I use this completely where I have a CRUD scripts that I can run. I just send the script a few parameter, it runs off to the server to complete its function and then only returns the result. Without the PSoS function my solution wouldn't be feasible as the Network traffic would be huge over a WAN.


                      Thanks for your comment on re-occurring charges, the only reason it would be this is because I didn't plan on releasing this as a package for developers to use locally. It would be a service on the net. All you'd have to do is add a few scripts, fields to your UI file and that would be that. Keeping it really simple to be honest, so there would very few points of failure.

                      • 8. Re: I have the ability to push schema updates to UI files? (Data Separation)

                        Hi coherentkris,


                        I checked the the three products, and looks like they all sync data not UI.




                        your solution looks interesting. I am right in thinking that it modifies the UI file already installed instead or replacing it ?




                        Gilles Plante

                        • 9. Re: I have the ability to push schema updates to UI files? (Data Separation)
                          Mike Duncan

                          Several Sync solutions also have options for deploying updated files as well. EasySync has an option, I think he is calling it EasyDeploy, that you can download and take a look at how he is doing it.


                          David Head, from FileMaker, covered how to deploy file updates in his DevCon session from 2014 as well. Getting Started with FileMaker Synchronization - David Head, if you have access to it.

                          • 10. Re: I have the ability to push schema updates to UI files? (Data Separation)

                            It replaces it.


                            Basically this is how it goes.


                            I make changes to my UI file, script, layout, theme, UI Database changes, e.g. new globals fields


                            In the UI file, I have a prepare script. I run this when I want to save a new version. It creates a compact copy of the UI file and uploads it to my 'Updater Solution' file on my FileMaker server with a version number (i.e. vYYYYMM.DD.TTTT).


                            The next time my business partner opens his UI file. It runs a start up script that queries my Updater Solution to determine if his UI is out of date. If it is, with some FileMaker magic, it downloads the new UI file, removes the old UI and quits filemaker with a message saying restart for the changes to take effect or something along those lines. Keeping filenames the same and saves the new UI to the users desktop.


                            There is some snags, I'm currently about 23 miles away from my server and it takes around 3mins to upload an 11MB UI. Not good. However my mac mini is getting on a bit, about 3/4 years old now and used for other things. Plus my ISP isn't the best so I can definitely improve on it. Other options would be to have it CDN, with different servers on different continents. But thats probably getting a head of myself just now

                            • 11. Re: I have the ability to push schema updates to UI files? (Data Separation)

                              Thanks Mike, don't have access to the PDF.


                              Having a look at EasySync just now to compare notes.

                              • 12. Re: I have the ability to push schema updates to UI files? (Data Separation)


                                Your research is incorrect.

                                These are the facts of my previous statement:


                                GoZync facilitates file updating in addition to data updating.


                                Quote from page above  "Deploy new builds of mobile files to your users."


                                FM Easy Sync implements EasyDeploy which facilitates file updating.

                                Frequently Asked Questions


                                Does EasySync provide assistance with deploying upgrades?

                                Yes. EasySync integrates with EasyDeploy, an open source deployment solution. With it, you can easily deploy upgrades of your solution to your mobile users.



                                The filemaker sync guide can be found here

                                Search FileMaker.com

                                and clearly describes how to open and close files which is the foundation of file updating

                                • 13. Re: I have the ability to push schema updates to UI files? (Data Separation)

                                  Hi Mike,


                                  I can't get to the link your provided. I am told access is restricted, even though I am a member of the Community. Do you know to whom it is restricted ?




                                  Gilles Plante

                                  • 14. Re: I have the ability to push schema updates to UI files? (Data Separation)


                                    looks like I read too quick . Sorry.

                                    Gilles Plante