Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Issue 1 of the Collection Extensions blog

Collection Extensions is an effort to create a consistent and flexible approach for grouping items in Hyrax repositories.  Implementation sprints are beginning Aug 7, 2017 (sign-up).

...

Use Cases

What is your use case for collecting together works?  The Collection Extensions Requirements Working Group identified several use cases.

...

  •  NESTABLE Allow collections to be nested (a collection can contain other collections)
  •  MULTIPLE MEMBERSHIP  Allow a work to belong to multiple collections
  •  DISCOVERY  Allow collections to be discoverable
  •  REQUIRE MEMBERSHIP2  A work must belong to at least one collection of this type
  •  SHARING  Allow users to assign collection managers, depositors, and viewers for collections they manage

Advanced configurations:23

  •  WORKFLOW Allow collections of this type to assign workflow to a new work
  •  VISIBILITY  Allow collections of this type to assign initial visibility settings to a new work
  •  CONTROL VISIBILITY  Visibility of works in collections of this type are controlled by the settings in the collection

...

  • assign Collection Managers (groups or users) who can edit collections other users have created, including adding to and removing works from a collection, modifying collection metadata, and deleting collections
  • assign Collection Creators (groups or users) who can create and manage their own collections


Footnotes:

1  Based on use cases identified so far, it is expected that the number of collection types will be less than 5.  If you have a use case requiring more, please let me know.  A large number of collection types has an impact on UI design.

2  The only use case identified for required membership is Admin Sets.  Let me know if you have a use case for more than one collection type in a system requiring membership (i.e., all works must be a member of collection type Admin Set AND all works must be a member of collection type A).

3  The Advanced configurations are not expected to be part of the original sprint.  More information on these will be included in a later blog post.


Basic Configuration Process

The process for defining and configuring a collection type is quite simple.

Step 1:  Add a configuration type

...

by assigning a name and clicking Add  (mockup)


Step 2:  Define configurations  (mockup)

Example

...

Configurations - User Collections and Exhibits

The current implementation of collections in Hyrax is the User Collection.  This implementation has worked well for some sites, but may be limiting for others.  In this example, we will look at several configurations. 1) a configuration that matches the current implementation of user collections, 2) user collections as they might be defined in a self-deposit site, 3) user collections as they might be defined in a staff curated site, and 4) exhibit collections that are curated by staff.

...

In this definition of Exhibit type, Exhibit collections create a grouping of items for display to public users.


Current User Collection features (for reference)

User Collections for a self-deposit site

User Collections in a staff curated site

Exhibit
  •  NESTABLE
  •  MULTIPLE MEMBERSHIP
  •  DISCOVERY (public by default)
  •  REQUIRE MEMBERSHIP
  •  SHARING
  •  NESTABLE
  •  MULTIPLE MEMBERSHIP
  •  DISCOVERY
  •  REQUIRE MEMBERSHIP
  •  SHARING
  •  NESTABLE
  •  MULTIPLE MEMBERSHIP
  •  DISCOVERY
  •  REQUIRE MEMBERSHIP
  •  SHARING
  •  NESTABLE
  •  MULTIPLE MEMBERSHIP
  •  DISCOVERY
  •  REQUIRE MEMBERSHIP
  •  SHARING


For a self-deposit site, there may be only one collection type defined, that is, the User Collections for a self-deposit site.

...

NOTE:  Your site may define User Collections and Exhibits different than what is presented here.


What about Admin Sets?

Admin Sets can be viewed as a collection type.  For the initial implementation, the code controlling and managing Admin Sets will remain the same.  Sites cannot change the configuration of Admin Sets.  The configuration is defined by the code implementing the behaviors of Admin Sets.  Effectively, the configuration is...

Admin Sets (effective) configuration
Basic:
  •  NESTABLE
  •  MULTIPLE MEMBERSHIP
  •  DISCOVERY (optional)
  •  REQUIRE MEMBERSHIP
  •  SHARING

Advanced:

  •  WORKFLOW
  •  VISIBILITY
  •  CONTROL VISIBILITY


UI changes

Since these configurations and the grouping functionality is consistent with the concept of Collections, the UI is being adjusted to show Admin Sets to users as though they were implemented as just another collection type.  The UI adjustments include...

  • REMOVED Admin Menu → Repository Content → Administrative Sets
  • ADDED Admin Menu → Repository Content → Collections
    • Lists collections of all types including Administrative Sets.  Type collection type column reads Administrative Set for any Admin Sets in the list.
    • Clicking an Admin Set will go to the current UI for managing an Admin Set.
    • When creating a new collection, if the collection type is selected to be Administrative Set, it will go to the current New form for Admin Sets.  Same for editing.

Why not just go ahead and switch Admin Sets to be a Collection Type? 

  • Changes at this level to Admin Sets would require migration for existing sites.
  • There is a lot of work required to create the extended functionality for collections. We don't want to add more if we can avoid it.
  • We want to be sure that the collection extensions are solidly in place before requiring sites to migrate to Admin Sets as a collection type.
  • All this is designed to minimize churn for those already moving toward production with Hyrax using the current definition of Admin Sets.


...


This is the first of several blog posts intended to raise awareness of the implementation effort to expand the functionality of collections.  Please don't hesitate to ask questions and get clarifications.  That will allow for better communication and solidify the design.

...