Google Wave for Drupal Staging

Events happening in the community are now at Drupal community events on www.drupal.org.
JayKayAu's picture

I have an idea for how Google Wave may be useful to Drupal.

We have a client's website which is busily running live on the internet. We have a copy on our dev server to which we are making structural changes.

But before we put the updated site on the live server, we will have to "sync" up the live site's activity (new comments, calendar events, webform submissions, etc...), which is a pain in the ass. It seems that there isn't a very good solution to this problem that's widely accepted.

SO

My proposal is to use Google Wave as a conduit for the content of the Drupal site. So that all of the site's content is mapped onto the wave (e.g., a page -> wavelet, fields -> blips, etc..). This would be a neat way of capturing the site's state, and it may open the possibility of viewing/editing content in new ways (i.e., through a conventional Google Wave client - maybe with assistance from an interpreter bot.)

Importantly, we would want support for the Playback function, so that it can be used to help solve the staging problem. Let me try to flesh out how this might work:

  1. Production site carries on with changes happening to the live content. This gets automatically recorded in the Wave.
  2. Development site gets wonderful new updates and features installed by the dev team (aka, you + me).
  3. Content is fed from the live server, via the Wave, into the Dev server so it's always up-to-date (In the background via cron? manually?)
  4. Dev server is left as "Read-Only" w.r.t. the Wave, so that temporary changes to the content (while you're implementing your cool new feature) don't get pushed to the live server, keeping development mess out of the production site. (Or maybe the live server is "Write-Only"? Or maybe it should be controllable on a per-wavelet, or per-Content Type basis?)
  5. When you're ready to publish/stage the Dev site onto the Live server, all of it's contents are already up-to-date. No messy syncing beforehand - woo hoo!!
  6. In the case of changes to Content Types, there are a couple of ways to handle it:
    • Ignore and discard incompatible content
    • Ignore but retain incompatible content
    • Map content from Live -> Dev sites

I'd be delighted if you guys could comment and expand on this idea and see if it has any merit.

Here are some threads/projects that cover the problem of staging:

Comments

AWESOME !!!

valeriod's picture

Google wave as a replication server! now this is really thinking outside the box. Having worked for years with Lotus Notes I can greatly appreciate what you are saying.

Let's start a project.

I agree completely

mwoodwar's picture

Although my abilities will restrict me to cheerleader or tester...I immediately got the value of this. If there's anything a non programmer can do to help, just let me know? I can offer a 'host' for a test site if needed?

Mark

FedOne Servers

ahynes1's picture

What I would be very interested in is how this could be done using FedOne servers. FedOne is the open source that Google provides for people to run their own federated Google Wave servers. I've been running one for quite a while.

(You can see some of my blog posts about it at http://www.orient-lodge.com/wave )

Google Wave

Group organizers

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: