[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
I have a hard time with the Categories. If I understand the main
argument against "categories are just tags" it is that a publisher
should be able to control what is in a particular category. And I
assume that the reason behind that is an issue of trust - if you find
something in the "Eclipse Platform" category the user trust that it is
supposed to be there.
If the user interface merges Categories that have the same name (even
if they technically are in categories with different ID) - how is that
different than simply tagging things that are supposed to show up
under a category?
Also, there is nothing preventing a publisher to spoof an official
category in their repository (with a higher version number - thus
causing an update of the definition) - thereby making something look
like it is part of someone else's category.
The other point I took away from todays call was that it is important
that the categorization can be performed outside of the immutable IU's.
Maybe there is more to consider that I don't understand, but right now
the construct seems like an elaborate way to set a tag, and that this
mechanism has several issues (my assumptions are):
- Categories need to have unique ID - they are immutable
- existing sites use non unique category names - hence the Category
needs to have a unique UUID of some sort, and the "user defined
category" (i.e. "tools", "optional" etc. that are in common use today)
becomes the name.
- a change of version of the Category means that this category has
been updated - this seems complicated as the UUID needs to be retained
or a new Category will be created.
- The user interface will organize the view based on the Category name
- meaning that it performs a sort of merging of categories based on
the name (i.e. two equally named categories are shown under the same
- It is possible to deliver category names with NLS translation
- Although someone can add additional categorization to IUs, it is not
possible to replace someone else's (unless defining the same item with
a higher version number).
As a result:
- As the UI merges based on the NLS translated label, things there
were intended to be in the same category end up in different groups
I think this can simplified by:
- Category becomes a Categorizer - something that defines tagging/
categorization meta data for other units. Instead of defining a single
category, it defines one or possibly many tags/categories for all of
it's required capabilities.
- The categorizer has an ID that reflects the publisher - i.e.
org.eclipse.xxx.yyy, com.someone.productCatetegories etc. and have a
- A repo/site could be allowed to have several Categorizers
- The tagging/categorization is performed by setting properties -
these property tags are like the "free form categories" currently in
use and consists of two parts per tag; the tag, and the NLS
translatable and human readable name.
- Adding a third part - "tag type" would allow a UI to differentiate
between "category" (as in current use), and "just tags"
- Any feature could define its own tags (without requiring a
Categorizer) by simply setting some tag properties - this would
greatly simplify the publishing for someone who "just has a feature".
- The UI would display "group items" i.e. features and Categorizers
and visually organize them in accordance with the merged set of
- I can directly categorize a feature (or something else being a group).
- I can categorize without need to change the categorized units
- The Ui can organize categories correctly even if they are translated
Seems a lot more straight forward to me, but maybe I am missing
something important if categorization is done this way.