FeaturesPluginsDocs & SupportCommunityPartners

User Interface Specification: VCS File View

Author: Filip Rachunek
$Revision: 1.2 $
Document History: available in CVS
Abstract: This document is specification of displaying version information in the source editor.
Contents:
1 Introduction
1.1 Overview of Functionality
1.2 Context
2 User View
2.1 Description of the Users
2.2 Scenario
3 System-Wide UI Impact
4 Detailed Spec
4.1 VCS File View
5 Notes

1 Introduction

1.1 Overview of Functionality

VCS File View is a new file view that appears as a new tab in the source editor window. It allows user to select any version of the opened file and copy it to the local version or make a diff between any versions and display the result.

1.2 Context

VCS File View adds a new "History" tab into the source editor which displays all available views of the opened file in separated panels of tabbed pane. It means that "History" tab is shown only if the corresponding file comes from a VCS filesystem. It uses the Versioning Explorer functionality to display version trees of the file and it also takes advantage of the Diff module to perform a diff command between any two versions of the file to display all differences.

2 User View

2.1 Description of the Users

VCS File View should be designed to be user-friendly to all kinds of possible users:
  • People who have no experiences with any VCS tool
  • People who only want to browse and display file versions
  • People who want to browse file versions, display them and make diffs between them

2.2 Scenario

The user opens a file from a VCS filesystem, the IDE adds a new file tab to the source editor and displays tabs of all available views of this file. One of this tab is named "History" and shows the versioning information of the file [see Figure 1].
The History view contains two version trees and the corresponding editor panes. When the user selects a particular version in the tree, the module loads this version from VCS repository, then displays it in the editor pane. By default, local version of the file is selected in both trees. If different versions are selected in the first and the second tree, the module performs a diff command and shows the differences in the same way as a graphical diff command does.

3 System-Wide UI Impact

VCS File View affects the source editor by adding a new view tab to all files opened from a VCS filesystem.

4 Detailed Spec

4.1 History View

History View

Figure 1 - History View


This view displays version trees of the opened file, allows the user to choose any particular version and display its content in the bottom editor pane. Moreover, two different versions of the same file can be selected [one in the left and one in the right side of this view] and the tool shows all differences in the same way the graphical diff panel does.
The view also offers navigation buttons to browse version differences [first, previous, next, last].

5 Notes

Open Issues
  • Show all versioning components in one panel [see Figure 1] or split them into several sub-tabbed-panes by their functionality? [see how JBuilder works with VCS files]
  • Should the History view allow the user to merge the selected version with the corresponding local file? [e.g. add "Merge With Local Version" button under each editor pane]
Companion
Projects:
MySQL Database Server   Open JDK: an Open SourceJDK   GlassFish Community: an Open Source Application Server    Mobile & Embedded Community    Open Solaris   java.net - The Source for Java Technology Collaboration   Virtual Box - full virtualizer  Open ESB - The Open Enterprise Service Bus Powered by