Drupal modules for Fun University

I'm slowly learning how Drupal modules work. Drupal has some nice documentation and lots of modules you can rip apart.

The modules I want to build are destined for Fun University. Right now, I use standard "story" nodes for the challenges and solutions should be submitted in comments.

The advantage to this approach was that I could be lazy and just the default infrastructure :)
Unfortunately, the list of disadvantages is a bit longer...


No distinction

There is no way to distinguish between a story I post (with obviously useful content :P :P) and a challenge submitted by someone else: They both end up on the front page which is not what I want. The challenges should be listed separately from for example news items.

No scoring

In a default drupal, there is no way to "score" a node. I want a way to give a "difficulty" rating to each Challenge and a "quality" rating for each Solution. There is a module that provides an API for voting on nodes in Drupal, called VotingAPI, but it doesn't provide any interface. There is a module called SimpleVote which has a very basic voting system. VotingAPI has a 4.6.x version, SimpleVote doesn't. After consulting with the developer of SimpleVote, I tried to use version 4.7.x of both modules in a 4.6.x Drupal. It worked! I now have a SimpleVote module enabled. It allows any registered user to vote on any node. The module doesn't provide a means to specify voting categories or anything and that is probably something I will work on: extending the SimpleVote module.

No startdate/enddate, no hiding of solutions

When a challenge is submitted, it doesn't have to go online right away. Instead, you should be able to set a future release date so that the community isn't overloaded with bursts of new challenges and you can spread the load a bit. That release date is the start date. There should also be an enddate. Between startdate and enddate, no submitted solutions are revealed. This keeps people from reading other people's solutions and forces them to think for themselves ;) After the enddate, all solutions can be viewed. Now, in the default Drupal system, there is no such concept. I'll have to code it myself.

No statistics

It would be nice to have statistics per user about the number of challenges and solutions submitted, aswell as an average of the scores of all challenges and solutions. This would encourage the participants to submit both good challenges and good solutions. Drupal doesn't have something like that by default, so I'll have to look into that aswell. Although statistics are not really required in the beginning, it's something to keep in mind.