Capabilities, library set, templates are a very usefull feature.
Here is a list of reasons why we disabled it (and things that would be relevant to improve)...lets find out if these are really true or we can fix or live with these:
1) All templates, including libraries seem to be copied to the users workspace on startup. That has several issues:
a) why is a copy necessary ? Can't we just use directly from our plugins ? Users workspace should not contain something that is not workspace local.
b) users can change the templates we have tested and verified - makes supporting them pretty hard.
c) what happens in case of a new version ? do we overwrite whatever changes that are done ? Users won't be happy.
My Suggested solution: Separate the capabilities/libraries etc. up into System preinstalled/plugin provided plugins and User templates. If a user want's to redefine an existing template they make a copy with a different name.
2) Library sets are very close to class libraries...so why not put them/define them as such ?
And then we could add a "Copy class libraries" feature to actually copy any class library to the project - giving users teh best of two worlds and no redundant functionallity.
3) Capabilities are very much like facets just more dynamic...should it be exposed like that instead ?
(issue: what about on projects that are not facet projects ... maybe a "Capability" facet could be made ? ...will it work with all the version number checks they got ?)
4) It seem to be bound to JSF/Struts....why ?