11 Replies Latest reply on Jun 22, 2017 2:17 PM by coherentkris

    Developer Collaboration

    thehammer

      Honestly, I'm new in the FileMaker development world. I've admired the platform from the sideline for some time. I now have the change to build a FM dev team. What is the best way to collaborate on the actual development of a FM app? Is it simply a source code check-out system? Or are there some built in tools that allow for some collaboration amongth developers?

       

      I'm looking for some best practices here if anyone is willing to give them.

       

      Thanks,

      John Paul

        • 1. Re: Developer Collaboration
          mikebeargie

          There is no "simple source code check-out system" for filemaker. Subversioning has been long debated in a community, and there's been no real "great" solution for it. That's really a separate discussion that you can google and read through.

           

          I'm a big fan of "live side / test side" development. Basically having a script that you can run to import data from a "live" file and deploy an update. This way you can do your development on a quarantined hosted file, with any number of developers, without jeopardizing your live file/data. Making a clone of the file when you deploy the update then becomes your new "development" copy (data refreshed in your development environment).

           

          In terms of "code", there's really only the calculation engine, layouts, and scripting at the core of FM development. All three can be commented ( using // preceding a comment in the calc engine, the comment script step, and the blank area off to the side in layout mode), so I suggest that you utilize comments to track changes.

           

          I think the MOST IMPORTANT thing you can do in multi-developer teams is have a solid means to assign tasks and track tasks. PROJECT MANAGEMENT. If you invest in anything, invest in this. There are numerous tools (IE basecamp) to help you task track effectively. Choose a solid thing to implement, and try to adhere to it as much as you can.

           

          Since smaller projects and updates are usually exempt from multiple developers (IE the "< 20 hours" jobs), then you should also consider that if the time for project management exceeds the usability vs. the development work, that "project" may be exempt from your normal process.

           

          Jason Mundok is a great resource for project management assistance, he has his own flavor of agile that he teaches, but I've personally seen it work for team development.

          1 of 1 people found this helpful
          • 2. Re: Developer Collaboration
            thehammer

            Wow! Thanks for that. I'll definitely look up Jason Mundok.

             

            Does FileMaker support having multiple developers working in one system at a time? Would that require everyone being on one network? Or possible a direct web share? Like I said, still learning how all of this works.

             

            Thanks,

            JP

            • 3. Re: Developer Collaboration
              mikebeargie

              Yes, but not to the same object at the same time. It works pretty much the same as what record locking looks like. If developer B tries to modify a resource that developer A is working on (IE layout mode, File > Manage > Database, or a script), they will receive an error message that they are not allowed to make changes based on _user_ having the resource locked.

               

              It's important to manage your projects so that two developers aren't working on the exact same thing (at the same time) due to this limitation.

              • 4. Re: Developer Collaboration
                LyndsayHowarth

                I do a lot of collaboration with other FileMaker Developers... I do the PHP and they do most of the database... it works really well!

                Not quite what you are asking, though ;-)

                 

                Mike's advice is sound.

                 

                I like (when I have my act together) to have a database to track changes (with pics) and it helps enormously when reporting to a client.

                 

                There is one problem with the Manage Database locking when another developer is already making changes... it doesn't tell you until you have finished doing your changes... so there is still the possiblitiy of losing what you have done. If you can determine a message system which allows each developer to flag that they ARE changing field definitions NOW... then you are off to a good start.

                 

                - Lyndsay

                • 5. Re: Developer Collaboration
                  user28787

                  Hello Community - Is there any answer someone can provide to this question.  Please confirm and Thank you!

                  • 6. Re: Developer Collaboration
                    beverly

                    There is discussion on it. Ask your own specific questions here or another thread. What do you want to do?

                     

                    Sent from miPhone

                    • 7. Re: Developer Collaboration
                      user28787

                      Thank You!  Myself and a summer intern are co-developing an FMP database.  I understand the recommendation that is articulated in this thread however due to time constraints, we need to proceed with simultaneous development (he works on his file locally, as I work on my file locally.) 

                       

                      My assumption is that at some point the updates that I have made and the summer intern have made need to be merged into a single file.  This task can be accomplished but I'm not quite certain on the most time-efficient approach.

                       

                      Thus, my specific question is the most efficient way to merge FMP development work (the comments above seem clear to avoid this approach - but not much choice at this stage). Are there any real "brickwalls" I should be aware in simultaneous development? Are there any "best practices" in merging our FMP files?

                      • 8. Re: Developer Collaboration
                        bigtom

                        user28787 wrote:

                         

                        we need to proceed with simultaneous development (he works on his file locally, as I work on my file locally.)

                         

                        Have you considered simultaneous development on the same file using FileMaker Server? Using FM Server is really the best way to go.

                         

                        The rest of it you make the rules. Logical things make sense in both scenarios. Assign work in certain layouts and tables to a specific person. Establish a naming convention for all things. Establish a standard for script commenting. then assign review to another person once a certain task is completed.

                        • 9. Re: Developer Collaboration
                          user28787

                          I'll give it a try and I will update this thread once I have had a chance to test it out - Thanks to everyone for the quick reply!!!

                          • 10. Re: Developer Collaboration
                            user28787

                            Thank You BigTom... it was just as easy as you stated (and of course - an overwhelming feeling of embarrassment since it was so easy and so obvious)....  We have two people collaborating in the development of a single FMP file using the FMP server - THANK YOU

                            • 11. Re: Developer Collaboration
                              coherentkris

                              user28787

                              Just be careful especially with users trying to use the system the same time your developing.

                              Record locking can be a big issue when your trying to run batch processes.

                              Also make sure you have a robust backup process in place