(SPEC) Edit screenshots graphically while creating findings

Registered by Johannes Wettinger

This new feature should provide the possibility to edit screenshots graphically while creating findings in the protocol window. So it will be possible to insert markings into the screenshot, e.g. to show certain deficits in a user interface.

Blueprint information

Status:
Complete
Approver:
Team NEOS
Priority:
Medium
Drafter:
Team NEOS
Direction:
Needs approval
Assignee:
Team NEOS
Definition:
Approved
Series goal:
Accepted for 1.2
Implementation:
Implemented
Milestone target:
None
Started by
Johannes Wettinger
Completed by
Johannes Wettinger

Related branches

Sprints

Whiteboard

1. REQUIREMENT & SPECIFICATION

This feature will give the possibility to the user to edit the screenshots which are created in the protocol window.

You can mark certain areas in a screenshot with either a circular or a square border. For each border you can also define its size, its color and its thickness. You can also insert some text as annotation for a screenshot.

There will also be a simple 'undo' functionality, so you can undo every applied single step in reverse order. It is possible to undo all applied steps until the original state of the screenshot is reached.

----

2. USE CASES

2.1. ADD AND EDIT A NEW SCREENSHOT TO A CERTAIN FINDING

[ACTORS]
Scribe

[PRECONDITION]
The application is running and shows the protocol window for a particular review meeting.
The system clipboard contains an image. (This can e.g. be achieved by pressing the 'Print Screen' key on a Windows system to capture the current screen.)

[NORMAL FLOW OF EVENTS]
(1) The scribe chooses to add the clipboard image to the currently selected finding.
(2) The systems shows the image preview.
(3) The scribe enters the image label (textual description).
(4) The scribe chooses to add annotations to the image.
(5) The system shows the edit dialog.
(6) The scribe adds one or more of the following graphical or textual annotations to the image:
- ellipse
- rectangle
- text
(7) (optional) The scribe removes annotations in reverse order ('undo').
(8) The scribe chooses to apply the annotations and add the image to the finding.
(9) The system adds the annotated image as an attachment to the currently selected finding.

[POSTCONDITION]
The new and annotated image is attached to the currently selected finding.

[ALTERNATIVE FLOWS OF EVENTS]
If the clipboard does not contain a valid image:
(2b) The system displays an error message.

--

2.2. EDIT A SCREENSHOT WHICH IS ALREADY PART OF A CERTAIN FINDING

[ACTORS]
Scribe

[PRECONDITION]
The application is running and shows the protocol window for a particular review meeting.
The currently selected finding has an image attachment.

[NORMAL FLOW OF EVENTS]
(1) The scribe selects the image attachment.
(2) The scribe chooses to edit the image by double-clicking the entry in the table.
Continue with steps (3)-(9) of Use Case 2.1

[POSTCONDITION]
The edited image is attached to the currently selected finding, replacing the original image.

[ALTERNATIVE FLOWS OF EVENTS]
None.

----

3. DESIGN & TECHNICAL SOLUTION

For this feature the new class 'EditImageDialog' inside the package 'neos.resi.gui.dialogs' will be created. This class extends the 'AbstractDialog' class and represents the dialog which gives you the possibilities described above to edit an image, e.g. a screenshot.

The 'EditImageDialog' class provides a method called 'loadImage' to load an existing image and another method called 'saveImage' to save the changes made to the loaded image. The 'saveImage' method will override the opened image file.

The already existing 'Screenshot preview dialog box' (part of the protocol frame class) will be customized, so there will be an 'Edit' button in it to open the current screenshot inside the 'Edit Image Dialog'.

Beside the list of files of each finding in the protocol window, an icon will be added to edit the selected image file.

For RevAger 1.2 this feature will be implemented in that way, so the annotations will become part of the screenshot file, so they are irreversibly stored inside the image file. The annotations will be stored inside the images file when the protocol is saved.
For further versions this feature could be implemented in a way, so the annotations will be stored separately and the original screenshot file will be preserved.

----

4. UNIT TESTING

For this feature there is no unit testing because it is part of the user interface only.

----

5. SYSTEM TEST

This feature is tested by running each of the Use Cases defined above. The results of the execution(s) of this test will be recorded here.

5.1. TEST PROTOCOL 2009-12-05

[USE CASE 2.1]
Ok, no errors (normal flow of events)

[USE CASE 2.2]
Ok, no errors (normal flow of events)

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.