1 2 Previous Next 23 Replies Latest reply on Apr 8, 2015 7:43 AM by TonyWhite

    Team Development in FileMaker

    tmslayton

      Hi,

       

      I am new to FileMaker Pro and have a team of six developers. I am considering a large project with FMP and would like to know how other developers approach development with a team?

       

      Thanks,

       

      Tom

        • 1. Re: Team Development in FileMaker
          TorstenBernhard

          Tom,

          Welcome to the club!

          For team development, consider the following:

          - host development files on FileMaker Server

          - use the data-GUI separation model

          - use the anchor-buoy method for organising the relationship graph

          - use a development logbook where each developer records his/her activities (FileMaker is excellent for tailoring a logbook solution to your specific needs)

           

          You state that you are new to FileMaker. What's the level of experience of the rest of your team?

           

           

           

          • 2. Re: Team Development in FileMaker
            tmslayton

            Thank you Torsten, my devs and I have years of development experience in .NET, Visual FoxPro, PHP and SQL Server & MySQL. What is drawing me into the FMP camp is the ease and speed of development and the integrated stack. Also the ability to easily integrate iPads and iPhones.

             

            We have a few small projects that we can do before we tackle our large one and will probably seek out some training before we start that.

             

            Thank you again for your input.

             

            Best,

             

            Tom

            • 3. Re: Team Development in FileMaker
              TonyWhite

              Hi Tom,

               

              Here are a few...

               

              - Have documented coding standards and naming conventions that are well thought out.

              - Have user interface standards and patterns that are documented and consistent

              - Have a built in ticketing/help request system

              - Have an entity–relationship diagram and other basic types of documentation to guide you.

              - For training, I would recommend pair programming on real projects with experienced developers over the more basic training options. Get something done and learn at the same time.

              - Send one or more of the team to DevCon

              - Go to a local FileMaker user group meeting. Where are you located?

               

              Hope that helps.

               

              Tony White

              • 4. Re: Team Development in FileMaker
                tmslayton

                Excellent points Tony thank you. How does FM handle multiple people working in a database at the same time? So for example can developers be working on different pieces like reports and forms concurrently?

                 

                We also SCRUM so that leads to release planning and revision control. I guess we could do a daily check-in to Team Foundation Server and then a final checkin at the end of each Sprint prior to release.

                 

                I am in Connecticut and joined the CTFUG and plan on going next month.

                • 5. Re: Team Development in FileMaker
                  jbante

                  tmslayton wrote:

                   

                  How does FM handle multiple people working in a database at the same time? So for example can developers be working on different pieces like reports and forms concurrently?

                  Different parts of FileMaker have different behaviors for concurrent development. Most parts of FileMaker development have certain kinds of concurrency locks so that only one developer at a time can work on a particular object at the same time. For example:

                  • Only one developer can work in Manage Database at a time per file. This is sometimes (partial) reason to have multiple data files and/or multiple interface files in a large solution, so that developers working on different parts of a solution don't step on each others' toes. I'm not sure how adding & editing fields in table view and with the field picker in layout mode affect this.
                  • Only one developer can edit a script at a time. This is usually not an issue.
                  • Only one developer can edit a layout at a time. If this ever creates a problem, you're probably asking that layout to do too many jobs in one place anyway.
                  • 6. Re: Team Development in FileMaker
                    tmslayton

                    jbante - Thanks. It seems like it will work out just fine as generally the devs are working on a particular view or report independently. The only real issue that I see is the Manage Database piece that you outlined. I think that we'll be able to work around that though.

                     

                    Thanks again,

                     

                    Tom

                    • 7. Re: Team Development in FileMaker
                      sporobolus

                      On 2015-04-06 17:41 , jbante wrote

                      Different parts of FileMaker have different behaviors for concurrent development. Most parts of FileMaker development have certain kinds of concurrency locks so that only one developer at a time can work on a particular object at the same time. For example:

                      • Only one developer can work in Manage Database at a time per file. This is sometimes (partial) reason to have multiple data files and/or multiple interface files in a large solution, so that developers working on different parts of a solution don't step on each others' toes. I'm not sure how adding & editing fields in table view and with the field picker in layout mode affect this.

                      • Only one developer can edit a script at a time. This is usually not an issue.

                      • Only one developer can edit a layout at a time. If this ever creates a problem, you're probably asking that layout to do too many jobs in one place anyway.

                       

                       

                      i've had good results with a pair of developers working on a solution hosted

                      on FileMaker Server; we set FMS to do frequent backups

                       

                      modifying data while someone is saving changes to the database schema could

                      be risky; we were cautious but not fastidious about this, and we never had

                      problems

                      • 8. Re: Team Development in FileMaker
                        sporobolus

                        On 2015-04-06 17:50 , tmslayton wrote

                        The only real issue that I see is the Manage Database piece that you outlined. I think that we'll be able to work around that though.

                         

                        when i worked on a team of six doing a Visual FoxPro project, one person was

                        assigned to be the schema manager and all requests for changes went to him;

                        this also gave a level of consistency, as changes had to be thought through

                        to communicate them, and had to meet his standards

                        • 9. Re: Team Development in FileMaker
                          tmslayton

                          I was thinking about doing exactly what you are saying Steve, good point!

                          • 10. Re: Team Development in FileMaker
                            schamblee

                            I knew you would get a better response on this forum.   Glad you got the answer you were looking for.

                            • 11. Re: Team Development in FileMaker
                              tmslayton

                              Yes, thank you again

                              • 12. Re: Team Development in FileMaker
                                johnnyb

                                The version control situation, Team foundation server and whatnot, is rocky.

                                 

                                You might be used to a checkout-code-test-merge-build-release workflow, and that gets unwieldy with FileMaker; it is essentially impossible.

                                 

                                I find there is either a lot of manual merging from a developer's offline copy into the live application or a lot of working directly on the live database. We also rely on regular snapshot backups. I jokingly refer to this as "continuous integration."

                                 

                                Point is, you'll need to sort out a way to handle multiple changes, and your challenge will be to do so with minimal process overhead.

                                 

                                OS scripting, and tools like FMDiff and RefreshFM may help.

                                • 13. Re: Team Development in FileMaker
                                  Markus Schneider

                                  WE've set up 'modules' - so, each developer works in his/her 'environment' as long as possible. Means: More than one single file... 'overlapping' scripts are using scriptparameters (as many as needed, separated by FileMaker carriage returns, pulled out via getvalue (hope, the command is correct - in german: HoleWert)), etc.

                                   

                                  MAnage Database is one problem - but the 'layout lock' is really boring when working in the same file..

                                   

                                  TOny White and Torsten Bernhard mentioned other important things

                                  • 14. Re: Team Development in FileMaker
                                    CarstenLevin

                                    Torsten is absolutely right!!!

                                     

                                    Not only should you use FileMaker Server when developing within a team. You should always do so ... never ever open the file and develop on a local and vulnerable file.


                                    Set the server to do a backup every 15 minutes or so. And if somebody makes a terrible error ... you only lost 15 minutes. And remember: The backup should go to another disk than the one with the databases hosted on.

                                     

                                    Best regards


                                    Carsten

                                    1 2 Previous Next