Page MenuHomePhabricator

Clean up and Graduate HotCat via Beta Features
Open, MediumPublic


(Copying from the retired trello board...)

Notes for a potential expansion/extension-ification of HotCat

Main docs

To do:

  • Better category suggestions
  • Change edit/view paradigms
  • Visual redesign
  • Highlight nested categories
  • Sort categories by frequency of use
  • Flow for removing broad parent categories
  • Fix placement on page

@Jaredzimmerman-WMF wrote:

@connorshea I've attached the design sketches, they are in editable fireworks png if you have fireworks the file is modifiable, otherwise you can just use it as a reference. I'd love to have category interactions be something you can do outside of the wikitext editing environment and outside of VE, similar to the way HOTCAT works now but more polished, and have a very natural feeling mode switch between using categories as a means of navigation and editing and interaction with them.

category_interactions.png (619×2 px, 217 KB)

@connorshea wrote:

I made this mostly just for fun as something to use in Userboxes, etc. [...]

HotCat_Logo_Draft.png (4×3 px, 179 KB)

Event Timeline

Quiddity raised the priority of this task from to Medium.
Quiddity updated the task description. (Show Details)

The problem with HotCat is that the code is extremely unmaintainable, written a long time ago using techniques which were good then but have better alternatives now, and tries to be compatible with ancient versions of MediaWiki – which has negative effects on modern versions of MediaWiki, especially because it keeps breaking when implementation details of core scripts or ResourceLoader are changed for this reason.

Please, do not convert HotCat in its current form to an extension. It would not improve its maintenance (I can guarantee that no one will step up to maintain it, because we value our sanity), and it will make it more difficult for gadget writers to maintain it.

@matmarex : Could it be re-written from scratch, and then be more maintainable? For that matter, could the main features of HotCat and/or Cat-a-lot be merged into MediaWiki core? These are key tools for Commons, and HotCat is used on all of the larger wikis.

The user interface resembling HotCat is already in core - mw.widgets.CategoryMultiselectWidget - and supports the different types of search offered by HotCat - mw.widgets.CategoryMultiselectWidget.SearchType.

VisualEditor offers this functionality with the ve.ui.MWCategoryWidget, and there is a task to T147811: Unify mw.widgets.CategorySelector and ve.ui.MWCategoryWidget.

The user interface resembling HotCat is already in core - mw.widgets.CategoryMultiselectWidget

This is the same widget that UploadWizard uses to let you add categories. Seems like this should be pretty straightforward to implement.

Note that if HotCat was extensionized, it would probably need to be an opt-in feature since the main reason most wikis don't make it a default gadget is that they're worried about mis-use by newbies. Of course this could be left up to the consensus of each wiki community.

Just wanted to note that VE already has this functionality in VEPage optionsCategories, but without using mw.widgets.CategoryMultiselectWidget.

Screen Shot 2018-01-16 at 10.00.48 AM.png (459×712 px, 68 KB)

These two existing interfaces are missing a bunch of features of HotCat, e.g. navigating over parent categories and subcategories, setting sortkeys, or following category redirects. (They also obviously have no ability to save the changes, it's just a selector for categories.) This is actually a pretty nice description of HotCat's features:

Rather than add all the advanced features of HotCat, I would suggest retaining the HotCat gadget as a tool for power-users, and disabling the simple Beta Feature version if they have HotCat enabled. This is similar to how Page Previews interacts with Navigation pop-ups.