9

We are trying to deploy content updates from our staging server to our live server but are having difficulty finding a good way to do this. We need to be able to deploy new pages, page updates and occasinally page deletes. Our site also makes extensive use of the book module so the Deploy module doesn't work for us at this time. We are using features for large structure updates. So, our concern is just the daily content updates.

Are there any modules that can do this and handle book pages?

  • I think this is somewhat related to drupal.stackexchange.com/q/137/134. You could take a look at the answer there and see if it helps, or clarify your question as to why it's different. – Chaulky Mar 25 '11 at 19:26
  • None of those answers work for book pages, or deletes. Both of which are very important to us. Also, doing a full DB and file dump every time seems like serious overkill. – antgiant Mar 27 '11 at 21:37
  • Can you establish a content freeze on production while you are changing the staging system? – BetaRide Dec 29 '11 at 9:40
3

UUID and UUID Features allows you to export a Node to a Feature, which could be just what you're after, means no need to mess with the database.

1

Have you tried node_export and Backup Migrate. Both modules are used for migrating content between Drupal installations. Here's a comparison between data import/export modules that you might find useful.

1

I'm assuming Drupal 6 here, and don't personally know if it will work with book module, but have you looked into Deployment?

0

You could also give a try to Phing, with which you could automatically:

  • Dump the staging database using mysqldump.
  • Copy the mysqldump file from one server to another using SCP and Public-Private Key encryption.
  • Import the mysqldump from the filesystem into the database.
  • Run the Feature Revert All command (drush fra -y) so your production server picks up production settings (such as blocks, views, contexts, etc) found in your Features code.

Problems I see with this approach:

You will need to do a very fine grained database export, this means taking only node, node_revisions, cck and menu tables.

On that last point (menu links) unless you access both your stage and prod server using the same URL aliases, you will have different menu item entries, and this will be a serious problem.

  • 3
    I'm trying to stick with Drupal modules if possible. And, frankly this idea seems like a data corruption accident waiting to happen. – antgiant Mar 27 '11 at 21:39
0

I actually like the full DB dump method, which could be scripted and often can complete in just a few seconds. (Keeping your revisions under control and excluding cache tables etc. can reduce the size a lot.) You could even create a simple module to provide an interface for content publishers to trigger this process.

You do need to account for any content you might accept from users of your live site, such as comments or contact form submissions. If there is any - surprisingly often there is none - you could either use an external service, such as Disqus for comments or Marketo for lead generation forms, carefully segregate such submissions into a separate Drupal database which is not overwritten, or carefully not overwrite those affected tables during the export/import process.

Where it can be made to work, it may end up being the simplest, fastest, most reliable method. And a site which never accepts input from users (other than into external services) opens a lot of doors to being made much faster and more secure.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.