esciencecenter-digital-skills / NEBULA

https://esciencecenter-digital-skills.github.io/NEBULA/
Apache License 2.0
1 stars 3 forks source link

Enable collections/filters and rethink sorting, grouping and filtering #62

Open JaroCamphuijsen opened 5 months ago

JaroCamphuijsen commented 5 months ago

We need to have a set of collections of modules from which you can easily select a view. E.g.: selecting the "masterclass" view will show only the modules that are being used in the masterclass. This way we can easily make views that can be selected from the website.

A view should also have its own hyper-link so it can be shared.

There is also issue #11 where some thoughts about sorting, grouping and filtering was posted.

However it seems more logical to define the collections in a central place, e.g. in the config.json file.

JaroCamphuijsen commented 5 months ago

From issue #11:

I would like to review the whole categorization and filtering of modules. An interesting example I find very useful is the github projects filtering, grouping and sorting:

In the example below, I filtered issues on being in the "previous iteration" (an iteration is a period of time you define that you work on a project, like a sprint or a coworking day), I grouped them by repository (where the issue belongs to) and sorted them according to their "priority" (which is just a numerical label between 1 and 4).

image

I think this flexibility of filtering, grouping and sorting is too complicated for us, but it is nice as an example. In our case the filtering could be based on a label, which defines an interesting subset, like "masterclass", "life science", "technology" etc. Sorting could be according to a preset "order" much like we currently do for the chapters, and grouping might still be according to the current categories, or using some other grouping. Perhaps having a set of useful "collections" which have preset filters, groupings and sortings is what we actually need.

These could perhaps be defined in the config.json file e.g.:

"collections": { "masterclass": { "filter": "masterclass", "sort": "order", "group": "category" } } These collections could then be listed in a clear spot on the main page. Or is this already too complicated and do we just need the proper labels to be able to filter and get rid of all the complexity?

JaroCamphuijsen commented 5 months ago

However it seems more logical to define collections in the config.json explicitly with all the modules:

"collections": {
   "masterclass": {
     "filter": "masterclass",
     "sort": "order",
     "group": "category"
   }
}