rdm-review-dashboard

Architecture

The review dashboard is a web application that supports dataset review, feedback, and curation workflows for Dataverse repositories.

The platform can optionally be extended with Check My Dataset, a self-service validation application that allows researchers to assess draft datasets before review or publication.

The platform consists of:

Both applications use the same backend infrastructure and validation framework, but provide different user experiences:

System architecture

The platform integrates with several Dataverse components.

flowchart TB  

DV[Dataverse]  
PG[PostgreSQL]  
SOLR[Solr]  
API[Native API]  

BE[Review Dashboard Backend]  
UI[Review Dashboard UI]  
CMD_UI[Check My Dataset UI]  

DV --- PG  
DV --- SOLR  
DV --- API  
PG --- BE  
SOLR --- BE  
API --- BE  
BE --- UI
BE --- CMD_UI

Dataverse

Dataverse serves as the system of records for datasets, metadata and permissions.

The Review Dashboard does not replace Dataverse workflows; instead, it adds structured review and feedback functionality on top of existing Dataverse functionality.

PostgreSQL

The backend accesses the Dataverse PostgreSQL database to retrieve dataset and repository information efficiently.

Solr

Solr is used for fast retrieval and indexing of dataset information.

Dataverse native API

Operations that modify dataset state, such as returning datasets for revision and publication actions, use the Dataverse Native API.

Backend

The backend provides

Backend includes a Huey based task consumer that runs Python scripts on specified number of workers. It can be configured to use Redis or Filesystem as task broker.

The backend can also serve the frontend applications as static content.

More information, see: Backend

Review Dashboard Frontend

The Review Dashboard frontend provides:

It communicates exclusively with the backend.

More information, see: Frontend Review Dashboard

Check My Dataset Frontend

The Check My Dataset frontend provides:

It communicates exclusively with the backend.

More information, see: Frontend Check My Dataset

Review workflow

The Review Dashboard supports the following review workflow:

Researcher
     │
     ▼
Submit dataset for review
     │
     ▼
Dataset appears in review queue
     │
     ▼
Reviewer assignment
     │
     ▼
Review checklist
     │
     ▼
Autocheck execution
     │
     ▼
Manual review
     │
     ▼
Feedback generation
     │
     ▼
Return for revision
            or
         Publish

More information, see: Review workflow

Check My Dataset workflow

Check My Dataset enables researchers to evaluate datasets before they enter a formal review process.

Researcher
     │
     ▼
Select dataset
     │
     ▼
Run validation checks
     │
     ▼
Overview of issues
     │
     ▼
All autocheck results
     │
     ▼
Tips to improve dataset
     │
     ▼
Dataset improvements

Validation and review framework

The shared validation framework is driven by issue definitions and autocheck scripts.

For a detailed description of the configuration of checks and feedback, see: Checks.

Review Dashboard

The review workflow is driven by a set of configurable definitions and scripts that determine how datasets are evaluated and how feedback is generated.

Issue Definition
       │
       ▼
Review Checklist
       │
       ▼
Reviewer Evaluation
       │
       ▼
Feedback Generation
       │
       ▼
Feedback Email

Optional:

Autocheck Script
       │
       ▼
Automatic Evaluation

Selected review issues are automatically converted into dataset feedback and incorporated into configurable email templates. More information, see: Emails.

Check My Dataset

Issue Definition
       │
       ▼
Autocheck Script
       │
       ▼
Automatic Evaluation
       │
       ▼
Dataset Recommendations

4. Authentication and authorization

Neither the Review Dashboard nor Check My Dataset manage authentication themselves.

Authenticated user information is retrieved from HTTP request headers configured in the backend. User permissions are derived from Dataverse permissions and role mappings.

For details about role configuration and permission mapping, see: Roles.