Return to site

Building complex content models using the Schema.org Blueprints module’s configuration, mapping sets, and starter kits

September 5, 2023

I recently recorded a video that walks through installing the Schema.org Blueprints module for Drupal. Taking Schema.org-first approach to building a content model and authoring experience in Drupal can be overwhelming. It is relatively straightforward to generate a single content type based on Schema.org. Still, as one starts to build a full content model, it can take time to understand the relationships between Schema.org types and what submodules are required to provide the ideal authoring experience.

Early on, I implemented the concept of mapping sets, which set up multiple Schema.org types in sequence to test and review the module’s out-of-the-box configuration. As I have worked to implement Schema.org for my client, I’ve realized that the generated Schema.org types and properties need additional configuration to create the ideal content authoring experience and website. While learning more about Schema.org’s history and evolution, it has become apparent that schemas for different sectors are led by working groups that research and recommend additional types and properties. For example, information architects and content experts have collaborated to define comprehensive schemas for the automotive, hospitality, medical, and financial industries. These very thorough industry schemas can feel overwhelming and make it difficult for developers to leverage and understand the available schemas and possibilities. To help developers get started and maintain their organization’s schemas, I’ve implemented a Schema.org Blueprints specific starter kit API, which can either provide the beginning or an example of an approach for implementing Schema.org via Drupal.

A Schema.org Blueprints starter kit defines the types and properties, modules, and configurations required to address a specific use case. Starter kits also include recommendations and best practices for implementing a Drupal solution. Because all the Schema.org types and properties are generated from a single YAML file, a starter kit only needs to include optional configuration files. Within a starter kit, I find it helpful to use the Config Rewrite module to tweak generated configuration as required. Compared to installation profiles or features-based modules, a Schema.org Blueprints starter kit includes much less configuration, making it easier to understand what is being set up.

There are two approaches to using a starter kit. First, you can enable an existing starter kit and then configure it. Second, you can copy single or multiple starter kits into a custom module and roll your solution. As a community, we can collaborate on starter kits that provide the ideal solution to everyday challenges and feature sets. Even a perfect solution is not a one-size-fits-all solution; therefore, even with my projects, I am rolling custom project-specific starter kits that can address particular organization requirements.

Please watch the video below for an in-depth look at configuration, mapping sets, and starter kits. Also, feel free to post questions below or on YouTube.