Idea summary
What is the problem to solve?
The current Shortcut module is difficult to maintain and not well-used, with several hard-to-fix bugs. However, something like Shortcut is a product and usability priority, and would be useful for several initiatives. See #13 for a discussion of why Shortcut is being retained in Drupal core for Drupal 11.
Result: what will be the outcome?
The Shortcut module will:
- Have design and functionality improvements that make it more useful.
- Have multiple, active subsystem maintainers.
- Be enabled in Standard.
- Be leveraged by other initiatives and features.
- Be easier to update and maintain.
How can we know the desired result is achieved?
- Redesign and rearchitect the functionality as needed to achieve the above.
- And...?
| Comment | File | Size | Author |
|---|---|---|---|
| #14 | shortcuts-concept.png | 88.09 KB | yoroy |
Comments
Comment #2
jibranOne of the issues I run into very often as a Shortcut module maintainer it the lack of interest from the community in creating and reviewing the patches.
#2083123: Shortcut cleanup: Remove duplicated code and deprecate legacy functions was created 9 years ago and ever since comment #136 in the issue it has been just going around in circles. I created #2641182: Fix the config import bug in Shortcut as a follow-up but we still have no moment at all. If it were to happen in the contrib we would have made a lot more progress since then even if we were to commit a big scope creep patch which is very unlikely to happen in the core.
Another example is #2502151: Add a shortcut block view the same thing happened there after the RTBC is changed to NW all the progress just stopped and in contrib it might have been better.
Comment #3
xjmShortcut's current usage stats are based on it being in Standard. #3158669: [Policy] By default deprecate non-experimental modules that are used by less 5% of sites before the next major version shows that Shortcut has less usage than RDF (another module in Standard that we have now moved to contrib).
There are definitely some cases where shortcut is useful. However, it's one of those features like QuickEdit that's just there in the UI and does not really get used by many people. There's also been a history of technical debt and critical bugs with Shortcut that we haven't been able to address.
Evaluating it against the other criteria besides usage we've agreed on for deciding whether a module should be in core:
We then voted on whether it should be kept in core or moved to contrib, and there were seven votes for "Remove" and one for "Keep".
So there is a lot of agreement, although not full consensus, that this module should move to contrib.
Comment #4
xjmComment #5
xjmComment #6
xjmRemoving a thing from core requires signoff from all the committer roles, as well as an opportunity for the subsystem maintainer to provide feedback if there is one. That would be @jibran and @tstoeckler in this case. @jibran has already responded in #2, which is an answer that makes me think this module might have a better chance in contrib.
The committer team recently reviewed our scoring exercise on all core modules. There is a reasonably strong consensus that Shortcut is neither a foundational capability nor strategically valuable to the product roadmap, so it should be removed. I am marking RTBC, but leaving the tags on to give maintainers a chance to confirm that they agree.
Comment #7
xjmMyself, @catch, @quietone, and @longwave all agree on moving Shortcut to contrib.
Comment #8
larowlanFrom a framework manager point of view, I'm happy for it to be moved to contrib. I did an audit of our sites and it wasn't in use except for one site where someone had (in error I assume) added the batch progress page to the shortcuts.
Modules like admin toolbar provide and coffee provide a better experience for navigating admin menus.
Not removing the tag as giving others a chance to chime in.
Comment #9
dww+1 to removal from core, although I guess I'm one of those weird outliers that has made good use of shortcuts on sites where folks love them and use them all the time. 😂 Especially for not-full-admin type users... I've got sites with "Event manager" roles and those users live in their shortcut bar. On 1 site, there's a shortcut set for basically every authenticated user role, and as folks progress through their training / certifications, and get higher levels of site access, their shortcuts change, etc. But almost none of them are admins where full admin_toolbar makes sense...
Life permitting, I'd be willing to help with the core removal, and to potentially help co-maintain the contrib version.
Thanks everyone,
-Derek
p.s. Do we need tstoeckler as the other shortcut subsys maintainer to remove that tag? Should we ping any other framework or product managers? Can we actually mark this fixed and start the process of opening all the right issues, begin to make sure there are no shortcut tests or other tentacles leaking into other parts of core, etc?
Comment #10
tstoecklerThanks @quietone for reaching out! That was really nice. Due to my minimal or non-existent participation in the core queue (or this one) I guess I couldn't realistlcally have complained if this went forward without my input, but I can't say there wouldn't have been some sore feelings from my side if it did. So I really do appreciate the heads-up, thanks a lot!
Some thoughts about this, in no particular order, but the tl:dr; is: yeah, no objection from my side with moving Shortcut to contrib. Removing the subsystem maintainer review tag, accordingly.
I know it's neither here nor there, but just want to point out that I strongly disagree with this assessment.
Again, neither here nor there, but this is a really problematic statement. First of all, there's no mention who those people actually are, presumably the committer team, but yeah, please be explicit about things like that. And more importantly a blanket statement declaring something as maintainable or unmaintainable is just a very silly thing. I'm sure there was more context to that when it was actually discussed, but I don't have that context and neither does anyone else following this issue. So that (presumed) context should either have been added or this statement should have been omitted. Unsurprisingly, in this contextless form I also disagree with the assessment.
Comment #11
ressa+1 for removing Shortcut module from Drupal core. Another argument is that it'll prevent this dreaded message when importing config from another site into a fresh install:
See for example Problem during import configuration.
Thanks @jibran for attempting to fix it, too bad the progress stalled.
Comment #12
catchI also think this should move to contrib (although we'll need to remove it from the standard profile first).
I use toolbar module on every site, but even if shortcut module is installed, for me at least, it's just an extra 'shortcuts' link in the toolbar which I never click on. I am aware of sites I'm involved with using it - usually when there are multiple types of admin users that need to get to specific spots fairly regularly, but it will still be installable from contrib for those cases. Sites often take other approaches to things like this too, like admin/moderation dashboards or similar.
Since @larowlan has already signed off too, removing the framework manager tag.
Comment #13
ckrinaI’m going to open the can of worms (sorry!) but I think this feature still has value in Drupal core.
From comment #10:
From comment #3:
By the time this was filled there were no plans to renewing the main navigation(#3373292: [Plan] Administration main navigation modernization) or adding a role/persona Dashboard (#3244581: Enhance user experience with customizable dashboards). But I think those 2 initiatives would be really benefited from having a feature like this because it would help the final user. As a context, we’re trying to improve the overall UX of the admin UI (#3373303: [PLAN] Administration UX improvements) and nothing is written in stone, but the the initial hypothesis (which will be validated with user tests) is that this feature could help with user journeys and make the UI more effective and easier to navigate.
On a usability perspective I see this feature as an industry standard since a lot of users assume they will be able to customize their UI with their own most common pages. We can see it named as Shortcuts, Bookmarks, Starred or Favorites, but the same or a similar feature can be seen in a variety of software that goes from browsers to websites like Gitlab and Github to MacOS Finder.
I totally understand the burden of maintaining really old code, but if we remove Shortcuts instead of updating the existing code (and obviously finding a new maintainer/s would be required) we’ll add all the extra work and burden that requires adding a new feature, while Shortcuts already made its case years ago. Discussing it at Drupal Dev Days in Vienna with @lauriii, @xjm, @longwave and @Gábor Hojtsy, it looks like maybe there isn’t many cases where an outdated or unmaintained module has been updated (while several have been removed from core), and maybe this could be an opportunity to figure out a process for this.
Comment #14
yoroy commentedFor a such a modular system as core + contrib is, I think it's fundamental for the core part of the system to provide a mechanism for creating a customisable set of links to important/often used create/admin pages. Tools for navigating a Drupal application are not optional features but fundamental capabilities. I do agree that current Shortcut ux is not providing what is needed to do that well, but in the general sense, I think this capability should be provided by core.
Comment #15
yoroy commented(forgot I had attached an image, a version of that diagram is also in #3203618: New “content creation” menu proposal, with a previous ux maintainer reviewing it as "great idea, like a more opiniated shortcuts menu." :-)
Comment #19
xjmAdding credits from the in-person discussion mentioned in #13.
The question is, how do we get to the Shortcut module we want from the (mostly unmaintainable) Shortcut module we currently have?
Comment #20
tstoecklerRe #19: As noted above I would appreciate if you could refrain from making such assertions; putting it in parentheses doesn't make the claim any less unfounded or vague.
I, as a (now past) maintainer do not consider the module unmaintainable and I tried to make that quite clear above already. If you disagree, that's totally fair, but then please actually make a case for your position and do not just state it as fact.
Comment #21
ckrinaSorry @tstoeckler if it sounded bad. Probably one of the first things we need to do is to evaluate what needs to be changed so there isn't the assumption that what's in there is not maintainable at all and we know what to focus on.
From comment #19:
Maybe a good starting point would be to give visibility to this need so people know it exists. I guess it could take the form somehow of an "initiative" where a plan would need to be created. And I guess the team working on that could be the ones suggesting where to go, together with some direction of Product Managers as it happens in other initiatives. And I guess the whole process would be a way to show they can be maintainers?
Also I'm assuming this plan could have an initial research process, and part of it could be evaluating the existing code.
From comment #2:
I guess we have to acknowledge some responsibility here as maintainers. I hope with the effort happening around the new navigation and the dashboard we can move some attention into this?
Comment #22
catchfwiw I think this is one of the factors leading to verdicts like 'unmaintainable' - it's not that shortcut is inherently unmaintainable, it's that if you is try to work on it, you get stuck, because few people work on it. Few people work on it because (anecdotally) most people who work on Drupal core don't actively use it, even if it's installed on sites they work on - e.g. I tend to navigate via browser history or muscle memory most of the time, or clicking through the admin menu, but never shortcuts.
This is compared to say Views which very hard to work on, but which tends to have more people active on the issues (but still overall, very hard to maintain), vs something like syslog module which hardly ever gets worked on, but also doesn't do very much (so overall, easy to maintain).
Shortcut is in the middle where it has both config + content entities, references to paths (which might change under its feet) + interfaces to deal with, but not many people actively working with it.
Comment #23
quietone commentedRemoving versions from the title. They can be added back if this is approved.
Comment #24
quietone commentedThere is support for deprecating Shortcut and moving it to contrib. However, this still needs product manager review.
Since there is no patch here I am setting this to Active.
Comment #25
ckrinaMy comment from #13 still applies: Shortcuts is a net win for 2 active initiatives so my vote is against removing it from core. Both the new Navigation and the Dashboard are planning on using features from the Shortcuts module.
It is true that it would be great to update the code and functionality it provides, but if we remove it from core it'll be complicated to add it again.
Comment #26
catchYeah per #25 if we have new use-cases for shortcuts in core then we shouldn't remove it. I think we should probably mark this postponed - once we're actually using it for dashboard and/or navigation changes in core we could close this as won't fix, if there's a change of direction later and shortcuts usage in core stays as the status quo, we could re-open this for discussion again.
Comment #27
quietone commentedAdding related issues from #13
Comment #28
xjmComment #29
xjmSince there's consensus that the original proposal is "wontfix", rescoping this to be a meta about fixing Shortcut so it's not something we constantly wish we could remove from core.
Comment #30
xjmComment #31
quietone commentedThe Ideas project is being deprecated. This issue is moved to the Drupal project. Check that the selected component is correct. Also, add the relevant tags, especially any 'needs manager review' tags.
Comment #33
quietone commentedThe Shortcut Module was approved for removal in #3476880: [Policy] Move Shortcut module to contrib.
This is Postponed. The status is set according to two policies. The Remove a core extension and move it to a contributed project and the Extensions approved for removal policies.
The deprecation work is in #3569117: [meta] Tasks to deprecate the Shortcut module and the removal work in #3569121: [meta] Tasks to remove the Shortcut module.
Shortcut will be moved to a contributed project before Drupal 12.0.0 is released.