Posted by sreynen on August 26, 2010 at 11:23pm
The idea is a module that presents a series of configuration and development tasks, e.g. create a view, add a menu callback, alter a form, etc. and then tests completion of the tasks with SimpleTest as a sort of Drupal dev training system for people who like learning-by-doing. Documentation covers learning-by-reading and the example module covers learning-by-example, but is there anything that covers this kind of learning-by-doing system for Drupal?
Comments
Maybe this could be
Maybe this could be integrated into the examples module http://drupal.org/project/examples
Examples is for core APIs
The Examples Project is for demonstrating/teaching core APIs. It doesn't go into contrib - but there is a Views Examples module, and there should probably be a CTools. I'm in favor of teaching examples however we can do them, and will help you find a place for your module.
Of the initial tasks you present "Adding a menu callback, altering a form, simpletest", the Examples project has all of those.
Different than examples
Hmm. I feel like I wasn't very clear. I think there's a difference between the type of learning involved in looking at example code and the type of learning that happens by writing your own code. At least for me there is. I don't feel like I really understand something until I've done it myself. Sure, you can edit the code in examples, but that's not quite the same as writing your own code.
Maybe going through a use case would make this clearer:
You install this module, and go to a page under /admin. It says "Welcome. Your first learning task is to enable the simpletest module. For help on that, see the simpletest installation instructions. When you are done with that, click DONE." So then you go and install simpletest, and you click "DONE" and the module does a module_exists() check to confirm you've enabled simpletest and says "Good job! Now you're going to make your own module. First, create a directory named 'mymodule' in /sites/all/modules. When you're done, click DONE." And so on. At each step, it tests you've successfully completed the task you were given. After the initial task of installing simpletest, simpletest would be used to confirm the completion of tasks. Writing tests may also be a task, but that's not really why I mentioned simpletest.
Maybe "mini-certifications" would be a better way to describe it. Or maybe I just need to actually write it to be clear. I just want to be sure I'm not reinventing a wheel here.
It's a game!
Neat idea -- reminds me of the tutorials that come with every flash game these days. One suggestion for improvement on the idea would be to automatically notice when they've completed the next step instead of making them check "done()".
If you included enough hand-holding, this could be a good way for the truly newbies to learn.
Have a look at SEO checklist,
Have a look at SEO checklist, similar (totally unrelated) idea, in that it is a checklist of tasks that gets automatically or manually completed to achieve something with links to instructions and more information if available/required. I like this.
--
G