Dungeons & Dragons & Drupal
Hacking and slashing your way through real-world content management problems
A magical quest through complex record keeping that takes our adventurers from the mighty cities of Features packages through the deep delves of Field API, facing off against hordes of PDF output. Explore a the issues of real-world content management and complex data arrangement issues in a format everyone can relate to.
As a developer, anytime I try to learn a new language, technology, or tool, I try to apply it to things I already know as a frame of reference. My first C++ application was a D&D character generator. Likewise for JavaScript (and later jQuery), Perl, PHP, and of course Drupal's Field API (with a specialized look at the changes to Field API and entities in Drupal 8). I find that the complexity of the rules for Dungeons & Dragons is a great abstract analog to the complex business rules we run into with development projects and helps find creative solutions to otherwise tedious tasks.
When the D&D Character module for Drupal was originally released, it was intended to make the lives of Dungeon Masters and players easier. More importantly, it's a good example of some really common and surprisingly complex Drupal module functionality. First, it provides a custom content type with a complex list of fields (using Field API) to allow users to create their characters. Second, it defines several compound fields to help account for the varieties of complex, multi-value data such as skills, feats, magical items, and weapons. Finally, it make use of PHP's PDF libraries to create printable character record sheets for a character node.
As any good Dungeon Master or player knows, managing a PC is extremely complex, involving dozens of steps to create and update a good D&D character. In addition to being a fun D&D-themed session, this presentation will also cover how to deal with complex record keeping systems that can prove useful for government or HR offices as well as detailed editorial workflow. In addition to discussing the inspiration behind the D&D module, I'll explore how similar complex record-keeping requirements can be handled with Drupal and custom fields and content types.
What does table-top role-playing have to do with the Drupal community and what you're trying to build? D&D is a complex gaming structure with decades of business rules development which have been customized ad infinitum. The exploration of Dungeons & Dragons as metaphor for business requirements and scope changes or scope creep can help shed new light on developing with Drupal to accomplish so much more than just building a simple CMS.
You hear something behind you. Roll for initiative.
Using D&D as an abstract frame of reference, this session intends to answer the following questions for developers:
- What does role-playing have to do with the Drupal community? (A lot, actually)
- What other real-world applications can this approach help?
- How do I build a module with custom compound fields for my content type?
- I can generate nodes as PDFs? How?
- D&D is cool, but what if I play GURPS? Or 5th Edition?