Faces Versioning

Introduction
A small glossary for the used terms can be found under Miscellaneous. Please enter all comments concerning the use cases on the discussion page.

UC_FAC_VS_01 View album event log
Status/Schedule
 * Status: in design
 * Schedule: ???

Motivation
 * The user want to view the event log of an album to get an overview about all changes of the album.

Pre-Condition
 * An album is selected.
 * The user is the owner or a active shared user of the album.

Triggers
 * This use case can be included by the use cases
 * UC_FAC_BD_04_View album details

Steps
 * 1) The user chooses to view the event log of the selected album.
 * 2) The system displays all album versions and their corresponding log entries. The list is sorted descending by the date of event. The most recent event is listed first.
 * 3) * the action (create, edit, share, unshare, release, withdraw album; add, remove picture(s); changes in the note pad will not be logged as the note pad is a separate item)
 * 4) * the timestamp of execution
 * 5) * the user who executed the action
 * 6) * the version of the object, on which the action has been done
 * 7) (Optionally) The user chooses to view one selected version of the album.
 * 3.1 The system displays the selected version.
 * 1) The use case ends successfully.

Actors Involved
 * Account user

Versioning of shared Albums
Following workflow would be possible: --> Intellectual history will be provided (next to the technical one)
 * 1) The user adds/removes pictures from the album. All his changes are only "pending" (not visible and changeable for other users of the album).
 * 2) The user has to "submit" his changes by entering a change description (e.g. in the notepad). When saving this comment, the changes will be visible and changeable for all users of the album.
 * 3) An event log will be provided, where only the submissions (together with the change description) are visible as single event logs.

Problematic Scenarios:
 * 1) Two user are working parallel with the same album
 * 2) * User A is working on the album (his changes are in state pending). He added picture X to the album.
 * 3) * User B is also working on the album. For him picture X is marked as pending with following remark: "Added from user A".
 * 4) * When user A submitted his changes, picture X is not pending any more. That means, User B can see that picture X is added to the album and -if needed- can be removed by all users of the album.