Category bundles, aka category intersections


(Lisa Wess) #1

Hi all, so I know you have this great category structure and put a lot of thought into it. And I love it.

I’d love one additional feature here to group categories in a way that the groups could be collapsible hiding the categories underneath (i.e. “category bundles” or “category groups” or “category directories” or “category intersections”). I’d find that useful here on Meta actually.

What we want to do is things like:

Products (no topics belong here, this is purely for grouping. It is not a category! Perhaps permissions on this that cascade down might make sense for some.)

  • Product Category
  • Product Category
  • Product Category

Community

  • Category
  • Category
  • Category

Internal

  • Category
  • Category
  • Category

So on Meta it might work like so:

Support:

  • Dev
  • UX
  • Extensibility
  • Howto
  • Login
  • bug
  • feature
  • Installation
  • faq

Community:

  • Praise
  • Blog
  • Discourse hub
  • marketplace
  • hosting
  • meta
  • releases

This would allow more organization, easier finding of things, and for folks to focus on the general areas of their choice.

Thanks for considering it!


Rationale Behind Latest As Default Homepage View
Category Intersections
(Tobias Eigen) #2

isn’t that how it already works?


(Lisa Wess) #3

No - those are categories:

Category

  • Topic 1
  • Topic 2

If I understand what you’re showing in your screenshot.

What I want is… not really another hierarchal level - only a way to group like things together without ability to use it for Topics themselves.

  • Support
  • Product Category
    • Topic 1
    • Topic 2
  • Product B category
  • Topic 1
  • Topic 2
  • Community
  • blog
    • Blog Topic 1
    • Blog Topic 2

Topics themselves couldn’t belong directly to these groupings - only categories. I’m seeing this as mostly aesthetic.


(Jeff Atwood) #4

Sounds like you want tags? The official tag plugin is well supported.


(Lisa Wess) #5

No, I don’t want tags. If you look at our forums - they have many categories. Some are about Products, some are about Community, and some are Internal. I want a way to group those “types” together with a heading between the groupings so they look separate and are easier to scan in our long list of categories.

Other forum software does this. So you can “section” each off on the homepage. Here’s an example at a CMS I’ve used in the past. The forums are fairly dead, that isn’t important to this conversation…

You’ll see how there is a “grouping” such as “Community Gathering” “ExpressionEngine 2”, “MojoMotor” etc. These each have categories with topics inside of the categories. It is a visual separation.

Does that make more sense?


(Jeff Atwood) #6

The only way to do this is to structure it into categories and subcategories per your outline.


(Lisa Wess) #7

That top level that I posted isn’t a category - it’s a … grouping label. In any case, semantics aside (as another level of Categories would solve this) - is there anything at all like this coming down the line?


(Jeff Atwood) #8

We have no plans for adding a third level of categorization at this time.


(cpradio) #9

Your only other option is plugin. Write a plugin to take over the categories page and break it out however you want. It will be a bit of a pain to keep updated, but it is doable.


(Lisa Wess) #10

Bummer; really, really wanting a way to group these like things together. Oh well, thank you @codinghorror

@cpradio - we avoid anything that is a maintenance problem so we’re unlikely to go that route given your warning. Thank you for the idea!


(cpradio) #11

Yeah, let me go into more detail on the pain points so you can determine if it matters to you or not.

The biggest pain point is if you want to display X number of topics with their respective columns (that exist today on the Categories view).

Do better visualize this, see the below image (where the arrows point to)

Those will be your problem areas. However, you can get around that partially. You could create a new model that returns that data that only your customization would use. It queries SQL and caches and so forth.

If you went that route, any changes by Discourse would likely not damage you too much (unless they move things deep down in Core that deal with how you query Topics, how you Cache results, etc.

You could then create a template/view that has the Groupings hard coded in the design and each section then puts their respective sub-categories and topics however you see fit. Technically you could create a view like latest under each category and limit it to the 10 recent topics (if you wanted).

Where you will run into pain points is if you want to reuse the categorries model that already exists or modify its templates directly. That bit us for a long while with our own theme and we’ve recently moved away from some of our customizations to get rid of that nightmare.

Anyway, this is more “food for thought” and a better explanation of what I meant by pain points.


(Lisa Wess) #12

@cpradio - I am very grateful to you for taking the time to write that up. I’ll bring it to our devs; from what I’m seeing this isn’t going to be worth the maintenance nightmare that would ensure.

Thank you again!


(Christopher Galpin) #13

I’m a little confused interpreting that screenshot today in 2017. Is that how it actually looked circa November 2015 (minus the red arrows)? Or is it entirely a mock-up?

I seem to remember it looking that way, with the 4 latest topics in each category. This was really important to my (stubborn, change-resistant :grinning:) users as the grouped topics made it similar to old forums.

Nowadays it seems the topics listed on the Categories page are no longer grouped by category, it’s just a latest-ordered list similar to the main page.


(Daniela) #14

This is a site setting still available. Try to search in the site settings for desktop category page style and set Categories with Featured Topics


(Erlend Sogge Heggen) #15

A post was split to a new topic: Category Intersections


(Erlend Sogge Heggen) #16

Continued here: