dspace-angular
dspace-angular copied to clipboard
Collection page should offer specific browsing options depending on their entity type
Objective The objective is to offer specific Angular UI page depending on the entity types of Collection. This will allow to use and display appropriate and relevant browsing options.
For the moment, DSpace 7 Collection pages display is always the same, because Collections themselves are not Entities by default. However, Collection can now be assigned an "Entity Type" which defines the type of Entities that collection "accepts" :

When using Entities, there is only one Angular UI Collection Page which is only relevant for Publication entity type and does not fit for other Entities DSpace 7 provides (Person, Organization, Projects).
The default page offers five browsing options :
- Recent Submissions
- By Issue Date
- By Author
- By Title
- By Subject

Each options is using values of a specific metatadata (ex: Author = dc.contributor.author)
Person, Organization or Projects does not share the same metadata as Publication. For example, there is no Author to a Person item, rather a Name and an Affiliation.
Proposed solution For Person Entity type collection
Person entity metadata are define is the metadata schema for https://schema.org/Person.
Browse options would be
- Recent additions
- By Name : will use person.familyName and person.givenName metadata (FamilyName, GivenName)
- By Affiliations: will use person.affiliation.name

For Project Type Entity collection
Project entity metadata are defined in the metadata schema https://schema.org/Project.
The schema does not include an Project Name or Reference.
Browse options would be :
- Recent Submissions
- By Project investigator: Project.investigator
- By project amount : project.amount

Organization Entity type collection
Project entity metadata are defined in the metadata schema https://schema.org/Organization
Browse options would be :
- Recent Submissions
- By Name: organization.legalName

This idea seems reasonable to me, though I'm not sure whether this is easy to achieve. It seems like we'd need to create Entity-specific browse by options (as some browse by options won't make sense for normal Items or other Entity Types).
So, I'm going to pull this over onto our roadmap, but prioritize as low for now. I'm worried there's hidden complexity here that may require more detailed discussion to implement properly.