Problem/Motivation
We are working on a new admin theme here: #3066007: Roadmap to stabilize Claro. After the new admin theme has been made default experience on new installations, we should start the process to deprecate Seven. Seven might be used by existing sites which has to be taken into account.
This issue is to do the actual deprecation of Seven. See that parent for all the tasks that need to be done to deprecate Seven.
Proposed resolution
Deprecate Seven theme to be removed in the following major release.
Remaining tasks
Work on the patch is postponed on #3278124: Convert various tests that use bartik/seven to olivero/claro but there is other work that can be done.
- Create a section on Deprecated and obsolete themes and themes to provide recommendations for sites using theme Seven. The recommendation are to include instructions for sites using Seven and for contributed themes that depend on Seven.
- Set
lifecycletodeprecated. - Set
lifecylcle_linkto the section added above, https://www.drupal.org/node//3223395#s-Seven. - The change record for this issue includes a link to the doc page.
User interface changes
API changes
Data model changes
Release notes snippet
| Comment | File | Size | Author |
|---|---|---|---|
| #28 | 3084814-28.patch | 1.06 KB | lauriii |
Comments
Comment #2
lauriiiBlocked on Claro becoming default admin theme on new installation. Progress can be followed here: #3066007: Roadmap to stabilize Claro.
Comment #4
xjmThis would be a minor-only change (and, obviously, is blocked on Claro being stable). Since 8.9.x and 9.0.x are now in beta, I'm moving this to 9.1.x. Thanks!
Comment #6
saschaeggiComment #9
lauriiiClaro is stable meaning we can start working on this!
Comment #10
catchComment #11
catchThis probably needs product manager sign-off, I think that's been done implicitly, but maybe not explicitly in a 'deprecate Seven' issue.
I don't think we should do this personally. If we move Seven to contrib, then it's viable for sites to keep using it if they had a specific reason to, and an update would actively prevent that. It would also probably have to be done in 9.x - if you get to the Drupal 10 update with seven installed and it not in core, you're in trouble before the update can even run. And switching theme on people in a minor release seems unnecessary.
Sites can manually switch to using Claro now. Marking Seven as lifecycle: deprecated will inform them what's going to happen.
Comment #12
catchLet's see what happens.
Comment #14
catchPostponing on #3278124: Convert various tests that use bartik/seven to olivero/claro.
Comment #15
quietone commentedUpdating the issue and parent according to the developing policy on deprecating modules and themes.
Removing the postponed because the task "a section on Deprecated and obsolete themes and themes" can be worked on as well as adding a change record.
Comment #16
gábor hojtsyI am definitely fine with deprecating Seven. I also don't think we should automatically update people to Claro in 9.x but we either need very solid docs or maybe some automation only in 10.x to cover the special case of Seven theme not existing to switch to Claro then? That way people can add the Seven theme to their build and keep using it or ignore the docs and magically get Claro? I think that would be a 10.x only feature though and I would not hold up deprecating Seven on it for sure. (Also I don't think that is a requirement but since we expect most sites to go that route, some kind of automation on 10.x only would be useful).
Comment #17
gábor hojtsyComment #18
saschaeggi+1 to what Gabor proposes
Comment #19
catchThis is going to be very difficult for a couple of reasons:
1. Themes have to be present in the filesystem in order to be uninstalled. We can't allow a theme to be 'missing'.
2. block_theme_initialize(), which maps enabled blocks between regions when a new theme is marked default, generally does not do a good job and requires manual intervention. So if we switch a site to Claro, it could end up with blocks in funny places, and short of a hard-coded mapping of common block and region combinations, not sure what we could do. This is coming up in #2635166: block_theme_initialize() falls back to putting blocks in the first region it finds, provide a better default for test coverage.
A solution to #1 would be to provide a stub seven.info.yml with lifecycle:obsolete. We would have to check that Seven is installed, but that it is the obsolete version, and only switch to Claro if both are the case. And this might have to happen in a pre-update step (i.e. when you load update.php) since updates are carried out in the admin theme.
But while that potentially might help with #1, it doesn't do anything for #2.
For documentation, we could definitely customize an error message and prevent updates altogether if the admin theme is missing, pointing people to documentation.
Comment #21
longwaveTriggered some retests to see what's left to do here.
Comment #22
jeroentLet's see if this fixes the tests.
Comment #23
jeroentComment #24
jeroentComment #26
catchAdded a change record.
Comment #27
dwwNothing else to complain about. No pending signoffs or blockers. RTBC! Thanks
Comment #28
lauriiiA "reroll" now that #3302800: Core tests need to filter out deprecated themes when looping over all themes has landed. Keeping RTBC since the "reroll" consists of only removing things from the patch that are no longer needed.
Comment #29
dwwAgreed on re-RTBC. Here's the interdiff to confirm #28. Thanks!
Comment #31
catchTechnically I worked on the patch here, but there's no logic change so I think I'm still OK to commit this given the multiple +1s.
Committed/pushed to 10.1.x, cherry-picked to 10.0.x and 9.5.x, thanks!