Collection Types
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 |
---|---|---|---|
|
|
|
|
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:
Advanced:
|
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?
Once a collection of a type exists, the checkable configurations (i.e. Nestable, Discovery, Sharing, Multiple Membership, Require Membership, Workflow, and Visibility) can NOT be changed.
Why Not? If we allowed these to change, existing collections of that type would require transmogrification. This is not currently allowed for work types and is not planned for collection types due to the complexity of handling this on the fly.
You can continue to update Managers and Creators. And you can continue to add a new collection type, if needed.