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 deep delves of Features through the arcane towers of Field API, and 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. Thinking of a long-term Drupal site build as a D&D campaign provides a fresh new look at how to tackle your project plan
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. Starting with "hello world", then advancing to more complex tasks, my first true 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 creating custom 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 do RPGs 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 (not to mention house rules and exceptions). 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 real-world applications can this approach help?
- How do I build a Drupal 8 module with custom compound fields for my content type?
- I can generate nodes as PDFs? How? (and other cool node layout tricks)
- D&D is cool, but what if I still play 4E or Pathfinder?