Zenodo Publication
Zenodo is a portal (launched in May 2013) that collects outputs from researches in all fields of science to promote open access and open data. It is supported by the OpenAIRE initiative and developed and hosted by CERN.
Each outcome uploaded (called Deposition in the Zenodo gergo) is stored by Zenodo along with a rich set of metadata, searchable via the portal and harvestable via the OAI-PMH protocol.
Zenodo assigns to each deposition a unique Digital Object Identifier (DOI) to to make the upload easily and uniquely citeable.
gCube Community
The gCube Community is a community created with the objective of collecting all the depositions related to gCube software. New software artifacts are automatically uploaded at every gCube release and metadata is generated automatically (see #Automatic Metadata Generation).
Automatic Metadata Generation
The content for each deposition is generated automatically by the Zenodo Publisher from the information in the component source code and in ETICS.
The figure below shows the structure and the information published for each software artifact.
1. Title
The title of the deposition is built as follow:
gCube <name>
where:
- name is the content of <name> tag in the pom.xml. If not present, the artifactId is used
Previously also the component version and the gcube release were added in the title, but since the versioning of depositions is supported, this information has been removed because redundant.
2. Authors
Built from the content of "vcs.authors" property in ETICS configuration. That property is computed by ETICS looking at the VCS history of the component, If the user in ETICS has associated an ORCID identifier, it is added (Zenodo shows it as a green circle before the Author name).
3. Description
It is generated starting from the README and changelog.xml files. The two file are parsed removing redundant (e.g. license because it is published already in #14. License, source code, because it is published already in #5. GitHub link) or useless information (e.g. links to root page of the gCube wiki).
4. Files
The only file uploaded is the source package. It is generated during ETICS builds and contains everything checked-out from the VCS
5. GitHub link
The link to the position of the source code in GitHub
6. DOI
assigned by Zenodo to this deposition.
7. Keywords
Keywords for each component are stored in ETICS in the the description field of the corresponding ETICS module (not the configuration). For instance, keywords for "Common Authorization" are stored in the description of "org.gcube.common.authorization-common" module. They are encoded as follow:
#keywords=keyword1, keyword 2, key word3, ...
If keywords are not found in the component, they are searched in the subsystem and if also in the subsystem are not found, the keywords for the project are used. org.gcube project define these keywords:
#keywords=gCube, Java, Data Management System, Hybrid Data Infrastructure
8. Grants
Static list of grants. The same for all depositions
9. Previous Version Reference
The DOI of the previous version of this component
10. GitHub Reference
(same as 5)
11. PackageId
internal identifier to uniquely identify the depositions
12. Commiunity
All depositions belongs to the gCube community
14. License
Statically set to EUPL-1.1
Possible Improvements
- Add Changelog in the description
- Add links to wiki (parsed from the README)
- Support for a ".zenodo" file in the projet root that override metadata generated automatically
- Make a Smartgears service
- More metadata can be added:
- Subjects (however Subjects does not appear in Zenodo)