OrgChart

<Project>

Document - ID	Specification Owner	Last Change	Status
	Matthew P. Eisenbraun	7/11/2005	Draft
Conforms to	
Applies to	<Required - List of modules or applications affected.>
Task ID(s)	<Required - Tasklist comma separated.>
Category	Feature

Abstract

<The Abstract is a formal summary of the completed specification. An abstract is an important tool for several different usage scenarios for example it can be reused as an information source for a What's new guide. Abstracts are typically 150 to 250 words long and shall cover the main points of the specification.>

i-Team Members (The specification owner is part of the i-Team)

	Name	E-mail Address
User Experience	<Name + Initials>	
Development		
Quality Assurance		
Documentation		

Approved for Implementation

	Approved by	Date
User Experience	<Name>	<Date>
Development		
Quality Assurance		
Documentation		
String Review		

Document Change History

Rev. Level	Change	Initials	Date
1.0			<Date>

Contents

Glossary	1

1	Motivation	1

2	User Scenarios	1

3	Goals	1

4	Requirements and Dependencies	1

4.1	Requirements	1

4.2	Technical Dependencies	1

5	Competitive Analyses	1

6	Detailed Specification	1

6.1	G11n	2

6.2	Error Conditions	2

6.3	Migration	2

7	Future Tasks	2

8	Notes	2

9	References	3

Glossary

Term	Description
<Term 1>	

Motivation

Currently, the OpenOffice.org package does not have a tool to allow users to easily create and manipulate organizational charts. OpenOffice.org's chief competitor, the Microsoft Office suite, does provide such a capability for its users. Therefore the addition of such a tool to OpenOffice.org will help OpenOffice.org to attract new users and retain current users.

User Scenarios

New OrgChart Based on Pre-existing Template

1) The user starts the OrgChart Tool.

2) The user is presented with the template pane and shape toolbar.

3) The user chooses a template style from the template pane.

4) Based upon the user's selection, shapes are proporgrated to the drawing area.

5) The user modifies the text appearing in the shapes.

5a) The user double-clicks on a shape.

5b) The text in the shape is selected for editing.

5c) The user type new text.

5d) The user clicks off of the shap to end the editing process

6) The user adds shapes to the chart

6a) The user selects a shape from the OrgChart toolbar.

6b) The user clicks in the drawing area to place the shape.

6c) The user positions the shape by clicking and dragging.

6d) Connectors are crated based on the selected template and where the user positions the new shape across the drawing area. For example, the template may describe a tree structure. In this case, moving a shape next to an existing shape will cause a connector to be formed to the next higher-level shape.

7) The user removes any extraneous template shapes that still remain.

Existing OrgChart With New Template Assigned

1) The user loads the chart to be changed.

2) The current template is selected in the template pane.

3) The user selects a different template from the template pane.

4) The chart will be redrawn, using the rules encoded in the new template.

Goals

The primary goal of the OrgChart tool is to build upon the drawing capabilities already provided by OpenOffice.org to provide users with a simple interface for creating organizational charts.

The drawing capabilities of OpenOffice.org will be expanded upon in two primary ways. First, the connectors provided will be abstracted into “connector-trees”. These connector trees will allow the user to easily create hierarchical structures. Second, once once an object is placed near a connector tree, it will snap into place on the tree. This will free the user from having to align individual chart elements and manipulate them independently.

In addition to the extended capabilities, two sets of templates will be included specific to organizational charts. First, new shapes based upon existing drawing shapes will be added. Second, a library of organizational chart styles will be created. This library will feature connector trees and shapes in different configurations, allowing the user to easily and quickly create a new chart.

The template library will be displayed as a pane in the drawing editor. The organizational chart shapes will be accessed through a toolbar.

In addition, it is the goal that the user will be able to change templates at any time, and the OrgChart will update to reflect the new template. In other words, the actual chart data, relationships, etc. will be stored in an abstract from with regards to how it is displayed.

Requirements and Dependencies

Requirements

This tool will be developed in the Java programming language.

Technical Dependencies

<Are there any technical dependencies for this feature? Does the implementation of this feature create any technical dependencies to other program parts? Or very important any issues for automatedd GUI Testing?>

Competitive Analyses

SmartDraw OrgChart Edition is one tool which provides some of the same capabilities as the proposed OrgChart tool. The primary strength of the tool is a very easy to use interface. The tool does contain shape and template libraries, similar to those proposed for OrgChart. There are two main disadvantages. First, the GUI is optimized for a novice user, making it somewhat cumbersome for a more advanced user. Second, once a chart is set, the user cannot change the template it is based upon. In other words it lacks the abstract storage of chart information proposed for OrgChart.

Microsoft Visio also provides Organizational Chart capabilities. However, I am unable to assess those capabilities at this time.

Detailed Specification

Figure 1, below, shows the ChartTemplate pane in the drawing tool. The show chart styles are for illustrative purposes only, and are not necessarily all-inclusive.

Figure 1. UI Mockup showing Template Library

<String Lists>

<First of all the concept section should give the audience an overview of how the new feature will work. When this is done this section has to cover the necessary things to finish this feature. This is the crucial part of the specification. If images are used in the concept, it is very important that these images provide a caption. The caption should be short and has to describe shortly the image. UI Mockups have to provide a caption too, if possible the mockups shouldn't be scaled.For making Screen shots use Alt+Print on Window to capture only the dialog. On JDS, launch from a Terminal window the 'gnome-panel-screenshot' tool. This tools shoots the whole desktop, so you have to crop out the dialog with a tool like Gimp for example.>

String list

Item	English	German	Comments
Button	~Delete	~Entfernen	

Tab Order

<If necessary Describe or visualize the tabbing order. The description of the tab order has to contain which control has the initial focus.>

Key Board Shortcuts

<Key Board shortcuts used in dialogs have to be listed in a table with a small description.>

G11n

<Globalization related topics should be stated here. A globalization related topic is for example when a feature needs to be enhanced to satisfy special regional needs.>

Error Conditions

<List all error conditions, and the action the system takes about them. If an alert box comes up, which kind is it? Include exact text of messages, or say what points need to be covered. Error Messages need a string list>

Migration

<Any migration issues have to be stated here. For example how can users migrate from one version of a database to another?>

Future Tasks

<If there are features which couldn't be implemented but have to be implemented in the future. State these in here with a description why the feature couldn't be implemented right now.>

Notes

<Questions will arise during the writing of the specification. State these in here.>

References

<Give references to related documentation, such as engineering designs, technical specs, and other sources for related units. Also include links to documents that other sections in this spec need to refer to, such as user opinions usability test reports.>

<Required - Specification Title>

Page 4

<Required - Path to specification>

Matthew Eisenbraun

2005-07-11T12:54:23