[development] idea for an install profile (and "distribution"): devel install

Derek Wright drupal at dwwright.net
Wed Feb 28 09:59:11 UTC 2007

while waiting for Dries to officially RTBC the issue for hosting  
install profiles on d.o [1], i just had an idea for a install  
profile: the development profile.  things it could do:

1) install/configure devel.module

2) setup some standard roles for testing (non-uid-1 admin, content  
admin, a role that only has "switch users" permission, etc), and  
configure all perms appropriately.

3) create a small pool of users in each of the roles, all of which  
are also in the "switch users" role, enable the switch users block  
from devel.module, etc. [2]

4) also create a bunch of random users with the generate script from  

5) create a bunch of test content with the generate script.

6) create a bunch of malicious (XSS-seeking) content: node titles,  
taxonomy terms, anything we can think of that some module might not  
be escaping properly somewhere.  basically, wrap js alert boxes  
around just about any possible user-input we can find. ;)

7) install as much of the simpletest.module and framework as  
possible, and otherwise prompt/warn the user about the external  
library they should download and install.

8) perhaps install some per-node-access module(s) (tac_lite,  
simpleaccess, etc) and configure some of the auto-generated content  
to be private.

9) optionally install some other handy modules folks use for testing  
(i'm a big fan of diff.module and dba.module, but there might be  
others that would be useful).

10) perhaps install/configure some kind of benchmarking tools (if any  
exist that would be appropriate).


this would:

a) save a ton of time whenever one of us needs to setup a local test  

b) make it *much* easier for newer developers to get a standard test  
environment up and running

c) facilitate being able to reproduce bugs, since everyone could be  
working from a more standardized test environment most of the time

d) lower the barrier to developers running (and therefore writing)  
simpletests for their code

e) help find XSS more quickly, since folks (and automated tests)  
would be navigating through a site that was trying to XSS-ify itself  
all over the place.  just having the per-node-privacy content auto- 
generated would help remind folks to test those sorts of edge cases  
in their code, too.

i don't have time to work on this, but i'd be willing to help someone 
(s) else.  or, if anyone thinks this is such a good idea, they want  
to pay me to work on it instead of my other consulting gigs, that  
might work, too. ;)  if we could stand to wait that long, this might  
make a nice SoC 2007 project, too.


[1] http://drupal.org/node/113939

[2] it'd be nice if there was a setting in devel.module to restrict  
the choices in the switch user block to users that have 'switch  
users' permission, so that such a test environment would always allow  
you to quickly switch back and forth across differently perm'ed  
users, without ever getting "stuck" on a random user that didn't have  
switch perms...

More information about the development mailing list