Versions Compared

Key

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

...

Both parts will be explained in detail

Re-using one of the models previously created in the community

The models currently available in the community are:

...

In order to start using such a model, the following steps should be used

Configuration of the submission forms per item type

A collection should contain only objects of one item type. E.g. there would be one (or even multiple) collections for Person objects. The submission forms of the collection(s) for Person objects would contain metadata only applicable for the Person item type. Since the item type is stored in the metadata, the collection template can be used to store the item type metadata value.

...

  • In the edit collection, an item template should be created containing relationship.type with value Publication, Person or whatever type should be submitted to that collection.
  • In the edit collection, the submit group should be defined to identify who can submit to this collection
  • In item-submission.xml, the collection handle should be linked to the applicable submission-definitions in the file, e.g.

    Code Block
    <name-map collection-handle="123456789/6" submission-name="People" />
    <name-map collection-handle="123456789/279" submission-name="People" />
    <name-map collection-handle="123456789/7" submission-name="Project" />
    <name-map collection-handle="123456789/280" submission-name="Project" />
    <name-map collection-handle="123456789/8" submission-name="OrgUnit" />
    <name-map collection-handle="123456789/28" submission-name="Journals" />
    <name-map collection-handle="123456789/29" submission-name="JournalVolumes" />
    <name-map collection-handle="123456789/30" submission-name="JournalIssues" />


Configuration of workflow for item types

The DSpace workflow can be used for reviewing all objects in the Object Model since these objects are all items, and separate collections can be used. The workflow used for e.g. a Person Object can be configured to be identical to a publication, different from a publication, or use no workflow at all.

The users who are granted permissions to create a Person Object are determined by the submitters group of that collection.

Configuration of community/collection list for item types

The community list is very flexible, and institutions can use it for various purposes. By using collections for the item types, additional collections can be created in the community/collection list. Extending existing community/collection structures to include collections per item type, can be done using a single collection for the other item types. This is typically useful if the structure is not applicable for the other item types, or should not be displayed. In this use case, it would also be possible to not grant Anonymous READ rights on the People, Projects collections to ensure they’re not visible on the community/collection list page. Or extending these to include collections per item type, can be performed using multiple collections for the other item types. This is typically applicable when they should be clearly displayed in the structure:

...

  • Books
    • Book Chapter
    • Edited Volume
    • Monograph
  • Theses
    • Bachelor Thesis
    • Doctoral Thesis
    • Habilitation Thesis
    • Master Thesis
  • People
  • Projects

Designing your own model

When using a different entities model, the new model has to be configured an loaded into your repository

Thinking about the object model

First step: identify the entity types

...

  • By creating a drawing of your model, you’ll be able to quickly verify whether anything is missing

Configuring the object model

Configure the model in relationship-types.xml

  • Similar to the default relationship-types.xml, configure a relationship type per connection between 2 entity types
  • Include the 2 entity type names which are being connected
  • Determine a clear an unambiguous name for the relation in both directions
  • Optionally: determine the cardinality (min/max occurrences) for the relationships
  • Optionally: determine default behavior for copying metadata if the relationship is deleted

Configuring the metadata fields

Determining the metadata fields to use

...

Configuring the item display pages

  • The metadata configuration is not specific to configurable entities.
  • Similar to other customizations to the item display pages, configure in Angular which metadata fields to display and their label. A template per entity type can be created
  • The relationship display is similar to the metadata configuration
  • Similar to the metadata configuration: configure in Angular which relationship to display and their label

Configuring virtual metadata

  • The isAuthorOfPublication relationship can be displayed for the Publication item as dc.contributor.author
  • The isOrgUnitOfPerson relationship can be displayed for the Person item as organization.legalName
  • This can be configured in virtual-metadata.xml

Configuring discovery

  • Configure the discovery facets, filters, sort options, …
    • The facets for a Person can be job title, organization, project, …
    • The filters for a Person can be person.familyName, person.givenName, …