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 37398 - CVS: Solve login to CVS
Summary: CVS: Solve login to CVS
Status: VERIFIED FIXED
Alias: None
Product: obsolete
Classification: Unclassified
Component: vcsgeneric (show other bugs)
Version: 3.x
Hardware: PC All
: P1 blocker (vote)
Assignee: Martin Entlicher
URL:
Keywords: UI
Depends on: 7706
Blocks: 37353 25139
  Show dependency tree
 
Reported: 2003-11-21 08:25 UTC by Richard Gregor
Modified: 2004-02-16 16:01 UTC (History)
2 users (show)

See Also:
Issue Type: TASK
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Richard Gregor 2003-11-21 08:25:17 UTC
We have to solve problem of login to CVS. Possible
solutions are:
1) do it in mount wizard
2) connection manager
3) login command in popup menu
4) display login dialog when cvs command fails
because of user is no logged in
Comment 1 dmladek 2003-11-21 17:48:55 UTC
I'd vote for 1
(and to keep alive 2) if possible.

There is issue #37353 for CVS/Root unification for curent CVS FS
which need somewhere introduce in the IDE (VCS) GUI.

Please, HIE guys, when you're going to solve this isse, also think about 
the issue #37353 together.

Thanks very much
-dan
Comment 2 dmladek 2003-11-21 20:23:11 UTC
With Martin, we put heads together and  get through current
"CVS/VCS" Mounting Wizards and appropriate customizers and found
following solution as the best:

It will be necessary modify and extend current VCS MntWizard and
VCS-FS Customizer in the way described bellow:

-------
(Note:)
Each Panel in Mnt-Wizard is equal to TAB in FS's Customizer.
All ASCII Arts pictures of Panels are very rough. So some typical
widgets are omitted (and it doesn't mean they won't be there)
-------


I. Panel of VCS-Mnt Wizard
===========================
A few things have been moved to the II.panel.
They are mainly Server Settings (that's the stuff related to CVSROOT)

 --------------------------------------------------------------------
| Profile cmbox selector:   .......\/                                |
| Wrk.Dir:                  ........                                 |
| Rel.Mnt Point:            .......__                                |
| Connection Method:        .......\/                                |
|                                                                    |
| o Build-in CVS                                                     |
| o Cmd-line CVS                                                     |
|            CVS Exec:      .........                                |
|            CVS_RSH:       .........                                |
 --------------------------------------------------------------------


II. Panel of VCS-Mnt Wizard
===========================
There are centralized stuffs related to maintaining CVSROOT.
 -Login button (which on click might invoke login dialog
   where user just input her passwd and click OK, or
 -Password textField should be presented in this Panel.
 -On/Off-line RadioGroup switcher
 -User Login State textField....informing user if she's logged or not.
 -Check CVS/Roots button invoke a Maintaining dialog for CVS/Root
  files. (That solving the issue #37353)
  
 --------------------------------------------------------------------
| Srv.name:  .....................                                   |
| Usr.name:  .....................                                   |
| Repo    :  .....................                                   |
| Password:  (might be dialog as like in JavaCVS)   o [Login]        |
|                                                   o Offline        |
|     login info: "You're currently loggedin"                        |
|                                                                    |
| CVSROOT=   :pserver:user@srvname:port/repo     [Check CVS/Roots]   |
 --------------------------------------------------------------------

Comment 3 Jiri Kovalsky 2003-11-24 10:01:38 UTC
Well, to tell the truth I don't think this is good, because you
obviously took only CVS point of view. What about PVCS for example ?
How does it fit "first-archive-then-workspace" worflow ? And can you
please explain, what will be the contents of the second panel if
ClearCase or VSS profile was selected ?
Comment 4 Martin Entlicher 2003-11-24 11:16:29 UTC
Yes, this solution is only meant for CVS. We're not going to solve
login problems for PVCS or VSS here.

The ide was, that the panels will be defined in the profiles via input
descriptors. Therefore CVS profile could define two input descriptors
for two panels, but PVCS will define only one (thus with no changes in
PVCS profile, PVCS customization will not change at all).

The wizard would have to be smart and change the steps according to
individual profiles (this should not be a problem, since CVS mount
wizard already have variable steps).

However, there can be a problem with the customizer. Either the tabs
will have to change, or the possibility to select a different profile
will have to be removed from the customizer.
Comment 5 Jiri Kovalsky 2003-11-24 12:40:32 UTC
Okay, in such case it seems good. Daniel didn't mention a word about
it which confused me. As for your proposal about inability to change a
profile once the filesystem is mounted I like it. It's pretty rare
operation and I would even say that very weird.
Comment 6 Richard Gregor 2003-12-15 08:27:39 UTC
Link to UISpec regarding this issue:

http://vcsgeneric.netbeans.org/proposals/FS_Setup_UISpec.html
Comment 7 Martin Entlicher 2003-12-16 13:39:15 UTC
Why "usersguide" component? This needs to be implemented in vcsgeneric
module. Adding UI keyword.

There is a problem with "Next >" and "Finish" buttons. This is not
specified. How should is behave??

Suppose, that you select CVS profile. Then the first panel should
have:
[< Back] [Next >] [Cancel] [Help] buttons, right?

Then the user selects PVCS profile. PVCS have only one page, thus the
first panel will be the last one. It should have:
[< Back] [Finish] [Cancel] [Help] buttons, right?

But there is no way to achieve that behavior! I would need the issue
#7706 to be finally implemented.

Comment 8 Martin Entlicher 2003-12-22 13:12:36 UTC
Since I'm not able to enable/disable Finish button on demand, I'm
going to implement the alternative proposal described at
http://vcsgeneric.netbeans.org/proposals/FS_Setup_UISpec.html

To further shrink the panel, I would drop the second "User Name"
field, because the user name is already filled above.

Also, what if the login/offline radio buttons are at the very end of
the dialog (below the client selection)?

Comment 9 Martin Entlicher 2003-12-22 14:02:12 UTC
Necessary changes are done in the variable input descriptor and
variable input dialog:

/cvs/vcscore/src/org/netbeans/modules/vcscore/util/Bundle.properties,v 
<--  Bundle.properties
new revision: 1.21; previous revision: 1.20

/cvs/vcscore/src/org/netbeans/modules/vcscore/util/VariableInputComponent.java,v 
<--  VariableInputComponent.java
new revision: 1.9; previous revision: 1.8

/cvs/vcscore/src/org/netbeans/modules/vcscore/util/VariableInputDescriptor.java,v 
<--  VariableInputDescriptor.java
new revision: 1.14; previous revision: 1.13

/cvs/vcscore/src/org/netbeans/modules/vcscore/util/VariableInputDialog.java,v 
<--  VariableInputDialog.java
new revision: 1.64; previous revision: 1.63

The changes are described at:
/cvs/vcscore/www/doc/VCSUtilities.html,v  <--  VCSUtilities.html
new revision: 1.7; previous revision: 1.6
Comment 10 Martin Entlicher 2003-12-22 14:24:39 UTC
Also small changes have to be made in the customizer dialog:

/cvs/vcsgeneric/src/org/netbeans/modules/vcs/advanced/VcsCustomizer.java,v 
<--  VcsCustomizer.java
new revision: 1.104; previous revision: 1.103

/cvs/vcsgeneric/src/org/netbeans/modules/vcs/advanced/VcsCustomizer.form,v 
<--  VcsCustomizer.form
new revision: 1.27; previous revision: 1.26

The rest will be in the CVS profile.
Comment 11 Martin Entlicher 2003-12-23 10:37:38 UTC
Further changes applied to the variable input dialog. Selector command
can now change other components. This is necessary for the login
process, that needs to set the login state text.

/cvs/vcscore/src/org/netbeans/modules/vcscore/util/VariableInputComponent.java,v 
<--  VariableInputComponent.java
new revision: 1.10; previous revision: 1.9

/cvs/vcscore/src/org/netbeans/modules/vcscore/util/VariableInputDialog.java,v 
<--  VariableInputDialog.java
new revision: 1.65; previous revision: 1.64

/cvs/vcsgeneric/src/org/netbeans/modules/vcs/advanced/VcsCustomizer.java,v 
<--  VcsCustomizer.java
new revision: 1.106; previous revision: 1.105
Comment 12 Martin Entlicher 2003-12-23 11:09:48 UTC
Some labels in the Customizer are shortened to be more readable.
Built-In client is now set as default for "pserver".
Port is set to 2401 by default.
A readio button for Login/Offline mode is added. The login state is
automatically detected by "SET_LOGIN_STATE" auto-fill command.
A Login command defined as a selector to the password field is added.

So, login should work O.K. now. However there's still a little
difference from the old CVS mount wizard. Finish is enabled even when
the user is not logged in and offline mode is not set. I'm not sure
whether this is a problem or not.

The next thing is, that "Set Offline Mode" radio button does not
actually set the offline mode. There's no way to do this yet, a
support for this needs to be implemented first.

/cvs/vcsgeneric/profiles/cvsprofiles/src/org/netbeans/modules/vcs/profiles/cvsprofiles/commands/CvsLoginCheck.java,v 
<--  CvsLoginCheck.java
new revision: 1.3; previous revision: 1.2

RCS file:
/cvs/vcsgeneric/profiles/cvsprofiles/src/org/netbeans/modules/vcs/profiles/cvsprofiles/commands/CvsLoggedInCVSpass.java,v
/cvs/vcsgeneric/profiles/cvsprofiles/src/org/netbeans/modules/vcs/profiles/cvsprofiles/commands/CvsLoggedInCVSpass.java,v 
<--  CvsLoggedInCVSpass.java
initial revision: 1.1

/cvs/vcsgeneric/profiles/cvsprofiles/src/org/netbeans/modules/vcs/profiles/cvsprofiles/commands/passwd/Bundle.properties,v 
<--  Bundle.properties
new revision: 1.2; previous revision: 1.1

RCS file:
/cvs/vcsgeneric/profiles/cvsprofiles/src/org/netbeans/modules/vcs/profiles/cvsprofiles/commands/passwd/CvsLoginProgressPanel.form,v
/cvs/vcsgeneric/profiles/cvsprofiles/src/org/netbeans/modules/vcs/profiles/cvsprofiles/commands/passwd/CvsLoginProgressPanel.form,v 
<--  CvsLoginProgressPanel.form
initial revision: 1.1

RCS file:
/cvs/vcsgeneric/profiles/cvsprofiles/src/org/netbeans/modules/vcs/profiles/cvsprofiles/commands/passwd/CvsLoginProgressPanel.java,v
/cvs/vcsgeneric/profiles/cvsprofiles/src/org/netbeans/modules/vcs/profiles/cvsprofiles/commands/passwd/CvsLoginProgressPanel.java,v 
<--  CvsLoginProgressPanel.java
initial revision: 1.1

/cvs/vcsgeneric/profiles/cvsprofiles/src/org/netbeans/modules/vcs/profiles/cvsprofiles/config/Bundle.properties,v 
<--  Bundle.properties
new revision: 1.23; previous revision: 1.22

/cvs/vcsgeneric/profiles/cvsprofiles/src/org/netbeans/modules/vcs/profiles/cvsprofiles/config/cvs.xml,v 
<--  cvs.xml
new revision: 1.14; previous revision: 1.13

Resolving as fixed - the login is solved.
Comment 13 Martin Entlicher 2003-12-23 11:13:09 UTC
I've sumbitted issue #38282 for the offline mode.
Comment 14 dmladek 2004-02-16 16:01:15 UTC
It's solved in NB3.6 Beta as described at the end of the bug.