Site diff - module idea

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

What do you think of a module that would allow to compare 2 sites (i.e. staging and production, dev and staging)? Some use cases that come to my mind:
- suppose you'd like to compare dev and staging to check if you can safely copy your local db to staging environment.
- you are copying some changes (by hand) from stage to production and you'd like to make sure that every change was included.
- you make a snapsot of a site at time t1 and you'd like to see what are the differences between t1 and now.

I realize there is a Features module, but I believe there is still plenty of people out there who don't use or don't want to use it for some reason.

Any suggestionos, ideas, criticism appreciated.

Comments

IMHO, until configuration and

OnkelTem's picture

IMHO, until configuration and data are stored in different databases, no chances. There were a discussion about it, can't find it atm.

ok then

stuchl4n3k's picture

I think such module could be useful! Here are some thoughts:
* You would need to define a special DB connection to your other Drupal installation - I'm not sure how to handle this the best way (any ideas?).
* The module should be able to compare two sites - this includes:
* structure comparison: installed modules and their versions, content (types, fields), profiles, themes
* content comparison: node count (simple), node comparison (complex), users, permissions, taxonomy
* others might be interesting: mysql diff (there are tools), server environment diff

I could actually us such module right now, so I'm thinking of starting this project on my own. Przemysław, have you already started to work on this, or should I create the project?

DB connection can be done via

pgorecki's picture

DB connection can be done via services, in similar way that Deploy module does it. You add url to remote site, user/1 login and pass for authorization (maybe that could be handled passwordless by a kind of api key/token). I think that each module would need it's own code to do the comparison (core, menus, blocks, entities, fields, etc... - you get the idea), but it would be best to start from simplest things (i.e. variables, installed modules) and successively move to more complex ones.

I didn't start the project yet, just got the idea banging in my head for some time, so you are free to go with the sandbox project. Moreover, I'd like to participate if you don't mind but recently I'm somewhat short on time.

Great, I would be more than

stuchl4n3k's picture

Great, I would be more than happy to participate (this was your idea after all).
I didn't think about the services connection - I'm going to look into it and start the sandbox.
Thanks

I am also thinking about the

Audrius Vaitonis's picture

I am also thinking about the same functionality and creating something fast for myself. Is it any start of module to do comparison?

I've created this module

stuchl4n3k's picture

I've created this module already. It is still a sandbox project for D7 - checkout the project homepage at http://drupal.org/sandbox/stuchl4n3k/1443930 .
However there is a full project application (http://drupal.org/node/1574548), so I'm hoping to get a relaease soon.
In case you would like to contribute, you are welcome.
And to answer your question - no, I know of no similar module.

Contributed Module Ideas

Group organizers

Group notifications

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