(SPEC) Edit screenshots graphically while creating findings
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
Related bugs
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.
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)