[META] Integrate site templates into Drupal CMS

Created on 26 May 2025, 3 months ago

We are aiming to ship Drupal CMS with three "site templates" to choose from during initial setup (this may be during the actual install or it might be just after during onboarding -- TBC).

What is a site template?

In the generic sense, a site template is a mostly feature-complete Drupal install designed for a specific use case. It should include a theme as well as the minimum features to meet the stated use case.

The technical implementation of the site templates themselves, and their inclusion in Drupal CMS, is still to be decided.

What next?

There is still a lot we don't know about how site templates will come together. The Drupal CMS team is in the process of specifying what the initial site templates might include, and the Mediacurrent team is working on designs, as part of the Drupal CMS Design System build.

The site templates will be developed as contrib and we will share updates as we have them.

What does this mean for Drupal CMS 2.0?

We will update Drupal CMS itself to be more of a generic foundation, continuing to provide the minimum CMS functionality that users expect, but with the site templates providing use-case-specific elements.

Drupal CMS 1.0 shipped with a set of optional content type recipes, designed to cater for a large number of use cases. With site templates being built for more specific use cases, we will remove the optional content types from Drupal CMS and include the relevant content types in the site template.

🌱 Plan
Status

Active

Component

General

Created by

πŸ‡¦πŸ‡ΊAustralia pameeela

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

  • Issue created by @pameeela
  • πŸ‡¦πŸ‡ΊAustralia pameeela
  • πŸ‡­πŸ‡ΊHungary GΓ‘bor Hojtsy Hungary
  • πŸ‡ΊπŸ‡ΈUnited States thejimbirch Cape Cod, Massachusetts

    Can we not actually ship the site template recipes with Drupal CMS, and instead require them on application?

    Leaving recipes in the code base of an existing site leads to dependency locking and can block site owners from updating.

    We have already seen this on Drupal CMS 1.0, where users will have to update the SEO Tools recipe in order to update the field_group module from v3 to v4. Recipes were designed to be ephemeral and not stick with the site they have been applied to for these dpendency issues.

    Now that recipes are unpacked in Drupal CMS 2.0, and project browser can be used to list projects from APIs, we should be able to fulfill the requirement to offer three site templates to Drupal CMS, but not actually "ship" them in the code base.

  • πŸ‡ΊπŸ‡ΈUnited States phenaproxima Massachusetts

    Now that recipes are unpacked in Drupal CMS 2.0

    This is also the case in 1.2.0. Just wanted to be clear about that, in case anyone sees this issue and thinks they have to wait until autumn for recipe unpacking.

  • πŸ‡¦πŸ‡ΊAustralia pameeela

    Can we not actually ship the site template recipes with Drupal CMS, and instead require them on application?

    Yes, but from the user's perspective it makes no difference, the options come with it. So 'ship with' is not implying any implementation specifics, just a way of describing the experience.

  • πŸ‡ΊπŸ‡ΈUnited States thejimbirch Cape Cod, Massachusetts

    I understand, but developers can take product owners words literally, so thank you for the clarification.

  • πŸ‡ΊπŸ‡ΈUnited States hestenet Portland, OR πŸ‡ΊπŸ‡Έ

    Merging back in a discussion from [#3528683#comment-16175309] which I think better belongs here...

    As is clearly stated in the issue summary by @pameela, there are still a lot of unknowns here, but I think we can specify the ideal case:

    We know we want:

    • to allow users to install, maintain, and update DrupalCMS with as minimal interaction with command line as possible
    • to move to a model where DrupalCMS is foundational, and site templates become the building blocks applied to kick-start specific use cases
    • to offer site templates that 'ship with'(whatever that will technically mean, not fully defined) with DrupalCMS
    • to have site templates be easily discoverable in the long term

    We also want to avoid:

    • Leaving behind components in the codebase that are unused, but are still included as dependencies in composer.json because they can prevent site updates

    There's some positive progress because recipe unpacking is done automatically as of 1.2.0, however, if unneeded dependencies are left behind they may still need to be composer remove such-and-such to clear the way for an update.

    So, as @pameela has said, we still have the power to define what 'shipping with' site templates means on a technical level, in order to meet all these constraints, and still be transparent to the user

    I think right now the issue that solves the unused-but-blocking dependencies but allows us to make a transparent installation process for the user is:

    Are there other related issues we should gather here and/or create?

  • πŸ‡ΊπŸ‡ΈUnited States hestenet Portland, OR πŸ‡ΊπŸ‡Έ
Production build 0.71.5 2024