Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

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.

 

Admin Sets

An administrative grouping of works that an administrative unit is ultimately responsible for managing. The set itself helps to manage the items within it. 

User Collections

An intellectual grouping of works, primarily used by individual users to create groups of items or favorites. 

Exhibits

A grouping of existing works into an exhibit oriented toward display of content to end users.

General Nested

Provide the ability to nest collections for the purpose of organizing content.  Several use cases fall into this category and have significant overlap of requirements.  These include DSpace migrated content (i.e. Community → Collection), organization unit based collections (e.g. University → School → Department; Agency → Sub-agency; etc.), and general nesting for organizing materials.  

 

Don’t see your use case?  That’s ok, because Collection Types allow you to define and configure your own type.

Configuring a Collection Type

You can add as many collection types as you need for your system.1  Before we start configuring types, let's look at the configuration options that define the behaviors of a collection type.

Basic configurations:

  • 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
  • SHARING  Allow users to assign collection managers, depositors, and viewers for collections they manage
  • REQUIRE MEMBERSHIP2  A work must belong to at least one collection of this type

Advanced configurations:3

  • 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


Collection Participants:

  • 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.

User Collections for a self-deposit site

In this case, general users who self-register for the system are providing all the content.  They are building collections that may have value to the public.  These user collections are discoverable by the public.

User Collections in a staff curated site

In this case, the content that is discoverable by the public are Exhibit type collections.  Staff curate the content that goes into exhibits.  User Collections in this site are used by staff to organize work they are responsible for in what ever way makes their work easier.  These personal collections are not exhibits for public view and are not discoverable.

Exhibit

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)
  • SHARING
  • REQUIRE MEMBERSHIP
  • NESTABLE
  • MULTIPLE MEMBERSHIP
  • DISCOVERY
  • SHARING
  • REQUIRE MEMBERSHIP
  • NESTABLE
  • MULTIPLE MEMBERSHIP
  • DISCOVERY
  • SHARING
  • REQUIRE MEMBERSHIP
  • NESTABLE
  • MULTIPLE MEMBERSHIP
  • DISCOVERY
  • SHARING
  • REQUIRE MEMBERSHIP


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

For a curated site, there may be both User Collections in a staff curated site and Exhibit collections.


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



FAQ

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)
  • SHARING
  • REQUIRE MEMBERSHIP

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.



What happens when a configuration is changed and collections of that type already exist?


Less Restrictive
(from Not-Allowed to Allowed)
More Restrictive
(from Allowed to Not-Allowed)


Easy approach...Moderate approach...Difficult approach...
NESTABLENo impactWarning that any collections already nested will remain nested.Warning that includes a count of the number of collections impacted.Warning + count + help with reconciliation.
MULTIPLE MEMBERSHIPNo impactWarning that any works already in collections of this type may continue to belong to multiple collections.Warning that includes a count of the number of collections impacted.Warning + count + help with reconciliation.
DISCOVERYRequires action to make existing collections discoverableWarning that collections already marked PUBLIC will remain discoverable.Warning that includes a count of the number of collections impacted.Warning + count + help with reconciliation.
REQUIRE MEMBERSHIPNo impactWarning that works already created may not be in a collection of this type.Warning that includes a count of the number of works impacted.Warning + count + help with reconciliation.
SHARINGNo impactWarning that works already created may have sharing privileges assigned.Warning that includes a count of the number of works impacted.Warning + count + help with reconciliation.
WORKFLOWNo impact to existing works.  The default workflow will be configured for all existing collections, which can be changed via configuration.  New works will be assigned the configured workflow. No impact for existing works. New works will not have a workflow assigned by collections of this type.

VISIBILITYNo impact to existing works.  The default visibility will be configured for all existing collections, which can be changed via configuration.  New works will be assigned the configured visibility. No impact for existing works. New works will not have a visibility assigned by collections of this type.

I would expect that these might change during development, but would stabilize by the time the system goes into production.  The easy approach may be sufficient.




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.


  • No labels