Problem/Motivation

Figuring out if a module will do what you want can be painful. Descriptions are hit and miss. Some modules provide detailed descriptions that give you everything you need. Some are barely understandable. And some are at all levels in between those extremes.

Some modules provide a screenshot. Some don't.

Some modules provide a link to a demonstration install. The demo may, or may not, let you try it out enough to figure the module out. Many times the demo link is broken.

Basically, the only reliable way to try a module out is to download and install it on your own Drupal install. This can take anywhere from 5 minutes for a simple module, to hours for a complicated module that requires the creation of test users and test content.

All in all, trying modules out is a complicated, ineffeciant process. This should be fixed.

Proposed resolution

Create demo sites for as many modules as we can that users can log into with full administration priviliages and test. Something like http://www.opensourcecms.com/scripts/details.php?scriptid=191&name=Drupal Except a site for each module.

Possible Methods

1) Some kind of magic process that can auto create a good demo site with useful demo content, users, and configuration for thousands of different modules.

2) Allow module maintainers to define a demo site profile. The profile would contain all the users, content, and configuration for a basic set up of the module. D.o would take that profile and install it somewhere, and then link to the demo site from the project page. The demo site would be rebuilt periodically.

3) Automatically create a basic site for the module. Do a basic install of Drupal, then download and enable the module and it's dependencies. Also insert a few test users and test nodes. Leave any other configuration to the users trying the module out.

Potential Blocks

There are thousands of Drupal modules. Hosting demo sites for even a fraction of them would be a challenge.

Module maintainers already have a hard enough time maintaining just the description of their module on the project page. Will they even try to maintain the profile for a demo site?

Dealing with the module's dependencies could be dicey. Do we use the latest version of the depenency? Do we check to see if there are errors with the new version before using it? Etc.

Some modules have nothing to demo. Some only provide an API for other modules to use. Some, like the Services module, might take so long for the user to configure, that their changes get wiped when the demo site is rebuilt automatically. Do we generate demo sites for these anyway?

I know this would be a huge undertaking. But I think it is worth considering.

Comments

dww’s picture

Status: Active » Closed (won't fix)

Sorry, never going to happen.

A) The security implications of this are a nightmare. These demo sites would be awash with XSS attacks. Not to mention spam, etc. No thanks.

B) Even if there were some reasonably safe way to give anonymous users full admin powers to sites, the infrastructure required for this would be a huge drain.

C) I can't fathom a way to automate the creation of useful demo sites that actually show off the power of a module. We'd need the maintainers to be involved....

D) As you point out, if module maintainers can't be bothered to keep accurate descriptions or screenshots, what makes us think they'll maintain a demo profile or demo site.

Thanks for the suggestion, but there's no sense putting more energy into this.

Sorry,
-Derek

jerrac’s picture

A) Hmm... I see how that would happen. Even with the fact that each site would have all changes removed periodically. Makes me wonder how http://www.opensourcecms.com does it. They must have the same problems.

B) But would the service provided be worth the drain? Or could the service be offered in a way that would offset the cost of the drain?

C and D) Yeah, those are the biggest sticking points. But I just had a thought, many modules have automated tests. Could useful demo sites be pulled out of what the tests are testing?

As for not being worth the energy to talk about, I obviously disagree. While the idea seems incredibly hard to implement, that doesn't mean that we couldn't figure out how to do so in a manageable way.

So, is there a better place for a discussion to happen?

dww’s picture

You're of course free to keep discussing this if you want. You could blog about it, post something at groups.drupal.org, tweet it, whatever. However, I'm trying to save you the time and hassle of putting a lot of energy into this because I can already tell you it's not going to go anywhere. I'll just be bold and say the Drupal.org Infrastructure Team will never make this happen. The problems are too great, the benefits are too small, and we have way too many other things that need our time, attention and resources.

A previous attempt at something similar resulted in http://drupal.org/project/pifr_demo which also never went anywhere. People realized it was just too much work, not worth the effort, the technical problems were too large to overcome, and the people behind it lost interest.

I'm glad you care about improving the experience on Drupal.org, and I don't mean to discourage you at all. I'm just trying to save you from a frustrating experience pouring a lot of our heart and soul into something that's basically doomed to never see the light of day. I'd much rather see you contribute your ideas, energy and attention on things that have a chance of actually happening, since we definitely need all the help we can get! I hope that makes sense...

Cheers,
-Derek

jerrac’s picture

Looks like http://simplytest.me/ is doing exactly what I suggested. I tried a couple modules and it's pretty darn fast. Kudos to patrickd and Deciphered. http://drupal.org/project/simplytest