This is a working draft.
The new NetBeans installer will allow the user to select feature sets for installation. This should replace the separate installers for packs used in 5.5 for profiler, mobility, etc. This customization could also be used to let the user deselect parts the current standard distribution if they do not wish to use it - for example Java EE support, database support, etc. The goal of this customization is to optimize the download size - the user will only download what she intends to use. It will also reduce the set of installed components which affects the startup time of IDE, memory consumption and the complexity of IDE user interface (number of options in menu, number of templates, etc.).
These are potential feature sets:
Questions:
Jarda points in his document about split of IdeX cluster that clusters were not primarily meant to serve as feature packs, they are API compatibility units. In particular they should not be changed every release to fit marketing requirements which drive the definition of feature sets.
Regarding development process, a cluster is a set of modules developed and released simultaneously and also for this reason there are less strict requirement for stability of APIs used between modules within one cluster then for dependencies between clusters.
Moving modules between clusters is costly as shown in JPAInIdeCluster.
We should make it possible to create a new revision of one feature set without changing the other feature sets. This means that the implementation of a feature set should ideally be as independent of the other feature sets as possible. As a result of these parameters it seems that we need to be able to separate parts of the IDE into clusters and build feature sets out of them. In other words one cluster should not be split into multiple feature sets.
Auto Update since NB6.0 would like to introduce grouping of modules to logical units which are handled in AutoUpdate transparently to users. Described at AutoupdateGroupsModulesTogether.
AutoUpdate's use-cases cover browsing IDE installation, installing updates of installed features and searching and installing new features into IDE. Proposed Feature Sets should be handled in AutoUpdate as units presented and handled in AutoUpdate UI. -- JiriRechtacek