Skip to content

Curate Phase 2 Planning

Dan Brubaker Horst edited this page Dec 16, 2013 · 2 revisions

Design Goals

At its core Curate is a repository system that provides:

  • Archival of intellectual objects
  • Circulation of holdings
    • Discovery via a search interface
    • Display as a web page
    • Dissemination that negotiates MIME types and/or creates derivatives
  • Annotation of intellectual objects
  • Arrangement of intellectual objects

Roles

  • System Installer (non-developer role, does not write code)
  • User Collection Manager (someone who has or will “create a user collection”)
  • Repository Manager (someone who is responsible for the repository, needs a high level view of contents and high-level management permissions)
  • System Administrator (responsible for the platform and the system health and abilities)
  • Admin Collection Manager (someone who has or will “create an admin collection”)
  • Organization Manager (someone who can add or remove users from an organization)
  • Submitter (any user that add new works - could be)
  • Profile owner (any user who has created a profile)
  • Anonymous user (anyone who is using the repository and not logged in)
  • User (anyone who uses the system and is logged in)
  • Proxies (a user who is granted permission to add works on another’s behalf)
  • Developer (anyone who contribute code to curate)

Holdings Management

Available behavior for a particular holding depends on both its type and state.

Type

There are 6 types of holdings in the repository:

Note: that Annotatable means that a holding can have annotations and Collectible means a holding can be put in collections.

  • Authority: Abstract; a representation of a single, distinct name for a Topic or Entity. A Person is an Entity that can be used to disambiguate contributors.
  • Annotation: Commentary by a Person associated with an Annotatable object; a scholarly “comment”.
  • Admin Collection: A set of Collectibles that can broadcast changes to its contents e.g. batch editing of metadata or default metadata for Works created in the Admin Collection context. A Collectible can be in zero or one Admin Collection.
  • Collection: A set of Collectibles that has its own metadata and access controls. A Collectible can be in many Collections. Collectable; Annotatable.
  • Content: Abstract; refers to both Linked Content (URIs) and Embedded Content (Files) which are the underpinnings of a Work. Annotatable.
  • Work: Abstract; a representation of an intellectual object. Contains content and metadata. Work types exist to create deposit and discovery experiences tailored to the content. Collectable; Annotatable.

We also have need for Organizations but it is not clear if they should be an Authority, their own holdings type, or an administrative construction external to the repository.

Similarly the User is an application-level, not a repository-level concern. A User can be related to one or more Authority records that describe a Person.

State

There are three stages in the Holdings lifecycle: Deposit, Active, Inactive. Each stage may contain multiple states.

Deposit

  • Marshaling: assembling all the pieces
  • Description: attaching metadata / decorating the contents
  • Approval: what and who can make changes? Are changes immediate or do they require approval?

Note: These steps imply that Curate has some concept of workflow. We need to explicitly define the default submission workflow for a Work. (Is there a default workflow for creating other types of holdings like for a Admin Collection?)

Active

Active holdings can be the subject of:

  • Discovery
  • Display
  • Dissemination
  • Annotation
  • Arrangement

Inactive

  • Hidden: Removed from discovery; this action can be undone
  • Deleted: Removed from access; this action cannot be undone.‡
  • Purged: Removed from all layers of the repository; this action cannot be undone.‡‡

A User can Delete their:

  • Annotations
  • Collections
  • Content
  • Works

Note: there are some questions surrounding “ownership” of holdings. For example: if a Submitter creates and Article then they can delete it. If a Submitter creates and ETD that is under the purview of an Admin Collection then they cannot delete it.

An Admin Collection Manager can Hide or Delete their:

  • Annotations
  • Admin Collections
  • Collections
  • Content
  • Works

A Repository Manager can Hide or Delete any:

  • Authority
  • Annotation
  • Admin Collection
  • Collection
  • Content
  • Work

If it has already been deleted a Repository Manager can Purge any:

  • Authority
  • Annotation
  • Admin Collection
  • Collection
  • Content
  • Work

‡: For our purposes deletion is a soft delete in Fedora. The relevant files are still on the filesystem and a manual recovery process outside the scope of the Curate application could be used to restore the digital objects. It would make sense to provide views of all holdings deleted AN_APPROPRIATE_AMOUNT_OF_TIME_AGO to allow a Repository Manager to Purge items deemed stale or insignificant.

‡‡: Purging may not have to be exposed in the interface at all; doing so threatens the integrity of the archival system.