From 0a4c23fb311b140343494f798e10bdc727884898 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Such=C3=A1nek?= Date: Tue, 23 Dec 2025 08:29:47 +0100 Subject: [PATCH] Add details on DMP Commons Co-authored-by: Jana Martinkova Co-authored-by: Vojtech Knaisl --- CONTRIBUTORS.yml | 14 ++ docs/commons/dmp/API-specification.rst | 61 -------- docs/commons/dmp/application-profile.rst | 67 +++++++- docs/commons/dmp/dmp-common-standard.rst | 77 +++++++++ docs/commons/dmp/dmp-commons.rst | 37 ++++- docs/commons/dmp/madmp-api-specification.rst | 94 +++++++++++ docs/commons/dmp/ostrails_dmp-commons.png | Bin 0 -> 54012 bytes docs/commons/dmp/ostrails_dmp-commons.svg | 156 +++++++++++++++++++ docs/references.bib | 6 + 9 files changed, 443 insertions(+), 69 deletions(-) delete mode 100644 docs/commons/dmp/API-specification.rst create mode 100644 docs/commons/dmp/dmp-common-standard.rst create mode 100644 docs/commons/dmp/madmp-api-specification.rst create mode 100644 docs/commons/dmp/ostrails_dmp-commons.png create mode 100644 docs/commons/dmp/ostrails_dmp-commons.svg diff --git a/CONTRIBUTORS.yml b/CONTRIBUTORS.yml index bfe3737..30298e7 100644 --- a/CONTRIBUTORS.yml +++ b/CONTRIBUTORS.yml @@ -5,6 +5,20 @@ Marek Suchánek: orcid: 0000-0001-7525-9218 affiliation: CTU in Prague +Jana Martínková: + first_name: Jana + last_name: Martínková + github: jmartinkova + orcid: 0000-0001-8575-6533 + affiliation: CTU in Prague + +Vojtěch Knaisl: + first_name: Vojtěch + last_name: Knaisl + github: vknaisl + orcid: 0000-0003-0103-8468 + affiliation: Codevence Solutions + Daniel Garijo: first_name: Daniel last_name: Garijo diff --git a/docs/commons/dmp/API-specification.rst b/docs/commons/dmp/API-specification.rst deleted file mode 100644 index 585e617..0000000 --- a/docs/commons/dmp/API-specification.rst +++ /dev/null @@ -1,61 +0,0 @@ -OSTrails maDMP API Specification -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -.. page-authors:: - Tomasz Miksa - - -Overview --------- - -The **maDMP API** is a standardized interface designed to enable seamless exchange of information between machine-actionable Data Management Plans (maDMPs) and other research data management (RDM) services. It is developed jointly with the Research Data Alliance maDMP API Working Group. - -The API specification is published as an OpenAPI document, ensuring interoperability and ease of integration across diverse platforms. - -Objectives ----------- - -The main objectives of the maDMP API are: - -* **Promote reuse of information from DMPs** - Facilitate the transfer of information to and from DMPs to inform and automate actions within other research software systems. - -* **Enable interoperability and interchangeability of DMP platforms** - Ensure that any DMP tool can be integrated into diverse contexts without compatibility concerns. - -* **Reduce reliance on static text documents** - Move away from narrative PDF-based DMPs toward actionable, API-driven solutions using persistent identifiers. - -* **Enhance the quality and timeliness of DMPs** - Improve accuracy by sourcing data directly from systems where RDM activities occur. - -Involved Tools --------------- - -The development and adoption of the maDMP API involve collaboration with several DMP platforms and services, including: - -* Argos -* DAMAP -* DMPonline -* DMP OPIDoR -* DMP Tool -* DSW -* DataPLAN - -These tools will implement the API endpoints to enable interoperability and integration with other services such as data repositories, FAIR assessment tools, and virtual research environments. - -External Resources ------------------- - -* The API is developed jointly with the `Research Data Alliance maDMP API working group `_. - -* The charter of the group can be found at the `RDA maDMP API WG page `_. - -* The API specification is in this GitHub repository: `RDA-DMP-Common/common-madmp-api `_. - -* The OpenAPI documentation can be accessed directly at: `rda-dmp-common.github.io/common-madmp-api `_. - -Work in Progress ----------------- - -The API is under active development. The current specification reflects the consensus of the working group and is being tested by participating tools. Future updates will incorporate feedback from the community and ensure broad compatibility. diff --git a/docs/commons/dmp/application-profile.rst b/docs/commons/dmp/application-profile.rst index 6442a48..10c03f1 100644 --- a/docs/commons/dmp/application-profile.rst +++ b/docs/commons/dmp/application-profile.rst @@ -1,11 +1,72 @@ OSTrails Application Profile for maDMPs ======================================= -The **OSTrails Application Profile (AP)** is a tailored extension of the -`RDA DMP Common Standard (DCS) for maDMPs `_. +.. page-authors:: + Tomasz Miksa + Marek Suchánek + Jana Martínková + + +The **OSTrails Application Profile (AP) for machine-actionable Data Management Plans (maDMPs)** is a tailored extension of the :doc:`RDA DMP Common Standard (DCS) for maDMPs `. It is designed to enhance interoperability while addressing requirements from national and thematic pilots, often reflecting specific funder and community templates. The profile provides a list of additional terms that can be used to express information contained in DMPs in a machine-actionable way. Upon successful review, some of the fields from the AP will be incorporated into the RDA DCS. This process is still ongoing and requires broader community consensus and RDA involvement. -The AP presented on this page reflects the **working draft as of January 2026**. +The work presented on this page reflects the **working draft as of January 2026**. + +Purpose and scope +----------------- + +The OSTrails AP enhances interoperability by introducing **additional entities, fields, constraints, and usage patterns** that are not covered by the minimal core defined in the DMP Common Standard. + +It is designed to: + +- Support **information requirements imposed by funding agencies** +- Reflect **national, institutional, and thematic practices** around DMPs +- Enable reliable machine-to-machine interactions in the European research data management ecosystem + +Technically, the application profile is specified in accordance with the extension mechanisms foreseen by the DMP Common Standard and forms a core artefact of the DMP Commons as a formal description of the maDMP data structure. + +Iterative and community-driven development +------------------------------------------ + +The OSTrails Application Profile is developed **iteratively**. + +Rather than defining a fixed, one-time specification, the profile continuously evolves by consolidating requirements gathered from multiple perspectives and real-world implementations. This approach allows the AP to respond to emerging needs while maintaining internal consistency and interoperability. + +The application profile is intentionally designed as an artefact that is **by-design ready for future evolution**, both within the OSTrails project and beyond it. + +At present, the OSTrails AP is in an **early stage of development**, and its structure and content are expected to mature through successive iterations. + +Sources of requirements and inputs +---------------------------------- + +The OSTrails Application Profile is informed by a wide range of inputs, including: + +- **Funding agency DMP templates** and policy requirements +- **European and EOSC-level guidelines** and interoperability recommendations +- **National and regional DMP practices** identified through pilots +- **Institutional requirements**, including those of research-performing and research-supporting organisations +- **Thematic and domain-specific guidelines** from research communities +- **Feedback from national and thematic pilots within OSTrails** +- **Practical implementation experience** from DMP platforms and services +- **Gaps and ambiguities identified in the DMP Common Standard** when applied in operational settings + +These inputs are analysed, consolidated, and progressively incorporated into the application profile. Some of the exemplary efforts are documented in the :doc:`maDMP mappings `. + +Relationship to the DMP Common Standard +--------------------------------------- + +The OSTrails Application Profile is a **formal extension** of the :doc:`RDA DMP Common Standard (DCS) for maDMPs `. + +This means that the profile may introduce: + +- new entities, +- additional fields or attributes, +- more specific constraints on existing elements, +- clarified usage patterns for machine-actionable exchange. + +At the same time, **compatibility is a core design principle**. Every maDMP that conforms to the OSTrails Application Profile is also compliant with the broader and in a sense simpler DMP Common Standard. + +This ensures that DMPs expressed using the OSTrails AP remain interoperable with services that only support the core RDA model, while enabling richer interactions where the application profile is implemented. diff --git a/docs/commons/dmp/dmp-common-standard.rst b/docs/commons/dmp/dmp-common-standard.rst new file mode 100644 index 0000000..d879df0 --- /dev/null +++ b/docs/commons/dmp/dmp-common-standard.rst @@ -0,0 +1,77 @@ +RDA DMP Common Standard for maDMPs +================================== + +.. page-authors:: + Tomasz Miksa + Marek Suchánek + + +The **RDA DMP Common Standard for machine-actionable Data Management Plans (maDMPs)** defines a minimal, interoperable data model for representing information contained in Data Management Plans in a machine-actionable way. + +The standard provides a shared vocabulary and structure for core DMP concepts that are common across domains, funders, and infrastructures. It is designed to enable consistent interpretation and exchange of DMP information between systems, while remaining independent of specific implementations, workflows, or regional policies. + +Version and usage +----------------- + +The DMP Commons currently build on **version 1.2** of the RDA DMP Common Standard: + +- https://github.com/RDA-DMP-Common/RDA-DMP-Common-Standard/tree/v1.2 + +This version serves as the **foundational layer** for the DMP Commons and is used as the base model for higher-level specifications: :doc:`OSTrails Application Profile ` and then :doc:`API specification `. All extensions and constraints introduced by the DMP Commons are defined as additions on top of this common core, ensuring compatibility with the RDA standard. + +Scope and role within the DMP Commons +------------------------------------- + +Within the DMP Commons, the RDA DMP Common Standard: + +- Defines the **minimum set of concepts** needed to describe a DMP in a machine-actionable way +- Establishes a **shared semantic baseline** across tools and services +- Enables interoperability without constraining internal data models or system architectures + +The standard intentionally avoids domain-specific requirements or policy-driven constraints. Such specializations are addressed at higher layers (e.g. application profiles), allowing the common standard to remain stable and broadly applicable. + +.. figure:: https://raw.githubusercontent.com/RDA-DMP-Common/RDA-DMP-Common-Standard/refs/tags/v1.2/docs/diagrams/maDMP-diagram.png + :alt: RDA DMP Common Standard for maDMPs v1.2 + :target: https://github.com/RDA-DMP-Common/RDA-DMP-Common-Standard/tree/v1.2 + + RDA DMP Common Standard for maDMPs v1.2 + +Community governance and maintenance +------------------------------------ + +The RDA DMP Common Standard is developed and maintained by the community under the Research Data Alliance (RDA). Issues, discussions, and proposals related **directly to the standard itself** are handled within its established community processes. + +Relevant resources include: + +- **Specification repository**: + https://github.com/RDA-DMP-Common/RDA-DMP-Common-Standard + +- **Issue tracker and discussions**: + https://github.com/RDA-DMP-Common/RDA-DMP-Common-Standard/issues + +- **RDA Working Group page**: + https://www.rd-alliance.org/groups/dmp-common-standards-wg + +These channels are the authoritative venues for proposing changes, reporting issues, and discussing the evolution of the standard. + +Contribution and future evolution +---------------------------------- + +In OSTrails and DMP Commons, we actively **collaborate with and contribute to the evolution of the RDA DMP Common Standard**. + +This collaboration is driven by practical experience gained through building the :doc:`OSTrails Application Profile ` and also API on top of the standard, as well as by identifying gaps or ambiguities that affect interoperability beyond specific infrastructures or regional contexts. + +Proposed improvements are intentionally **not limited to OSTrails, EOSC, or Europe-specific needs**, but aim to strengthen the standard for the broader international community and future versions of the specification. + +As the RDA DMP Common Standard evolves, the DMP Commons will track and align with new versions, ensuring continuity while supporting incremental adoption. + +References +---------- + +.. bibliography:: + :list: bullet + :filter: False + :keyprefix: dmp-common-standard- + :labelprefix: dmp-common-standard- + + Miksa_RDA_DMP_Common diff --git a/docs/commons/dmp/dmp-commons.rst b/docs/commons/dmp/dmp-commons.rst index c9c8343..c52ae03 100644 --- a/docs/commons/dmp/dmp-commons.rst +++ b/docs/commons/dmp/dmp-commons.rst @@ -2,21 +2,48 @@ DMP Commons =========== .. page-authors:: + Marek Suchánek + Jana Martínková Tomasz Miksa -DMP Commons support the adoption of the **DMP Interoperability Framework**. They are primarily aimed at software developers building services that create or consume machine-actionable DMPs (maDMPs). This includes: -- DMP platform providers -- Other services that integrate with these platforms, as outlined in our *Architecture and Pathways* +The **DMP Commons** provide a shared, reusable, and interoperable foundation for working with **machine-actionable Data Management Plans (maDMPs)** across tools and services to support the adoption of the **DMP Interoperability Framework**. They define how DMP information is structured, constrained, and exchanged, without prescribing how individual systems are internally designed or implemented. DMP Commons are primarily aimed at software developers building services that create or consume machine-actionable DMPs (maDMPs). This includes: + +- DMP platform providers, +- Other services that integrate with these platforms, as outlined in our *Architecture and Pathways*. In addition, DMP Commons are relevant for data stewards and other stakeholders who need to structure information about Research Data Management (RDM). -For the time being, the Commons consist of: +The Commons are built as a **layered framework** consisting of a common data model, an OSTrails (i.e. Europe/EOSC) -specific application profile, and a standard API. Together, these layers enable consistent interpretation of DMP content and predictable interactions between services, regardless of their internal architectures. This approach allows platforms to evolve independently while remaining interoperable at the boundaries. In addition, we provide `maDMP mappings `_ to support the development of application profiles and to align DMP information with external standards and domain models. + +.. figure:: ostrails_dmp-commons.png + :alt: DMP Commons Layers + :align: center + :scale: 60% + + DMP Commons Layers + + +As illustrated above, the DMP Commons consist of three main components: + +- :doc:`RDA DMP Common Standard for maDMPs `: The foundational data model defining core DMP concepts and structures in a machine-actionable way. +- :doc:`OSTrails Application Profile for maDMPs `: A Europe/EOSC-specific extension of the common standard that introduces additional entities, fields, and constraints to address regional interoperability needs. +- :doc:`OSTrails maDMP API Specification `: A standardised interface for programmatically interacting with maDMPs across platforms, built on top of the common standard and compatible with the application profile. + +The primary users of the DMP Commons are **software developers, system architects, and service operators** who design or operate DMP platforms and related research data management services. Researchers are not expected to interact with the Commons directly; instead, they benefit indirectly through increased automation, reduced duplication of effort, and better reuse of DMP information across systems. + +The DMP Commons are **community-driven and evolutionary** in a sense that they are designed to continuously evolve based on community feedback and emerging needs. They build heavily on work carried out in the Research Data Alliance (RDA), including the RDA DMP Common Standard recommendation, and in turn actively contribute back to those communities. The framework is designed to support gradual adoption, while enabling full interoperability when all components are implemented. + +---- + +For the time being, the Commons consist of the following resources: .. toctree:: + :caption: DMP Commons Resources :maxdepth: 1 :titlesonly: + DMP Common Standard for maDMPs OSTrails Application Profile for maDMPs - OSTrails maDMP API Specification + OSTrails maDMP API Specification maDMP mappings diff --git a/docs/commons/dmp/madmp-api-specification.rst b/docs/commons/dmp/madmp-api-specification.rst new file mode 100644 index 0000000..3060b73 --- /dev/null +++ b/docs/commons/dmp/madmp-api-specification.rst @@ -0,0 +1,94 @@ +maDMP API Specification +======================= + +.. page-authors:: + Tomasz Miksa + Marek Suchánek + Vojtěch Knaisl + + +The **maDMP API specification** defines a common way to **programmatically interact with machine-actionable Data Management Plans (maDMPs)** across DMP platforms and related services. + +The API enables uniform access to DMP information and actions, even when individual platforms differ in their internal architectures, functional focus, user experience, or integrations with other systems. + +Purpose and design principles +----------------------------- + +The maDMP API is designed to: + +- Enable **standardised operations** over DMPs across platforms +- Support **machine-to-machine interoperability** in heterogeneous environments +- Decouple external interactions from internal system design +- Facilitate automation of research data management workflows + +The API focuses on *how* DMP information is accessed and manipulated, not on *how* services internally store or manage that information. This allows platforms to evolve independently while exposing a predictable and interoperable interface. + +Relationship to the data models +------------------------------- + +The maDMP API builds directly on top of the :doc:`RDA DMP Common Standard ` and uses its concepts and structures as the semantic foundation for all exchanged messages. + +The API is designed to be **flexible with respect to compatible extensions**, such as the :doc:`OSTrails Application Profile `. This means that: + +- The API can operate over DMPs expressed using the core DMP Common Standard. +- It can also be used with extended profiles, as long as they remain compatible with the common model. + +This approach allows the same API to be reused across different contexts and extensions, while preserving interoperability at the core level. + +Uniform operations across DMP platforms +--------------------------------------- + +By implementing the maDMP API, DMP platforms expose a common set of operations that can be used consistently across systems, for example: + +- searching or filtering DMPs based on various criteria, +- retrieving DMPs and their metadata, +- updating or enriching DMP information, +- creating new DMPs, +- deleting or archiving DMPs. + +These operations are performed in a unified way, independent of the platform’s specific focus, user interface, or internal integrations. + +Community governance and maintenance +------------------------------------ + +The maDMP API specification is being **developed jointly** within the `RDA Common Application Programming Interface (API) for machine-actionable Data Management Plans (maDMPs) Working Group `_. + +The working group was established during the OSTrails project and brings together experts from multiple initiatives and infrastructures to define a broadly applicable, community-endorsed API. + +Relevant resources include: + +- **Specification repository**: + https://github.com/RDA-DMP-Common/common-madmp-api + +- **Issue tracker and discussions**: + https://github.com/RDA-DMP-Common/common-madmp-api/issues + +- **RDA Working Group page**: + https://www.rd-alliance.org/groups/common-application-programming-interface-api-for-machine-actionable-data-management-plans-madmps + +Documentation and versioning +---------------------------- + +The API is documented using OpenAPI, with rendered documentation available at: + +- **OpenAPI documentation**: + https://rda-dmp-common.github.io/common-madmp-api/ + +Currently, the API specification is at **version 0.1.0**, representing an early stage of development. Future versions will evolve based on community feedback, implementation experience, and emerging needs. The current specification reflects the consensus of the working group and is being tested by participating tools. Future updates will incorporate feedback from the community and ensure broad compatibility. + +Involved tools +-------------- + +The development and adoption of the maDMP API involve collaboration with several DMP platforms and services, including: + +* Argos +* DAMAP +* DMPonline +* DMP OPIDoR +* DMP Tool +* Data Stewardship Wizard (DSW) +* DataPLAN +* FAIR Wizard +* OpenCDMP + +These tools will implement the API endpoints to enable interoperability and integration with other services such as data repositories, FAIR assessment tools, and virtual research environments. diff --git a/docs/commons/dmp/ostrails_dmp-commons.png b/docs/commons/dmp/ostrails_dmp-commons.png new file mode 100644 index 0000000000000000000000000000000000000000..fe6d91137dd9de02ba3155f266752c7fe1ede3b9 GIT binary patch literal 54012 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�zIwiZANqlklM)Bo5M_DKb2ytc5LY&#Lqxx&S1tc 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 literal 0 HcmV?d00001 diff --git a/docs/commons/dmp/ostrails_dmp-commons.svg b/docs/commons/dmp/ostrails_dmp-commons.svg new file mode 100644 index 0000000..7bf9be0 --- /dev/null +++ b/docs/commons/dmp/ostrails_dmp-commons.svg @@ -0,0 +1,156 @@ + + + + + +DMP Common Standard for maDMPsOSTrails Application ProfileCommon maDMP APIBase CommonData ModelEOSC-ExtendedData ModelUnified Operationsfor Data Model diff --git a/docs/references.bib b/docs/references.bib index 05db23b..1c836f0 100644 --- a/docs/references.bib +++ b/docs/references.bib @@ -55,3 +55,9 @@ @misc{ostrails_d2.5 doi = {10.5281/zenodo.14795060}, } +@misc{Miksa_RDA_DMP_Common, + author = {Miksa, Tomasz and Walk, Paul and Neish, Peter}, + doi = {10.15497/rda00039}, + title = {{RDA DMP Common Standard for Machine-actionable Data Management Plans}}, + version = {1.1} +}