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.

Bug 210345

Summary: UI review
Product: php Reporter: Tomas Mysik <tmysik>
Component: FTP SupportAssignee: Tomas Mysik <tmysik>
Status: RESOLVED FIXED    
Severity: normal CC: jeff_rubinoff, pjiricka, psomol, vriha
Priority: P3    
Version: 7.2   
Hardware: All   
OS: All   
Issue Type: DEFECT Exception Reporter:
Attachments: sync main dialog before review
sync main dialog proposed modification
proposed context menu
Diff icon
proposed context menu (updated Reset Operation item)
Reset Operation icon
sync main dialog proposed modification (updated)
sync main dialog proposed - see commen under list with multiple selections
sync main dialog proposed - see comment under list when a line with error is selected
Icon for symbolic link
Icon for file vs. directory collision
Icon for file conflict
Progress dialog - when download is in progress
Progress dialog - when finished successfully
Progress dialog - when finished by error
Reset Operation icon - clearer version
sync main dialog proposed modification (updated2)
sync main dialog proposed - see commen under list with multiple selections (updated)
sync main dialog proposed - see comment under list when a line with error is selected (updated)
Progress dialog - when download is in progress (updated)
Progress dialog - when finished successfully (updated)
Progress dialog - when finished by error (updated)
thread dump
snapshot

Description Tomas Mysik 2012-03-29 10:15:19 UTC
Based on Petr's emails:

#1: Rename context menu actions:
Download -> Download...
Upload -> Upload...
Synchronize -> Synchronize... 

#2: Rename OK button in the main dialogs:
OK -> <operation>
Comment 1 Petr Somol 2012-03-29 14:49:51 UTC
Created attachment 117481 [details]
sync main dialog before review
Comment 2 Petr Somol 2012-03-29 14:50:46 UTC
Created attachment 117483 [details]
sync main dialog proposed modification
Comment 3 Petr Somol 2012-03-29 14:51:08 UTC
Created attachment 117484 [details]
proposed context menu
Comment 4 Tomas Mysik 2012-03-29 15:20:11 UTC
It looks perfect! However I have 2 notes:

1. IMHO it is not possible to put the "Show Summary" checkbox as shown on the picture (I'm not 100% sure, need to verify that).

2. There are 2 info messages, where to put them?
  A. running for the first time
    "Running for the first time for this project and this configuration, more user actions could be needed."
  B. running for single file(s) [1][2]
    "Run synchronization on Source Files for more accurate result."

Thanks a lot.
[1] When one runs synchronization on a single file(s) (so not on Source Files node), the timestamp of the last synchronization can't be used so the suggested operation(s) could be imperfect (but usually one easily reviews the changes, possibly merges and uploads the file).
[2] FYI this message was added and pushed yesterday.
Comment 5 Tomas Mysik 2012-03-29 15:24:11 UTC
One more comment - I would need the "Reset to Default" icon.

Thanks.
Comment 6 Petr Somol 2012-03-29 15:31:44 UTC
The main remote synchronization dialog should be reorganized roughly as illustrated in attachments. 

Corrections:

#3a checkboxes affecting list contents must always reflect what indeed is in list, what was not the case before. by default all should be checked and the list should display all categories. for users who prefer to view just one category, to save unclicking each single checkbox the buttons in top right are suggested

#3b the main list is OK. Just one minor point: it would be better though if it was possible to put extra one or two pixel space between vertical line and the first letter in strings (now text is displayed too close to the lines what hinders readability of first letters like I, L, etc.)

#3c for Diff icon I suggest the standard diff icon image (although slightly reduced in size when compared to its uses elsewhere), for Reset I suggest a "reverting arrow" as illustrated in attachment; the two green arrows in circle could be slightly misleading as they suggest "forced reload of files" or "reload state that may have changed outside this context". I am going to attach the icons here.

#3d messages, errors, and warnings should not be spread over the dialog at warious places but concentrated in dedicated area, ordered according to importance. The warning about experimental feature does not need to shout, it is enough to just state it in comment. If a colored error or warning message needs to be displayed, it should be the first (see attachment). 

#3e main button is named Synchronize, is disabled until there is no error that would prevent synchronization.

#3f add Help button and help page

#3g checkbox "show summary" is better located in bottom left corner because it relates to what is going to happen after user clicks the main button. (see e.g. checkbox Open in New Tab in Find Usages dialog etc)


Extensions:

#4a Left click to the operation symbol (in the middle column only !) in list should switch to the next symbol (and preferably should not change selection). Repeated clicking would cyclically switch among available operations.

#4b (important) please add a context right-click menu to the main list. I attach an illustration of menu contents. Menu items apply to all selected lines. If none is selected, menu applies to the line where the user right-clicked. In addition to standard operations the menu contains items: Disable Downloads (for each selected line, if its current operation is Download, it is replaced by No Operation), Disable Uploads (for each selected line, if its current operation is Upload, it is replaced by No Operation), Disable Deletions (for each selected line, if its current operation is Delete, it is replaced by No Operation).
Comment 7 Petr Somol 2012-03-29 15:45:13 UTC
Created attachment 117486 [details]
Diff icon
Comment 8 Petr Somol 2012-03-29 15:57:38 UTC
Created attachment 117487 [details]
proposed context menu (updated Reset Operation item)

item Reset Operation tells better what it is about than Reset to Default (as it is not default what is meant here)
Comment 9 Petr Somol 2012-03-29 15:58:23 UTC
Created attachment 117488 [details]
Reset Operation icon
Comment 10 Petr Somol 2012-03-29 16:08:57 UTC
#3h in main sync dialog the tooltips of operation buttons should be updated to better suggest that it is about planning the operation and not about actually performing them. I propose: "Review differences between remote and local file" (Review sounds more active than View, while here users indeed can change the diff), "Set No Operation", "Set Download", "Set Upload", "Set Delete", "Reset to suggested operation (discards Diff changes)".
Comment 11 Petr Somol 2012-03-29 17:36:55 UTC
Created attachment 117497 [details]
sync main dialog proposed modification (updated)

In view of Comment 4 Item 2 and the newly discovered flaw (per-file error messages were originally accessible as tooltips only) this is the updated main syns dialog proposal. Changes:

#5a just underneath the main list a "status-bar like area" is added where context-dependent comment can be displayed, describing whatever is important about the current state of the list. If there is no selection in list, the comment should give a summary over currently set operations "All: 1 download, ..." (see attached illustration). If there is a selection in list, the comment should give summary over operations currently set for those lines that are selected "Selected: 1 download, ...". If there is exactly one line selected with an error or warning on it, the comment should give full error/warning description (I will attach illustrations showing this). Note that the comment area is visually connected to the list. I suggest to use the same slightly darker background as in the case of the main text area for general messages in the bottom of the dialog.

#5b because the summary on the number of operations is now displayed as a comment described in #5a, there is more available space in the (slightly-darker-gray) text area in the bottom of the dialog. In case there is an error or warning, the first line here should display error message "Synchronization not possible. Review conflicts first." in red, or warning message "Synchronization possible, but warnings should be reviewed first." in yellow. Then the optional messages "Running for the first time for this project and this configuration, more user actions could be needed." or "Run synchronization on Source Files for more accurate result." can be displayed if needed - I suggest to display these in blue to decently attract attention. Only then the other messages can follow, written in black.
Comment 12 Petr Somol 2012-03-29 17:38:00 UTC
Created attachment 117498 [details]
sync main dialog proposed - see commen under list with multiple selections
Comment 13 Petr Somol 2012-03-29 17:38:57 UTC
Created attachment 117499 [details]
sync main dialog proposed - see comment under list when a line with error is selected
Comment 14 Petr Somol 2012-03-29 17:42:18 UTC
#3i I propose to rename checkbox File conflict to Concurrent update (see attachments) so as to clarify the meaning. "File conflict" permits incorrect interpretations (locked file? multiple equally-named files targeted to single file?)
Comment 15 Petr Somol 2012-03-29 17:45:20 UTC
Note: the darker text area background should be the same as in Profiler dialogs. See, e.g., Customize Filter Sets dialog accessible through Edit filter sets link from the main Profiler dialog.
Comment 16 Tomas Mysik 2012-03-30 03:02:09 UTC
(In reply to comment #14)
> #3i I propose to rename checkbox File conflict to Concurrent update (see
> attachments) so as to clarify the meaning. "File conflict" permits incorrect
> interpretations (locked file? multiple equally-named files targeted to single
> file?)

I have chosen "File Conflict" since it is a common term from SCM (if a file has modifications in both your local and remote repository). But I can change it, of course, if you prefer.
Comment 17 Tomas Mysik 2012-03-30 03:04:06 UTC
Attaching icons for:
- symbolic link (such files are not downloaded or uploaded)
- file vs. directory collision
- file conflict

Please review as well them, thanks.
Comment 18 Tomas Mysik 2012-03-30 03:05:27 UTC
Created attachment 117514 [details]
Icon for symbolic link
Comment 19 Tomas Mysik 2012-03-30 03:05:57 UTC
Created attachment 117515 [details]
Icon for file vs. directory collision
Comment 20 Tomas Mysik 2012-03-30 03:06:16 UTC
Created attachment 117516 [details]
Icon for file conflict
Comment 21 Petr Somol 2012-03-30 08:45:29 UTC
> I have chosen "File Conflict" since it is a common term from SCM (if a file has
> modifications in both your local and remote repository). But I can change it,
> of course, if you prefer.

OK if File Conflict is an established common term, then better keep it.
Comment 22 Petr Somol 2012-03-30 11:29:17 UTC
The diff action opens a dialog with two tabs: "Graphical" and "Textual" that provide two types of view of the differences/changes between the remote and local file. The dialog can be improved as follows:

#6a Dialog title now shows "FILENAME" alone. I suggest the title to be "Remote Diff for FILENAME"

#6b I am not too happy about tab labels "Graphical" and "Textual", but I understand these come from outside php module. It seems the more natural (and more in line with naming conventions) would be to rename "Graphical" to "Diff" and "Textual" to "Patch". Who is the maintainer of the diff infrastructure ?
Comment 23 Tomas Mysik 2012-03-30 11:55:41 UTC
(In reply to comment #22)
> Who is the maintainer of the diff infrastructure ?

AFAIK Ondra Vrabec and/or Tomas Stupka.
Comment 24 Petr Somol 2012-03-30 13:54:48 UTC
Created attachment 117547 [details]
Progress dialog - when download is in progress

When synchronization actually starts, a dialog is displayed to show progress. I suggest to streamline its contents and improve the accuracy of information it presents.

Corrections:

#7a when synchronization finishes, there should be no leftover message describing the last performed operation (e.g., "Uploading somefile.php..."). In case of success there should be just the message claiming that; only in case of failure the error message should contain the name of file on which the error occurred.

#7b the messages informing about the currently performed operation are occasionally misleading, e.g., when there is nonzero "Files to be downloaded:" and zero "Files to be uploaded:" I have seen a current operation message stating "Uploading filename.ext...". Please ensure that the current operation messages follow the general convention that transferring a file to remote location is called Upload and transferring from remote to local location is called Download (if I am right that this is a convention, it just sounds natural to me).

Enhancements:

#7c The comment informing about the fact that log will be available in Output window should not be the topmost information the user sees. I suggest to display it only as part of the "finished" message or "error" message when synchronization finishes (see attachment)

#7d in case of error it can be helpful for users to turn red the numbers of remaining scheduled operations (only if there remain any unfinished) above the progressbar + keep progressbar at the percentage where error occurred + write in red the name of file on which the error occurred (see attachment). Sorry if I am suggesting something that works now, I could not verify that.

#7e Auto-Close on Success message would be better placed in bottom left corner so that it is on level with OK button to suggest visually the relation between the two, and to keep the space above it reserved only for information/messages about the progress.

#7f on successful finish I suggest to show the blue "i" icon and write a message in blue (to get attention) but not yellow which may be mistaken for warning. The additional comment about log in Output does not need to be colored (see attachment).


(I will attach 2 more illustrations, one for correctly finished state, the other for error state of the dialog.)
Comment 25 Petr Somol 2012-03-30 13:56:08 UTC
Created attachment 117548 [details]
Progress dialog - when finished successfully
Comment 26 Petr Somol 2012-03-30 13:56:46 UTC
Created attachment 117549 [details]
Progress dialog - when finished by error
Comment 27 Petr Somol 2012-03-30 14:00:04 UTC
(In reply to comment #17)
> Attaching icons for:
> - symbolic link (such files are not downloaded or uploaded)
> - file vs. directory collision
> - file conflict
> 
> Please review as well them, thanks.


All three are well chosen AFAICT.
Comment 28 Tomas Mysik 2012-04-16 12:33:37 UTC
I have a comment, Petře. Thanks.

(In reply to comment #24)
> #7d in case of error it can be helpful for users to turn red the numbers of
> remaining scheduled operations (only if there remain any unfinished) above the
> progressbar + keep progressbar at the percentage where error occurred + write
> in red the name of file on which the error occurred (see attachment). Sorry if
> I am suggesting something that works now, I could not verify that.

This works a bit differently - if any error occurs, the synchronization simply continues since it makes more sense (the operations are mostly independent on each other). User is just informed that an error occured; all these errors can be found in the Output window.
Comment 29 Tomas Mysik 2012-04-16 12:38:49 UTC
BTW one minor note: regarding the "blue" text messages - I just discussed it with Standa and they will need to be set to have blue foreground; this of course means that they won't be well visible if one has a "blue" theme (not sure how common it could be).
Comment 30 Petr Somol 2012-04-16 12:59:01 UTC
ad #28

True. In view of this, I am considering to add a textarea to the Progress
dialog where a simple list of failed files could be presented at the end.
Although all this can be found in Output window, it is much more convenient for
users to get informed instantly without the need to take any additional action
like opening the Output window if it is not opened etc (that would require to
close the modal Progress dialog first and thus loosing the simple summary from
sight).. I'll attach an updated Progress dialog proposal asap if you agree..

ad #29

I thought there was some kind of "emphasized informative message" style that by default was blue. If it is not so, then we need to opt for some other way of emphasizing that would be LaF neutral. Maybe it would be safest to stay with just making the text bold (if it is necessary to emphasize at all).

With error messages in red the argument about background color conflict seems to be less urgent and I would just stay with red as it is well recognizable as the color of errors..
Comment 31 Tomas Mysik 2012-04-16 15:25:38 UTC
(In reply to comment #30)
> True. In view of this, I am considering to add a textarea to the Progress
> dialog where a simple list of failed files could be presented at the end.
> Although all this can be found in Output window, it is much more convenient for
> users to get informed instantly without the need to take any additional action
> like opening the Output window if it is not opened etc (that would require to
> close the modal Progress dialog first and thus loosing the simple summary from
> sight).. I'll attach an updated Progress dialog proposal asap if you agree..

As agreed with Petr, this won't be needed (at least for now, can be changed once generic framework for long running tasks is introduced).

> I thought there was some kind of "emphasized informative message" style that by
> default was blue. If it is not so, then we need to opt for some other way of
> emphasizing that would be LaF neutral. Maybe it would be safest to stay with
> just making the text bold (if it is necessary to emphasize at all).

This will be solved; Petr will update this issue.

Thanks.
Comment 32 Petr Somol 2012-04-17 08:25:18 UTC
Created attachment 118377 [details]
Reset Operation icon - clearer version
Comment 33 Tomas Mysik 2012-04-17 08:50:04 UTC
(In reply to comment #6)
> #3f add Help button and help page

Adding Jeff to CC; the Help ID will be:

org.netbeans.modules.php.project.connections.sync.SyncPanel

Thanks.
Comment 34 Petr Somol 2012-04-17 09:05:03 UTC
Created attachment 118380 [details]
sync main dialog proposed modification (updated2)
Comment 35 Petr Somol 2012-04-17 09:05:42 UTC
Created attachment 118381 [details]
sync main dialog proposed - see commen under list with multiple selections (updated)
Comment 36 Petr Somol 2012-04-17 09:06:29 UTC
Created attachment 118382 [details]
sync main dialog proposed - see comment under list when a line with error is selected (updated)
Comment 37 Petr Somol 2012-04-17 09:12:12 UTC
Created attachment 118384 [details]
Progress dialog - when download is in progress (updated)

Note that it would be desirable to let users cancel the ongoing synchronization process. Also, when errors occur during synchronization and the process is still going on, it would be good to communicate the fact that errors occured by changing the color of the respective category label to red (above progressbar, not under progressbar where the current operation should always be displayed in default black). For the look of this dialog when synchronization finishes see the other attachments.
Comment 38 Petr Somol 2012-04-17 09:15:44 UTC
Created attachment 118385 [details]
Progress dialog - when finished successfully (updated)

Note the summary message in bold default color instead of blue. This applies to all previous occurences of blue used to emphasize informational messages.
Comment 39 Petr Somol 2012-04-17 09:16:19 UTC
Created attachment 118386 [details]
Progress dialog - when finished by error (updated)
Comment 40 Tomas Mysik 2012-04-17 11:31:30 UTC
(In reply to comment #6)
> #4a Left click to the operation symbol (in the middle column only !) in list
> should switch to the next symbol (and preferably should not change selection).
> Repeated clicking would cyclically switch among available operations.

"preferably should not change selection" - it seems to me that this is not possible.
Comment 41 Petr Somol 2012-04-17 11:35:38 UTC
(In reply to comment #40)
> 
> "preferably should not change selection" - it seems to me that this is not
> possible.

no problem
Comment 43 Quality Engineering 2012-04-19 10:01:10 UTC
Integrated into 'main-golden', will be available in build *201204190400* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)
Changeset: http://hg.netbeans.org/main-golden/rev/85033084e751
User: Tomas Mysik <tmysik@netbeans.org>
Log: #210345 - UI review (comment #1)
Comment 44 Jeffrey Rubinoff 2012-04-19 17:33:15 UTC
What is a "file vs directory collision"? Some kind of path conflict?
Comment 45 Tomas Mysik 2012-04-20 03:42:53 UTC
(In reply to comment #44)
> What is a "file vs directory collision"? Some kind of path conflict?

E.g. "/my/file" is a file on the local PC but a directory on the remote server.
Comment 46 Tomas Mysik 2012-04-20 06:43:47 UTC
(In reply to comment #24)
> #7a when synchronization finishes, there should be no leftover message
> describing the last performed operation (e.g., "Uploading somefile.php...").

Seems to be a problem in progress handle; reported as issue #211494.
Comment 47 Tomas Mysik 2012-04-20 06:46:46 UTC
(In reply to comment #46)
> Seems to be a problem in progress handle; reported as issue #211494.

Will be work arounded (work around will be removed once the issue is fixed).
Comment 48 Tomas Mysik 2012-04-20 06:48:40 UTC
(In reply to comment #24)
> #7b the messages informing about the currently performed operation are
> occasionally misleading

Fixed (will be pushed soon), thanks for catching that.
Comment 49 Tomas Mysik 2012-04-20 07:11:49 UTC
(In reply to comment #24)
> #7c The comment informing about the fact that log will be available in Output
> window should not be the topmost information the user sees. I suggest to
> display it only as part of the "finished" message or "error" message when
> synchronization finishes (see attachment)

The Dialogs API apparently does not like HTML and/or long/multiline messages - reported as issue #211497. Petře, we need to ensure fixing of this issue or change our dialog somehow.

Thanks.
Comment 50 Tomas Mysik 2012-04-20 08:18:33 UTC
(In reply to comment #37)
> Note that it would be desirable to let users cancel the ongoing synchronization
> process.

Is it OK to have only one button for these 2 operations? It seems a bit confusing to me, moreover an accidental double-click can easily occur (which will result in canceling the synchronization). So please confirm that only one button should be used (instead of standard OK and Cancel buttons).

> Also, when errors occur during synchronization and the process is
> still going on, it would be good to communicate the fact that errors occured by
> changing the color of the respective category label to red (above progressbar,
> not under progressbar where the current operation should always be displayed in
> default black). For the look of this dialog when synchronization finishes see
> the other attachments.

The color can be changed without any problem, as well as the number of remaining downloads and uploads. The "problem" is with the deletions since one deletion can represent one or two real deletions (on the local PC and on the server) [1]. Let me know if we should handle this situation somehow specifically.

Thanks.
[1] I keep this as one number since the same is done in the synchronization list (table).
Comment 51 Petr Somol 2012-04-20 08:49:06 UTC
(In reply to comment #50)
> (In reply to comment #37)
> > Note that it would be desirable to let users cancel the ongoing synchronization
> > process.
> 
> Is it OK to have only one button for these 2 operations? It seems a bit
> confusing to me, moreover an accidental double-click can easily occur (which
> will result in canceling the synchronization). So please confirm that only one
> button should be used (instead of standard OK and Cancel buttons).
> 

I wondered where the doubleclick could take place, before realizing that the synchronization dialog actually is used as a summary to be confirmed before the actual synchronization is really started. In that case you're right and we need separate OK and Cancel buttons. 

Before realizing this I thought of the dialog as informational only. So I started to write an explanation that is no longer valid, but I keep it here to clarify why I considered one button only: "I understand the dialog is primarily meant not to gather any necessary user input but to inform about the ongoing process. Additionally, it allows to cancel the ongoing process. No other action from the user is accepted (pressing OK at the end just closes the dialog and does not affect the outcome of the process). Thus there is no situation in which both Cancel and OK buttons should be active at once. Their activity is mutually exclusive. The combination of both OK and Cancel is typically displayed in dialogs that request user input and give user the choice either to confirm the operation or to cancel everything before it actually started. I assume we are not in this situation as our dialog is displayed only when the operation is already going on. So, having just the Cancel button available during the operation makes sense as there is nothing else the user might want (be permitted) to do at this moment. When the operation finishes, then it does not make sense to cancel, the only thing possible is to press OK to close the dialog. This is a fairly used pattern. I admit in some situations it may cause problems, but I do not see them here."


> 
> The color can be changed without any problem, as well as the number of
> remaining downloads and uploads. The "problem" is with the deletions since one
> deletion can represent one or two real deletions (on the local PC and on the
> server) [1]. Let me know if we should handle this situation somehow
> specifically.
> 

I do not think this is a problem here. The four counters in upper half of synchronization dialog are for rough information only while all details are logged in Output window. The main point here is to let the user know early enough that something has gone wrong (it is not that important here to have the information 100% detailed) and give her the choice to cancel the rest of the process and possibly find out all true details in the log.
Comment 52 Tomas Mysik 2012-04-20 09:37:20 UTC
(In reply to comment #51)
> I wondered where the doubleclick could take place, before realizing that the
> synchronization dialog actually is used as a summary to be confirmed before the
> actual synchronization is really started. In that case you're right and we need
> separate OK and Cancel buttons. 

Sorry, my fault. You were right. There are 2 dialogs - one for summary, one for sync progress. So I will do that as you have originally proposed.

Thanks.
Comment 53 Tomas Mysik 2012-04-20 09:42:14 UTC
(In reply to comment #52)
> Sorry, my fault. You were right. There are 2 dialogs - one for summary, one for
> sync progress. So I will do that as you have originally proposed.

BTW if one clicks Cancel during synchronization - what should happen with the dialog? Should it stay opened? I guess so...

Thanks.
Comment 54 Tomas Mysik 2012-04-20 10:25:29 UTC
Since issue #211497 won't be fixed, what are we going to do with the messages in the sync progress dialog?
(I just keep them "broken" for now, will fix them once we know how.)

Thanks.
Comment 55 Petr Somol 2012-04-20 10:34:35 UTC
In the sync progress dialog I guess it should be viable to have the place for an icon on the left and two labels above each other to the right of the icon position. Only the upper label would be used in the process of synchronization to display current file name. In case of warning or final info, the upper label would display only the part of text in bold and the lower label would display the remark about details in Output window. Is this what you meant ?
Comment 57 Tomas Mysik 2012-04-20 11:12:39 UTC
(In reply to comment #55)
> In the sync progress dialog I guess it should be viable to have the place for
> an icon on the left and two labels above each other to the right of the icon
> position. Only the upper label would be used in the process of synchronization
> to display current file name. In case of warning or final info, the upper label
> would display only the part of text in bold and the lower label would display
> the remark about details in Output window. Is this what you meant ?

Will try to do it (please notice that the label for "Uploading index.php..." is provided by the progress API so there can be some problems, will see).
How easy it would be if our support would be able to handle it (we are slowly going back to the original state - every dialog used to have its own info/warning/error messages ;)
Comment 58 Jeffrey Rubinoff 2012-04-20 19:59:36 UTC
Added first draft of CSH for the Remote Synchronization page, in changeset 219659	6b50d073d4e2
Comment 59 Quality Engineering 2012-04-21 09:58:39 UTC
Integrated into 'main-golden', will be available in build *201204210400* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)
Changeset: http://hg.netbeans.org/main-golden/rev/056d0e4ac614
User: Tomas Mysik <tmysik@netbeans.org>
Log: #210345 cont'd - UI review (#7e)
Comment 60 Tomas Mysik 2012-04-27 12:16:33 UTC
(In reply to comment #55)
> In the sync progress dialog I guess it should be viable to have the place for
> an icon on the left and two labels above each other to the right of the icon
> position. Only the upper label would be used in the process of synchronization
> to display current file name. In case of warning or final info, the upper label
> would display only the part of text in bold and the lower label would display
> the remark about details in Output window. Is this what you meant ?

Please, can you attach pictures of these 2 states (synchronization running and synchronization finished)? To keep the dialog's size, it would mean that for the "running" phase we will have some empty space in the bottom of the dialog, right? Or am I missing something?

Thanks.
Comment 61 Tomas Mysik 2012-04-27 12:31:51 UTC
(In reply to comment #56)
> TBD:
> - popup menu

Fixed.
http://hg.netbeans.org/web-main/rev/8964c0709991

> - messages in the progress dialog

Solved by the easiest way.
http://hg.netbeans.org/web-main/rev/37609e0ee28a

Please, reopen if there is anything incorrect.

Thanks.
Comment 62 Quality Engineering 2012-05-01 09:55:47 UTC
Integrated into 'main-golden', will be available in build *201205010400* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)
Changeset: http://hg.netbeans.org/main-golden/rev/8964c0709991
User: Tomas Mysik <tmysik@netbeans.org>
Log: #210345 cont'd - UI review (#4b)
Comment 63 Tomas Mysik 2012-05-09 11:08:10 UTC
Láďo, could you please verify on some huge PHP project (e.g. several copies of MediaWiki ;) that the performance of the Sync dialog (the table with files) is fine?

Thanks.
Comment 64 Vladimir Riha 2012-05-09 11:13:13 UTC
ok, I'll do it today/tomorrow and try to verify the UI changes also
Comment 65 Tomas Mysik 2012-05-09 11:30:21 UTC
Minor improvement - added "(click to change)" suffix to Operations which can be changed by the mouse click (see #4a).

http://hg.netbeans.org/web-main/rev/89bb132049a3
Comment 66 Vladimir Riha 2012-05-09 16:33:50 UTC
I have a project of about 26k files.

About Performance:
- applying filters/sorting (show Upload, Download...) works with minor and acceptable delay

- in Remote Synchronization dialog: the IDE freezes if you select all files/folders in the table and choose some operation for them (e.g. upload) using the buttons below. 2 times of 3 I waited about 2-3 minutes and then kill NetBeans, one time I got Slowness report



About filters:
- when you invoke synchronization for the first time, files have operation "Upload with review". If I uncheck "Upload" in "Show planned Operations", should these files be hidden? The "upload" filter has no effect on files with "upload with review"
- the same situation with right click on file that has "upload with review" and selecting "disable uploads" => nothing happens
Comment 67 Vladimir Riha 2012-05-09 16:34:22 UTC
Created attachment 119224 [details]
thread dump

dump when IDE freezed
Comment 68 Vladimir Riha 2012-05-09 16:34:54 UTC
Created attachment 119225 [details]
snapshot

snapshot from the 1 mentioned case...
Comment 69 Tomas Mysik 2012-05-10 05:25:10 UTC
(In reply to comment #66)
> About Performance:
> - applying filters/sorting (show Upload, Download...) works with minor and
> acceptable delay
> 
> - in Remote Synchronization dialog: the IDE freezes if you select all
> files/folders in the table and choose some operation for them (e.g. upload)
> using the buttons below. 2 times of 3 I waited about 2-3 minutes and then kill
> NetBeans, one time I got Slowness report

Filed as issue #212269.

> About filters:
> - when you invoke synchronization for the first time, files have operation
> "Upload with review". If I uncheck "Upload" in "Show planned Operations",
> should these files be hidden? The "upload" filter has no effect on files with
> "upload with review"
> - the same situation with right click on file that has "upload with review" and
> selecting "disable uploads" => nothing happens

Will fix, thanks for catching that.
Comment 70 Tomas Mysik 2012-05-10 05:28:22 UTC
One more bug: Operations that cannot be changed (e.g. symbolic link) can be changed via context menu - will fix it as well.
Comment 71 Tomas Mysik 2012-05-10 05:37:03 UTC
(In reply to comment #70)
> One more bug: Operations that cannot be changed (e.g. symbolic link) can be
> changed via context menu - will fix it as well.

Petře S, what is the correct UI behavior for right click on e.g. symbolic link operation? And what if one selects more rows and just one of them is a symbolic link? Right now, the popup menu appears always but no change is done after one selects any of its actions. Or, should the actions in the popup menu be disabled if any of the selected rows cannot be changed?

Thanks.
Comment 72 Tomas Mysik 2012-05-10 06:06:38 UTC
(In reply to comment #66)
> - when you invoke synchronization for the first time, files have operation
> "Upload with review". If I uncheck "Upload" in "Show planned Operations",
> should these files be hidden? The "upload" filter has no effect on files with
> "upload with review"

Works for me - "Upload with review" is upload with a warning - you have to uncheck Warning checkbox as well.

> - the same situation with right click on file that has "upload with review" and
> selecting "disable uploads" => nothing happens

http://hg.netbeans.org/web-main/rev/1d31591b2141

(In reply to comment #70)
> One more bug: Operations that cannot be changed (e.g. symbolic link) can be
> changed via context menu - will fix it as well.

http://hg.netbeans.org/web-main/rev/aac4ecea082e

So, I think this issue is fixed. Let's file new issues as a separated, new reports.

Thanks a lot guys!
Comment 73 Quality Engineering 2012-05-10 09:58:24 UTC
Integrated into 'main-golden', will be available in build *201205100400* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)
Changeset: http://hg.netbeans.org/main-golden/rev/89bb132049a3
User: Tomas Mysik <tmysik@netbeans.org>
Log: #210345 cont'd - UI review

Operation tooltip improved.
Comment 74 Quality Engineering 2012-05-11 10:10:36 UTC
Integrated into 'main-golden', will be available in build *201205110400* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)
Changeset: http://hg.netbeans.org/main-golden/rev/aac4ecea082e
User: Tomas Mysik <tmysik@netbeans.org>
Log: #210345 cont'd - UI review

Change only operations that are allowed to be changed.
Comment 75 Vladimir Riha 2012-05-11 12:14:33 UTC
verified, thanks

Product Version: NetBeans IDE Dev (Build 201205110400)
Java: 1.7.0_04; Java HotSpot(TM) Client VM 23.0-b21
System: Linux version 3.0.0-19-generic-pae running on i386; UTF-8; en_US (nb)
Comment 76 Petr Somol 2012-05-11 14:08:43 UTC
(In reply to comment #71)
> (In reply to comment #70)
> > One more bug: Operations that cannot be changed (e.g. symbolic link) can be
> > changed via context menu - will fix it as well.
> 
> Petře S, what is the correct UI behavior for right click on e.g. symbolic link
> operation? And what if one selects more rows and just one of them is a symbolic
> link? Right now, the popup menu appears always but no change is done after one
> selects any of its actions. Or, should the actions in the popup menu be
> disabled if any of the selected rows cannot be changed?
> 
> Thanks.

Sorry for delayed comment. IMHO with multiple rows selected the popup menu should disable those actions for which there is no row in the selection on which they could be applied. An enabled action would affect only those rows from the selection on which it is applicable. (There is probably no need to be too restrictive and disable actions in menu when there is at least some part of the selection on which they can be applied)
Comment 77 Tomas Mysik 2012-05-14 08:30:11 UTC
Fixed, Láďo, please verify (now, operation is changed for all selected items that can be changed; items that cannot be changed, are ignored).

Thanks.

http://hg.netbeans.org/web-main/rev/b71ce6d7cc6b
Comment 78 Quality Engineering 2012-05-15 10:09:49 UTC
Integrated into 'main-golden', will be available in build *201205150400* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)
Changeset: http://hg.netbeans.org/main-golden/rev/b71ce6d7cc6b
User: Tomas Mysik <tmysik@netbeans.org>
Log: #210345 cont'd - UI review

Operation is changed for all selected items that can be changed (items that cannot be changed, are ignored).
Comment 79 Vladimir Riha 2012-05-15 14:46:43 UTC
(In reply to comment #77)
> now, operation is changed for all selected items
> that can be changed; items that cannot be changed, are ignored
> 

What exactly do you mean? I tried to delete local file and in Synchronize dialog select Upload for it. Now there is an error msg "Non-existing file..." but the icon is changed to Upload anyway
Comment 80 Tomas Mysik 2012-05-16 08:33:56 UTC
(In reply to comment #79)
> What exactly do you mean?

Previously, operation buttons (upload, download etc.) were disabled if _any_ of the selected item was "unalterable" (only symlink right now); recently this was changed - operation buttons are now enabled even if there is any symlink in the selection; if one clicks any of theese operation buttons (or invokes an action from the popup menu), operation is changed only for items that can be changed (so symlink should always stay symlink).

> I tried to delete local file and in Synchronize
> dialog select Upload for it. Now there is an error msg "Non-existing file..."
> but the icon is changed to Upload anyway

Is it a bug? If so, please file it as a new, separate issue.

Thanks.