Closed (fixed)
Project:
Drupal core
Version:
9.4.x-dev
Component:
extension system
Priority:
Major
Category:
Task
Assigned:
Unassigned
Issue tags:
Reporter:
Created:
20 May 2021 at 20:59 UTC
Updated:
8 Mar 2022 at 14:04 UTC
Jump to comment: Most recent, Most recent file
Comments
Comment #2
larowlanComment #3
larowlanComment #5
xjmComment #6
catchMarked #3084816: Determine how to deprecate themes as duplicate.
On #3084816-21: Determine how to deprecate themes Gabor mentioned the possibility of not actually highlighting this on the appearance page, although not sure where that was discussed in more depth.
Bumping this to major since we at least need to discuss it.
Comment #7
gábor hojtsyI think it depdends on how actionable the information is. That is it deprecated is not useful in itself.
Comment #8
quietone commentedIt seems strange to me to indicate non-stable statuses for modules but not themes.
Comment #9
catchIf a theme is deprecated, there are broadly three options:
1. Switch to a contrib version of the same theme.
2. Switch to a different theme.
3. Fork the theme and continue using it.
However at least with core themes, if you're going to do option 1, you don't actually have to switch until you do a major update of core.
Comment #10
gábor hojtsyTo elaborate more, I think its a good idea to indicate non-stable status for themes. Depending on how we can surface the lifecycle link on the UI which would provide the detailed info.
Comment #11
xjmI do think we need to do this in order to deprecate Bartik/Seven/etc.
Comment #12
quietone commentedI borrowed code from ModulesListForm to see what this would look like for themes. Since I have not looked at tests, I am not running the tests.
Comment #13
catchThat looks like a very good start to me.
Comment #14
murilohp commentedI added a new test to validate the experimental and deprecated themes on the page on this patch, and also changed the
$theme->notesto set the$notesjust when we have it, this way we avoid empty parenthesis on the theme name. I'll leave this as NW to see which tests will fail from testbot.Comment #15
gábor hojtsyFix issue summary markup, inline images but keeping them links.
Comment #16
gábor hojtsyTesbot fails on phpcs due to the space in the
t( '@lifecycle'here I believe.Screenshots will need to be updated for the fixed parenthesis.
Comment #17
murilohp commentedHey, fixing phpcs error(#16), I forgot to upload a test-only patch, so here it is.
Thanks!
Comment #18
murilohp commentedI updated the screenshots on the IS
Comment #19
quietone commentedMaking more changes to the theme notes which will allow the test to pass.
It should be mentioned that the appearance page adds '(experimental)' to experimental theme but that is not done on the modules page. There 'experimental' is not shown unless there is a lifecycle_link. It would be good to have these two page look that same.
Comment #20
quietone commentedComment #21
quietone commentedThis just adds a class 'theme-link--non-stable' and uses that instead of 'module-link--non-stable'.
Comment #22
dwwHere's a draft CR: https://www.drupal.org/node/3262421
Very quick skim of the patch looks good. I hope to have time for a more thorough review in the next few days, but I wanted to at least help this along in some meaningful way with the time I had. ;)
I do agree with @quietone in #20 that it's unfortunate that the handling of 'Experimental' is different. And it's true that the scope for this issue is to get the warnings right on admin/appearance for non-stable themes. So in theory, cleaning up + standardizing experimental could be in scope. But the theme and modules pages already look wildly different, so there's no way we're really going to get parity here. So I'm really not sure we should be holding this up to sort that out. I think a follow-up to address that would be best. Thoughts?
Thanks!
-Derek
Comment #23
xjmDid #21 get deleted by a crosspost? Weirdly, I get a 403 if I try to queue a test for it.
Comment #24
larowlanI think we can remove this hunk and remove the else below, as this would be covered by the inner if there.
I think this 'isExperimental' condition would add the default of 'experimental theme' (fallback) and then if we remove the else, the subsequent if would check for a link and use that over the fallback
This would remove the duplication of the code that generates the link
Hopefully that makes sense, this is where the 'suggestion' feature of an MR would be an advantage
Is there an existing test we could tack this onto, and avoid paying the setup cost of a functional test for a couple of asserts
Comment #25
quietone commented#24
1. No, it didn't make sense but I've reworked the logic.
2. Tacked onto testAdministrationTheme().
Comment #26
quietone commentedObsolete modules are listed on the modules page so I assume that obsolete themes should be listed. If that is what we want then an obsolete test theme needs to be added and tested.
And I just set a theme to obsolete and then it was successfully installed. ;-)
Comment #27
quietone commentedAh, obsolete modules should not be shown in the UI according to #3258782-13: Do not display obsolete modules at admin/modules. Since they do show in the UI that will need an issue, if there isn't already one.
Comment #28
quietone commentedCreated an issue to remove display of obsolete themes. #3265362: Do not display obsolete themes at admin/appearance
Comment #29
daffie commentedAll the code changes look good to me.
I have run the ThemeTest without the fix on my local machine and it fails.
For me it is RTBC.
Comment #32
larowlanCommitted c7efd92 and pushed to 10.0.x. Thanks!
Backported to 9.4.x
Published the change record
Great work all.
Comment #33
xjmUncrediting self.
Comment #35
larowlanThis broke tests on 10.0.x
Reverted from both
Comment #37
larowlanThis was the fail on 10.0.x, obviously 9.4.x won't show up there
Comment #38
quietone commentedAdded some future proofing. This works locally for 9.4.x and 10.0.x.
Comment #39
quietone commentedComment #40
dwwFuture proofing looks great, thanks! Bot’s happy on both branches. Interdiff is small, clear, simple and means we won’t have to keep changing this test every version. Re-RTBC.
Comment #42
catchTest change looks great. Committed/pushed to 10.0.x and cherry-picked to 9.4.x, thanks!