We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 37059
    • 368 Posts
    I posted this over at http://www.sitepoint.com/forums/web-page-design-1/changing-tablecloth-while-dinner-progress-751011.html"" target="_blank" rel="nofollow">Sitepoint as a general discussion, but quickly realized that I should have posted it here in the MODx forum instead, as the issues I’m trying to address are quite specific.

    I’m wondering how people handle making major revisions to the functionality of a site, while that site’s content is constantly being updated.

    For instance, suppose I have an ecommerce site with a blog, and I want to make some major changes to its look and functionality. I clone the site to my local development server and start work. As well as modifying CSS, this involves changing templates, revising certain parts of the site’s permanent content (such as the chunks for the topbanner and footer and the resources for the privacy policy and about us page), adding some new snippets, and changing system-wide settings.

    Now fast-forward two weeks. My revisions are complete, and I’m ready to roll them out to the production site. So I do a database dump and... wait, I can’t overwrite the whole database. While my new version was in the oven, 500 orders have been placed in the store, 10 new entries, with comments, have appeared on the blog, 2 snippets have undergone security updates, several pages have been revised, and system settings changes have been made.

    Now, how am I going to take my local database, which reflects all my wonderful changes, and "merge" it with the remote one? huh

    The only way I can come up with is to roll out my revisions slowly, manually, using either copy-paste or the Provisioner extra - or else to do a partial database dump and attempt to overwrite only the tables that need to be changed. Either method is error-prone, in addition to being a royal pain.

    So, how do you handle a situation like this? I’d love to hear your ideas, stories, and best practices.
      Jason
      • 9102 ☆ A M B ☆
      • 318 Posts
      This is an interesting question, I have this problem too. What I’ve generally done is make an unpublished test page or section of the site, modify that, and then rename things (chunks, CSS files etc) to deploy the changes to the rest of the site when I’m done.

      However, this is not an ideal solution as it is similarly error-prone if I forget to change the name of some chunk or change the format of a template or something. I’d be very interested in any better ideas.
        • 18373 ☆ A M B ☆
        • 3,141 Posts
        I don’t typically work with existing sites, but I probably would just develop inline using unpublished resources and making sure there’s nothing going on differently in the front-end, and back up a few times in the process.

        Most of the work I am & will be doing involves packages, which is simple to distribute changes for with packages - it doesn’t do anything with the data itself.
          Mark Hamstra • Developer spending his days working on Premium Extras and a MODX Site Dashboard with the ability to remotely upgrade MODX and extras to make the MODX world a little better.

          Tweet me @mark_hamstra, check my infrequent blog at markhamstra.com, my slightly more frequent ramblings at MODX.today or see code at Github.
          • 25663 MODX Staff
          • 12,272 Posts
          There’s a couple of discussions related to this very topic going on right now. Here’s one:

          http://modxcms.com/forums/index.php/topic,63896
            Ryan Thrash, MODX Co-Founder
            Follow me on Twitter at @rthrash or catch my occasional unofficial thoughts at thrash.me
            • 37059
            • 368 Posts
            Quote from: rthrash at Apr 29, 2011, 11:36 AM

            There’s a couple of discussions related to this very topic going on right now. Here’s one:

            http://modxcms.com/forums/index.php/topic,63896

            I did read that, but it seemed to me that it was more focused on rolling out a new site from development to production, not making an update merge. So I decided to start my own thread instead of hijacking Everett’s.
              Jason
              • 25663 MODX Staff
              • 12,272 Posts
              But the same thing applies when you have iterative releases of a site, with the question you pose above. Very relevant actually!
                Ryan Thrash, MODX Co-Founder
                Follow me on Twitter at @rthrash or catch my occasional unofficial thoughts at thrash.me