3 Replies Latest reply on Nov 19, 2008 11:08 AM by Kundinger

    shared database or updating database?

    stevaroni

      Title

      shared database or updating database?

      Post

      I would like to create a database that will become my project/task management system. We have FM Server on our enterprise, so I could place the file on the server so we could use the solution for workgroup collaboration. I do not really want to be a slave to VPN out of the office however, so I am wondering if there is a way to sync a local database file with the server database file. That would enable me to work on my tasks from my laptop and then sync to the server when I was back in the office. Can someone tell me if this is possible?

        • 1. Re: shared database or updating database?
          dwl230
            

          It can certainly be done, but like many things, it's far more complicated than it first appears, and to do it right can be complex and perhaps somewhat expensive.

           

          Syncdek (http://www.worldsync.com:16080/syncdek/) has probably the best take on this... they've been doing it a long time.  I believe they have a demo or trial version.

           

          On the other hand, the VPN or other remote access route is not bad... as long as the laptop has wireless access, you can always use something like Remote Desktop, Go To My PC or Log Me In to access your work desktop with your FM stuff running on that if you can get away with it as far as any IT people you have are concerned.

           

           

          • 2. Re: shared database or updating database?
            TSGal

            stevaroni:

             

            Thank you for your post.

             

            When trying to sync a database back to the main database, you have to evaluate all records that were changed locally and also on the server.  I would suggest a Modification Date field, as this lets you know when the record was last modified.  Use this in a script to determine which record is the most up-to-date, so you don't end up overwriting someone else's changes.

             

            TSGal

            FileMaker, Inc. 

            • 3. Re: shared database or updating database?
              Kundinger
                

              Hi "stevaroni",
               
              There is a "GOTCHA" to most types of 'sync systems'!  The potential for...  "updated" records 'overwriting' "updated" records! 
               
               
              Here is an example...
               
                 you have Client_Info DB on a server being used by other users
                 you have Client_Info DB on your local computer only being used by you
                 both copies have a record "ZYX, Inc." with a field "Client_Status" = "Inactive" and a field "Client_Type" = "Products"
               
               
                 another user of Client_Info DB (server) changes the "Client_Status" field to "Active" on record "ZYX, Inc." at 8:00 PM, 3/3/2008
                    - now your Client_Info DB (local) does NOT have this updated record
               
                 you, using Client_Info DB (local) change the "Client_Type" field to "Services" on record "ZYX, Inc." at 9:00 PM, 3/3/2008
                    - now the Client_Info DB (server) does NOT have this updated record
               
                 the next day, you try to 'sync' your Client_Info DB (local) with the Client_Info DB (server)
               
               
              THE PROBLEM...
               
                 now the data for the "ZYX, Inc." record is NOT 'CORRECT'!!!
               
                 during the 'sync', your data from Client_Info DB (local) will change the "Client_Type" field to "Services" on the "ZYX, Inc." record
                    - this is the correct change to the record because you want "Client_Type" = "Services"
               
                 during the 'sync', your data from Client_Info DB (local) will RESET the "Client_Status" field to "Inactive" on the "ZYX, Inc." record
                    - this is NOT the correct change to the record because it should be "Client_Status" = "Active"
               
               
               
              This is a common problem/issue/mistake made when performing 'data synchronization'.  This will result in 'data integrity' issues in your information system.
               
               
              POSSIBLE SOLUTIONS...
               
              A. Manually perform the 'sync' process...  look at each changed record and compare the data
                    - very time consuming and involves human error possibilities 
               
              B. Create a 'table' for each 'field' in your info system...  these tables have 'time-stamps' and 'relate' to each other
                    - very complex with MANY tables and MANY relationships 
               
              C. Create a 'history' system to track any changes to any fields...  any change to any field will be 'documented' in a 'history' table
                    - easiest to implement and can be automated to 'sync', 'rollback', 'backup', or 'archive' your data changes
               
               
               
               
              I hope this discussion will benefit you and any other reader out there!
               
               
              Thanx,
               
              Kundinger