Contribute to the DSpace Development Fund

The newly established DSpace Development Fund supports the development of new features prioritized by DSpace Governance. For a list of planned features see the fund wiki page.

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

Compare with Current View Page History

« Previous Version 9 Next »

Quality Assurance Event

A QA event is an entity stored on the qaevent solr collection.

{
"
source":"openaire"
"event_id":"a542103b9dda29afc320fb36116fc761",
"
original_id":"oai:www.openstarts.units.it:123456789/1122",
"
title":"The Impact of Longevity and Investment Risk on a Portfolio of Life Insurance Liabilities",
"
topic":"ENRICH/MORE/PID",
"
trust":1.0,
"
message":"{\"pids[0].type\":\"doi\",\"pids[0].value\":\"10.1007/s13385-018-0175-5\"}",
"
last_update":"2024-02-29T15:08:43.892Z",
"
resource_uuid":"8572c238-18ed-42ed-a471-175acd5d1565"
}

A QA Event owns data related to an item archived in the repository: into it's message property it may have values for new metadata to be added to the Item.

The entity has properties such as: Source, Topic, Target (resource_uuid) and Message.

All the system described here is turned off and on with the configuration property: qaevents.enabled. It is defaulted as false: 

qaevents.enabled = false

Quality Assurance Source

A QA Source is the recognized authority through which the qa event has landed on the repository. Source names are stored into the configuration key:  qaevents.source . It is defaulted as:

qaevents.sources = openaire, DSpaceUsers, coar-notify

Every QA Event must have a recognized source: this means that at time of writing we recognize 3 possible sources.

Quality Assurance Topic

The QA Topic describes the type of event. As the topic is known - it is expected for the message content to have a certain format. All the topic managed by the openaire source are stored into the configuration key: qaevents.openaire.import.topic. it is defaulted as:

qaevents.openaire.import.topic = ENRICH/MISSING/ABSTRACT
# add missing publication id suggestion
qaevents.openaire.import.topic = ENRICH/MISSING/PID
# add more publication id suggestion
qaevents.openaire.import.topic = ENRICH/MORE/PID
# add missing project suggestion
qaevents.openaire.import.topic = ENRICH/MISSING/PROJECT
# add more project suggestion
qaevents.openaire.import.topic = ENRICH/MORE/PROJECT
# add more review
qaevents.openaire.import.topic = ENRICH/MORE/REVIEW
# add more endorsement
qaevents.openaire.import.topic = ENRICH/MORE/ENDORSEMENT
# add more release/relationship
qaevents.openaire.import.topic = ENRICH/MORE/LINK


Quality Assurance Target

the target of a qa event is an item archived into the repository. The qa event solr document owns the item system uuid into the resource_uuid property.


Quality Assurance Message

the message of a qa event is a json-formatted string that contains all the new values related to the item. 


Quality Assurance Management

A qa events lands on the repository according to its source. for example: Openaire has an import batch for qaevents in json format to be loaded, Coar-Notify creates new qa event solr document when certain ldn messages are received.

QA Events are visible at Menu -< Notifications → Quality Assurance


 

 This is the main page of the Quality Assurance.

The first column shows the Sources the user can see.
The last column shows the counter of the events the user can see.

By clicking at the counter the source page is shown.

here there's the list of all the qa events the user can see,

grouped by their topic


Every qa event can be accepted, discarded or rejected.


When accepted an action is triggered. There's a configured correspondence between the topic of the event and an action to be performed. 

When discarded or rejected the solr document of the qa event is deleted.



Every decision been made from this panel (about qa events) is reported on the outside through an hhtp post call. It is directed to all the receivers configured at the configuration key: qaevents. + source + .acknowledge-url

it contains a simple json as payload as:

{
"
eventId":"a542103b9dda29afc320fb36116fc761"
"status":"accepted/discarded/rejected"
}

  • No labels