Apps Overview

The RDMC Prototype is a Django-based project organized into three dedicated apps. Each app has a clear, focused responsibility. This page gives developers a quick overview of what each app does, what it contains, and where to look when making changes.

The rdmc app is the core application of the project. It acts as the central hub that controls and coordinates all major functionality across the system.

Responsibilities:

  • Managing container lifecycle (create, update, seal, delete)

  • Handling user authentication and access control

  • Storing and retrieving container metadata

  • Managing artifact files and folder structures

  • Generating and updating the manifest.rdmc file

  • Coordinating with other apps for publish and organization workflows

  • Providing the main dashboard and container explorer views

The rdmc_organiser app handles everything related to how containers and artifacts are structured and configured. It manages the questions, steps, and forms that guide users through building their RDMC container.

Responsibilities:

  • Defining the step-by-step container creation workflow

  • Managing artifact type configurations and associated questions

  • Handling form logic for container and artifact metadata input

  • Controlling which fields and options are presented to users at each step

The rdmc_publish app manages everything related to publishing RDMC containers to external repositories and services.

Responsibilities:

  • Handling Zenodo OAuth2 authorization and file upload

  • Managing Dataverse publish workflows

  • Storing publish status and deposition records per container

  • Registering published containers with the RDMC Search Portal

  • Generating and downloading the Artifact Evaluation PDF

  • Updating the ePIC PID upon successful publication