Move exposed form styling into core Olivero theme

Created on 11 December 2024, 7 months ago

Problem/Motivation

The https://www.drupal.org/project/drupal_cms_olivero β†’ currently only includes styling for exposed filters in views.

Olivero in core could customise that styling instead, then there would not be any need for an extra project.

I think it is going to be a somewhat awkward upgrade path for sites if/when drupal_cms_olivero becomes redundant, either because issues are fixed in core or because there is a new Drupal CMS front-end theme - it'll need to be deprecated, eventually unmaintained etc., sites are going to have to manually switch theme and uninstall it. So it would be better to fix this sooner and later before tens of thousands of sites are running it.

Opening as a Drupal CMS issue to track removing the logic from the theme once the core issue is fixed, also I don't know if a core issue has even been opened for this - if so would be great to link from here and vice versa.

Steps to reproduce

Proposed resolution

Remaining tasks

User interface changes

API changes

Data model changes

πŸ“Œ Task
Status

Active

Component

Base Recipe

Created by

πŸ‡¬πŸ‡§United Kingdom catch

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

Comments & Activities

  • Issue created by @catch
  • πŸ‡¬πŸ‡§United Kingdom longwave UK

    +1, either this is going to be an awkward upgrade path or this theme is kept around forever - it feels like the effort spent here would be better off just fixing it in core?

    Somewhere/somehow we also have to explain why both "Olivero" and "Olivero for Drupal CMS" show up in the Appearance tab.

  • πŸ‡¬πŸ‡§United Kingdom catch
  • πŸ‡ΊπŸ‡ΈUnited States phenaproxima Massachusetts

    The Olivero subtheme isn't only there to work around deficiencies in core. If it were, then I would be in full agreement with you that the energy would be better spent on fixing core.

    My understanding is that it's mainly there to provide useful and attractive styling for our content types in their various display modes, until Experience Builder is released and allows us to handle all that without creating a new theme. When XB is released and we've fully adopted it, the subtheme will be deprecated.

    It's a shitty compromise, and it does make for some awkwardness, but since XB is not ready, and was not going to be ready in time for Drupal CMS's first stable release, this is probably the best we could do.

    @tim.plunkett, @ckrina, and @pameeela could offer more context here.

  • πŸ‡¬πŸ‡§United Kingdom catch

    drupal_cms_olivero.libraries.yml only has:

    views:
      css:
        theme:
          css/components/views-exposed-form.css: { }
    

    And there are no templates, or SDCs, or anything else except boilerplate. So unless I'm missing something, it is not doing anything of the things mentioned in #4.

    https://git.drupalcode.org/project/drupal_cms_olivero/-/tree/1.x?ref_typ...

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

    It is not doing any of the things mentioned in #4...yet. But it's gonna.

    See the related issues...

  • πŸ‡¬πŸ‡§United Kingdom catch

    If those changes are done with CSS only (or maybe even with some other customisations), they could be done in a contrib module. The difference to an Olivero subtheme is if/when that module becomes empty, it can mark itself deprecated, even uninstall itself in an update and mark itself obsolete, whereas a default theme cannot do those things.

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

    I have no idea if the changes are CSS-only, or involve template stuff. That is up to the frontend developers (@mherchel is the main guy). I'm hoping that there will be some way to migrate from a theme to whatever Experience Builder offers, but that's total speculation.

  • πŸ‡¦πŸ‡ΊAustralia pameeela

    The filters just happened to be the only thing done before RC.

    See more WIP:
    https://git.drupalcode.org/project/drupal_cms/-/merge_requests/259/diffs
    https://git.drupalcode.org/project/drupal_cms/-/merge_requests/287/diffs

    And we will definitely ship with components for the XB preview integration.

    As to the best way to do this though I have no strong opinion other than there's no way this can be done in core, at least not for now in the timeframe we need it.

  • πŸ‡¦πŸ‡ΊAustralia pameeela
  • πŸ‡¬πŸ‡§United Kingdom catch

    Yes some of those things would not be able to go into core because they're for things that don't exist in core as such, but the upgrade path for a sub-theme that's only intended to be temporary is still a problem.

    I think a module could do all the things those MRs are doing, it might need a couple of alter hooks on top. But that would allow sites to have Olivero installed + extras, and the module to be deprecated and removed without breaking sites then.

    Retitling for the main issue here.

  • πŸ‡ΊπŸ‡ΈUnited States phenaproxima Massachusetts
  • πŸ‡ΊπŸ‡ΈUnited States phenaproxima Massachusetts
  • Status changed to Fixed 3 days ago
  • πŸ‡¦πŸ‡ΊAustralia pameeela

    I know this was discussed plenty in Slack, I'm going to close it off and credit the participants. Obviously, we shipped with it as a theme. But since we're shifting to site templates in 2.0, we won't be shipping it soon enough. Those sites lucky enough to be using it can continue using it until Drupal 12 I guess!

  • πŸ‡¬πŸ‡§United Kingdom catch

    There are currently ~3,700 sites using the theme (going by https://www.drupal.org/project/usage/drupal_cms_olivero β†’ ) and this has increased by about 1,000 since March, is there any discussion about providing a Drupal 12 version so that it doesn't prevent those sites from updating?

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

    Drupal CMS Olivero only exists as a shim, so here's the plan that Pam and I agreed on:

    • It will never receive a 2.x release.
    • When Drupal CMS 2 comes out, we will pull Drupal CMS Olivero out of our subtree split and remove it from our codebase, turning it into an independent legacy project.
    • We'll mark it as obsolete in the info file (to prevent new installations of it while keeping existing sites alive) and tag a new release with that change.
    • We'll mark the project as minimally maintained.
    • We'll continue to do compatibility-only changes to that sites which use it, can keep using it. We'll do this indefinitely, until/unless...
    • ...a migration path to XB for legacy themes is ever created, in which case we'll implement or become compatible with that, and officially EOL Drupal CMS Olivero.
Production build 0.71.5 2024