10 Replies Latest reply on Jan 16, 2012 9:53 AM by philmodjunk

    Server-based FM Pro 11

    MikeF

      Title

      Server-based FM Pro 11

      Post

      In Access, one can split a database so the tables become separate from the forms/queries/etc.  Those tables can then be put on a server, where local Access databases [with the forms/queries/etc] on a few user's local computers can easily link to them. 

      Can this be done as easily in FM Pro 11?

      And ... where would one find tutorials on that??

      Thanks,

        Mike

        • 1. Re: Server-based FM Pro 11
          philmodjunk

          See this link: Convert to Seperation Model for how to split a single file database into data and interface copies.

          I'd test the solution with both copies on the server as well as with the interface copy local. You may find that performance is much the same either way. (I found little difference in peformance for split Access systems when hosting over a LAN...) If so, it will be simpler for you to just keep both copies on the server. A data separation model approach makes it much easier to deploy updated copies of your database so it makes sense to use this approach even if you do not put the interface copy on a local machine.

          • 2. Re: Server-based FM Pro 11
            MikeF

             

            Presumably it doesn't matter if an [old] copy of FM Pro 11 becomes Data [goes on the server], as long as any new tables/relationships are updated within Data.      Occasionally redistributing updated copies of Interface to local users would work just the same, wouldn't they?

             

            Per the excerpt below:

            >Make two copies of your file. I'll call them "Interface" and "Data" in this example:

            >Open Interface and go to Manage | Database | Relationships.

            >Double click a table occurrence (The boxes in this graph) and select add FileMaker Data Source from the Data Source drop down of the dialog that appears.

            >An Open File dialog appears, use it to find and open Data.

            >Select the table in Data that matches the data source table originally referred to in Interface by this Table Occurrence.

            >Repeat for each Table Occurrence until all refer to tables in Data instead of Interface.

             

            ...Especially "Repeat for each Table Occurrence" ...   Presume this means rebuiliding the entire Relationship Graph.  Do all the relationships have to be re-linked as well?

            Thanks,

              Mike

             

            • 3. Re: Server-based FM Pro 11
              MikeF

               

               

              Perhaps overlapping msgs here, can you elaborate as to what specifically the following means?

              I'd test the solution with both copies on the server as well as with the interface copy local.

               

              Thanks Phil.

              • 4. Re: Server-based FM Pro 11
                philmodjunk

                "Presumably it doesn't matter if an [old] copy of FM Pro 11 becomes Data [goes on the server], as long as any new tables/relationships are updated within Data."

                Relationships are needed in both the data and interface files in most data separation solutions. The same relationships are not needed, however. Calculation fields and fields with auto-enter calculations rely on relationships defined in the data file. Scripts, layouts, value lists, on the other hand, rely on relationships defined in the interface file. Keeping all the relationships the same in both files (what you have initially when you split your file), is the simplest/fastest/safest way to split your file. You can, at your option, prune back these relationships to just those that are needed at both the data and interface levels--this can actually result in cleaner and clearer relationships in your two files.

                With regards to testing. Just upload both files to the server. Use Open remote to open the interface file and use it  for a while. Then put the interface file on the local work station (use manage | external data sources to update the file references so that they connect to the hosted data file) and run it for a while. See if you note any significant differences in performance. If there are no differences worth mentioning, life for the database administrator (and developer) will be much simpler with a single interface file on the host computer than trying to make sure all client computers get the same version of each updated interface file the next time you deploy an update.

                • 5. Re: Server-based FM Pro 11
                  MikeF

                  > If there are no differences worth mentioning, life for the database administrator (and developer) will be much simpler with a single interface file on the host computer than trying to make sure all client computers get the same version of each updated interface file the next time you deploy an update.

                   

                  Wouldn't deploying an update in this manner mean nobody could use the database while that update was being, well, updated?

                  At least, any additional records added to the tables would not be contained in the update.   ???

                  Thanks,

                    Mike

                  • 6. Re: Server-based FM Pro 11
                    philmodjunk

                    Yes, but since you are simply swapping out the old interface file for the new, it's only a matter of a few minutes at the most. Swapping out the old interface file for the new on all your client machines will take much longer and you have to follow up (or use network admin tools) to ensure that everyone is using the updated interface file.

                    • 7. Re: Server-based FM Pro 11
                      MikeF

                       

                      Per the excerpt below:

                      >Make two copies of your file. I'll call them "Interface" and "Data" in this example:

                      >Open Interface and go to Manage | Database | Relationships.

                      >Double click a table occurrence (The boxes in this graph) and select add FileMaker Data Source from the Data Source drop down of the dialog that appears.

                      >An Open File dialog appears, use it to find and open Data.

                      >Select the table in Data that matches the data source table originally referred to in Interface by this Table Occurrence.

                      >Repeat for each Table Occurrence until all refer to tables in Data instead of Interface.

                       

                      ...Especially "Repeat for each Table Occurrence" ...   Presume this means rebuiliding the entire Relationship Graph.

                      Is there any way to tell *all* the table occurences where their respective Data Sources are at the same time ...??

                      [If not, is there a script that could handle it?]

                      Thanks,

                        Mike

                      • 8. Re: Server-based FM Pro 11
                        philmodjunk

                        There is no short cut that I know of to double clicking each occurrence in turn. I wouldn't, however call this "rebuilding the entire relationships graph" as your relationships stay intact when you make these changes.

                        You may be able to reduce this task if you analyze the relationships and "prune" away any that are not needed in the interface file. Sometimes, you have a relationship that is only needed to support calculations in calculation fields or data fields with auto-entered calculations. If so, you can remove them instead of "re-pointing" the occurrences to the data file.

                        • 9. Re: Server-based FM Pro 11
                          MikeF

                           If a database is being used on the server, and an updated copy needs to be installed, that updated copy will need its tables updated with the records from the "old" server copy.

                          Does FM have replication?

                          Or how would one handle that??

                          Thanks,

                            Mike

                          • 10. Re: Server-based FM Pro 11
                            philmodjunk

                            Only if the copy has any data in it. That's the primary purpose of the data separateion method--to minimize this update issue.

                            In FileMaker, you use save a copy as.. with the clone option to save a copy of the new version that is empty of records, then you import the data from your current copy into this clone. The process can be scripted with steps included that check and update next serrial value settings on serial number fields along with importing the data. It's even possible to set it up so that you click a button and an open file dialog appears for you to select the file from which you will import all data. The user selects the file and the script does the rest of the importing from there.

                            One key detail: put a script in the original file that does a "show all records" on every table and use the update script in the new file to perform this script in the old copy prior to importing data.