What is the problem to solve?
We have several problems to solve:
- Showing users
/userafter login doesn't result in good UX because the information on that page is not relevant most of the time. Showing users another single purpose page like/admin/contentcould work for content editors but might not be suitable for administrators or site builders. - The starting point for each journey is different for each task and user. There isn’t a centralized place that gathers most of the most used tasks per user.
- The closer place where a user can see an overview of relevant content (i.e. content for review or work in progress) is the
/admin/contentpage, but to actually get the needed information it still needs to be filtered. Which means that it needs several steps and doesn’t solve that purpose by default. - There isn’t a place to show site-wide communications.
Who is this for?
Anyone who uses the admin interface, e.g. content authors/managers, site managers/administrators, and site builders.
Result: what will be the outcome?
- Increased user satisfaction: by providing a more relevant and personalized experience, users are more satisfied.
- Improved productivity: users can quickly access the information they need based on what is relevant to them.
How can we know the desired result is achieved?
Conduct user interviews to evaluate the effectiveness of the changes:
- Several workflows are started from the Dashboard.
- Redirection after login doesn’t cause any confusion.
Proposed solution
Provide an option to configure where users are redirected after login. Site builders could use this to redirect users to URLs like /admin/content instead of /user: #43483: Add trigger/action for custom after-register, after-login and after-logout events.
Define a sensible default value for the redirect path for the "80% use case".
Add dashboards that are customizable based on tasks that are able to accommodate more complex needs, especially for site builders and administrators.

Screenshot of Gin Dashboard idea by @saschaeggi
Implementation plan
Validation and foundational work
- Make defining the redirect destination possible through the UI out-of-the-box: #43483: Add trigger/action for custom after-register, after-login and after-logout events.
- Research what is needed to meet the 80% use case.
Dashboard MVP
- Research what content each persona expects to have on the dashboard
- One of the pitfalls of the previous dashboard was that there wasn't enough content that could be added to the dashboard which made it less useful for many users
- Define and validate a technical solution:
- Existing work to take a subset of contrib Dashboards module into a core module. Work happening in: https://github.com/penyaskito/dashboard-initiative
Post MVP
- Menus as blocks? Similar to https://www.drupal.org/project/menu_block
- @to-do
| Comment | File | Size | Author |
|---|---|---|---|
| Gin_FutureUI_Dashboard.png | 478.61 KB | saschaeggi |
Comments
Comment #2
saschaeggiComment #3
benmorss commentedIf this dashboard does come to be - would it be an appropriate place to offer site owners some information on web performance?
For example, automated testing from Webpagetest or Core Web Vitals. Or something like a running total of bytes of JavaScript, perhaps even with a discoverable breakdown showing which modules are adding how much.
See also https://www.drupal.org/project/ideas/issues/3230920
Comment #4
saschaeggi@benmorss At least in my head this new dashboard would have a preset for each role but you could add your own stuff to the dashboard. So it would make it possible to almost add anything to it including performance metrics.
Comment #5
ckrinaThis is exiting!
Adding some issues as background info to help with the discussion:
Comment #6
aaronmchaleBack in October, during a thread in Slack, I shared some of my idea as to how this could work:
There were other ideas/responses/discussion in the thread, this is just what I contributed during the discussion, I didn't want to publicly share anything other people said, I will leave it up to those individuals to contribute their ideas.
Comment #7
ckrinaComment #8
ckrinaComment #9
ckrinaComment #10
webchickI somehow didn't know about the existence of this issue but OMG. 😍😍😍 This looks SO great! Excited to see how this evolves, and please let me know how I can help! :)
Comment #11
aaronmchaleComment #12
aaronmchaleThe latest usability review of #3206643: Project messaging channel in core (as experimental) recommends using a Dashboard for the announcements.
Comment #13
catchRoles are additive, so an admin can also be a content editor - if someone has more than one role, and each role matches a dashboard variant, how do you choose which dashboard they get? We also don't have metadata for roles except for the special superuser admin role, i.e. there's not really a way to indicate precedence.
It would be a lot simpler to use the existing block visibility system - i.e. you either have access to a block or you don't, and then the combination of roles/permissions that you have determines which blocks show in your dashboard. This would mean only one dashboard with blocks that might or might not show on it. Would likely be a lot messier for people with lots of roles, but the roles system just doesn't allow for per-role functionality, it's always been only a way to determine permissions, not something to hang logic off itself.
Agreed that the main issue with the old dashboard that there was nothing much on it, and also while it didn't have big technical problems (compared to say quickedit or overlay which were added around the same time) it also didn't provide a basis for contrib to build on. In this case the layouts system is already the basis for contrib to build on, which is good, but I'd be wary about adding a whole layout variant infrastructure to core especially given the above concerns about choosing variants based on role.
Comment #14
dwwBut roles do have weights, and the UI tells you to weight them from least powerful to most. So we could just say “the heaviest role the user has” or whatever.
Comment #15
dwwHere's the relevant help text at the top of /admin/people/roles on 10.1.x:
Especially given the proposal includes "customize your own" and we're just talking about a default dashboard setup for you, the one based on your most permissive role seems totally fine.
Comment #16
penyaskitoThere's a group of people that have been working on this for a couple of months already, and on today's call we discussed that we need to update this idea, but you beat us to do that.
While we work on that, some links:
* We are communicating in the #dashboard channel on slack.
* We have a sandbox at https://www.drupal.org/sandbox/penyaskito/3327580
* You can find a demo at https://github.com/penyaskito/dashboard-initiative
* You can see the demo online at https://main-ps44ayjkzq3gdy5zk1fifpraj8ctkihy.tugboatqa.com/
Comment #17
catchThat still tracks to essentially security concerns rather than UX. 'User admin' would usually be the 'heavier' role than 'content admin' for security reasons, but this doesn't mean it's the main role of the account. Say I'm a content admin on d.o and have blocks with comments and nodes to review, then I get additional user admin access to block spammers and suddenly those blocks disappear.
I did have one thought which would be to implement the role based dashboards as tabs, and then you'd have access to whichever ones you have access to. Has its own problems but would mean that people don't lose access to stuff they're relying on when roles are added.
Comment #18
aaronmchaleSo, for context, I think we've moved past the idea of this being based on roles and instead are focusing more on Dashboards which meet specific personas.
So for example, you could have a dashboard focused on content creation/management, or another one focused on site administration. My ideal vision (and this is just my perspective) you could decide to place a dashboard anywhere that made sense, so for example you might decide to place a content focused dashboard under /admin/content, and then it would appear there as a tab.
Comment #19
catchOK if that's no longer the plan it's probably not worth talking about the drawbacks with it, but tagging for issue summary update.
Comment #20
andypostThe effort reminds me #1840500: Add simple blank page creation capability
Comment #21
ckrinaUpdating issue summary with existing plan and proposal. We're organizing ourselves at the #dashboard and #admin-ui channels in Drupal Slack for anybody willing to get involved or with any questions.
Comment #22
pameeela commentedIt might be an option to consider an initial dashboard that shows various things based on permissions only, and otherwise isn't customisable. Tailored ones per persona are obviously better, but the current state of seeing
/useris really bad. So this could be a two-phased approach with the first one being the same for all and later versions being customisable.Wordpress and Joomla provide standard dashboards and they're not perfect, but still better.
Or maybe this is a separate task to create a nicer destination for login? Since it seems based on #18 this has expanded a bit beyond just the login use case.
Comment #23
penyaskito@pameeela That's mostly the plan :D
You can see the current progress at https://www.drupal.org/project/dashboard. There is a tugboat link available that you can use for a live demo of the standard profile defaults (admin/admin, editor/editor). Join #dashboard on Slack if you want to discuss, we should shortly update again this idea description.
Comment #24
pameeela commentedAh very cool! I missed that detail in the issue summary that it was building on an existing contrib module. It looks awesome!
Comment #25
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 #26
quietone commented