Requirements
 Dropped
  • icboureanu
    icboureanu
    icboureanu design

Description

Use case May 2007

Abstract

This Requirements Engineering sheet, due to its very broad scope, will be incomplete, and will evolve over time. In its current state, this usage scenario is somewhat simplified: there might be additional constraints, etc. Indeed, modifications may occur due to possible future requests, but also as a consequence of the actual implementation

Description

CoW Editor is the actual client-side editor for collaborative web drawing application.

This editor is designed as a plugin for xwiki. Thus, it will be launched in a similar manner as the HTML WYSIWYG editor in Xwiki So, Xwiki menu shall be used for some functionalities such as save, save and preview, etc. The plugin also has an enclosed chat to help interaction between collaborating users. In the chat, each user will be assigned an unique color; this color will mark the object that he is currently editing, for sake of good cooperation (concurrency issues prevention).

Actors & Goals

User: edits a simple diagram / drawing in an interactive way, sharing his workspace with other logged on users.

Goal: ensuring collaborative web editing

Usage scenarios

The following use cases describe how a user would actually use this editor in his browser. We shall allow free-hand drawing, usage of basic shapes (e.g. rectangle, circle), connectors, images and text boxes. For sake of consensus, we shall further denote these as ?drawing objects?.

Basic scenarios

  1. User creates a new shape
    1. Goal / Context: Creating a new shape (e.g., freehand, rectangle, circle)
    2. Scenario / Steps
      1. The user presses the corresponding button on the existing tool bar.
      2. The user clicks into the canvas of the workspace, drags and releases the mouse button.If he only clicks, a default size object is created
      3. The object is created and gets the focus, being the object currently selected by this user.
      4. The user clicks on the canvas and the creation mode continues: he creates a new object.
      5. User can leave creation mode by selecting from the tool bar another tool.
    3. Extensions: The creation of objects by other sequence of actions than ?click-drag-click?.( e.g, for polyline, the action is ?click- click- click...- click - double click?)
    4. Technologies / Requirements: Not specified yet.
  2. User selects an existing object
    1. Goal / Context: Selecting an object currently on the canvas.
    2. Scenario / Steps
      1. The user selects the select tool from the tool bar..
      2. The user clicks on a visible part of the object.
      3. The object is selected and gets the focus.
        • The object is visibly signaled as being selected by the user. (e.g., the border color is changed)
        • As a symbol of the selection, in the lower left corner of the object, a colored locker is drawn. This color is the color associated with the user. When the mouse hoovers over the locker, the name of the corresponding user is displayed.
    3. Extensions
      1. Using the CTRL modifier, the user can select other objects (adding to the current selected ones) or deselect objects (that are selected)
      2. Multiselect: the user draws a selection rectangle: all objects within the marked area are selected upon release.
      3. On selection, a small toolbar with the most frequent actions is displayed next to the object. (eg. change color, delete, move etc.)
    4. Technologies / Requirements: Not specified yet.
  3. User deletes an existing object
    1. Goal / Context: The user wants to delete an object.
    2. Scenario / Steps
      1. The user selects the object.
      2. The presses on the ?delete? tool on the tool bar.
    3. Extensions: If several objects are selected and the ?delete? tool then pressed, all these objects get deleted.
    4. Technologies / Requirements: Not specified yet.
  4. User moves an object
    1. Goal / Context: The user wants to change position of an object .
    2. Scenario / Steps
      1. The user has the pointer over the object.
      2. The user clicks, drags and releases at a new position.
    3. Extensions
      1. A ?move? tool can be added to the tool bar in order to avoid undesired moving of object during selection.
      2. Moving can be applied to a multiple selection if the case arises.
    4. Technologies / Requirements: Not specified yet.
  5. User creates a text box
    1. Goal / Context: The user wants to introduce some piece of text in the workspace.
    2. Scenario / Steps
      1. The user clicks on the corresponding tool in the tool bar.
      2. The user clicks on the canvas.
      3. A default size text box is created and its interior captures focus for text input.
    3. Extensions: If the text does not fit in the text box, a scrolling bar is assigned to it.
    4. Technologies / Requirements: Not specified yet.
  6. User edits the text in an existing text box.
    1. Goal / Contex: The user wants to edit a text on the canvas.
    2. Scenario / Steps
      1. The user double clicks on the text box.
      2. The focus is set onto the text in the text box and editing mode is enabled.
      3. The user clicks outside the text box and commits his modification.
    3. Extensions: None.
    4. Technologies / Requirements: Not specified yet.
  7. User creates an image
    1. Goal / Context: The user wants to insert an image in the workspace..
    2. Scenario / Steps
      1. The user clicks on the corresponding ?insert image? tool in the tool bar.
      2. A dialog appears, asking for the url of the image.
      3. The user click on the canvas, at the position of the wanted insertion.
      4. The image is inserted and displayed with a default height/width for fitting reasons..
    3. Extensions: None.
    4. Technologies / Requirements: Not specified yet.
  8. User is changing the size of an object.
    1. Goal / Context: The user wants to change size of an existing object.
    2. Scenario / Steps
      1. The user clicks onto the due object.
      2. On selection, a small right corner square appears. Dragging this square allows size changing.
    3. Extensions: None.
    4. Technologies / Requirements: Not specified yet.
  9. User changes color of an object.
    1. Goal / Context: The user wants to change the color of an existing object.
    2. Scenario / Steps
      1. The user selects an object.
      2. The user clicks on the ?color picker? tool on the tool bar.
      3. The user chooses a color:
        • user left-clicks on a color swatch and the fill color of the object is consequently changed
        • user right-clicks on a color swatch and the border color of the object is consequently changed
      4. The user closes the ?color picker?.
      5. If clicked outside the object, the object is deselected.
    3. Extensions: None.
    4. Technologies / Requirements: Not specified yet.
  10. User creates a connector
    1. Goal / Context: The user wants to connect two existing objects using a connector. A connector is a double ended arrow with specially marked ends.
    2. Scenario / Steps
      1. The user selects the connector tool from the toolbar.
      2. The user clicks on the first object to be connected and drags towards the second object.
      3. When the mouse pointer is over a linkable object, the border of the object starts blinking.
        • the user releases the button and the connector is thus created
        • the user moves the pointer over another object/over the canvas
      4. The user releases the mouse when the mouse pointer is over the canvas or over an unlinkable object. The creation of the connector is aborted.
    3. Extensions: None.
    4. Technologies / Requirements: Not specified yet.
  11. User sends a message in the chat.
    1. Goal / Context: The user wants to send a message in the chat.
    2. Scenario / Steps
      1. The user clicks into the chat input textbox and writes a message.
      2. The user presses the ENTER key or clicks on the send button.
      3. His message is visible in the chat window.
    3. Extensions: None.
    4. Technologies / Requirements: Not specified yet.
  12. User saves the document in the workspace.
    1. Goal / Context: The user wants to save the current state of the document.
    2. Scenario / Steps
      1. The user presses on the save button in the menu.
      2. A confirmation dialog appears, allowing the user to specify a minor edit version or a new version to be saved.
      3. The document is saved accordingly.
      4. The users continue their collaborative editing session.
    3. Extensions: None.
    4. Technologies / Requirements: Not specified yet.

Extended scenarios

  1. User edits the properties of an object.
    1. Goal / Context: The user wants to change some properties of an existing object.
    2. Scenario / Steps
      1. The user selects an object.
      2. The user clicks on the Properties Tool from the toolbar.
      3. A dialogue displaying the editable properties appears.
      4. The user proceeds in editing the properties.
      5. The user closes the dialogue:
        • The user presses the cancel button: the modifications are dropped, the object remains unchanged.
        • The user presses the apply button: the object is modified accordingly.
    3. Extensions: None.
    4. Technologies / Requirements: Not specified yet.

Notes on the scenario

As a Requirements Engineering process, this scenario refers to a primary version of this editor.

Modifications can be operated as suggestions are welcomed.


 

Tags: gsoc
Created by Ecaterina Moraru (Valica) on 2013/11/06 13:03
    

Get Connected