Extension manager category list

Only the first 14 category names show up in the extension manager (Windows, latest nightly):

For example, Registration category is not shown.

How should we fix this?

  • Option A: fix category in all s4ext files to have meaningful categories(current categories are quite useless now, as there are only 1-2 extensions in most of them)
  • Option B: Fix Midas3 slicerappstore to show all categories
2 Likes

Option A

Given the current infrastructure, we would have to submit an update to the project itself since it used to generate the description file.

Option B

Note that all categories (and sub-categories) are expected to be visible if they have at least one extension.

On the frontend, generation of the current category list happen here:

and the corresponding data are gathered using a call like this one:

http://slicer.kitware.com/midas3/slicerappstore/index/categories?os=win&arch=amd64&revision=25939

returning

{
  "Applications":"1",
  "Astronomy":"0",
  "CARMA":"0",
  "Cardiac":"2",
  "Cardiac MRI toolkit":"0",
  "Chest Imaging Platform":"1",
  "Converters":"1",
  "DICOM":"1",
  "Developer Tools":"3",
  "Diffusion":"2",
  "Diffusion.Tractography":"1",
  "Editor Effects":"1",
  "Editor Effects New":"0",
  "Epilepsy":"0",
  "Examples":"1",
  "Exporter":"1",
  "FiberViewer":"0",
  "Filtering":"2",
  "Filtering.Anomalous Filters":"0",
  "Filtering.Morphology":"0",
  "Heart":"0",
  "IGT":"9",
  "Informatics":"4",
  "Informatics Utilities 'Developer Tools'":"1",
  "Libraries":"1",
  "MARGIN CALCULATOR":"0",
  "Machine Learning":"1",
  "Mesh Generation":"1",
  "Microscopy":"0",
  "MultiDimension":"0",
  "Multidimensional data":"0",
  "Nuclear Medicine":"1",
  "Pathology":"0",
  "Port Placement":"0",
  "Quantification":"7",
  "Radiotherapy":"3",
  "Registration":"2",
  "Remote":"0",
  "Scoliosis":"0",
  "Segmentation":"11",
  "Sequences":"1",
  "Shape Analysis":"5",
  "Shape AnalysisRegistration":"0",
  "Surface Models":"0",
  "Thingiverse":"0",
  "Tractography":"0",
  "Training":"1",
  "Transforms":"1",
  "Utilities":"0",
  "Vascular Modeling Toolkit":"1",
  "Volume Rendering":"0",
  "Web System Tools":"1",
  "Wizards":"1",
  "\u201cIGT\u201d":"0",
  "\u201cRadiotherapy\u201d":"0"
}

Json formatted using https://jsonformatter.curiousconcept.com/

Alternative idea

Categorization could be done one our side without expecting extension maintainer to assign a category.

We control the ExtensionsIndex, so we can change the categories.

The category list is cut off at about 14 elements. For example, you don’t see Registration category until you remove some modules by filtering, for example:

All modules are shown - Registration category not visible:
http://slicer.kitware.com/midas3/slicerappstore/?os=win&arch=amd64&revision=25939&category=&search=&layout=layout

Only a few modules are shown, Registration category shows up:
http://slicer.kitware.com/midas3/slicerappstore/?os=win&arch=amd64&revision=25939&category=&search=ela&layout=layout

If we cannot fix Midas then we should probably override category submissions in the ExtensionsIndex.

I suspect the category with quote is causing trouble. Informatics Utilities 'Developer Tools' … looking at the code now.

I think that will prove to be a lot of work with the current process in place. This means that every PR would have to be manually tweaked or fixed after integration.

Not many extensions use git hashes and updates are not that frequent anyway. When we get an updated s4ext with a mismatched category name, we would ask developers to update their extension with the new category name and regenerate the s4ext.

Fixing Midas would be useful regardless.

It means we should document the current valid and accepted category. That would help both “maintainer of” and “contributor to” the extension index.

Inclusion of new category would then be discussed and agreed within the community.

Look like the culprit is indeed the category with quote, it should be easy to fix by having a robust sanitize function …

The problem is here:

Issue has been fixed in midasplatform/slicerappstore@68db48e and deployed on the server.

This is great, thank you. Some more tuning may be needed, as clicking on the category with ’ in the name does not bring up any extension:

http://slicer.kitware.com/midas3/slicerappstore/?os=win&arch=amd64&revision=25939&category=Informatics%20Utilities%20’Developer%20Tools’&search=&layout=layout

I’ll start a new topic on defining good extension category names.