Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Equinox/p2/Proposals/Category Management
Problem: How to present category information to users in p2
There are several different ways that producers can author p2 repositories, and many of the workflows result in repositories without a proper categorization. Currently (Eclipse 3.5 M6) only software found in a category is displayed.
Contents
Workflows
Workflows:
- Creating a site.xml, adding features / categories and selecting export
- Creating a feature.xml, selecting export
- Creating a product.xml, selecting export
- PDE Build for a product
- PDE Build for a feature
- PDE Build for a bundle
- Export a bundle (or feature) and use the publisher to create metadata for them
Considerations
Considerations:
- Authors want to control what IUs a user can see (don't show everything)
- Features can be categorized in three different ways:
- Added to a category in a site.xml
- Added to a site.xml (no category) -- shows in other / uncategorized
- Not added to a site.xml (this means a user explicitly did not want the feature to be shown)
Solution 1: Address the problem in the UI
This problem can be addressed in the UI. In order to address this problem in the UI, all installable software will have to be shown (not just categorized software)
Pros:
- Works on existing repositories
- No work for those publishing metadata
- Similar workflow to Eclipse 3.4.x
Cons:
- If metadata authors really don't want particular software to be shown, this cannot be expressed
- Inconsistent workflow with Eclipse 3.3
Solution 2: Address the problem in the publisher
This problem can be address in the publisher. In order to address this problem in the publisher, metadata authors will be required to provide categorization when building their repositories.
For example, PDE could consider a site.xml file next to a feature / product file to be the categorization for this. If the site.xml file exists, it is used a build time.
Pros:
- Authors can provide categorization for features and products
- Works similar to Eclipse 3.3 (no category, not listing)
Cons:
- Currently site.xml must exist in a UpdateProject (there are bugs if you don't have an updatesite project)
- Old p2 repositories may have to be updated
- What if we don't have a site.xml?
What if no categorization is available
If no site.xml is available we could:
- Create a default category
- Prompt the user for a category (or make it part of the export wizard)
- Do nothing (no categories)