Collection Enhancements including collection types, sharing access, and visibility - Design Proposal

Table of Contents


Overview

The community recognizes that all collections do not serve the same purposes and, consequently, have varying requirements.  This proposal addresses this by adding the ability to specify collection types that have specific behaviors.  These changes are intended to be compatible with Hydra apps based on Hydra::Works.

 

References:

 

Prerequisites

Add Roles to Sufia for...

RoleDefinitionComments
site-adminA site administrator with the highest set of privileges allowing them to do anything on the site, in any collection, and to any work or fileset.  This user can also manage users on the site including, but not limited to, assigning admin and collection-admin roles.Limited to very few highly trusted and knowledgeable users.
adminGeneral administrators who can do things like create/delete collections, assign collection-admins, manage all collections, works, and filesets.Broader set of trusted users who can manage all collections.
collection-adminCan perform administration tasks for a specific collection including assigning other collection-admins, modifying collection metadata, deleting the collection, managing works and filesets in the collection.Users responsible for a specific collection.

 

Collections and Collection Types

What is a collection?

Collection DefinitionDefinitionComments
PCDM::CollectionAn aggregation of collections and objects.PCDM::Collection itself does not know about Collection Types and does not limit membership beyond the basic definition of the model which states that a PCDM::Collection can have other PCDM::Collections and PCDM::Object as members.
Hydra::Works::CollectionAn aggregation of collections and works.

Hydra:Works adds further restrictions to limit membership to PCDM::Collections and Hydra::Works::Works, but not Hydra::Works::FileSets. 

NOTE: Hydra::Works::Works and Hydra::Works::FileSets are PCDM::Objects

Hydra::CollectionAn instance of a Hydra::Works::Collection that can have membership and characteristics based on the Collection Type.

NOTE:   This document is proposing extensions to the current Hydra::Collections code (7.0.0 at the time of this writing) to include the concept of Collection Type. 

NOTE:  Depending on further exploration, it may not be appropriate to modify Hydra::Collections, in which case, a new gem will be created using Hydra::Collections (or other existing code) as a starting point.

 

What are the proposed collection types?

Collection TypeDefinitionVisibility*SharingComments
user-setA collection type that specifies a personal collection created by a user for the purposes of organizing their personal collections and works.PrivateNO

Commonly used by self-deposit users.

NOTE: This most closely corresponds to the current implementation of Hydra::Collections (7.0.0 at this writing)

curated-setA collection type that allows curators to gather, organize, and manage resources with metadata controlled by library staff.PrivateYESCommonly used by library staff for internal curation of resources.
admin-setA collection type that tracks resources to a policy controlling the use of the resource.PrivateYESCommonly used by library staff for policy enforcement.  A resource can be controlled by one and only one policy to avoid conflicting policy statements.
display-setA collection type that allows exhibit creators to use resources from other sets to create exhibits visible to the public.PublicYESCommonly used by library staff to create external exhibits.  Collections of this type are the only collections visible to the public via discovery, browsing, and faceting of those searches.

* Visibility of a collection determines if the collection and its metadata are discoverable and have a public show page.  The visibility of the items in the collection are still controlled by the items themselves.