More in this section

Forums / Bugs & Issues / Collaborative development problems

Collaborative development problems

4 posts, 0 answered
  1. Suzanne
    Suzanne avatar
    43 posts
    Registered:
    12 Jul 2012
    18 Mar 2011
    Link to this post
    Is anyone working on a team developing a SiteFinity 4.0 project?  We are having conflict issues constantly (myself and another developer).  We've tried two scenarios:

    1) Working from common codebase stored in version control, pointing to shared database.  In this scenario, if either of us makes changes to the database our config files become out of sync unless the other pushes their committed configs to the repository for the other to pull down.

    2) Working from common codebase stored in version control, pointing to local database.  In this scenario, we're running data migration tool from VS2010 from our local to our shared database.  We're running into database conflicts with this.

    Any suggestions/recommendations?

    Thanks.
  2. Ivan Dimitrov
    Ivan Dimitrov avatar
    16072 posts
    Registered:
    12 Sep 2017
    18 Mar 2011
    Link to this post
    Hello Suzanne,

    Using Sitefinity in source control works in the same way as for each other ASP.NET web application added in the same environment. When someone checks out and then checks in the other person should merge the conflicts when he/she gets the latest version.

    Regards,
    Ivan Dimitrov
    the Telerik team
  3. Suzanne
    Suzanne avatar
    43 posts
    Registered:
    12 Jul 2012
    18 Mar 2011
    Link to this post
    Right, I understand that but what about database changes - are you storing migration scripts in source control as well or working off a shared database?
  4. Ivan Dimitrov
    Ivan Dimitrov avatar
    16072 posts
    Registered:
    12 Sep 2017
    18 Mar 2011
    Link to this post
    Hello Suzanne,

    The source control is useful when you implouement custom controls, modules etc, so you make changes to the source /code of your project and you do not inject content which goes to the database. We use data layer which creates custom tables in the database and this is why when you get the latest version of your custom controls this should update the database as well. Adding content to the database is used when you are done with the website and you want to add content to it. Also you could have branches - development, content and production. First you will make all custom development in the "development" branch. Then you will make a merge to the "content" branch and after some tests you should make a merge to the "production". The merge from content to production will require database replication, since you are going to merge content data. The merge from development to content includes only custom logic like custom modules, controls, themes etc.

    Greetings,
    Ivan Dimitrov
    the Telerik team
4 posts, 0 answered