Return to site

Defining the goals of the Blueprints module

· Drupal,Schemaorg Blueprints,Schemaorg-First

Over the past two years, it took a few blog posts for me to fully explore and explain how to use as the foundation for content models; this exploration led me to create the Blueprints module. Early into its development, three goals became apparent - they became the intro on the module's project page.

The Blueprints module provides perfect data structures (, pristine APIs (JSON:API), and great SEO (JSON-LD).

These concrete goals helped me focus on the module's core functionality and APIs, yet none of these "primary" goals acknowledge my underlying desire to use as a collaborative, open source foundation for building websites and applications using Drupal core and its vast ecosystem of contributed modules.

Open source software development has so many nuances; writing and sharing some code online with an MIT license is not always enough. For example, after an experienced developer determines an open source project addresses their business requirements, they have to ponder if this "free" source code is stable and maintainable.

I recognize that the Blueprints could be the foundation for applications or websites built using Drupal's ecosystem of contributed modules. The Blueprints module's code needs to be compatible, stable, maintainable, and extendable, and this led me to expand my primary goals to include secondary and tertiary goals.

Below is my complete list of goals for the Blueprints module.

Content modeling

  1. Structured Data
  2. Application Program Interfaces (APIs)
  3. Search Engine Optimization (SEO)

Content authoring

  1. Administration interface
  2. Content authoring
  3. Multilingual support


  1. Open source
  2. Modular and extendable
  3. Stable and reliable

I’ll be the first to admit that my secondary goals related to content authoring are completely about scratching my own itch, specifically, my organization's itch and concern about the future of their CMS. Drupal offers many tools to improve, adjust, and change Drupal's out-of-the-box content authoring experience. Consequently, I wanted to explore the ideal content authoring experience that could be built on top of the Blueprints module's foundation.

For example, I decided that all Blueprints presentations and demos will use the Gin admin theme for two reasons: one, because the Gin admin theme is fantastic and provides "a radically new administrative user interface," and two, because I have financially supported the Gin admin theme via Open Collective for several months. These funds help support the Gin admin theme's creator and maintainer, Sascha Eggenberger (saschaeggi). Please help support Sasha's Gin admin theme work via Open Collective or GitHub Sponsors.

Negotiating the right recipe of content-authoring enhancement modules is challenging. I am optimistic that the "Distributions and Recipes" initiative will make it easier for everyone to share their recipes. For now, I'm hopeful that the Blueprints can become a key ingredient when baking content models in Drupal moving forward.

Below is a presentation about the primary, secondary, and tertiary goals of the Blueprints modules. I hope this presentation helps clarify the what and why around the Blueprints module, partly because I have yet to take an alpha release…but it’s coming very soon.

All Posts

Almost done…

We just sent you an email. Please click the link in the email to confirm your subscription!