This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
It seems to me as wrong annoying behavior when the module needs activation even if it was installed by its own installer e.g. C/C++. Feature on demand should work only if a user chooses a full installation. If user chose to download any specific module installer (s)he should not be asked any more about activation. The module should be active by default.
Indeed, this is wrong. There should be no ergonomics1 cluster in pure CND installation.
Currently we have 6 distributions - javase, java, ruby, c/c++, php and full. From installer perspective each distribution consists of several "packs" (plus servers, if applicable): Java SE = Base IDE + Java SE Java = Base IDE + Java SE + Java Web and EE + Java ME + servers Ruby = Base IDE + Ruby C/C++ = Base IDE + C/C++ PHP = Base IDE + PHP All = Base IDE + Java SE + Java Web and EE + Java ME + Ruby + C/C++ + PHP + SOA + servers Each pack is a set of one or several clusters and, since cluster have dependencies, the packs has also has the dependencies between them. So far when user installs the particular distribution he actually installs one or more packs (and thus one or more clusters). In Java and All distribution user has the ability to install not all packs, but only those that he need. In other words, if user downloads "All"/Java distribution then he have to ability to install not all but only the desired packs, e.g. - Base IDE + Common Web Components + Java SE + Java Web and EE + Ruby + GlassFish V3 - Base IDE + Common Web Components + Ruby + PHP - Base IDE + C/C++ - Base IDE + Java SE + Java ME - Base IDE + Common Web Components + Java SE + Java Web and EE + SOA + GlassFish V2 + OpenESB - ... So the main question is : what pack should 'ergonomics' cluster be in and when it should be installed? We can include it in any of the existing packs (e.g. to Java Web && EE) or create a new one. Please note that the user has the ability to install additional packs after the first installation i.e. run installer again and add (install) packs which were not yet installed. In other words, user can do the following: - run full installer and install Base IDE + Java SE + Java ME - run full installer again and install Ruby + Common Web Components + GlassFish V3 - run full installer again and install PHP + Java Web and EE Another usage scenario which is also supported is that user can download one special distribution and then install it in the other existing one i.e. user can download e.g. Ruby distribution, install it and then download PHP distribution and install it in the existing installation. I.e. user would have Base IDE + PHP + Ruby + Common Web Components installed after that. At the end, user can download Java SE distribution and install it. As the result, he would have Base IDE + PHP + Ruby + Java SE + Common Web Components packs installed. At which step should ergonomics cluster be installed?
Thanks Dmitry, for your comments. I have put them into a wiki: http://wiki.netbeans.org/FitnessForeverAndInstaller together with one question: Can installer be enhanced to understand and manipulate content of netbeans.clusters file?
I would propose to include ergonomic cluster into its own pack and include this pack into full distribution and allow user to include/exclude this pack as any other packs.
I personally like Alexander`s idea to put ergonomics to the separate installable component and including it only in Java/all distributions. That would mean that users could either install it (that would be the default behaviour) from that distributions together with all other packs or deselect it and thus have the IDE with all required modules activated. The order of clusters in netbeans.clusters will not be changed. Jarda, are you OK with that? I guess that moving clusters up and down in netbeans.clusters file will give much more pain.
It is not bad idea, but the problem is that it does not work for the JavaAll distribution: http://wiki.netbeans.org/Diff.jsp?page=FitnessForeverAndInstaller&r1=7&r2=6 We need ergonomics to be present and yet JavaSE enabled by default.
We need to move forward. Shall we talk tomorrow over phone? I am looking at installer sources and it seems that various parts of the code mangle content of netbeans.conf file. Is that simpler? If so, I might redesign the system to read some property from that file and adjust itself. However I can also see that various PostInstallFixupAction classes do patch the content of netbeans.clusters file directly. There is even patchNbClusters method! Why this kind of change could not be done in case of installing "All Java" version? If you point me to the right place, I can even donate code that changes the netbeans.clusters file according to behaviour specified in http://wiki.netbeans.org/FitnessForeverAndInstaller
Jarda, feel free to phone me at any time (2PM-9PM PRG). BTW, how are you going to achive > We need ergonomics to be present and yet JavaSE enabled by default. in the "Java" zip distribution? As for now, ergonomics cluster goes just after nb and platform. Are you going to modify netbeans.clusters before specially for packaging it into that netbeans distro? Do you see any possible solutions on the ergonomics side to avoid clusters movings? If you are interested in sources... they are rather distributed. Sources for NBI-based (Windows, Linux, Solaris) installers live in nbi and installer/{components,infra,engine} and sources for Mac-native installer live in installer/ mac/newbuild. The NBI-based installers use installer/engine/src/o/n/installer/utils/applications/NetBeanSutils.add(remove)Cluster methods in installer/components/products/nb-base/src/o/n/installer/products/nb/base/ConfigurationLogic.java (for Base IDE pack) installer/engine/src/o/n/installer/product/components/NbClusterConfigurationLogic.java (for the rest of packs) Handling clusters in Mac installers are not used much at the moment. The only pack that uses that is JavaFX.
I've modified the page http://wiki.netbeans.org/FitnessForeverAndInstaller to talk about possible alternatives. Like using a property in netbeans.conf file or modifying netbeans.clusters file during the build. I guess we need more discussions to decide which one is most suitable. As far as the ZIP distribution goes, it can safely stick with using ergonomics being on by default. Not many end developers use ZIP distribution as far as I know anyway. installer/components/products/nb-base/src/o/n/installer/products/nb/base/ConfigurationLogic.java - no changes needed, Base IDE (e.g. Java SE) remains unchanged. Here is the utility to reorder clusters: http://wiki.netbeans.org/attach/FitnessForeverAndInstaller/ErgonomicsInstallerAddClustersWithPivot.diff The only really necessary change right now seems to be needed in installer/components/products/nb-javaee/src/org/netbeans/installer/products/nb/javaee/ConfigurationLogic.java which needs to use the new addClusters(...) method to move java, gsf, apisupport clusters above ergonomics one.
Based on a discussion with Dmitrij, we decided to implement a minimalistic "UI Spec": http://wiki.netbeans.org/Diff.jsp?page=FitnessForeverAndInstaller&r1=19&r2=13 That seems enough to address problem described by this issue.
Integrated into 'main-golden', will be available in build *200901230201* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress) Changeset: http://hg.netbeans.org/main/rev/89ae880f6a39 User: Dmitry Lipin <dlipin@netbeans.org> Log: Issue #157257 and Issue #156086 Include ergonomics only in Java/All distributions
Looks that the problem was fixed and integrated.
Yes, everything except manupulating the ergonomics cluster (moving it up and down) in Java distribution. But that is not related to this issue :)
fixed.