Problem/Motivation
When in the Appearance list page you see a bunch of themes, some have dependants and some dependencies, however there is no way to know the relationship between base themes and sub-themes, quite unlike Modules which you are clearly told which ones relate (requires, required by etc).
This is not very good, some parity with modules is required, we can't expect users to guess which themes they have uninstall.
This seems like a pretty major UX problem.
Proposed resolution
Display the same information for themes as is shown for modules (machine name, version, requires and required by). As with the modules these should be collapsed by default, and use the same expandable description as was used for the modules. Contrary to the modules list, do not collapse also the operations, as this seems to be a usability regression in that case.
Remaining tasks
Review and commit patch.
User interface changes
The theme configuration page will look exactly the same, except that the version number has now been moved to the collapsed information, and the theme description can be expanded to show the required information.
API changes
None
Data model changes
None
Beta phase evaluation
Issue category | Task because this is adding some information to the theme page, that wasn't available before, and problems only occur if the user removes themes without understanding their dependency hierarchy. |
---|---|
Issue priority | Major because users don't know which themes it's safe to uninstall without looking at the info.yml files. | Unfrozen changes | Unfrozen because it only changes UI description. |
Prioritized changes | The main goal of this issue is usability |
Disruption | Not disruptive. Only textual information was added (collapsed), so the look and feel of the page remains largely untouched. |
Comment | File | Size | Author |
---|---|---|---|
#96 | display_same_info_for-2372183-96.patch | 15.35 KB | hussainweb |
#96 | interdiff-92-96.txt | 6.5 KB | hussainweb |
#62 | Screenshot 2015-09-27 14.09.13.jpg | 551.17 KB | LewisNyman |
#57 | display_same_info_for-2372183-53-2.png | 147.44 KB | XaviP |
Comments
Comment #1
tim.plunkettDupe of #2348793: I can not uninstall Classy theme
Comment #2
tim.plunkettOr is this a follow-up, saying the work done in that issue was not enough?
Comment #3
Jeff Burnz CreditAttribution: Jeff Burnz commentedYes its a follow up, that issue does not solve this problem - themes do not show their relationships to each other and the user has to guess their way to un-installing the right themes.
What sort of more info do you need? The issue is very self evident, especially when you get a chain of themes with 2 or 3 base themes.
Comment #4
Jeff Burnz CreditAttribution: Jeff Burnz commentedComment #5
larowlanNo reason to be postponed
Comment #6
jcnventura CreditAttribution: jcnventura commentedI'll work on this in the D8 MUC sprint.
Comment #7
jcnventura CreditAttribution: jcnventura commentedComment #8
jcnventura CreditAttribution: jcnventura at Wunder commentedComment #9
LewisNymanComment #11
LewisNymanNice, it's great to make this code more reusable, though I think we will tackle the majority of it in #2408505: Rewrite module page CSS inline with our CSS standards.
I noticed that the details span the full width of the page because the
theme-info
class is not floated alongside the theme image. This is obvious when the details element has focus.The spacing between the details summary and the theme title is very small. It looks a little weird. It seems like it's possible to fix this by removing the padding top from
.system-projects td
and putting it on.system-projects details summary
We also need to change some of the classes in the Seven
modules-page.css
especially:Comment #12
jcnventura CreditAttribution: jcnventura at Wunder commentedDependent on #2543904: Make attributes optional in the details template to get rid of the errors.
Comment #13
lauriiiOverall looks good and I'm +1 for doing this. We still need UX people to agree with the layout.
Otherwise things look good but this should be done in a template. We should try to avoid adding markup in PHP code as much as possible.
Comment #14
jcnventura CreditAttribution: jcnventura at Wunder commentedAs requested, this updated patch fixes the test failures here instead of in #2543904: Make attributes optional in the details template.
In addition, it takes into account the comments from #11.
Regarding #13, I just reused some code for creating the module table that was above in the same file. I think fixing it properly (in both places) should be handlded in a separate issue.
Comment #15
jcnventura CreditAttribution: jcnventura at Wunder commentedAnd the interdiff
Comment #16
lauriiiWe shouldn't add code that we know needs to be replaced in future. We can create follow-up to make the module page follow the direction that has been taken here.
Comment #17
lauriiiThis is visually broken because I changed the classes used in the template. They might not be still the final ones because they are still confusing. Maybe @jcventura you want to tackle these and the CSS changes needed?
Comment #19
lauriiiRemoved .swp from patch
Comment #20
jcnventura CreditAttribution: jcnventura at Wunder commentedUpdated mostly only the templates, and changed to short array syntax where lauriii hadn't corrected it before. (THANKS!)
Once this is commited, it will be trivial to use the same these same templates to the modules page.
Comment #21
jcnventura CreditAttribution: jcnventura at Wunder commentedOops. Extremely minor fix.. I changed the classy template so much that I copied the default over it, and overrode part of the comment.
Comment #22
LewisNymanBojan bat signal
Comment #25
jcnventura CreditAttribution: jcnventura at Wunder commentedFixed the test. The theme version is now part of the collapsed details, not the title anymore.
Comment #26
jcnventura CreditAttribution: jcnventura at Wunder commentedComment #27
floretan CreditAttribution: floretan at Wunder commentedGit complains about empty lines at the end of the template files (attached patch fixes that), otherwise it looks good.
Comment #28
larowlanPHP looks good - only one issue I can see:
Whitespace issue here
Comment #29
joelpittetThis is looking pretty good from a pure code review:
Probably needs a capital 'Truncates' and period at the end of the comment. (event though that was what it said before the patch)
Same here use @ instead of !
Does this really need a description class, why is the bem class not enough?
Can we use @ placeholders here instead of !, because there shouldn't be raw variables and that doesn't do what you'd expect anymore (if it's unsafe marks the entire string as unsafe).
might want |safe_join instead of |join or these will get double escaped.
Extra space at the top of the file.
As well as #28
Comment #30
HOG CreditAttribution: HOG at Skilld commentedComment #31
HOG CreditAttribution: HOG at Skilld commentedComment #32
HOG CreditAttribution: HOG at Skilld commentedComment #33
HOG CreditAttribution: HOG at Skilld commentedComment #34
jcnventura CreditAttribution: jcnventura at Wunder commented?? Did you even test this?
Description is needed, in order to use the same CSS as module info description. In alternative, change the module page CSS to also use BEM
Comment #35
HOG CreditAttribution: HOG at Skilld commentedFixed error.
Comment #36
andypostA bit of derail but I'm sure that's time to clean-up notion of module-theme in favour of Extension that is all over the core now
So probably class names will be "better"
.extension__theme
&.extension__module
looks unrelated change
now modules, themes and profiles are extensions. Let's keep that naming
both?
needs \n
extension_details - makes more sense
also would be great to pass "type" here
Comment #37
Bojhan CreditAttribution: Bojhan commentedI am not convinced that this is the best way to display this. Can we explore more design directions?
I am thinking about having this in a tooltip or when you click "details"?
Comment #38
id.tarzanych CreditAttribution: id.tarzanych commentedComment #39
andypost@Bojhan the only usage of tooltip we have in core is shortcut "star" - makes sense to re-use
Comment #40
id.tarzanych CreditAttribution: id.tarzanych commentedUpdated patch from #35
Please provide your thoughts about system-extensions modificator style
Comment #41
id.tarzanych CreditAttribution: id.tarzanych commentedComment #42
andypostreally questionable thing, maybe better to make them shorter
['extension', 'entension--<type>']
no reason for system prefixplease s/$description/$details_description on next re-roll
Comment #44
id.tarzanych CreditAttribution: id.tarzanych commentedUpdated patch, please review
Comment #46
andypost+1 rtbc, leaving for mark-up and css review
Comment #48
andypostfollowing failures
looks that still needed
Comment #50
hussainwebI think that hopefully this will fix the failure.
Comment #51
andypostyay! green now needs frontender's eyes on it
Comment #52
yoroy CreditAttribution: yoroy as a volunteer commentedApplying the same pattern as on the extend page seems like a good idea. Not sure if the last usability test showed any problems with this pattern on the extend page.
In reviewing this on simplytest I noticed two things:
- It's actually quite handy to have the actionable links outside of the collapsed information like on the appearance page, where they are hidden on the extend page. This is definately out of scope for this issue of course.
- The description font size on appearance is smaller than the same on the extend page . Would be nice to correct that (remove the 0.95em sizing), all those small font-size differences do not look too good.
Comment #53
jcnventura CreditAttribution: jcnventura at Wunder commentedReroll of #50, fixing the .95em sizing by getting rid of the description class as suggested in #29-3.
Also aligned the templates for both classy and seven.
Comment #54
XaviP CreditAttribution: XaviP commentedReviewed patch #53, it seems ready for RTBC to me, but I don't change the status since it's my first patch review :-D
Comment #55
lauriiiComment #56
jcnventura CreditAttribution: jcnventura at Wunder commentedComment #57
XaviP CreditAttribution: XaviP commentedReviewed patch #53 for second time, this time from drupalcon BCN ;-)
Everything ok; attached screenshot with before-after states.
Comment #58
Bojhan CreditAttribution: Bojhan commentedComment #59
jcnventura CreditAttribution: jcnventura at Wunder commentedComment #60
MustangGB CreditAttribution: MustangGB commentedThanks for the screengrab, it looks great to me.
Comment #61
jcnventura CreditAttribution: jcnventura at Wunder commentedComment #62
LewisNymanThe only problem I have with this visually is the focus on the details element. There is an issue to remove these focus effects completely: #2489450: Remove unnecessary focused/hover effects on details and vertical tabs
Thanks for the work here making the module page CSS reusable!
Comment #63
Bojhan CreditAttribution: Bojhan commentedHmm, perhaps this should be back to Needs work untill the other issue is fixed?
Comment #64
LewisNymanI think we can just have it as a follow up issue.
Comment #65
catchThis conflicts with #2151109: Convert theme_system_modules_details() to Twig could use cross-review.
Comment #66
jcnventura CreditAttribution: jcnventura at Wunder commentedWe can work on this again after that one gets committed.
Comment #67
jcnventura CreditAttribution: jcnventura at Wunder commentedRe-rolling following #2151109: Convert theme_system_modules_details() to Twig.
It makes no sense to use the system_extension_details templates in light of the that issue, so this patch copies part of the twig template from there.
Comment #68
jcnventura CreditAttribution: jcnventura at Wunder commentedComment #69
LewisNymanGreat, the appearance is as the screenshots in #62.
Thank you!
Comment #70
Bojhan CreditAttribution: Bojhan commentedCan we please make sure #2489450: Remove unnecessary focused/hover effects on details and vertical tabs gets adequate follow up, I am always a bit cautious when we do add stuff - but not have anyone of that thread active in the following issues it creates.
@jcnventura Could you make sure we appropriately follow up.
Comment #71
star-szrNothing to really hold up RTBC but one small point and a question.
Minor: Should end with a period per https://www.drupal.org/node/1354#general.
Just wondering if it would make sense for these place holders to be @theme-machine-name, @theme-version, @theme-list, etc.?
Comment #72
jcnventura CreditAttribution: jcnventura at Wunder commented@Cottser: It would make sense for those placeholders to be @extension.machine-name, @extension.version, etc.
As a translator, I don't want to make superfluous strings. So the solution is to alter these strings, both in this template and in the module page template to be a bit more generic. I can certainly create a followup issue should this one get committed. But I'm not sure if it is possible to change strings post-RC1.
Comment #73
star-szrGood point, I think this is probably fine as is then even if it's not 100% accurate.
Comment #74
LewisNymanHere's a patch for #2489450: Remove unnecessary focused/hover effects on details and vertical tabs
Comment #75
jcnventura CreditAttribution: jcnventura at Wunder commentedAnd a really minor diff to address the #71.1 (lack of a final dot in the comment). For obvious reasons, not changing the RTBC status.
Comment #76
star-szr+1 :)
Comment #77
LewisNymanComment #78
lauriiiIS defines this as UX bug. Please change the IS if you think this is a task
Comment #79
Bojhan CreditAttribution: Bojhan commentedThis is a task. A UX bug indicates we have some actual user feedback that it actually causes significant issues, we have no data/feedback of such effect. In general we are quite careful with trowing around the bug indicator.
Comment #80
lauriiiThanks for the clarification :)
Comment #81
jcnventura CreditAttribution: jcnventura at Wunder commentedComment #82
jcnventura CreditAttribution: jcnventura at Wunder commentedThis patch only generalizes the system modules / theme pages CSS, and adds some documentation to the theme dependencies.
Comment #83
alexpottThis is not rc eligible. If you want committers to consider it for inclusion in RC then the issue summary needs to include a statement of why we need to make this change and be tagged with rc target triage. It is possible that contrib or custom is already relying on the behaviour in HEAD.
Comment #84
jcnventura CreditAttribution: jcnventura at Wunder commentedComment #85
Bojhan CreditAttribution: Bojhan commentedI don't see anything changed in the issue summary to reflect alexpott his concerns.
Still don't think this should go in until #2489450: Remove unnecessary focused/hover effects on details and vertical tabs goes in.
Comment #86
jcnventura CreditAttribution: jcnventura at Wunder commentedI didn't change the issue summary, and I marked it RTBC again, because the 'needs work' was all about arguing on getting this into 'rc eligible' status. It's a fight I'm not going to fight. This will go into Drupal 8.1 or Drupal 9.
Comment #87
Bojhan CreditAttribution: Bojhan commentedPart of our community dynamics, is that when a committer pushes it back from RTBC. We take the feedback and discuss it, even if at the end we decide that his/her arguments are moot. The request from alex in this process, is one that is common from a committer and requires the set status.
It is perfectly fine if your not up for it, but please be considerate of our community process - which is responding to feedback, especially from a committer and respecting his push back on status to reflect this.
Comment #88
jcnventura CreditAttribution: jcnventura at Wunder commentedI did consider it. He asked if I could justify the need to add this change now that we're in the RC stage. I cannot. Maybe someone else can. The fact that this is no longer considered a bug, and is considered a task, makes it somewhat harder to justify the reasoning on why this should be added at this stage. The 'work needed' is no longer in the patch, which is RTBC, but in justifying the need to get it considered as an RC target, since I don't think that needs to be done, I've backtracked to the state before I added the 'rc eligible' tag (#81).
I'll wait until 8.0.0 is released and set this back to RTBC then, unless someone decides to justify getting this into 8.0.0. If someone does, don't forget to change the version from 8.1.x to 8.0.x.
Comment #89
jcnventura CreditAttribution: jcnventura at Wunder commentedSetting back to RTBC as it was in #81, as the 'needs work' between #83 and now was all about justifying the need to have this go in to 8.0.0. That is no longer applicable, as the flux capacitor in my DeLorean is broken.
Comment #91
hussainwebFirst of all, I am fixing a missing
</div>
. This won't make the tests pass. I will try to fix the tests in the next patch. I will reason why I am doing so in that comment.Comment #92
hussainwebThis should fix the tests. I am not sure if this is acceptable as it changes markup in stable theme. The reason the tests failed was because the changes got overridden by stable.
Now, I am not sure why this twig file is in stable. It is not a template that is likely to be overridden by themers. Even if it is, there are no changes to classes, etc... but there are new elements. This likely needs maintainer review and feedback. If we can't have these changes, then I can't see any other way except that this issue goes to D9.
Comment #94
Jeff Burnz CreditAttribution: Jeff Burnz commented@ #92could the template not go into Classy or even Seven? It's possible. I would think and exception for this template would be OK, the win is quite large. We could always check with contrib Admin themes to see if they override it, even if we do I think they would be well on board with supporting this anyway.
Comment #95
hussainweb#92, that's a great idea. I didn't think of it. If we put this into seven, it would make sense as well as not break stable. Of course, other admin themes still may override but at least they will not break.
Comment #96
hussainwebSorry, I meant to say #94 earlier.
This patch reverts the change to stable's template and copies it to seven. I am not sure if the tests use seven when testing, but let's see.
Comment #98
hussainwebI guess we are not using seven, or there is something wrong with the patch in #96. Any reviews please?
Comment #99
davidhernandezJust to answer that question, Stable contains all core template files. Most of the files are in fact identical. Stable's and Classy's files cannot change, but the core file can. I only glanced at that test code, but it may have Stark on as the default theme, which means inheriting its template from Stable. I would manually verify that the change in this patch works with Stark and Classy as the admin theme, which I suspect it may not.