We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 8305
    • 13 Posts
    I’m using MODx in an enterprise environment with four developers (and growing).  Our lack of source control for versioning, file locking, knowing who last edited and what changes were made, and other related problems is hampering our development. 

    A work-around, such as developing in Eclipse or VS.Php (a Visual Studio-based PHP IDE) instead of the Manager, and using a script to sync snippet updates with the database is perfectly acceptable solution for us.

    Anybody working on anything like this?
      --
      Dylan Greene
      Work: http://www.Clearspring.com (MODx powered)
      Personal: http://www.DylanGreene.com (Homemade blogging system)
      • 727
      • 502 Posts
      Here is what I have used:

      Linux based development web server with samba
      Samba shares set up to point to the folders that contain the html (or the user home folders)
      Map the samba shares to network drives in Windows
      Use TortoiseSVN in Windows to manage version control on the network drives

      You can also use Eclipse with this set up.

      Andy
        • 22303 MODX Staff
        • 10,725 Posts
        I will mention there are efforts to develop both an Eclipse plugin for managing the db content directly from Eclipse, as well as efforts in the 1.0 branch to let components store the latest version of source code on the file system. Once we can create the static copies of various kinds of MODx managed content, we can then work on protocol access (WebDAV, FTP, SVN, etc.) to allow direct editing of the files which can then be saved back into the content repository.

        For now, I generally keep static copies of any significant content or scripts on the filesystem, and there are plenty of ways to simply use external php includes to setup MODx where all of your content, from templates to snippets, to plugins, etc. are stored on the filesystem with nothing but the logic to include them in the db.