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.
Summary: | Installer should allow for JRE only | ||
---|---|---|---|
Product: | installer | Reporter: | _ gsporar <gsporar> |
Component: | Code | Assignee: | dlipin <dlipin> |
Status: | VERIFIED FIXED | ||
Severity: | blocker | CC: | anebuzelsky, av-nb, bleonard, emi, issues, jlahoda, jrojcek, mmirilovic, olangr, pjiricka |
Priority: | P3 | ||
Version: | 6.x | ||
Hardware: | Sun | ||
OS: | All | ||
Issue Type: | ENHANCEMENT | Exception Reporter: | |
Bug Depends on: | 135512 | ||
Bug Blocks: | |||
Attachments: | last installer's panel with the "missing JDK" message |
Description
_ gsporar
2008-02-18 18:41:17 UTC
*** Issue 130056 has been marked as a duplicate of this issue. *** CC-ing Jano and Alexei. The initial implementation is done and would be available in the next daily build >2008060200 (commits 655511e7f622, 2fe9116e113d, 220e30d3c85f) http://bits.netbeans.org/netbeans/trunk/nightly/latest If user runs Ruby/PHP/Cpp installer then he should be able now to select JRE for NetBeans IDE. If user runs All installer and select feature that do not require javase then, again, he should be able to select JRE for NetBeans usage. Nevertheless there are stille a bunch of open questions that should be solved. In the installer the following NetBeans panel is shown, where user can select NetBeans installation folder and choose JDK: http://ui.netbeans.org/docs/hi/nbi/nbi-ui-spec.html#Installer_NetBeans Now, when we can use JRE, the panel messages should, probably be different: in current messages we refer to JDK and it is inappropriate in the Ruby/PHP/Cpp scenarios. I see the following list of strings as the candidate for "JDK" replacement: - JDK or JRE - JRE - Java - JVM I personally prefer "Java" for its simplicity but I can`t say whether it is obvious or not for the other users. The advantage is that we can use it both for JDK-dependent installation (JavaSE/JavaEE/Mobility/...) and JRE-dependent installations. The list of strings with "JDK" usage is the following (including various warnings and errors): - Choose the installation folder and JDK(TM) for the NetBeans IDE. - JDK(TM) for the NetBeans IDE: - Setting the appropriate JDK home - Cannot set the selected JDK home - The path to the JDK cannot be empty. - The specified JDK folder {0} is invalid. - The specified JDK folder {0} does not exist. - The specified JDK folder {0} does not contain JDK. - The specified JDK folder {0} contains JRE, but a full JDK is required. (* - this one will not be used for JRE- dependent installations) - The specified JDK folder {0} contains JDK version "{1}", while the minimum is JDK "{2}". - The specified JDK folder {0} contains JDK version "{1}", while the maximum is JDK "{2}". - The specified JDK folder {0} contains JDK from the unsupported vendor ({1}). The supported vendors are "{2}". - The installer could not find a compatible JDK installation. The minimum required version is {0}. Specify JDK folder manually. The next open question is the installer behaviour in the following scenario: 1) User starts All installer and install Base+Ruby with JRE (not JDK) selected for NetBeans usage 2) User run the same installer again add additionaly install any JavaSE-dependent components (JavaSE/Mobility/EE/UML/ Soa). Following this scenario in current installer, the user would not see the NetBeans configuration panel and JRE, that was selected during first installation should be used by NetBeans even after other components installation. As the result, the user will got missing modules warning (discussed at the Issue 135512 and on wiki http:// wiki.netbeans.org/OpenIssuesIdeOnJreOnly). Certainly, this scenario will not be used much by most of the users but nevertheless we should address it as well. I see one of the possible solutions : 1) When following this scenario, show, again, NetBeans configuration panel with disabled fields for NetBeans folder and corresponding browse button. The user should choose one of the JDK listed on this panel. 2) Do not show the configuration panel but search for any suitable JDK on the system and update etc/netbeans.conf with it during installion without any notification. If no JDK found - do not do this step and thus show missing modules warning during IDE start. Another option - do not proceed with installation in that case and show an error message (at which panel?) 3) Create another installation panel (similar to http://ui.netbeans.org/docs/hi/nbi/images/nbi-wizard-ide-select- jdk.png) - without NetBeans installation folder field and label and Browse buttton at all but with JDK label,field and browse button. On this panel we would say something like the following : "NetBeans is already installed at <...>. It is configured to use JRE at <...>. You have selected <JavaSE|UML|SOA|...> to be installed that require the JDK to work. Please select one of the following JDKs to be used by NetBeans". There could be certainly other solutions but I don`t see realize them at this moment. Ccing Ondrej who would take care of the specific user experience questions. My opinion is that if just the JRE is needed, then we shouldn't show any Java field in the NetBeans installer panel. We should just use the best JRE suitable for running the IDE we found during the initial JRE scan. In other words use the same JRE that is used for running the installer. That means we also need to update the warning message that is currently shown if no JRE/JDK is found on the computer which means we cannot run the installer (I guess it currently talks about the JDK, not JRE). For the update scenario, I agree we need to inform the user we suddenly require JDK. The specific UI is TBD. We also need to cover the update scenario through the plugin manager. > For the update scenario, I agree we need to inform the user we suddenly require JDK. The specific UI is TBD.
> We also need to cover the update scenario through the plugin manager.
Please join the issue 135512 and the wiki topic linked from there for discussion of the update scenario.
My point of view on how to best proceed in each scenario: sc1) User is installing the IDE in configuration which does not require JDK --------------- My suggestion: Autodetect best JRE or JDK and continue. We probably do not even need to display the Java field in the installer. sc2) User attempts to add a bundle requiring JDK to IDE running on JRE, using the full installer --------------- My suggestion: Users should be warned that the IDE is running on JRE and that the module they selected will require JDK which they do not have. This can be probably done directly when selecting the package or very soon in the installation wizard. If we do not need JDK for installation (but only for running the IDE) we should allow to continue and install the features without the JDK and provide users with link to JDK download on the last panel. If we do require JDK, not only for running the IDE but also for installation of these features, we need to interrupt the installer at this point. Note: If we autodetect JDK in this particular scenario, we should IMO just use it without asking the user whether they really want to use the auto-detected version. This is because these users are most likely PHP/Ruby developers who are starting/evaluating java part of the IDE and as such they are not likely to be very picky about JDK version). sc3) User attempts to add modules requiring JDK to IDE running on JRE, using plugin manager --------------- Best UI here is no UI, so if we manage to make this work without any user interaction (depending modules with tools.jar bundled - as Jesse suggests in issue #135512), it's an ideal solution from users' point of view. Otherwise, we should display the warning as soon as plugin is selected in plugin manager or possibly on the first screen of plugin installer. The message could look something like: "Following plugins require JDK while NetBeans IDE is running on JRE. To use these plugins, you will be required to download and install JDK" Dmitry, does it answer all your open questions? Hi Ondrej, I think that scenario 1 is now totally covered by installer and scenario 3 totally covered by PM, right? To close the issue entirely, we should cover scenario 2 in installer. In my understanding it is a little bit different as described in 138227: That issue is about the case of the initial installation of the IDE with plugins when JDK is not found. The warning message "No compatible JDK was found" is shown in that case. This issue is about different case: if NetBeans is already installed (partially) and configured to use the JRE and the user selected new plugins which require JDK. So the following is not clear: 1) what message should be shown on the welcome page to clear that situation? 2) regarding "...and provide users with link to JDK download on the last panel" - what message should we show in that case (with regards to existance of package systems - rpm, deb, ips, etc - on some platforms)? is it a necessary thing or can be dropped ? Integrated into 'main-golden', will be available in build *200809221401* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress) Changeset: http://hg.netbeans.org/main/rev/73fd33ba1811 User: Dmitry Lipin <dlipin@netbeans.org> Log: Issue #127678 Installer should allow for JRE only First, I apologize for the delay. I somehow missed Dmitry's request. > I think that scenario 1 is now totally covered by installer and scenario 3 totally covered by PM, right? Scenario 1 - yes, verified. Scenario 3 - AFAIK, yes. > 1) what message should be shown on the welcome page to clear that situation? Just to make sure, we're talking about installer's welcome page, right? I've checked what's currently in trunk and it seems good to me in terms of workflow and information structure. I would (after having discussed with the documentators) suggest slightly different messages: Warning in the installation customizer: "Some of the selected packs require JDK to run." > 2) regarding "...and provide users with link to JDK download on the last > panel" - what message should we show in that case (with regards to > existance of package systems - rpm, deb, ips, etc - on some platforms)? > is it a necessary thing or can be dropped ? AFAIK, the package systems shouldn't play much role here, but I'm not an expert in this. I've talked to a designer working on Java and he claimed that everyone (= all platforms) should be able to get JDK from http://java.sun.com/javase/downloads/index.jsp, so my suggestion is to link this page from the last installer panel together with the information that the JDK has not been detected (see the attached screenshot for the exact message and appearance). Created attachment 70902 [details]
last installer's panel with the "missing JDK" message
Hi Ondrej, Thanks for the update! Regarding p.1 - yes, we are talking about installer welcome panel. This one is fixed: http://hg.netbeans.org/main/rev/81f2aab782c7 Regarding p.2. Imagine the situation: User installs the IDE on JRE, later he runs the installer and adds Java-related packs which requires JDK to run. Yes, we should warn user about the fact that NB is configured to use the JRE. But shouldn`t we additionaly explain to user how to re-configure the IDE after (s)he installs the JDK ? (maybe point to another link - http://wiki.netbeans.org/FaqRunningOnJre or http://wiki.netbeans.org/FaqJdkHome) Please note that I thought of p.2 in a different manner. I though of the case when the IDE is partically installed, configured to use JRE and we install new Java-related stuff. We don`t search for JDK/JRE in this case so we can`t say for sure whether it is installed on the system or not. That`s why the proposed message is not well-suitable for this case: Some of the installed components require the JDK which was not detected on your computer. You can download and install the JDK from http://... I agree with you - we should provide the link to JDK download - but we should also give user an option to re-use one of the existing JDK installation if (s)he has some (even we haven`t seached for it). I think we need the message with the following meaning: Some of the installed components require the JDK while NetBeans was configured to use the JRE. If you don`t have JDK on your computer, you can download it and install from http://... To configure NetBeans to use the particular JDK see the instructions at ... What is opinion, Ondrej? Hi Dmitry, the suggested message seems fine. However, can't we perform the search for JDK when user running NetBeans on JRE attempts to install packs requiring it? If we did detect it, we could automatically re-configure NetBeans to use the JDK and wouldn't have to bother the user with any messages. If we didn't, we could provide the message you are suggesting. Is this feasible? Hi Dima, can this issue be now closed as fixed? Or is there some part of it that still needs to be done? If anything is missing, then we could still close this one and create a new issue for the missing aspects. Thanks. Petr, yes we can mark is fixed. The missing part is somewhat Ondrej suggested in the last message (Thu Oct 9 17:32:39 +0000 2008). Again, thanks for resolving this in NetBeans 6.5. This is very important for the non-Java distributions. |