Grouping or prioritisation for items in create menu

Created on 28 June 2024, 5 months ago
Updated 3 September 2024, 3 months ago

Problem/Motivation

Follow up from #3203618-18: New “content creation” menu proposal

The updated 'Create' menu displays a variety of items that can be created, including content, media, redirects and users. This is very logical and an improvement on the previous structure, but it lacks consideration for priority or frequency. On many sites I have worked on, users almost never create media items outside of content, so having each type as an option here complicates the decision process unnecessarily.

Proposed resolution

One option is grouping content by type: This is a fantastic way to reduce clutter and make it easier for users to find what they need. By grouping similar entity types together (e.g., Content type, Media, User, Other), users can quickly scan the menu and identify the right option. This also helps address the potential name clashing, for example a "Video" content type and media type, as options within a group are less likely to have conflicting names.

There are likely other possibilities too and I would be curious what user testing shows about this menu. Because maybe I'm wrong and just too used to the Drupal way.

There is also the path of making it configurable but I do still think we need to at least assess whether this is optimal as a default.

Remaining tasks

Decide whether to do something like this, and if so, determine the best approach.

User interface changes

TBC

API changes

N/A

Data model changes

N/A

Release notes snippet

TBC

Feature request
Status

Active

Version

11.0 🔥

Component
Navigation 

Last updated 1 day ago

No maintainer
Created by

🇦🇺Australia pameeela

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

Comments & Activities

  • Issue created by @pameeela
  • 🇳🇱Netherlands ifrik

    This idea had come up previously as issue 📌 Add "Add" item to toolbar. Needs work including input from the UX team.

    Some questions that had come up with that:

    - Do content creators need to know what entity type they are creating? Or do they just need to know how it's called on their site?
    - How does it look if there are so many items that list is longer then the screen?
    - Contrib and custom modules should also be able to add their links into the list.

  • 🇦🇺Australia pameeela

    I’m not totally sold on the grouping idea, that was proposed in the other issue. I guess I don’t have the solution, just raising a concern about the current UX.

    I myself find it hard to parse even the shortest list to find the content type I’m after. But I'm willing to concede that this is just because it’s a change and new users may not find the same.

  • 🇳🇱Netherlands ifrik

    Some more thoughts after having discussed this with some people at DevDays:

    • If the items are not grouped then they would need to be listed alphabetically - rather then having them sorted by type but without disclosing that to the content creator. Without headings to group them, that just looks like a scrambled random list. And as in the issue description: some are used so rarely that it looks more like clutter..
    • Grouping them by type and using that as a heading (node/content, media, user, taxonomy term etc.) provides some structure, and a way to break down long lists. But does the content creater need to know what is what entity type?
    • On many sites, different types of content might belong together. For example, on a site that displays information about conferences, the content creator might need to create a node for the event, several speaker profiles, a taxonomy term for the city and a custom geo entity for the venue. Grouping them together would improve the UX for the content creator, and as site builders we can configure that for them. It can't be standardized, but grouping by type looks and works nicely out of the box, then we can just change it for the individual site. (Even if it requires some content export for the new menu items.


    Note: this is not for the look and feel but an example, how menu items could end up on specific website if grouped for the content creater UX.

  • 🇨🇦Canada mandclu

    Further to the previous comment, the Type Tray module does allow for grouping content types into categories. Maybe there's a way to leverage those groupings in the menu?

  • 🇬🇧United Kingdom catch

    Redirect and media bundles don't really belong here IMO.

    Redirects are content entities, but they're not site content, and they're usually created silently by pathauto, creating manual redirects is much more of an edge case.

    Media entities are usually (but not exclusively) created via the media widget on other entity types.

    I also personally wouldn't put 'User' here either since there can be sites where a user is never manually created.

    If all of these were gone, the list in the issue summary would be very short, and then categories might not be necessary at all.

  • 🇬🇧United Kingdom tonypaulbarker Leeds

    Here we need to consider that people add their own types so there can be many, many items on this list.

    I think we have these three things to consider:

    1. Navigation structure
    2. Handling many / unknown number of items
    3. Presentation and ordering

    Navigation structure

    @catch makes a great point that media and redirects don't belong here. From the top level of this menu, I would expect to select 'media' to create a media item. We should consider only having content types here. That being the case renaming 'Create' to something more informative for that scenario. I don't think 'Create' by itself is the right word because it can easily be confused with carrying out a creative task like setting global colour and theming parameters.

    For figuring out the structure in the menu for these items, this is a perfect candidate for a tree testing exercise.

    Without putting work into research, I think we would find that content types are a special case and if we have 'create' in this menu for other things it would fall below a top level item for the topic. For example, 'Add new redirect' should be under a top level 'SEO' menu item; 'Upload files' should be under 'Media' top level menu item.

    For an entirely different approach, @ifrik might be onto something with the mockup in #4 if users could expand and collapse 'create' but I don't think we could have it always expanded, as it would increase the size of the top level.

    Handling many / unknown number of items

    If we only have content types here then it might also solve the many items problem but we might still think about what a user sees when there are 40 content types. 'More' links are the obvious thing or just the ability to endlessly scroll, but there might be other design devices.

    Presentation and ordering

    For ordering, the most useful thing for users I can imagine would be that the first items in the list are their individual most recently used or most used, the most used by all users of this instance, or the most popular based on some analysis.

    I can see the use case but I'm (probably) not in favour of heavy duty configuration in core because the less cluttered the system, the easier it is to use. I think this would be for a separate issue, but we could add in place editing and handles across the navigation so that either users with elevated privileges could rename headings and reorder items in place globally or each user could set their own. If a majority of users do want to do more than this, it's an indication that we haven't got the default behaviour right.

    I think icons would help - even for custom types there are popular names that we could provide icons for

    Quick win?

    With what we currently have in place I would suggest this for a quick win and then follow up with design and ideation:

    Group the items by entity type with a heading (Content Types, Media Types) just as described in the 'Proposed resolution'
    Decide on a sensible limit for items in each group
    If more than the limit, print a 'more' link

Production build 0.71.5 2024