dekarrin / silvermine-media-gallery

Heavily modified fork of Coppermine Photo Gallery
GNU General Public License v3.0
1 stars 0 forks source link

Collection Media #18

Open dekarrin opened 10 years ago

dekarrin commented 10 years ago

Add capability for adding/editing 'collections' - These are stored in the normal media file table, but have an additional field 'is_collection' set to TRUE. All normal media files must have 'is_collection' set to false. Whether a 'file' listing in the system is a collection is immutable; the 'is_collection' field cannot be modified.

Non-collection media have a new field in the edit view - 'move to collection' places them in to a collection. They are then moved to the table SUB_ITEMS. Attributes in the old non-sub-item are merged in to the listing for the collection that they are moved in to, with conflicts being resolved by the UI prior to committing the move.

Sub-items in a collection can be edited by hitting a link on a collection's edit page. Their edit page is similar to that of normal media, but they have a more limited set of fields.

Sub-items have an action field in their edit view - 'move to album', which is defaulted to the album that their collection is in. If this is done, the sub-item is made independent of its collection. All relevant metadata from the collection is copied in to the new independent listing.

Sub-items are NOT independently searchable. However, actions that apply to items in general will also be applied to sub-items.

Storage method: For a collection, a folder is created in the folder for the album that the collection is in. This collection folder will be named the PID of the collection. All sub-items of that collection will be placed in that directory and named as a normal item would be named.

Completed Tasks

dekarrin commented 10 years ago

Changed to use albums rather than categories.

dekarrin commented 10 years ago

And changed again to use individual items of media.

dekarrin commented 8 years ago

Greatly updated task description with more in-depth info