We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 10189
    • 109 Posts
    I’m looking for suggestions and ideas here people! smiley

    We’re three developers that will be starting a project now in which we all need to work on the same site simultaneously. We figured that we manage the code through Subversion (we’re using a IncludeFile snippet for template files where applicable). The question that has arisen is how do we proceed practically?


    • Should we each have a separate install of MODx on each computer and share the same database? If so, how should we go about this? (I’ve been looking at this guide which basically sums up what we need to do as far as Subversion goes: http://wiki.modxscrolls.com/index.php?title=Subversion)
    • Should we keep a separate install with a separate databse and the merge? (sounds awfully tedious, actually)
    • Put the site on our development server and try to get along (i.e. try not to work on the same file at the same time)?

    I figured something like this should’ve already be brought up in this forum, but I could not find any topics on the matter.
      • 3749
      • 24,544 Posts
      It kind of depends on how strict you want to be about who did what, how likely collisions are, and how important is is to be able to revert.

      If it’s not a very complex site with a lot of custom snippets and plugins, I would probably have a single install and have users communicate well on what they’re working on.

      Otherwise, I’d have one official install and three local ones. User’s could then carefully port changes to the official site.

      YMMV. smiley
        Did I help you? Buy me a beer
        Get my Book: MODX:The Official Guide
        MODX info for everyone: http://bobsguides.com/modx.html
        My MODX Extras
        Bob's Guides is now hosted at A2 MODX Hosting
        • 10189
        • 109 Posts
        Well, I’m fairly strict about who did what and I would like to avoid collisions as much as possible since this will be a quite large and complex site. smiley

        I might be worth noting that the development server is on the same network as the developers and we use the SMB protocol to work on files directly on it.

        I’d really like to know if anyone ever tried to have two or more MODx systems use the same database. Our EPiServer developers (using ASP.NET) use this method successfully, but since EPiServer is quite different from MODx, who knows if this is the right approach for us?
          • 3749
          • 24,544 Posts
          Snippets and plugins can be kept in files using "include."

          You can also have templates as files: http://modxcms.com/forums/index.php?topic=10351.0

          That would give you SVN control for them.

          You could write a plugin that would save chunks to a file as they are saved in the Manager, though reverting would be more tricky.

          You could do the same with resources (documents, etc.) by creating a plugin that would serialize each resource to a file on save.

          You could also write a utility snippet that would export the whole database to an SQL file (and import it back on command) and put the SQL file under version control.

          Remember that people might be making changes to various parts of the DB when creating/editing users, roles, template variables, user groups, document groups, system settings, TinyMCE configurations, etc. It would be tough to make sure these were all captured without having each user dump the whole DB after every edit and I doubt if that’s practical.

          TBH, I’m not sure it would be worth the trouble. Versioning is planned for future versions of MODx Revolution, but I don’t know to what extent it will capture every possible change.

          On the plus side, the MODx architecture is very modular and robust. User changes have few side effects, especially compared to other CMS platforms. The only exception that comes to mind is that changing a document’s template could erase the values of other users’ Template Variables for that document.
            Did I help you? Buy me a beer
            Get my Book: MODX:The Official Guide
            MODX info for everyone: http://bobsguides.com/modx.html
            My MODX Extras
            Bob's Guides is now hosted at A2 MODX Hosting