Created attachment 120543 [details]
Screenshot of the alert dialog
There is an information dialog alerting the user about bug 211962 and the necessary workaround, see the attached screenshot. I think the UI could be improved, e.g. by making the information more readable, by emphasizing the important parts, by making the link to wiki page clickable etc. Also I think the text should primarily talk about the "Metro Web Services Library" rather than the "wsimport ant task".
I am cc'ing Petr Somol, Petr, can you please help with the UI?
Created attachment 120549 [details]
mockup of two-state warning dialog
I agree that the current message is quite burdensome to read. It might be good to give first the clear and simple part of the message, and keep the details separated. What would you say to doing it similarly as in NB exception dialog, roughly as illustrated in the attachment ? The other option would be to keep just one-state dialog with the main message set in bold and the rest in regular, I just am not aware of UI guidelines defining this NB-wide and actually it would be equally burdensome as the original dialog..
Hi Petr, thanks, I like the concept of the two-state dialog. Just a few notes on the wording:
"NetBeans may stop responding" is not accurate, because we issue build failure to prevent a NetBeans crash. Next, I think the link to the MetroIssue wiki page should be in the short version as well, as the upgrade steps are not obvious. So how about:
"Metro Web Services Library version 2.2-b13, installed as part of GlassFish 3.1.2, contains a serious issue. Please update the library per instructions on this page. Your project build will now fail."
"This page" is a link to the MetroIssue wiki.
"Metro Web Services Library version 2.2-b13, installed as part of GlassFish 3.1.2, contains a serious issue. This issue affects the wsimport Ant task. To avoid the effects of this bug, NetBeans will now finish the Ant build with a failure.
An updated version of the Metro library (2.2.0-1) is available for download on the Metro release page: http://metro.java.net/2.2.0-1/. Please download this library and install it in your GlassFish server per instructions on the release page. After upgrading, rerun the Ant build of your project from the IDE, and you will be able to continue using the web service client features in NetBeans.
For additional information see also: http://wiki.netbeans.org/MetroIssue."
Cc'ing also Ken to review the wording - thanks Ken.
Petr, I agree, your wording is much better as it explains to user what will happen next. Adding the "this page" link to short version is also OK. So please use it in your (Comment #2) form, possibly after Ken will have seen it..
I do not know if the long version is really necessary and think it would be better to have the detailed information on the wiki page. The user is warned the build will fail and they click the link and then dismiss the warning. The long version has too much information for a warning dialog and too little to be really helpful. Both versions basically say go to the wiki page.
Here is my suggestion for the wording of the short version:
Unable to build the project because of a problem with the Metro Web Services Library version 2.2-b13 that was installed with GlassFish 3.1.2. To resolve the problem you need to update the library.
You can find additional details and instructions for updating the library on the following page:
The second sentence could also be this:
"To resolve the problem and build the project you will need to update the library."
The concerns I see from UEX point of view are these: what is shown in the dialog upon its first appearance should be a short and clear description what has happened - it should not be over-weighted by several paragraphs of text as it would look more unpleasant or worrisome than necessary. However, leaving the details accessible through external link only may not be convenient for everyone, some users may not be connected to internet, and even if they were it could be perceived as inconvenient to not have all relevant information at hand quickly (by those who are interested in details).
I agree with you that making people go to a web page to fix a problem is not ideal. In this instance, however, the user will not be able to resolve the problem if they do not have an internet connection. The
The second sentence could be the following:
"To resolve the problem and build the project you will need to update the
Metro library to version 2.2.0-1."
I am ok with the 2-state dialog if you think it is helpful and can suggest some wording for it. Personally I get annoyed with dialogs that contain instructions which then need to be dismissed in order to continue. Is the detailed message also printed to the Output window?
The wording for the long version could be something like this
An issue with version 2.2-b13 of the Metro Web Services Library affects the wsimport Ant task and prevents the IDE from successfully building the project. Updating the Metro library included with the GlassFish installation to version 2.2.0-1 resolves the issue. The library can be downloaded from the Metro release page: http://metro.java.net/2.2.0-1/.
The Metro release page provides instructions for installing the update.
You will need to rebuild the project after installing the updated version
in order to continue using Web Service Client features in the IDE.
(In reply to comment #7)
> wording for it. Personally I get annoyed with dialogs that contain instructions
> which then need to be dismissed in order to continue. Is the detailed message
> also printed to the Output window?
Very good point. To whoever will implement this, please log the message so that it can be accessed after the dialog is closed..
I suppose the issue is obsolete because the original Metro issue is fixed on
the GF side. So the dialog is a corner case of using old buggy GF version which
is rare. Existing dialog is enough to handle such very rare case.