i’m planning on using MODx for a project. i have two servers. one is the public www box, the other is a dev/staging box.
content would get pushed in two stages:
1) dev to staging for QA
2) QA to live
there are different schools of thought on the best way to do this:
1) copy over the live db with the changed db, clear the cache and rsynch the live and staging areas to update any new assets - drawback is that there might be someone hitting the live site while this is happening (live pushes would normally be queued but in case of an emergency, there would be a feature to force a live update)
2) create another step and export the SQL, then diff the output and only update changed data.
does anyone have any experience with this? would the above work?
any insight would be appreciated!
Maybe I am misunderstanding, but here is what I would do:
1. Edit the configuration of the live site and take it offline (Tools -> Configuration -> Site Tab -> Offline)
2. Merge staging database with live database. How you do this depends on what you need to do.
3. Copy assets folder from staging server to live server
4. Edit any configuration that you need, for example config.inc.php, .htaccess, etc.
5. Edit live site configuration and take it online
Andy
Maybe give a look at
rsync to make the process more efficient ?
Never used it but seems like a nice concept...
.: COO - Commerce Guys - Community Driven Innovation :.
MODx est l'outil id
I recommend using rsync with ssh so your database contents and config.inc.php are encrypted. Often ssh is the only way to use rsync with a remote server anyway. But you might have to mess around with generating public keys for your servers.
I assumed that the OP had a website where users were submitting data continually, but on the dev server snippets, templates, etc. have been added. Now they have the problem of pausing the flow of user submitted data (easily solved by taking the live site offline) and then merging the live and dev databases somehow.
I guess the best solution would be to always keep user submitted data in a seperate database. I.e. the equivalent of creating two partitions on your hard drive. One for Windows and one for your data.
Andy