Here is a list of requirements collected after reviewing this forum and having a few short discussions with Scott, Ivelin, and Ryan. Let me know if I missed any important use cases.
1. Must support a notion of JEMS profile. For instance, "Portal" profile would include AS, Portal, Hibernate, Seam, and JBPM.
2. Must include a number of default profiles.
3. Must allow user to customize profile. User would be able to pick required AS components, for instance. User would be able to see component list/tree which takes dependencies into account.
4. Must support a notion of "component profile". This corresponds to the Installation Group notion implemented by Scott in the current AS installer. For instance, "Portal" JEMS profile would include AS "ejb3" profile.
5. Must support silent install. This is desired to that tests can be executed against installation created by the installer.
6. Should remotely download binaries from the repository upon install. All dependencies should be in the repository.
7. Should support offline installation (no internet connection).
8. Should support mutually exclusive packs.
9. Future: upgrade (detecting which packs have been updated, downloading updates, making config changes, etc).
A few topics for discussion:
1. What are the killer JEMS profiles? At this point I'm looking for a very short list of profiles which can be implemented in the first version of the JEMS installer.
2. Centralized vs. distributed install: one option would be to maintain all of the JEMS installer code in one separate project. Another option is to only have core JEMS installer code in a separate project while every component?s specific stuff would be maintained in the component?s module. For instance, all of the velocity templates required for the AS configuration as well as AS-specific user input panels would still reside under jboss-4.0.x/build/install. What?s your gut feel regarding these two options?
3. Is there a need to have offline installer option which doesn't require internet connection for downloading?
4. Should JEMS installer depend on current build system & repository? Or is maven2 repo coming online soon?