Traditionally the open source Drupal CMS has been the mainstay of the corporate / NGO and charity market since it lends itself perfectly to the rapid development of websites in those sectors. It also has traction for social media sites, being possibly the best equipped CMS using contributed modules for that functionality; and in addition for news portals and blog networks too.
Today sees the launch of the Tottenham Hotspur http://www.tottenhamtufies.com gaming and gamification platform aimed at children aged between 7 and 10 years old. The site's underlying architecture is Drupal 7 which may not on initial consideration be the most obvious choice. The site operates in essence on a single url and presents overlays to the users to extend the experience and to play the games.
In fact Drupal met the requirements perfectly. Drupal out-of-the-box comes with multi-user, multi-role capability – an essential requirement for a site that needs different levels of membership for gated content, along with back-end administration to create the content. Drupal's built-in concept of content types is ideal for these administrators to create the competitions, quizzes, quick polls and football predictions for the children, administered using a dashboard created with the Panels module.
Connectivity to external API web services is easily constructed with supporting helper modules and configuration credentials can be set by extending the superadmin menu scheme making the flip between sandbox and production services a breeze.
The Drupal database schema is extensible and this is the bedrock of the gamification logic. The gamification needed to cater for leaderboards, experience points, coins, medals (default blue and also a hierarchy of bronze, silver, gold), trophies, levelling up and asset unlocks upon achievement. The site also introduces the concept of 'promocodes' – unique alpha-numeric combinations of the format A2B-C3D-EF4 (with O0LI1 removed from the set of valid characters / numbers to avoid confusing the children) which can be used in an offline or online context to redeem against points, coins, trophies and medals. So, a child awarded a unique promocode for being a ball-boy at a game at White Hart Lane can type in the code on the site and have a trophy added to his trophy cabinet. The entire gamification business logic was complex but using object oriented PHP (PHP being Drupal's native language) reduced the chore of the activity.
Drupal's session management enables logged in users to have their progress restored automatically when re-opening a browser. Its internal API allowed the construction of the Ajax front-end back-end handshaking mechanism so for instance a call from the front-end to the back-end to delete a user's email will trigger a whole sequence of events including gamification checks (has the user been awarded points for keeping their inbox tidy? And as a consequence of that have they won a medal or levelled up?) and subsequence database updates that would be reflected and reported back to the front-end.
Throughout the lifespan of the project I was adamant that, whist Drupal was a somewhat unconventional choice in the first instance, it has proven itself and my belief that choice was correct has never wavered. Hopefully other industry professionals will have the courage to select Drupal as their choice of architecture for their avant-garde project too!
Badzilla is Hangar Seven's Consultant Technical Director