Skip to content

For Developers#

Guidelines#

User documentation about requirements, deployment and configuration of your own instance of the EUDAT B2SHARE software.

Synopsis#

The B2SHARE service is intended for European researchers who do not have adequate facilities for storing and publishing data, cannot otherwise guarantee long-term persistence of their locally stored data and lack means to easily share such data with colleagues worldwide. B2SHARE provides long-term preservation and storage of data sets together with persistent identifiers, metadata annotation and incorporation of community publication requirements.

For communities or institutes that want to limit usage to specific users, set their own rules and limitations regarding publications and have full control over the administration of the service, an instance of B2SHARE can be deployed. Deploying your own instance of B2SHARE requires web server or cloud infrastructure as well as storage infrastructure for the datasets published. EUDAT supports deployment using Docker containers, although bare metal deployment is possible as well.

Why instancing?#

Although EUDAT provides its own instance of B2SHARE, there are several reasons why an individual, institution or community would deploy its own installation of the B2SHARE software stack:

Benefit from full control over service and data stored
Configure your own:
    Storage infrastructure and locations
    Communities & users & roles
    Metadata schemas
    User access requirements and limitations
Set your own service limits & data requirements
Community / institute branding
Define multiple communities/projects
Add logos, information and landing pages

Requirements#

Although deployment of new instances of B2SHARE is easy and straightforward, there are the following requirements for any person who will administer the service:

Basic knowledge of Linux or Unix environments, how to configure components and make sure storage infrastructure is available
Knowledge of Docker technology, configuration and containers is a must
As in many cases, security and access rights are essential and therefore knowledge on how to set these at the right locations is very important
In many instances, specific storage requirements are of concern and therefore the right configuration and hardware can significantly alter the performance of your service
A backup strategy for all generated data, including all databases amd ingested files

Technology#

B2SHARE is developed on top of the Invenio v3 repository software platform developed by CERN.

The B2SHARE front-end is developed by EUDAT using Python and the Invenio end-points.

Quick deployment overview#

Deploying your own instance of B2SHARE can be achieved by downloading the B2SHARE software stack, configuring it and connected services and making it available to the intended audience. In short the following steps are necessary:

Install the necessary packages, Docker and Docker Compose
Clone the dockerize GitHub repository of B2SHARE
Edit the docker-compose.yml file
Configure B2ACCESS with an OAuth Client user
Set up the environment variables for B2SHARE
Run the Docker containers

For more in-depth information on how to install and configure your instance, please follow our dedicated guide published in the EUDAT Training GitHub repository.

Configuration#

B2SHARE instances can be deployed using the configuration files provided by the B2SHARE installation. All other object-specific configuration is done using the provided internal tools.

Creating new records and uploading files can be achieved by using the HTTP REST API endpoints or the internal command-line tools.

Content administration#

As soon as your instance is running smoothly you can start adding necessary objects, users and their roles. Most objects can be administered using the b2share command-line tool which is available in the B2SHARE Docker container.

Some of the options available are listed below:

Create and set users & roles:
    Administer users & roles
    Super administrator
    Community administrators & members
Communities:
    Administer communities/projects
    Community metadata schemas and branding
    Policies and access
    Access and roles
Metadata schemas:
    Define metadata schemas per community
    Define required and optional metadata fields and their structure
    Define additional community-specific fields

Other features#

B2SHARE provides even more features:

Monitoring services, like file fixity checks
Simple configuration for integration with other services
Customisation of UI

Integration of other EUDAT services#

B2SHARE uses several other EUDAT services in order to make sure new records are correctly created and users can be authenticated.

To see which other services can be integrated in your B2SHARE instance, please refer to the EUDAT Training material on B2SHARE deployment regarding services configuration.

Known Issues#

There are some known issues to take into account when deploying B2SHARE. Please refer to the EUDAT Training material on B2SHARE deployment regarding known issues.

Support#

Please visit our training site on GitHub for B2SHARE and other hands-on training material.

Our B2SHARE presentations offer training material for the service.

Support for B2SHARE is available via the EUDAT ticketing system through the webform.

If you have comments on this page, please submit them through the EUDAT support request system.

Under construction#