Enhance user experience with customizable dashboards

Created on 19 October 2021, about 3 years ago
Updated 17 April 2024, 7 months ago

What is the problem to solve?

We have several problems to solve:

  • Showing users /user after 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/content could 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/content page, 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

  • 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:
🌱 Plan
Status

Active

Component

Idea

Created by

πŸ‡¨πŸ‡­Switzerland saschaeggi Zurich

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

Not all content is available!

It's likely this issue predates Contrib.social: some issue and comment data are missing.

  • πŸ‡¬πŸ‡§United Kingdom catch

    The Standard Profile ships several "personas" to match the roles (e.g. Admin, Content Editor, etc), and we have some kind of way of matching a Dashboard to one or more roles (maybe just used the conditions system that Blocks use for visibility, but with only role based conditions, none of the page stuff);

    Roles 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.

  • πŸ‡ΊπŸ‡ΈUnited States dww

    Roles 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.

    But 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.

  • πŸ‡ΊπŸ‡ΈUnited States dww

    Here's the relevant help text at the top of /admin/people/roles on 10.1.x:

    Here, you can define the names and the display sort order of the roles on your site. It is recommended to order roles from least permissive (for example, Anonymous user) to most permissive (for example, Administrator user).

    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.

  • πŸ‡ͺπŸ‡ΈSpain penyaskito Seville πŸ’ƒ, Spain πŸ‡ͺπŸ‡Έ, UTC+2 πŸ‡ͺπŸ‡Ί

    There'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/

  • πŸ‡¬πŸ‡§United Kingdom catch

    But 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.

    That 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.

  • πŸ‡¬πŸ‡§United Kingdom AaronMcHale Edinburgh, Scotland

    So, 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.

  • πŸ‡¬πŸ‡§United Kingdom catch

    OK if that's no longer the plan it's probably not worth talking about the drawbacks with it, but tagging for issue summary update.

  • πŸ‡«πŸ‡·France andypost

    The efforts reminds me ✨ Add simple blank page creation capability Needs work

  • πŸ‡ͺπŸ‡ΈSpain ckrina Barcelona

    Updating 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.

  • πŸ‡¦πŸ‡ΊAustralia pameeela

    It 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 /user is 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.

  • πŸ‡ͺπŸ‡ΈSpain penyaskito Seville πŸ’ƒ, Spain πŸ‡ͺπŸ‡Έ, UTC+2 πŸ‡ͺπŸ‡Ί

    @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.

  • πŸ‡¦πŸ‡ΊAustralia pameeela

    Ah very cool! I missed that detail in the issue summary that it was building on an existing contrib module. It looks awesome!

Production build 0.71.5 2024