Skip to content

Conceptual Differences Between B2SHARE v2 and v3#


Introduction#

This document provides a conceptual overview of how B2SHARE v3 (a customized version of InvenioRDM v13) differs from B2SHARE v2. It is intended for data managers, community coordinators, and stakeholders who need to understand the model evolution, not the JSON structure itself.

All examples below use fictional data for demonstration only.


General Model Evolution#

Topic B2SHARE v2 B2SHARE v3
Foundation Legacy Invenio 2.x framework Built on InvenioRDM v13 with custom extensions
Purpose Repository for datasets and community data FAIR-compliant data publishing platform
Metadata model Community-specific and flat Modular, extensible, and schema-driven
Identifier management Part of metadata Dedicated persistent identifier subsystem
Community handling Single community UUID Rich object with metadata, slug, and policy
Access control List of owners with embargoed files Full access model with embargo and link grants

Metadata Model Changes#

Key improvements#

  • Unified vocabulary use (subjects, rights, languages, resource types, and more).
  • Flattened fields (main title, and main description instead of arrays) + additional titles and description.
  • Structured creators under person_or_org, allowing for ORCID integration.
  • Multiple contact emails supported via contact_emails[].
  • Community-specific metadata refactored into community_extension using readable slugs instead of UUID keys.

Example (fictional)#

// v2 style
"metadata": {
  "titles": [{"title": "Rainfall Data from the Amazon Basin"}],
  "creators": [{"creator_name": "Doe, Jane"}],
  "community": "1234-5678-90ab-cdef",
  "community_specific": {
    "abcd-ef12": {"metadata_url": "https://example.org/community/schema"}
  },
  "open_access": true
}

// v3 style
"metadata": {
  "title": "Rainfall Data from the Amazon Basin",
  "creators": [{"person_or_org": {"type": "personal", "name": "Jane Doe"}}],
  "community_extension": {"amazon:metadata_url": "https://example.org/community/schema"},
  "access": {"record": "public", "files": "public"}
}

Community and Schema Extensibility#

  • v2: Each community defined its own $schema file, referenced by a UUID.
  • v3: Uses community_extension_schema (UUID) + human-readable community_extension.<slug> namespace.

File Management#

  • v2: Files listed as a flat array with basic properties (key, size, checksum).
  • v3: Files grouped under entries with rich metadata (PID, mimetype, access).

Example:

"files": {
  "entries": {
    "results.csv": {
      "size": 20000,
      "mimetype": "text/csv",
      "pids": {"epic": {"identifier": "http://hdl.handle.net/11304/demo123"}},
      "links": {"content": "https://b2share.example.org/files/results.csv/content"}
    }
  }
}

Persistent Identifiers (PIDs)#

  • v2: DOI and ePIC stored within metadata.
  • v3: Introduces pids object at top-level, unifying multiple PID systems (DOI, EPIC, B2REC, OAI).

Access Control Model#

Concept v2 v3
Public/private flag for files open_access boolean Structured access object
Embargo for files embargo field added for records
Secret links Not supported Added via access_links API
Ownership Flat user list Nested under parent.access.owned_by

Summary#

  • B2SHARE v3 aligns with international FAIR data standards through structured, extensible metadata and PID management.
  • Communities gain better control over metadata and submission workflows.
  • Files and access control are now more detailed, allowing flexible sharing and compliance tracking.
  • While inspired by InvenioRDM, B2SHARE v3 introduces unique fields (instruments, temporal_coverage, contact_emails, locations, resource_types).
  • Customizable Community Schema Extensions as in B2SHARE version 2.

  Last update : 10.11.2025

Last review : 10.11.2025