Thanks Eike for this details. Based on your explanation, I have a
few questions/comments.
I imagine that we all agree that end-users downloading Eclipse IDE
for the first time won't want nor be able to define what they want
in any language.
No, the majority of them neither can nor want to do that. A few
maybe do and for those we provide a New Profile Wizard and a nice
tree structure editor, including an execution preview in the Outline
view.
So
that's not something they should see or care about, it's more an
technical internal choice.
Yes, except for the authors of well-managed product profiles or
project profiles and for those who like our tree structure editor
and want full control over their user profile.
What's
the workflow for new users? Shipping a minimal Oomph-capable RCP
instead of EPP packages, and this minimal app would start a wizard
to help users to define what they want and then provision the IDE?
Yes, that's one goal. Here's a screenshot of this simple installer
wizard:

You see, it's really not very different from the current download
pages. Please note that the installer comes as a self-extracting
executable on Windows (for now). On all platforms it supports Java
VM discovery and management for both the installer itself and the
installed products.
Is
Oomph able to listen to "structural" IDE actions (such as addition
of some new feature or setting of a global preference) and to
maintain a "current" profile according to it? For example,
assuming I install an IDE provisioned by Oomph, and then install
e4 Tools in it; then can I export and backup a profile that
automatically contains my initial IDE + the addition of e4 tools?
Currently we've only implemented a recorder for the global workspace
preferences. We're working on a more general framework to listen to
these "structual changes" in the running IDE, generate SetupTasks
from them and store them in a profile. Yatta has also already worked
on a couple of these "task builders" and is involved in the effort
to store these profiles at Eclipse.org and make them available to
other users.
And
then can I either re-provision a new IDE or an existing one with
the profile definition I exported?
Currently we always add these generated SetupTasks to the user
profile and that particular profile is applied to any IDE or
workspace anyways (restrictions can be specified, too). With our
tree structure editors you can easily move/copy these tasks from
your user profile to product or project profiles. And we'll soon
start to make it easier for the user to control where these
generated tasks will be stored. For example we've discussed a new
"machine profile" to separate machine-specific from user-specific
setup aspects.
|