Imeji Collection Management

 Outdated

Implemented (Beta Release)

 * Create collection: The user wants to create a collection with a corresponding metadata profile, upload pictures to this collection, assign/edit the metadata values of the pictures within the collection. During this process, the collection and the pictures should only be visible (and searchable) to the creator.
 * Share collection: The user wants to work together with colleagues on a collection: the colleagues should be able to upload pictures to the collection, assign/edit metadata values to the images within the collection (but not change the metadata profile or the descriptive metadata of the collection). During this process, the collection and the pictures should only be visible (and searchable) to the creator and his contributors.
 * Publish collection: When the creator (and optional his contributors) thinks that the collection is on a level that should be visible for other users, he published it. That means that now the collection and all pictures are visible and searchable for all user.

Not implemented

 *  Updating of a released collection (incl. versioning):
 * 1) Upload of new pictures
 * 2) * When the user uploads new pictures for a collection, he first want to upload them in a protected environment (where only he or optionally his colleagues can see them, where he can take his time to assign metadata values to each picture.
 * 3) * When he is finished with this work, he wants to publish the new version of the collection, so that now all pictures within the collection are visible to all user.
 * 4) Changes in the metadata values of a collection
 * 5) * When the user wants to change the metadata values of the pictures within a collection, that is normally more than one edit. So he wants to have a protected environment where he (and optionally his colleagues) can do the changes.
 * 6) * When he is finished with this work, he wants to publish the new version of the collection, so that all changes within the collection are visible to all user.
 * During the time when somebody is updating a collection, which is not released jet, all other users should always see the old version as last published version.


 * Citing a collection: When a user cites a collection, he want to cite exactly the current state of the collection. Therefore each version of a collection has to be marked persistent. So that when a user follows the cited URL, he always got the cited collection, and not the latest version of the collection (Permlink scenario: the user wants to cite the current state of the collection --> he can create a version with a citable URL). But of course a hint that a newer version of the collection exists, should be displayed.

UC_IM_COL_01 Create collection
Status/Schedule
 * Status: implemented
 * Schedule: Beta Release

Description
 * The creation contains following steps:
 * Define collection metadate:
 * Title (string, mandatory, once)
 * Description (string, optional, once)
 * Creator (string, mandatory, many)
 * Creator.Organization (string, mandatory, many)
 * 1) (Optional) The user can edit the collection ( see UC_IM_COL_02 Edit collection).
 * 2) After saving, the system displays a success message (the collection is in the state private).

Actors Involved
 * Account user

UC_IM_COL_02 Edit collection
Status/Schedule
 * Status: implemented
 * Schedule: Beta Release

Pre-Condition
 * One collection in the state private or published is selected

Description
 * 1) The user can modify the metadata of the collection.
 * 2) After saving, the system displays a success message (the status of the collection does not change).

Actors Involved
 * Collection editor for the selected collection

Further Ideas
 * The user can change the default style sheet of the collection
 * Upload a logo for the collection
 * Define the content of the text fields of the collections start page
 * Change main color of the collection

UC_IM_COL_03 Delete collection
Status/Schedule
 * Status: implemented
 * Schedule: Beta Release

Pre-Condition
 * One collection in the state private is selected

Description
 * 1) A collection can only be deleted when it is not published yet. After that, only discard is possible.
 * 2) When deleting a collection, all pictures within the collection will automatically be deleted, too.
 * 3) The deletion includes the deletion of the corresponding metadata profile.
 * 4) The deletion needs a confirmation, where the system makes it clear to the user, that he is not only deleting the collection, but also XX pictures.
 * 5) After confirming, the system displays a success message.

Actors Involved
 * Collection editor for the selected collection

UC_IM_COL_04 Release collection
Status/Schedule
 * Status: implemented
 * Schedule: Beta Release

Pre-Condition
 * One collection in the state private is selected

Description
 * 1) The user wants to publish the whole collection.
 * 2) For the publish a confirmation message is necessary.
 * 3) After confirming, the system displays a success message. The collection is now in the state published and gets a persistent URL.
 * 4) Published means that the collection and its pictures are:
 * 5) * searchable
 * 6) * displayed in browsing lists
 * 7) * visible to all users

Actors Involved
 * Collection editor for the selected collection

UC_IM_COL_05 Rework collection
Status/Schedule
 * Status: in specification
 * Schedule:

Pre-Condition
 * One collection in the state published is selected

Description
 * For reworking a collection (its metadata or its content) a new version of the collection will automatically be created that is in the state private.
 * The latest released version will stay as is is (till a newer version of the collection will be released).
 * In this private version, the user can edit the collection (see UC_IM_COL_02 Edit collection).
 * After saving, the system displays a success message. The collection is still in the state private.
 * To release the collection, see UC_IM_COL_04 Release collection.

Actors Involved
 * Collection editor for the selected collection

UC_IM_COL_06 Discard collection
Status/Schedule
 * Status: implemented
 * Schedule: Beta Release

Pre-Condition
 * One collection in the state published is selected

Description
 * 1) The discard needs to be explained by the user via a discard comment and needs a confirmation, where the system makes it clear to the user that
 * 2) * all pictures whiting the collection will be deleted from the system
 * 3) After confirming, the system displays a success message. The collection is now in the state discard.
 * 4) Discard means that:
 * 5) * all pictures within the collection will be deleted from the system
 * 6) * the collection (and its pictures) are not searchable any more
 * 7) * the collection (and its pictures) are not displayed in any browsing context
 * 8) * the collection can not be edited any more (or shared)
 * 9) * the collection is only retrievable when knowing the exact URL of one version of the collection: here the discard comment is displayed together with the collection metadata
 * 10) * when following an exact URL to a picture within the discarded collection, here also all collection information are displayed together with the comment that the collection of the picture have been discarded and therefore the picture is no longer available.

Actors Involved
 * Collection editor for the selected collection

UC_IM_COL_07 Share collection
Status/Schedule
 * Status: implemented
 * Schedule: Beta Release

Pre-Condition
 * One collection in the state private or released is selected

Description
 * 1) To share a collection, the user has to choose one or several users or user groups which whom he wants to share the collection.
 * 2) (Optionally) When the user chooses one or more user groups, he can view the members of the selected group.
 * 3) The user has to define the concrete user rights he want to assign to the selected user (groups).
 * 4) Each new user will get an automated e-mail notification from the system.

Actors Involved
 * Collection administrator for the selected collection

Constrains
 * Share collection currently only works for users that already have a user account within imeji. In a next step it would be nice also to invite new users and include an account creation procedure within the sharing process.