Behind every Drupal website are the modules and configuration settings that define the website's content model, authoring experience, presentation, and integrations. This post will explain and explore how the Schema.org Blueprints module handles configuration compared to a Drupal distribution and a Drupal recipe.
A Drupal distribution provides a predefined list of modules and configuration that define an entire website solution. For example, distributions offer a starting point for building a commerce, government, or intranet website. The Drupal community has acknowledged that distributions can be too opinionated and can become challenging to maintain.
There is now a Recipes initiative whose goal is to provide a modernized approach for distributions. A 'recipe' is a composable piece of site functionality and features bundled together. For example, a 'recipe' would provide an event registration system with an Event content type, a calendar view, and an online registration webform.
After installing a distribution or recipe, developers and site builders must alter and reconfigure what is installed to meet their organization's unique requirements. The 'Recipe' initiative and the Schema.org Blueprint module share the goal of providing a better starting point for building out a website's features and functionality. The big difference between these two solutions is the Schema.org Blueprints module does not ship with a predefined content model and configuration. Instead, the Schema.org Blueprints module provides a "blueprint" for creating a standardized and reusable content model based on Schema.org's 900+ types.
The Schema.org Blueprints module only ships with the configuration that defines a 'blueprint' for all types, properties, and relationships available on Schema.org. In contrast, a distribution or recipe may ship with a 'location' content type. Meanwhile, the Schema.org Blueprints module can create any subtype of Schema.org's Place (a.k.a. location), which could be a LocalBusiness, Hotel, Restaurant, and more. Most organizations do not need a simple location; they need a location content type that meets their specific business and service requirements. For example, a healthcare institution/network should define its hospitals and medical clinics.
With distributions and recipes, you click install, get what you get, and then reconfigure and tweak it. With the Schema.org Blueprints module, you can create a Schema.org type with fields that give you precisely what you need, tailored to your organization's requirements.
In conclusion, the best analogy is a distribution/recipe provides a pre-built house that you must renovate and modify. Compared to a blueprint that offers a plan for building a home, with the UI and CLI for generating the house to your specifications.
It is always easier to change and improve something in the 'blueprints' stage before it is built.