How to integrate the new local extensions index in the Extension Manager UI

Hi devs,

XWiki 12.10RC1 comes with the new local extension index and uses it by default.

The idea of the new index is to regularly gather extensions from configured searchable extensions repositories and check their compatibility (try to create install plans) on each active namespace (the root namespace and initialized wikis namespaces right now).

For 12.1RC1 my focus for the UI was on getting only compatible recommended extensions by default but still make easy to switch on/off those new features (use the index and filter on compatible extensions) in case of problems since it’s still very young and even when everything goes according to plan you still have an unavoidable delay related to how often you refresh the index and how long it takes to validate a complex extension (for example the very first indexing has to create an install plan for about 600 extensions on two namespaces so it can take a little while).

Since I did not had much time I also tried to limit as much as possible the modifications to the existing UI.

So the current UI indicates when the last indexing was done, if one is currently running (by displaying the progress when one is currently running) and allow you to force a new one. It also gives the possibility to switch on/off:

  • filter recommended extensions (not new but the way to do it changed a bit to be consistent with the new switches)
  • use the index (as opposed to directly search on the configured repositories)
  • filter compatible extensions

fulloptions nocompatible noindex norecomended

The point of this topic is to use this as basis and discuss possible improvements to this UI (with the disclaimer that I definitely don’t have time for any complex UI refactoring).

Some suggestions to improve:

Here are the comments I sent on matrix:

1. "Index started"

2. does it mean it's still running?

3. Also we'll need to discuss the UI

4. I wouldn't put that info there but more in another admin section


5. since this is supposed to work automaitcally

6. and it blocks the UI view for the main use cases

7. Also I wouldn't have the text about "this only includes recommnded extensions" if you have the 3 checkboxes

8. the positioning/layout of the checkbox could be improved too, need Marius Dumitru Florea 's feedback (since we don't have Caty anymore ;))

9. it feels a bit close/cramped

10. Also not sure about showing "indexed" so visibly

11. makes the UI too complex unncessarily (you shoumdn't need to care about this in most cases)

12. Same for "compatible"

13. by default it should always show "compatible" extensions

14. so I would move a lot of stuff to some advanced admin UI but not in the main extension view

This one is part of “limit as much as possible the modifications to the existing UI” but yes it’s less needed now so I replaced it with tooltips on the top checkboxes.

I moved it to the end for the now. We can definitely create a new admin section about the index with stats etc but I simply don’t have the time to work on that right now.