Difference between revisions of "Faces Album Management"

From MPDLMediaWiki
Jump to navigation Jump to search
 
(182 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{ESciDoc Solutions}}
{{Faces}}


== Introduction ==
== Introduction ==
Line 7: Line 7:
Please enter all comments concerning the use cases on the [[Talk:Faces_Album_Management|discussion page]].
Please enter all comments concerning the use cases on the [[Talk:Faces_Album_Management|discussion page]].


As '''the current state of the spec focuses on R3.5''', earlier states of the spec can be found in the history of this page:
As '''the current state of the spec focuses on a new release''', earlier states of the spec can be found in the history of this page:
* The [http://colab.mpdl.mpg.de/mediawiki/index.php5?title=Faces_Album_Management&oldid=19288 spec for R2]
* The [http://colab.mpdl.mpg.de/mediawiki/index.php5?title=Faces_Album_Management&oldid=19288 spec for R2]
* The [http://colab.mpdl.mpg.de/mediawiki/index.php5?title=Faces_Album_Management&oldid=24111 spec for R3]
* The [http://colab.mpdl.mpg.de/mediawiki/index.php5?title=Faces_Album_Management&oldid=24111 spec for R3]
Line 14: Line 14:


'''Status/Schedule'''
'''Status/Schedule'''
* Status: in specification
* Status: implemented
* Schedule: '''''R3.5'''''
* Schedule: '''R2'''


'''Motivation'''  
'''Motivation'''  
Line 22: Line 22:
'''Triggers'''
'''Triggers'''
* This use case can be included by the use cases  
* This use case can be included by the use cases  
** ''[[Faces_Album_Management#UC_FAC_AM_12_Copy_album_content|UC_FAC_AM_12 Copy album content]]''
** [[Faces_Album_Management#UC_FAC_AM_12_Copy_album_content|UC_FAC_AM_12 Copy album content]]


'''Steps'''  
'''Steps'''  
# The user chooses to create a new album.
# The user chooses to create a new album.
# The system displays the edit album mask (the metadate for an album is specified in the [[Faces_Application_Profile_Album|Faces Application Profile Album]]. The owner of the album and his affiliated organisation will automatically be pre-filled as creator for the metadata record assigned to the album.
# The system displays the edit album mask (see [[Faces_Album_Management#Album_Metadata_Set|Album Metadata Set]]). The owner of the album and his affiliated organisation will automatically be pre-filled as creator for the metadata record assigned to the album.
# The user enters an album name.
# The user enters an album name.
# (Optionally) The user enters additional information about the album: further creators (family name, given name) together with their affiliated organisation and a description of the album.
# (Optionally) The user enters additional information about the album: further creators (family name, given name) together with their affiliated organisation and a description of the album.
# ''Extension point: '''share album'''''
#: ''5.1 If the user wants to share the album with one or more other users, include [[Faces_Album_Management#UC_FAC_AM_09_Share_album|UC_FAC_AM_09 Share album]].''
# ''Extension point: '''merge album content'''''
#: ''6.1 If the user wants to merge the content of other albums to the album, include [[Faces_Album_Management#UC_FAC_AM_13_Merge_album_content|UC_FAC_AM_13 Merge album content]].''
# The user confirms the entries.
# The user confirms the entries.
# The system creates following things and displays a message ([[Faces_System_Messages|MSG_FAC_AM_01]]):
# The system creates an '''album''' (container) with the given metadata in the state '''pending''' and displays a message ([[Faces_System_Messages|MSG_FAC_AM_01]]). When the use case war triggered by [[Faces_Album_Management#UC_FAC_AM_12_Copy_album_content|UC_FAC_AM_12 Copy album content]], also the content of the selected albums will be saved. The use case ends successfully.
#* a container for the album with its metadata and, ''if available its content,'' in the state pending
#* ''an item for a notepad related to the album (relation: belongs to) in the state pending''
# The use case ends successfully.


'''Actors Involved'''
'''Actors Involved'''
Line 46: Line 39:


== UC_FAC_AM_02 Add picture to album ==
== UC_FAC_AM_02 Add picture to album ==
=== UC_FAC_AM_02a Select album for adding ===


'''Status/Schedule'''
'''Status/Schedule'''
* Status: in specification
* Status: implemented
* Schedule: '''''R3.5'''''
* Schedule: '''R2'''


'''Motivation'''
'''Motivation'''
* The user wants to add pictures to one or several of his private albums.
* The user wants to select one of his own private or shared albums to add pictures to it.  


'''Pre-Condition'''
'''Pre-Condition'''
* The user is the owner of at least one pending album.
* The user is the owner at least one private album or is sharing at least one private album .
 
'''Steps'''
# The user chooses to select an album for adding pictures.
# The system displays a list of all private albums the user is the owner of or the user is sharing.
# The user selects one album.
# The system sets the selected album as selected album for adding pictures. The use case ends successfully.
 
'''Actors Involved'''
* Account user


'''Triggers'''
=== UC_FAC_AM_02b Add picture to album ===
* This use case can be included by the use cases
 
** [[Faces_Browse_and_Display#UC_FAC_BD_04_View_album_details|UC_FAC_BD_04_View album details]]
'''Status/Schedule'''
* Status: implemented
* Schedule: '''R2'''
 
'''Motivation'''
* The user wants to add one or more picture to one of his private or shared albums.
 
'''Pre-Condition'''
* One pending album for adding the pictures is selected (see [[Faces_Album_Management#UC_FAC_AM_02a_Select_album_for_adding|UC_FAC_AM_02a Select album for adding]]).


'''Steps'''
'''Steps'''
# The user selects one picture for adding.
# The user selects one picture for adding.
# The user selects one of his pending albums ''or one pending album which he is sharing'' where he wants to add the selected picture.
# The system adds the selected picture(s) to the selected album. The use case ends successfully.
# The system adds the selected picture to the selected album. The use case ends successfully.
 
'''Alternatives'''
: 1.a The user selects more pictures (all pictures on one page, all pictures on all pages) for adding and confirms the choice. Continue with step 2.


'''Actors Involved'''  
'''Actors Involved'''  
Line 73: Line 87:


'''Discussion'''
'''Discussion'''
*[[Talk:Faces_Album_Management#UC_FAC_AM_02_Add_picture_to_album]]
* [[Talk:Faces_Album_Management#UC_FAC_AM_02_Add_picture_to_album]]


== UC_FAC_AM_03 Remove picture from album ==
== UC_FAC_AM_03 Remove picture from album ==


'''Status/Schedule'''
'''Status/Schedule'''
* Status: in specification
* Status: implemented
* Schedule: '''''R3.5'''''
* Schedule: '''R3'''


'''Motivation'''
'''Motivation'''
* The user wants to remove one picture from one of his private albums.
* The user wants to remove one ore more picture from one of his private or shared albums.


'''Pre-Condition'''
'''Pre-Condition'''
* A pending album is selected.
* A pending album is selected.
* The user is the owner of the pending album ''or is sharing the pending album''.
* The user is the owner or is sharing the selected album.


'''Triggers'''
'''Triggers'''
Line 93: Line 107:


'''Steps'''
'''Steps'''
# The user selects one picture within the album for removing it.
# The user selects one picture within the album for removing.
# The system removes the selected picture from the selected album. The use case ends successfully.
# The system removes the selected picture(s) from the selected album. The use case ends successfully.
 
'''Alternatives'''
: 1.a The user selects more pictures (all pictures on one page, all pictures on all pages) within the album for removing and confirms the choice. Continue with step 2.


'''Actors Involved'''
'''Actors Involved'''
Line 102: Line 119:


'''Status/Schedule'''
'''Status/Schedule'''
* Status: in specification
* Status: implemented
* Schedule: '''''R3.5'''''
* Schedule: '''R2'''


'''Motivation'''  
'''Motivation'''  
* The user wants to edit the details of one of his own private albums.  
* The user wants to edit the details of one of his own private or shared albums.  


'''Pre-Condition'''
'''Pre-Condition'''
* A pending album is selected.
* A pending album is selected.
* The user is the owner of the selected album.
* The user is the owner or '''shared''' the selected album.


'''Triggers'''
'''Triggers'''
Line 119: Line 136:
# The user chooses to edit the selected album.
# The user chooses to edit the selected album.
# The system displays the edit album mask.
# The system displays the edit album mask.
# (Optionally) The user edits the metadata values, adds new metadata values or modifies existing metadata values.
# (Optionally) The user edits the metadata values, adds new metadata values or modifies existing metadata values and confirms the changes.
# ''Extension point: '''share album'''''
#: ''4.1 If the user wants to share the album with one or more other users, include [[Faces_Album_Management#UC_FAC_AM_09_Share_album|UC_FAC_AM_09 Share album]].''
# ''Extension point: '''merge album content'''''
#: ''5.1 If the user wants to merge the content of other albums to the album, include [[Faces_Album_Management#UC_FAC_AM_13_Merge_album_content|UC_FAC_AM_13 Merge album content]].''
# The user confirms the changes.
# The system stores the changes and displays a message ([[Faces_System_Messages|MSG_FAC_AM_02]]). The use case ends successfully.
# The system stores the changes and displays a message ([[Faces_System_Messages|MSG_FAC_AM_02]]). The use case ends successfully.


Line 133: Line 145:


'''Status/Schedule'''
'''Status/Schedule'''
* Status: <font color="red">in specification</font>
* Status: implemented
* Schedule: '''''R3.5'''''
* Schedule: '''R2''' ''(without the Note Pads)''


'''Motivation'''
'''Motivation'''
Line 140: Line 152:


'''Pre-Condition'''
'''Pre-Condition'''
* A pending album is selected.
* A pending or submitted album is selected.
* The user is the owner of the album.
* The user is the owner of the album.
* '''The album is not shared with other users.'''


'''Triggers'''
'''Triggers'''
Line 149: Line 162:
'''Steps'''
'''Steps'''
# The user chooses to delete the album.
# The user chooses to delete the album.
# The system prompts for a confirmation of the deletion. ''When the album was shared with other users, an adequate hint will be displayed.''
# '''Not implemented yet:''' The system checks if one or several note pads of the album exists and asks for a confirmation to delete the selected album together with all existing corresponding note pads.  
# The user confirms the deletion.
# The user confirms the deletion of the album and all existing corresponding note pads.
# The system deletes following items and displays a message ([[Faces_System_Messages|MSG_FAC_AM_03]]):
# The system deletes the selected album and all existing corresponding note pads and displays a message ([[Faces_System_Messages|MSG_FAC_AM_03]]). If the album was in state submitted, the system first sets it back to pending and than deletes it. The use case ends successfully
#* the pending album (''When the album was shared with other users (active or inactive), they will get a notification.'')
 
#* ''the note pad(s) related to the album''
'''Alternatives'''
# The use case ends successfully.
: 3.a The user does not confirm the deletion of the album and/or all existing corresponding note pads. The use case ends without success.


'''Actors Involved'''
'''Actors Involved'''
* Account user
* Account user
'''Remarks'''
* When the album can not be deleted because it is shared with other users, the delete button should be disabled. But to explain that to the user, some information should be available as mouse over.


== UC_FAC_AM_06 Release album ==
== UC_FAC_AM_06 Release album ==
Line 163: Line 179:
'''Status/Schedule'''
'''Status/Schedule'''
* Status: implemented
* Status: implemented
* Schedule: '''R2'''
* Schedule: '''R2''' ''(without the Note Pads)''


'''Motivation'''
'''Motivation'''
Line 169: Line 185:


'''Pre-Condition'''
'''Pre-Condition'''
* A pending album is selected.
* A pending or submitted album is selected.
* The user is the owner of the album.
* The user is the owner of the album.


Line 178: Line 194:
'''Steps'''
'''Steps'''
# The user chooses to release the album.
# The user chooses to release the album.
# The system prompts for a confirmation of the releasing.  
# The system displays a list of all corresponding pending and submitted note pads the user is the owner of so the user can decide whether one or several of these note pads shall be released, too.
# '''Not implemented yet:''' (Optionally) The user selects one or more displayed note pads which should be released, too.
#: 3.1 Extension point: '''release note pad'''
#:: 3.1.1 If the user wants to release immediately one or more corresponding note pads, include use case [[Faces_Note_Pads#UC_FAC_NP_05_Release_note_pad|UC_FAC_NP_05 Release note pad]].
# The system prompts for a confirmation of the releasing.
# The user confirms the releasing.
# The user confirms the releasing.
# The system changes the state of the album to released (it automatically goes to submitted and then to released) and displays a message ([[Faces_System_Messages|MSG_FAC_AM_04]]). The use case ends successfully.
# The system changes the state of the album to '''released''' (when the album state was pending it automatically goes to submitted and then to released) and displays a message ([[Faces_System_Messages|MSG_FAC_AM_04]]). The use case ends successfully.


'''Actors Involved'''
'''Actors Involved'''
Line 189: Line 209:
'''Status/Schedule'''
'''Status/Schedule'''
* Status: implemented
* Status: implemented
* Schedule: '''R2'''
* Schedule: '''R2''' ''(without the Note Pads)''


'''Motivation''' <br/>
'''Motivation'''  
* The user wants to withdraw one of his published albums because the album should no longer be accessible via the collection.
* The user wants to withdraw one of his published albums because the album should no longer be accessible via the collection.


'''Pre-Condition''' <br/>
'''Pre-Condition'''  
* A released album is selected.
* A released album is selected.
* The user is the owner of the album.
* The user is the owner of the album.
Line 202: Line 222:
** [[Faces_Browse_and_Display#UC_FAC_BD_04_View_album_details|UC_FAC_BD_04_View album details]]
** [[Faces_Browse_and_Display#UC_FAC_BD_04_View_album_details|UC_FAC_BD_04_View album details]]


'''Steps''' <br/>
'''Steps'''  
# The user chooses to withdraw the album.
# The user chooses to withdraw the album.
# The system prompts for a reason for the withdrawal.
# The system prompts for a reason for the withdrawal.
# The user enters a reason and confirms the withdrawal.
# The user enters a reason and confirms the withdrawal.
# The system changes the state of the item to “withdrawn” and stores the withdrawal comment. The system displays a message ([[Faces_System_Messages|MSG_FAC_AM_05]]). The use case ends successfully.  
# The system changes the state of the album to '''withdrawn''' and stores the withdrawal comment. The system displays a message ([[Faces_System_Messages|MSG_FAC_AM_05]]). The use case ends successfully.  


'''Alternatives''' <br/>
'''Actors Involved'''  
: 3a. The user canceled the withdrawal. The use case ends without success.
* Account user


'''Actors Involved''' <br/>
'''Further Information'''  
* Account user
* As note pads can only be viewed via accessing the corresponding album, the not pad does not have to be withdrawn. It is enough when the album is withdrawn.


== UC_FAC_AM_08 Export album ==
== UC_FAC_AM_08 Export album ==
Line 220: Line 240:
* Schedule: '''R2'''
* Schedule: '''R2'''


'''Motivation''' <br/>
'''Motivation'''  
* The user wants to export the pictures and/or the metadata of the pictures of one album.
* The user wants to export the pictures and/or the metadata of the pictures within one album.


'''Pre-Condition''' <br/>
'''Pre-Condition'''  
* An album is selected.
* An album is selected.


Line 230: Line 250:
** [[Faces_Browse_and_Display#UC_FAC_BD_04_View_album_details|UC_FAC_BD_04_View album details]]
** [[Faces_Browse_and_Display#UC_FAC_BD_04_View_album_details|UC_FAC_BD_04_View album details]]


'''Steps''' <br/>
'''Steps'''  
# The user chooses to export the pictures of an album.
# The user chooses to export the pictures of an album.
# The system displays the export album mask.
# The system displays the export album mask.
Line 236: Line 256:
# If the user chooses an export format which includes the pictures, the user selects one or more picture resolutions (thumbnail, web resolution 819x1024, original resolution 2835x3543).
# If the user chooses an export format which includes the pictures, the user selects one or more picture resolutions (thumbnail, web resolution 819x1024, original resolution 2835x3543).
# The user confirms his selection(s).
# The user confirms his selection(s).
# The system displays the short version of the [https://zim01.gwdg.de/repos/smc/trunk/03_Functional_Description/02_Scenarios_Concepts/Concepts/Faces/01_Documentation/Faces_Release_Agreement_Export.rtf faces release agreement].
# The system displays the short version of the [https://subversion.mpdl.mpg.de/repos/smc/trunk/03_Functional_Description/02_Scenarios_Concepts/Concepts/Faces/01_Documentation/Faces_Release_Agreement_Export.rtf faces release agreement].
# The user accepts the release agreement.
# The user accepts the release agreement.
# The system creates the required data in the required export format and puts all files together with the [https://zim01.gwdg.de/repos/smc/trunk/03_Functional_Description/02_Scenarios_Concepts/Concepts/Faces/01_Documentation/Faces_Release_Agreement_Export.rtf faces release agreement] in a zip-file, which is made available for saving for the user. In addition, the system updates the [[Faces_Statistics|export statistics]]. The use case ends successfully.
# The system creates the required data in the required export format and puts all files together with the [https://subversion.mpdl.mpg.de/repos/smc/trunk/03_Functional_Description/02_Scenarios_Concepts/Concepts/Faces/01_Documentation/Faces_Release_Agreement_Export.rtf faces release agreement] in a zip-file, which is made available for saving for the user. In addition, the system updates the [[Faces_Statistics|export statistics]]. The use case ends successfully.


'''Actors Involved''' <br/>
'''Actors Involved'''  
* Account user
* Account user


'''Alternatives''' <br/>
'''Alternatives'''  
: 8.a The user does not accept the release agreement. The use case ends without success.
: 8.a The user does not accept the release agreement. The use case ends without success.


== UC_FAC_AM_09 Share album ==
== UC_FAC_AM_09 Share album ==
'''Status/Schedule'''
'''Status/Schedule'''
* Status: <font color="red">in specification</font>
* Status: in design
* Schedule: '''R3.5'''
* Schedule: '''???'''


'''Motivation'''
'''Motivation'''
* The user wants to share one of his private albums with one or more Faces users. See more details below: [[Faces_Album_Management#Sharing_of_an_album|Scenario Sharing of an album]].
* The user wants to share one of his private albums with one or more Faces users.  
* See more details below in the scenario [[Faces_Album_Management#Sharing_of_an_album|"Sharing of an album"]].
 
'''Triggers'''
* This use case can be included by the use cases
** [[Faces_Browse_and_Display#UC_FAC_BD_04_View_album_details|UC_FAC_BD_04_View album details]]


'''Pre-Condition'''
'''Pre-Condition'''
* One album is selected.
* One pending album is selected.
* The user is the owner of the album.
* The user is the owner of the album.
'''Triggers'''
* This use case can be included by the use cases
** [[Faces_Album_Management#UC_FAC_AM_01_Create_album|UC_FAC_AM_01 Create album]]
** [[Faces_Album_Management#UC_FAC_AM_04_Edit_album|UC_FAC_AM_04 Edit album]]


'''Steps'''  
'''Steps'''  
# The user chooses to share the selected album.
# The user chooses to share the selected album.
# The system displays the shared user entry mask (either via an exact nickname (user-id) search or via entering the email address of the user; for further details please see the [[Talk:Faces_Album_Management#UC_FAC_AM_09_Share_album|discussion page]]).  
# The system displays the share album entry mask (similar to an email send form) and a list of user groups the user has the right to see (= user groups the user has created and user groups the user is a member of).
# The user enters one or more users, decides if he wants to share the corresponding album, too (per default it will not be shared), and confirms his input.
# (Optionally) The user chooses to view the members of a selected user group.
# The system adds the selected users as inactive shared users to the album and sends each of them a notification. If the note pad shall be shared, too, the inactive shared users will be added to the note pad, too. The use case ends successfully.   
#: 3.1 The system displays the members of the selected user group (members can be individual users, other user groups or organizational units).
# (Optionally) The user enters a valid e-mail address for each user he wants to share the album with, adds a message (some free text) to the [[Faces_Album_Management#e-Mail_Invitation_for_Sharing_an_Album| general invitation]] and confirms his input.
# (Optionally) The user selects one or several user groups which whom he wants to share the album, adds a message (some free text) to the  [[Faces_Album_Management#Invitation_for_Sharing_an_Album|| general notification]] and confirms his input.
# The system sets the state of the album to '''submitted''' and displays a message ([[Faces_System_Messages|MSG_FAC_AM_06]]). Further on, it sends the [[Faces_Album_Management#e-Mails|e-Mails]] (for single users the invitation mail and for user groups the notification mail) to each e-mail address and/or participant of a user group and creates a '''shared note pad''' (item) in the state pending with the owner of the corresponding album as note pad owner and the shared album as corresponding album. The use case ends successfully.   


'''Actors Involved'''
'''Actors Involved'''
* Account user
* Account user


'''Comment'''
'''Remarks'''
* Based on the new concepts for the "institutional visibility", also pending containers should be able to share.
* This use case consists of two steps:
*# "submit for sharing album" use case that would submit the album and will automatically create a shared notepad
*# "add shared users to an album"  
 
'''Discussion'''
*[[Talk:Faces_Album_Management#UC_FAC_AM_09_Share_album]].


== UC_FAC_AM_10 Confirm shared user ==
== UC_FAC_AM_10 Confirm shared user ==
'''Status/Schedule'''
'''Status/Schedule'''
* Status: <font color="red">in specification</font>
* Status: in design
* Schedule: '''R3.5'''
* Schedule: '''???'''


'''Motivation'''
'''Motivation'''
* An album owner offers another Faces user the possibility to share one of his albums. Now the user has to decide if he wants to confirm this privileges or if he wants to refuse them. See more details below: [[Faces_Album_Management#Sharing_of_an_album|Scenario Sharing of an album]].
* An album owner offers another user the possibility to share one of his albums. Now the user wants to confirm this sharing.
* When sharing the album with an already existing user group, this confirmation is not necessary.  


'''Pre-Condition'''
'''Pre-Condition'''
* The user got a notification that another user wants to share one of his albums with him.
* One user is selected.
* The selected user got an e-mail invitation to share an album.


'''Steps'''  
'''Steps'''  
# The user chooses  
# The selected user chooses to confirm the sharing of the album by following the link provided in the e-mail.
# The user confirms the sharing of the album.  
# The user already has a Faces account. Extension point: '''log on to the system'''
# The system changes the state of the user from inactive to active (for the album and the corresponding note pad), adds the shared user (name and affiliated organization) as "further authors" to the album and updates the album metadata. From now on, the shared album will be displayed in "My albums" of the shared user.
#: 2.1 If the user is not logged on to the Faces system, include [[Faces_User_Management#UC_FAC_UM_01_Log_on_to_the_system|UC_FAC_UM_01 Log on to the system]].
 
# The system displays a target page that contains a button to confirm the sharing explicitly.
'''Alternatives'''
# The user confirms the sharing.  
* The user does not confirm the sharing.
# The system updates the properties of the album: it adds the user name to the provided e-mail address and gives the user the right priviledges for sharing the album (the confirmation can make internal log-in as administrator and make a corresponding grant to the invited person (current user handle, granting of a collaborator role for Album X to User A)). Further on the system logs the joining of the new user in the shared note pad and displays a message ([[Faces_System_Messages|MSG_FAC_AM_07]]). Now the user is a shared user of the album. The use case ends successfully.
* The system removes the user from the list of inactive shared users of the album and, if the note pad shall be shared, too, also from the corresponding note pad. The use case ends without success.  


'''Actors Involved'''
'''Actors Involved'''
* Account user
* Account user


== UC_FAC_AM_11 Unshare Album ==
'''Alternatives'''
: 2.a The user does not have a Faces account. He first has to apply for one. When he gets the account, continue with step 1.
: 5.a The album for sharing has been deleted in the meantime or the invited user was deleted (unshare) from the list of possible shared users. The system displays a message ([[Faces_System_Messages|MSG_FAC_AM_08]]). The use case ends without success.
: 5.b The sharing of the album has already been confirmed by the user (he clicks on the same link a second time). The system displays a message ([[Faces_System_Messages|MSG_FAC_AM_09]]). The use case ends without success.
 
'''Remarks'''
* When a user does not want to share the album, he just ignored the e-mail invitation.
 
'''Discussion'''
*[[Talk:Faces_Album_Management#UC_FAC_AM_10_Confirm_shared_user]].
 
== UC_FAC_AM_11 Unshare album ==
'''Status/Schedule'''
'''Status/Schedule'''
* Status: <font color="red">in specification</font>
* Status: in design
* Schedule: '''R3.5'''
* Schedule: '''???'''


'''Motivation'''
'''Motivation'''
* The owner of the album wants to remove one or more shared users of one of his albums. See more details below: [[Faces_Album_Management#Sharing_of_an_album|Scenario Sharing of an album]].
* The owner of the album wants to remove one or more shared users, invited users or user groups of one of his albums.  


'''Pre-Condition'''
'''Pre-Condition'''
* One pending album is selected.
* One submitted album is selected.
* The user is the owner of the album.
* The user is the owner of the album.
* The album is shared at least with one shared user.


'''Triggers'''  
'''Triggers'''
* This use case can be included by the use cases
** [[Faces_Browse_and_Display#UC_FAC_BD_04_View_album_details|UC_FAC_BD_04_View album details]]


'''Steps'''  
'''Steps'''  
# The user chooses to remove one or more shared users of the selected album.
# The user chooses to remove one or more shared users, invited users or user groups of the selected album.
# The system displays the names of all shared users.
# The system displays a list of all shared and invited users (invited users are only recorded via the entered e-mail address) and user groups.
# The user deletes one or more of the shared users and confirms his choice.
# The user deletes one or more of the shared or invited users or user groups.
# The system updates the shared user list of the album and the corresponding note pad (it's only possible to share the note pad when sharing the related album) and sends all deleted users a notification. The use case ends successfully.  
# The system updates the shared and invited users and user groups of the album, sends all deleted shared users and user groups a [[Faces_Album_Management#Information_for_Unsharing_an_Album|notification]] via e-mail and displays a message ([[Faces_System_Messages|MSG_FAC_AM_10]]). Further on, the system logs the leaving of the shared user/user group in the shared note pad. Additionally the system creates a copy of the current version of the album and stores this copy as pending album for each unshared user. If the user has one or several private note pads linked to the originally shared album, this note pads will be deleted from the shared album and attached to the new created album of the user. The use case ends successfully.  


'''Actors Involved'''
'''Actors Involved'''
* Account user
* Account user
'''Discussion'''
*[[Talk:Faces_Album_Management#UC_FAC_AM_11_Unshare_Album]].


== UC_FAC_AM_12 Copy album content ==
== UC_FAC_AM_12 Copy album content ==
'''Status/Schedule'''
'''Status/Schedule'''
* Status: in specification
* Status: in design
* Schedule: '''R3.5'''
* Schedule: '''???'''


'''Motivation'''
'''Motivation'''
* The user wants to copy the content (pictures) of an album.
* The user wants to copy (merge) the content (pictures) of one or more albums to another new created or already available album.


'''Pre-Condition'''
'''Pre-Condition'''
* One album is selected.
* One or more albums (from which the user wants to copy the pictures) are selected.
* The album is in the state released or pending (when the user is the owner of the album).
* The album(s) are in the state released or, when the user is the owner of the album, pending.


'''Triggers'''  
'''Triggers'''  
* This use case can be included by the use cases  
* This use case can be included by the use cases  
** [[Faces_Browse_and_Display#UC_FAC_BD_04_View_album_details|UC_FAC_BD_04_View album details]]
** [[Faces_Browse_and_Display#UC_FAC_BD_05_View_album_list|UC_FAC_BD_05 View album list]]


'''Steps'''  
'''Steps'''  
# The user chooses to create a new album by copying the content of the selected album. The new album automatically contains the pictures of the selected album.
# The user chooses to copy the content of the selected album(s) to another album.
# Continue with [[Faces_Album_Management#UC_FAC_AM_01_Create_album|UC_FAC_AM_01 Create album]]
# The system asks the user if he wants to copy the content in a new album or in an already available private album the user is the owner of or shares.
# The user choses to copy the content in an already available album.
# The system displays a list of all pending albums the user is the owner of or shares.
# The user selects one target album where the content shall be inserted.
# The system copies the pictures from the original selected albums(s) to the selected target album and displays a message ([[Faces_System_Messages|MSG_FAC_AM_11]]). The use case ends successfully.
 
'''Alternatives'''
: 3.a The user chooses to copy the content in a new album. Continue with [[Faces_Album_Management#UC_FAC_AM_01_Create_album|UC_FAC_AM_01 Create album]].


'''Actors Involved'''
'''Actors Involved'''
Line 345: Line 398:


'''Comments'''
'''Comments'''
* This use case uses the same functionality as [[Faces_Album_Management#UC_FAC_AM_13_Merge_album_content|UC_FAC_AM_13 Merge album content]]
* It should be possible to copy the content of the album when viewing the pictures of the album and also when viewing just lists of album (see Triggers for this use case).


== UC_FAC_AM_13 Merge album content ==
'''Discussion'''
'''Status/Schedule'''
*[[Talk:Faces_Album_Management#UC_FAC_AM_12_Copy_album_content]].
* Status: in specification
 
* Schedule: '''R3.5'''
= Additional Information =


'''Motivation'''
== Album Metadata Set ==
* The user wants to merge the content (= pictures) of one or more album(s) to another (new created) album. Part of this is that he wants to create a new album with the content of several already available albums.


'''Pre-Condition'''
An album has the following attributes:
* One pending album is selected.
* '''Title'''
* The user is the owner of the album.
: ''The title of the album.''
: (string, mandatory, once)


'''Triggers'''  
* '''Description'''
* This use case can be included by the use cases
: ''A short description of an album.''
** [[Faces_Album_Management#UC_FAC_AM_01_Create_album|UC_FAC_AM_01 Create album]]
: (string, optional, once)
** [[Faces_Album_Management#UC_FAC_AM_04_Edit_album|UC_FAC_AM_04 Edit album]]


'''Steps'''  
* '''Creator'''
# The user chooses to merge the whole content (= pictures) of one or more already existing albums to the selected album.
: ''The creator of an album.''
# The system displays a list with all pending albums the user is the owner of and all published albums.
: (string, mandatory, many)  
# The user selects one or more of the displayed albums and confirms his choice.
# The system adds all pictures of the in step 3 selected albums to the selected album. Pictures which already exist in the album will not be added once again. The system displays a message ([[Faces_System_Messages|MSG_FAC_AM_06]]). The use case ends successfully.


'''Actors Involved'''
* '''Creator.Organization'''
* Account user
: ''The organization associated with the creator of the album.''
: (string, mandatory, many)


'''Comments'''
==== Properties ====
* This use case uses the same functionality as [[Faces_Album_Management#UC_FAC_AM_12_Copy_album_content|UC_FAC_AM_12 Copy album content]]


= Additional Information =
* '''PID'''
Further information about an album can be found in the [[Faces_Application_Profile_Album#Aim_and_Scope|Faces Application Profile Album]].
: ''The cit-able URL of the album.''
: (url, mandatory, once)


== Album States ==
* '''State'''
An album can have three different states:
: ''The state of an album.''
* '''pending:''' The album is created, can be edited by the user himself and can be shared with other selected users.
: (list, mandatory, once)
* '''released:''' The album is visible for all Faces users and can not be edited any more.
: List contains: pending, released, withdrawn
* '''withdrawn:''' The album is only visible for users who know the exact URL.
:: '''pending:''' The album is created, can be edited by the user himself and can be shared with other selected users.
:: '''released:''' The album is visible for all Faces users and can not be edited any more.
:: '''withdrawn:''' The album is only visible for users who know the exact URL.


== Sharing of an album ==
== Sharing of an album ==


'''Share an album'''
'''Share an album'''
# Pending
* Each user can share an own pending album with other users (for the states released and withdrawn sharing an album does not make sense).  
#* Each user can share an own pending album with other users (for the states released and withdrawn sharing an album does not make sens).  
* Sharing an album means that next to the owner of the album also further selected users can add and remove pictures from it and can edit the metadata of the album. But they can not release, delete or withdraw the album.
#* Sharing an album means that next to the owner of the album also further selected users can add and remove pictures from it. Further on, based on a separate permission per album, these users are also allowed to edit the note pad of the album. But they can not edit the album itself (change the metadata), release, delete or withdraw it.
* Each shared user of the album can create himself one ore several private note pad related to the album. Further on, a shared note pad for all shared users will automatically be created.  
#* For sharing an album, the owner has to select one or more shared users. Now these users are inactive shared users, which will be communicated to them by the Faces system.  
* For sharing an album, the owner has to select one or more users.  
#* To work as a shared user, the still inactive shared user has to activate his privileges. During this activation, the shared user (with his affiliated organisation) will automatically be inserted as further author of the album (this data can be edited by the owner of the album). After that, he can work with the shared album.  
 
#* The owner gets all information about which users in which state are sharing the album in his "My Albums" list.  
'''Selecting an shared user'''
#* The shared users will only see all active shared users (not the inactive ones, because they have not yet confirm their participation).
# The owner of the album has to enter a valid e-mail address of the user he wants to share the album.
#* On the album view, also all active shared users will be displayed.  
# The selected user will get a notification via e-mail.
# Delete
 
#* It can happen that the author wants to delete an shared album. If he does so, all active and inactive shared users will get a notification from the system.
'''Activation of the shared user role'''
# Released / Withdrawn
# The selected user has to confirm the sharing of the album by following a link within the e-mail.  
#* When the album will be released (or later on withdrawn), all information of the shared authors is still visible for the owner (and the shared authors) in their "My albums" list.
#* When the user is already logged in he comes to a confirmation page within Faces.  
#* On the album view, the owner is displayed as "Author" and the shared users are displayed as "Further Authors". More information is not available.
#* When the user is not logged in, he first has to log on to the system and will then come to the confirmation page.
# When the confirmation is finished the user gets the rights as collaborator of the shared album.  
 
'''Delete a shared album'''
* It can happen that the owner wants to delete an shared album. Therefore he first has to unshare the album with all shared users before he can delete the album.  


'''Working with a shared album'''  
'''Working with a shared album'''  
* It could happen that more users are adding and removing pictures from the same album at the same time. In this situation, each step only needs a second.  
* It could happen that more users are adding and removing pictures from the same album at the same time. In this situation, each step only needs a second.  
*# The system always saves the latest version. If an user try to remove a picture which has been previously removed by an other user, the FW will return an exception which can be handled as an error message.  
*# The system always saves the latest version. If a user tries to remove a picture which has been previously removed by another user, the FW will return an exception which can be handled as an error message.  
*#: If another user wants to add a member to an older version of an album, then we have to provide the information that the album has been changed in a meantime by another user and /or ask the user to reload the latest version of the album. Once this is done, the image (if added by other user) will be marked as member of the album and will not be possible to add it again (as this is what Faces already takes care of).--[[User:Natasab|Natasa]] 17:26, 4 November 2008 (UTC)
*# If another user wants to add a member to an older version of an album, then we have to provide the information that the album has been changed in a meantime by another user and /or ask the user to reload the latest version of the album.  
*# In the "My Albums" list and in the album view, always the user who has done the last modification, is displayed.  
 
*# It will not be offered by the system to view older versions of the album. Therfore it would be good when for shared albums each user comments his changes in the note pad. But thats only a recommendation. It will not be controlled by the system.
'''Versioning of an album'''
* All shared users (incl. the owner) of an album will have the possibility to view the technical event log of the album.
* To save also the intellectual changes of an album, all users are recommended to comment their changes in the shared note pad.


'''Unshare an album'''
'''Unshare an album'''
* The owner of an album is possible to delete a shared user of his album. That action includes, that the prior shared user will get a notification by the system.
* The owner of an album is possible to delete a shared user of his album. That action includes that the prior shared user will get a notification by the system. During this process, a copy of the album will be created and saved as private album for the unshared album. So all existing note pads will have a new album they are corresponding to.  
* When a shared user will be deleted, he will not be visible any more on any lists as shared user. But he is still a "Further Author" of the album. If thats not correct any more, the owner of the album has to delete this, too.
* It is not possible that shared users (after they have confirmed their participation) delete themselves from the list of shared users. If they really want this, they have to contact the owner, who can remove them.
* It is not possible that shared users (after they have confirmed their participation), delete themselves from the list of shared users. If they really want this, they have to contact the owner, who can remove them.


'''Shared user states'''
== e-Mails ==
* A shared user can have following states:
 
:* '''inactive:''' The owner of an album offers the user the possibility to share his album.  
==== Invitation for Sharing an Album ====
:* '''active:''' The user has confirmed the invitation to share an album of another user. Now he has the privileges to add and remove pictures from the album.
* Subject: Invitation for sharing an album within FACES
* "User X invited you for sharing his album Y."
* ''Free text from the user''
* " How to follow this invitation?
: If you already have an FACES account, please follow ''this link'' (link to confirm-share, evtl. via log-in).
: If you do not have yet an FACES account you first have to apply for an account ''here'' (link to Faces request account form). When your account has been accepted, please confirm the sharing of the album ''here'' (link to confirm-share, evtl. via log-in)."
 
==== Notification for Sharing an Album with a user group ====
* Subject: Your user group XY is sharing an album within FACES
* "User X is sharing his album Y with your user group XY."
* ''Free text from the user''
* " If you don't want to be in this user group, please contact the creator of the user group (<e-mail of the creator>)"
 
==== Information for Unsharing an Album ====
* Subject: Unsharing of a FACES album
* "User x has deleted you from the list of shared users for his album Y. For details, please contact the user personal."
 
== User Groups ==
* To create a user group, the user needs the priviledges (via the role User-Group Admin).
* The creator of a user group is not automatically a member of the user group.
* Each user can see following user groups:
** the ones he created
** the ones he is a member of
* User groups can be created in a sort of Admin Interface plug in for Faces.
* For the creation of a user group the creator must know the user names of the required users (there won't be displayed a list with all users).
* As user groups can also be created based on all members of one or several organizational units, it is not always possible to view all users of an user group.
* Some specification about user groups can be found under [[ PubMan_Func_Spec_User_Management#UC_PM_UM_10_create_user_group| PubMan Func Spec User Management]]


= Further Development =
= Further Development =


1. Controlled Vocabulary
1. Controlled Vocabulary
:* perhaps in a later step, the adding of authors (with their corresponding affiliations) can be based on normed files like in PubMan.
:* perhaps in a later step, the adding of authors (with their corresponding affiliations) can be based on normed files like in PubMan --> CONE integration
 


[[Category:Faces|Album Management]]
[[Category:Faces_Functional_Specification|Album Management]]
[[Category:Functional_specification]]

Latest revision as of 11:29, 25 April 2012

FACES

Scope · Functionalities
Disclaimer and Copyright
Support

Application Profiles
Release Agreement

Specification:
Browse and Display · Search
Albums · Users
Note Pads · Versioning

Related Projects:
Imeji

edit


Introduction[edit]

NOTE: Albums have been called Study Sets or - technically - Bundles before.
A small glossary for the used terms can be found under Miscellaneous.
Please enter all comments concerning the use cases on the discussion page.

As the current state of the spec focuses on a new release, earlier states of the spec can be found in the history of this page:

UC_FAC_AM_01 Create album[edit]

Status/Schedule

  • Status: implemented
  • Schedule: R2

Motivation

  • The user wants to create an album to save his own selection out of the Faces collection.

Triggers

Steps

  1. The user chooses to create a new album.
  2. The system displays the edit album mask (see Album Metadata Set). The owner of the album and his affiliated organisation will automatically be pre-filled as creator for the metadata record assigned to the album.
  3. The user enters an album name.
  4. (Optionally) The user enters additional information about the album: further creators (family name, given name) together with their affiliated organisation and a description of the album.
  5. The user confirms the entries.
  6. The system creates an album (container) with the given metadata in the state pending and displays a message (MSG_FAC_AM_01). When the use case war triggered by UC_FAC_AM_12 Copy album content, also the content of the selected albums will be saved. The use case ends successfully.

Actors Involved

  • Account user

Discussion

UC_FAC_AM_02 Add picture to album[edit]

UC_FAC_AM_02a Select album for adding[edit]

Status/Schedule

  • Status: implemented
  • Schedule: R2

Motivation

  • The user wants to select one of his own private or shared albums to add pictures to it.

Pre-Condition

  • The user is the owner at least one private album or is sharing at least one private album .

Steps

  1. The user chooses to select an album for adding pictures.
  2. The system displays a list of all private albums the user is the owner of or the user is sharing.
  3. The user selects one album.
  4. The system sets the selected album as selected album for adding pictures. The use case ends successfully.

Actors Involved

  • Account user

UC_FAC_AM_02b Add picture to album[edit]

Status/Schedule

  • Status: implemented
  • Schedule: R2

Motivation

  • The user wants to add one or more picture to one of his private or shared albums.

Pre-Condition

Steps

  1. The user selects one picture for adding.
  2. The system adds the selected picture(s) to the selected album. The use case ends successfully.

Alternatives

1.a The user selects more pictures (all pictures on one page, all pictures on all pages) for adding and confirms the choice. Continue with step 2.

Actors Involved

  • Account user

Constraints

  • Each picture can only be added once to each album. This means that it must be visible for the user, which pictures are already in which album and which are not.

Discussion

UC_FAC_AM_03 Remove picture from album[edit]

Status/Schedule

  • Status: implemented
  • Schedule: R3

Motivation

  • The user wants to remove one ore more picture from one of his private or shared albums.

Pre-Condition

  • A pending album is selected.
  • The user is the owner or is sharing the selected album.

Triggers

Steps

  1. The user selects one picture within the album for removing.
  2. The system removes the selected picture(s) from the selected album. The use case ends successfully.

Alternatives

1.a The user selects more pictures (all pictures on one page, all pictures on all pages) within the album for removing and confirms the choice. Continue with step 2.

Actors Involved

  • Account user

UC_FAC_AM_04 Edit album[edit]

Status/Schedule

  • Status: implemented
  • Schedule: R2

Motivation

  • The user wants to edit the details of one of his own private or shared albums.

Pre-Condition

  • A pending album is selected.
  • The user is the owner or shared the selected album.

Triggers

Steps

  1. The user chooses to edit the selected album.
  2. The system displays the edit album mask.
  3. (Optionally) The user edits the metadata values, adds new metadata values or modifies existing metadata values and confirms the changes.
  4. The system stores the changes and displays a message (MSG_FAC_AM_02). The use case ends successfully.

Actors Involved

  • Account user

UC_FAC_AM_05 Delete album[edit]

Status/Schedule

  • Status: implemented
  • Schedule: R2 (without the Note Pads)

Motivation

  • The user wants to delete one of his private albums because he doesn't need it any more.

Pre-Condition

  • A pending or submitted album is selected.
  • The user is the owner of the album.
  • The album is not shared with other users.

Triggers

Steps

  1. The user chooses to delete the album.
  2. Not implemented yet: The system checks if one or several note pads of the album exists and asks for a confirmation to delete the selected album together with all existing corresponding note pads.
  3. The user confirms the deletion of the album and all existing corresponding note pads.
  4. The system deletes the selected album and all existing corresponding note pads and displays a message (MSG_FAC_AM_03). If the album was in state submitted, the system first sets it back to pending and than deletes it. The use case ends successfully

Alternatives

3.a The user does not confirm the deletion of the album and/or all existing corresponding note pads. The use case ends without success.

Actors Involved

  • Account user

Remarks

  • When the album can not be deleted because it is shared with other users, the delete button should be disabled. But to explain that to the user, some information should be available as mouse over.

UC_FAC_AM_06 Release album[edit]

Status/Schedule

  • Status: implemented
  • Schedule: R2 (without the Note Pads)

Motivation

  • The user wants to publish one of his private albums. Afterwards, the album details will be accessible for the public and every account user can view the pictures in it.

Pre-Condition

  • A pending or submitted album is selected.
  • The user is the owner of the album.

Triggers

Steps

  1. The user chooses to release the album.
  2. The system displays a list of all corresponding pending and submitted note pads the user is the owner of so the user can decide whether one or several of these note pads shall be released, too.
  3. Not implemented yet: (Optionally) The user selects one or more displayed note pads which should be released, too.
    3.1 Extension point: release note pad
    3.1.1 If the user wants to release immediately one or more corresponding note pads, include use case UC_FAC_NP_05 Release note pad.
  4. The system prompts for a confirmation of the releasing.
  5. The user confirms the releasing.
  6. The system changes the state of the album to released (when the album state was pending it automatically goes to submitted and then to released) and displays a message (MSG_FAC_AM_04). The use case ends successfully.

Actors Involved

  • Account user

UC_FAC_AM_07 Withdraw album[edit]

Status/Schedule

  • Status: implemented
  • Schedule: R2 (without the Note Pads)

Motivation

  • The user wants to withdraw one of his published albums because the album should no longer be accessible via the collection.

Pre-Condition

  • A released album is selected.
  • The user is the owner of the album.

Triggers

Steps

  1. The user chooses to withdraw the album.
  2. The system prompts for a reason for the withdrawal.
  3. The user enters a reason and confirms the withdrawal.
  4. The system changes the state of the album to withdrawn and stores the withdrawal comment. The system displays a message (MSG_FAC_AM_05). The use case ends successfully.

Actors Involved

  • Account user

Further Information

  • As note pads can only be viewed via accessing the corresponding album, the not pad does not have to be withdrawn. It is enough when the album is withdrawn.

UC_FAC_AM_08 Export album[edit]

Status/Schedule

  • Status: implemented
  • Schedule: R2

Motivation

  • The user wants to export the pictures and/or the metadata of the pictures within one album.

Pre-Condition

  • An album is selected.

Triggers

Steps

  1. The user chooses to export the pictures of an album.
  2. The system displays the export album mask.
  3. The user selected one export format (plain CSV, CSV-file and pictures in ZIP-file, pictures only in ZIP-file, XML-file and pictures in ZIP-file, XML only).
  4. If the user chooses an export format which includes the pictures, the user selects one or more picture resolutions (thumbnail, web resolution 819x1024, original resolution 2835x3543).
  5. The user confirms his selection(s).
  6. The system displays the short version of the faces release agreement.
  7. The user accepts the release agreement.
  8. The system creates the required data in the required export format and puts all files together with the faces release agreement in a zip-file, which is made available for saving for the user. In addition, the system updates the export statistics. The use case ends successfully.

Actors Involved

  • Account user

Alternatives

8.a The user does not accept the release agreement. The use case ends without success.

UC_FAC_AM_09 Share album[edit]

Status/Schedule

  • Status: in design
  • Schedule: ???

Motivation

  • The user wants to share one of his private albums with one or more Faces users.
  • See more details below in the scenario "Sharing of an album".

Triggers

Pre-Condition

  • One pending album is selected.
  • The user is the owner of the album.

Steps

  1. The user chooses to share the selected album.
  2. The system displays the share album entry mask (similar to an email send form) and a list of user groups the user has the right to see (= user groups the user has created and user groups the user is a member of).
  3. (Optionally) The user chooses to view the members of a selected user group.
    3.1 The system displays the members of the selected user group (members can be individual users, other user groups or organizational units).
  4. (Optionally) The user enters a valid e-mail address for each user he wants to share the album with, adds a message (some free text) to the general invitation and confirms his input.
  5. (Optionally) The user selects one or several user groups which whom he wants to share the album, adds a message (some free text) to the | general notification and confirms his input.
  6. The system sets the state of the album to submitted and displays a message (MSG_FAC_AM_06). Further on, it sends the e-Mails (for single users the invitation mail and for user groups the notification mail) to each e-mail address and/or participant of a user group and creates a shared note pad (item) in the state pending with the owner of the corresponding album as note pad owner and the shared album as corresponding album. The use case ends successfully.

Actors Involved

  • Account user

Remarks

  • This use case consists of two steps:
    1. "submit for sharing album" use case that would submit the album and will automatically create a shared notepad
    2. "add shared users to an album"

Discussion

UC_FAC_AM_10 Confirm shared user[edit]

Status/Schedule

  • Status: in design
  • Schedule: ???

Motivation

  • An album owner offers another user the possibility to share one of his albums. Now the user wants to confirm this sharing.
  • When sharing the album with an already existing user group, this confirmation is not necessary.

Pre-Condition

  • One user is selected.
  • The selected user got an e-mail invitation to share an album.

Steps

  1. The selected user chooses to confirm the sharing of the album by following the link provided in the e-mail.
  2. The user already has a Faces account. Extension point: log on to the system
    2.1 If the user is not logged on to the Faces system, include UC_FAC_UM_01 Log on to the system.
  3. The system displays a target page that contains a button to confirm the sharing explicitly.
  4. The user confirms the sharing.
  5. The system updates the properties of the album: it adds the user name to the provided e-mail address and gives the user the right priviledges for sharing the album (the confirmation can make internal log-in as administrator and make a corresponding grant to the invited person (current user handle, granting of a collaborator role for Album X to User A)). Further on the system logs the joining of the new user in the shared note pad and displays a message (MSG_FAC_AM_07). Now the user is a shared user of the album. The use case ends successfully.

Actors Involved

  • Account user

Alternatives

2.a The user does not have a Faces account. He first has to apply for one. When he gets the account, continue with step 1.
5.a The album for sharing has been deleted in the meantime or the invited user was deleted (unshare) from the list of possible shared users. The system displays a message (MSG_FAC_AM_08). The use case ends without success.
5.b The sharing of the album has already been confirmed by the user (he clicks on the same link a second time). The system displays a message (MSG_FAC_AM_09). The use case ends without success.

Remarks

  • When a user does not want to share the album, he just ignored the e-mail invitation.

Discussion

UC_FAC_AM_11 Unshare album[edit]

Status/Schedule

  • Status: in design
  • Schedule: ???

Motivation

  • The owner of the album wants to remove one or more shared users, invited users or user groups of one of his albums.

Pre-Condition

  • One submitted album is selected.
  • The user is the owner of the album.
  • The album is shared at least with one shared user.

Triggers

Steps

  1. The user chooses to remove one or more shared users, invited users or user groups of the selected album.
  2. The system displays a list of all shared and invited users (invited users are only recorded via the entered e-mail address) and user groups.
  3. The user deletes one or more of the shared or invited users or user groups.
  4. The system updates the shared and invited users and user groups of the album, sends all deleted shared users and user groups a notification via e-mail and displays a message (MSG_FAC_AM_10). Further on, the system logs the leaving of the shared user/user group in the shared note pad. Additionally the system creates a copy of the current version of the album and stores this copy as pending album for each unshared user. If the user has one or several private note pads linked to the originally shared album, this note pads will be deleted from the shared album and attached to the new created album of the user. The use case ends successfully.

Actors Involved

  • Account user

Discussion

UC_FAC_AM_12 Copy album content[edit]

Status/Schedule

  • Status: in design
  • Schedule: ???

Motivation

  • The user wants to copy (merge) the content (pictures) of one or more albums to another new created or already available album.

Pre-Condition

  • One or more albums (from which the user wants to copy the pictures) are selected.
  • The album(s) are in the state released or, when the user is the owner of the album, pending.

Triggers

Steps

  1. The user chooses to copy the content of the selected album(s) to another album.
  2. The system asks the user if he wants to copy the content in a new album or in an already available private album the user is the owner of or shares.
  3. The user choses to copy the content in an already available album.
  4. The system displays a list of all pending albums the user is the owner of or shares.
  5. The user selects one target album where the content shall be inserted.
  6. The system copies the pictures from the original selected albums(s) to the selected target album and displays a message (MSG_FAC_AM_11). The use case ends successfully.

Alternatives

3.a The user chooses to copy the content in a new album. Continue with UC_FAC_AM_01 Create album.

Actors Involved

  • Account user

Comments

  • It should be possible to copy the content of the album when viewing the pictures of the album and also when viewing just lists of album (see Triggers for this use case).

Discussion

Additional Information[edit]

Album Metadata Set[edit]

An album has the following attributes:

  • Title
The title of the album.
(string, mandatory, once)
  • Description
A short description of an album.
(string, optional, once)
  • Creator
The creator of an album.
(string, mandatory, many)
  • Creator.Organization
The organization associated with the creator of the album.
(string, mandatory, many)

Properties[edit]

  • PID
The cit-able URL of the album.
(url, mandatory, once)
  • State
The state of an album.
(list, mandatory, once)
List contains: pending, released, withdrawn
pending: The album is created, can be edited by the user himself and can be shared with other selected users.
released: The album is visible for all Faces users and can not be edited any more.
withdrawn: The album is only visible for users who know the exact URL.

Sharing of an album[edit]

Share an album

  • Each user can share an own pending album with other users (for the states released and withdrawn sharing an album does not make sense).
  • Sharing an album means that next to the owner of the album also further selected users can add and remove pictures from it and can edit the metadata of the album. But they can not release, delete or withdraw the album.
  • Each shared user of the album can create himself one ore several private note pad related to the album. Further on, a shared note pad for all shared users will automatically be created.
  • For sharing an album, the owner has to select one or more users.

Selecting an shared user

  1. The owner of the album has to enter a valid e-mail address of the user he wants to share the album.
  2. The selected user will get a notification via e-mail.

Activation of the shared user role

  1. The selected user has to confirm the sharing of the album by following a link within the e-mail.
    • When the user is already logged in he comes to a confirmation page within Faces.
    • When the user is not logged in, he first has to log on to the system and will then come to the confirmation page.
  2. When the confirmation is finished the user gets the rights as collaborator of the shared album.

Delete a shared album

  • It can happen that the owner wants to delete an shared album. Therefore he first has to unshare the album with all shared users before he can delete the album.

Working with a shared album

  • It could happen that more users are adding and removing pictures from the same album at the same time. In this situation, each step only needs a second.
    1. The system always saves the latest version. If a user tries to remove a picture which has been previously removed by another user, the FW will return an exception which can be handled as an error message.
    2. If another user wants to add a member to an older version of an album, then we have to provide the information that the album has been changed in a meantime by another user and /or ask the user to reload the latest version of the album.

Versioning of an album

  • All shared users (incl. the owner) of an album will have the possibility to view the technical event log of the album.
  • To save also the intellectual changes of an album, all users are recommended to comment their changes in the shared note pad.

Unshare an album

  • The owner of an album is possible to delete a shared user of his album. That action includes that the prior shared user will get a notification by the system. During this process, a copy of the album will be created and saved as private album for the unshared album. So all existing note pads will have a new album they are corresponding to.
  • It is not possible that shared users (after they have confirmed their participation) delete themselves from the list of shared users. If they really want this, they have to contact the owner, who can remove them.

e-Mails[edit]

Invitation for Sharing an Album[edit]

  • Subject: Invitation for sharing an album within FACES
  • "User X invited you for sharing his album Y."
  • Free text from the user
  • " How to follow this invitation?
If you already have an FACES account, please follow this link (link to confirm-share, evtl. via log-in).
If you do not have yet an FACES account you first have to apply for an account here (link to Faces request account form). When your account has been accepted, please confirm the sharing of the album here (link to confirm-share, evtl. via log-in)."

Notification for Sharing an Album with a user group[edit]

  • Subject: Your user group XY is sharing an album within FACES
  • "User X is sharing his album Y with your user group XY."
  • Free text from the user
  • " If you don't want to be in this user group, please contact the creator of the user group (<e-mail of the creator>)"

Information for Unsharing an Album[edit]

  • Subject: Unsharing of a FACES album
  • "User x has deleted you from the list of shared users for his album Y. For details, please contact the user personal."

User Groups[edit]

  • To create a user group, the user needs the priviledges (via the role User-Group Admin).
  • The creator of a user group is not automatically a member of the user group.
  • Each user can see following user groups:
    • the ones he created
    • the ones he is a member of
  • User groups can be created in a sort of Admin Interface plug in for Faces.
  • For the creation of a user group the creator must know the user names of the required users (there won't be displayed a list with all users).
  • As user groups can also be created based on all members of one or several organizational units, it is not always possible to view all users of an user group.
  • Some specification about user groups can be found under PubMan Func Spec User Management

Further Development[edit]

1. Controlled Vocabulary

  • perhaps in a later step, the adding of authors (with their corresponding affiliations) can be based on normed files like in PubMan --> CONE integration