Support of the Control versioning systems in NetBeans UI Specification

Author: Josef Pavlicek

 

$Id: index.html,v 1.23 2007/03/08 11:06:36 josefpavlicek Exp $ (see full CVS history)
$Date: 2007/03/08 11:06:36 $

Content

 

Requirements

Motivation

Motivation of this specification is to allow the user to have more tools for version controlling of his/her code.

 

 

Goals

To develop the good design, which supports to have more version control systems in the one NetBeans IDE.

 

Versioning system UseCase

If the user works in the developers team, he/she often needs to share his/her source files with the colleagues. Because the user- developer very often works in the company, where have a lot of versioning systems like CVS, Subversion and other, the developer looks forward to have some special menu and settings, where he/she can invoke the wanted versioning system. The user looks forward that the system supports the standards versioning systems and gives him/her some easy and smart approach to the versioning system.

 

Versioning system Scenario

  • The system shows the user "Versioning" (with i mnemonic) item in the main menu toolbar Figure 1,
  • The system allows the user open the "Versioning" menu and offers the user accordance with alphabet the implemented version control system submenus (Figure 1.2)
    • CVS
    • SubVersion
  • And the system shows Local History submenu too (Figure 1.2). The Local History is split by the split line.
  • Loc

 

 

Versioning menu design

Figure 1: Detail of the Versioning main menu item

Description of the Figure 1:

Figure 1 shows in the detail, how the system shows the user Version item and shows the mnemonic ALT + i simplification.

 

 

Figure 1.2: The detail of the Versioning menu, if the user doesn't starts work and he/she doesn't have open some project.

Description of Figure 1.2:

This figure shows, how the system allows the user approach to CVS,Subversion or Local History components. The system allows the mnemonic simplification for:

  • CVS - ALT + C,
  • Subversion - ALT + S,
  • Local History - ALT + L.

Because C and S mnemonic were used, the "All" action were not be used by the user often, we have to do some changes:

  • We have to remove from the CVS menu next items (Figure 2):
    • Show All Changes,
    • Diff All Files,
    • Update ALL Files,
    • Commit All Files
  • We have to change the mnemonic in the CVS menu (Figure 2.1) for:
    • Show " x " Changes - ALT + W
    • Commit " x " ... - ALT + O.

Figure 2: The CVS menu changes

Description of Figure 1:

This picture shows the old CVS menu and what has to be removed from it.

 

Figure 2.1: New CVS menu

Description of Figure 2.1:

This picture shows new CVS menu and new mnemonic for Show "x" Changes and Commit "x".. file.

 

Similar problem like with the CVS is necessary to solve for Subversion:

  • We have to remove from the Subversion menu next items (Figure 2.3):
    • Show All Changes,
    • Diff All Files,
    • Update ALL Files,
    • Commit All Files
  • We have to change the mnemonic in the Subversion menu (Figure 2.4) for:
    • Show " x " Changes - ALT + W,
    • Commit " x " ... - ALT + O,
    • Copy to - ALT + Y,
    • Switch to - ALT + T.

Figure 2.3: The OLD Subversion menu

Description of Figure 2.3:

The Figure shows how we have to change current Subversion menu.

 

Figure 2.4: New design of the Subversion menu

Description of Figure 2.4:

This picture shows new design of the Subversion menu the mnemonic changes included.

 

Versioning menu behavior

If the user doesn't have selected some versioning system (for example CVS) the system shows the user small menu like on the Figure 1.2.

  • The user can select one from offered versioning systems like Figure 3.
  • If the user selected the versioning system, or if he/she has selected some project in the versioning system, the system shows the user context menu about the CSV,Subversion and Local history items. This menu depends on the project/file context. The system doesn't offer the submenu for the versioning system, which has context menu visible like on the Figure 3.1.
  • The user can open the versioning menu, if he/she has selected some project or file which is in some versioning system. The system offers only the menu item, which depends on the context. In the Figure 3.2 it is CVS menu item with CVS submenu.
  • If the user is on the project or favorites window and if he/she opens project/ file which is not in the some versioning system, the system shows the user all versioing system menu items:

Figure 3: The Subversion submenu

Description of Figure 3:

The Figure 3 shows the Subversion submenu.

 

Figure 3.1: The CVS context menu example

Description of Figure 3.1:

The Figure 3.1 shows how the system shows the user the CVS context menu. In this case is active CVS, so the CVS menu item and submenu is inactive.

 

Figure 3.2: The CVS context menu

Description of Figure 3.2:

The system shows the user the menu item, which depends on the context. If the user uses the right click on the project/file, which is not in the versioning system, the system shows the user all versioning menu items (in this case and this time 1.1.2007 they are CVS and Subversion only. Here can be more versioning systems in the future like the ClearCase and another. Now we are not supported them unfortunately) like on the Figure 3.3.

 

Figure 3.3: The Versioning menu depends on the project/file context

Description of Figure 3.3:

The system shows the user all versioning menu items, if the selected project/file is not in some versioning system. If is it, the system shows the user the the menu item, which depends on the context - Figure 3.2.

 

Conclusion

The user can use the Local History item too. The UI Spec for the Local History is located here. That is reason why I didn't describe the Local History item. For this UI specification is enough to know, that the Local History is always on the bottom of the versioning menu items.

Figure 5: The Versioning menu items

Description of Figure 5:

The Figure 5 shows the basic Versioning menu with the mnemonic simplification.

 

P.S. Thanks Maros, Tomas, Rojo for help, consultation and very good suggestions.

 

 


Contact:

Ing. Josef Pavlicek, Ph.D.
Human Interface Designer
Software eXperience Design
Sun Microsystems Czech s.r.o

Phone:+420 233 009 442
GSM: +420 737 38 54 75
E-mail: Josef.Pavlicek@Sun.Com

 


 

Project Features

About this Project

ui was started in November 2009, is owned by Jiří Kovalský, and has 37 members.
By use of this website, you agree to the NetBeans Policies and Terms of Use (revision 20140418.2d69abc). © 2013, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo
 
 
Close
loading
Please Confirm
Close