Outgrowing Content Types: Building Custom Entities

Drupal includes a powerful toolset for building and extending out-of-the box content types. Content architectures are typically designed around the features of nodes, taxonomy, media, and other core entities. But how do we know when our business-needs have grown beyond the common entity types? When are nodes too lightweight or too heavy handed to meet our site goals? And what are the trade-offs and support issues when creating a new entity type?

This session will look at the landscape of core content entities and discuss the relative strengths and limitations of each entity type. We will explore common business-cases for developing custom entities and examine the level of technical debt incurred with various types of solutions. The session will consider real-world use-cases, including:

Reducing overhead: When content types (nodes) are too big.
Optimizing: When content types (nodes) are too small.
Presenting highly-customized editorial experiences.
Defining unique access control handlers and permissions
Using non-standard storage for modeled data.
Reusing content definitions through bundles.
When performance tuning is an overarching goal.
This presentation is designed for attendees in technical leadership roles. Programming knowledge is not required, however example code and links to developer resources will be shared to highlight features of the Drupal Entity API, Drupal Console, and the ECK module.

Participants should leave this session with an understanding of the risks and liabilities of creating custom content types; but also feel empowered and excited to employ them when they’re the right tool for the job.

Speaker(s):
nJim
About the Speaker(s):
Jim is a Senior Engineer at Four Kitchens. He is backend developer and specializes in creating web architectures – translating application requirements into useful, discrete, and reusable components. With over 10 years of Drupal experience, Jim uses the framework to support all of his nerdy hobbies, including planning retro-arcade projects; sharing photos of outdoor adventures; and organizing Philadelphia-area summer camps.

https://drupaldelphia.org/session/outgrowing-content-types-building-custom-entities

Drupal is a registered trademark of Dries Buytaert.