|
1 | 1 | # Dataverse Exporters |
2 | | -A collection of community-developed metadata exporters that conform to the [Dataverse](https://dataverse.org) exporter service provider interface (SPI) (1.0.0 first released with Dataverse 5.14, 2.0.0 released with Dataverse v6.0). |
3 | 2 |
|
4 | | -Documentation of the exporter SPI is available under [Advanced Installation](https://guides.dataverse.org/en/latest/installation/advanced.html#installing-external-metadata-exporters) and [Metadata Export](https://guides.dataverse.org/en/latest/developers/metadataexport.html). |
| 3 | +A collection of community-developed metadata exporters that conform to the [Dataverse](https://dataverse.org) Exporter Service Provider Interface (SPI). |
5 | 4 |
|
6 | | -As discussed in the guides you can download an example (for Dataverse 6.0+): [MyJSON exporter jar](https://github.com/gdcc/dataverse-exporters/raw/main/prebuilt-examples/dataverse-spi-export-examples-2.0.0.jar). |
| 5 | +Community members are encouraged to contribute to the documentation, add crosslinks, and create additional exporters! |
| 6 | +See below for more information. |
7 | 7 |
|
8 | | -Community members are encouraged to contribute to the documentation, add crosslinks, and create additional exporters beyond the single simple example provided today. |
| 8 | +In this repository you will find the Parent POM for all exporters as well as a very simple example exporter (see `/example`). |
| 9 | + |
| 10 | +## How to get support for exporters |
| 11 | + |
| 12 | +All the projects below are made by the community for the community. |
| 13 | +While IQSS might contribute, please don't pester them with support request. |
| 14 | + |
| 15 | +You are welcome to ask questions in the chat: https://chat.dataverse.org |
| 16 | +Please ask development related questions in #dev, anything else in #community or #troubleshoot. |
| 17 | + |
| 18 | +In case of a concrete problem with one of the exporters, please create a reproducible issue in the respective GitHub project. |
| 19 | + |
| 20 | +## List of known exporters |
| 21 | + |
| 22 | +### Community supported GDCC projects |
| 23 | + |
| 24 | +Quick links: |
| 25 | +- Explore a [list of GDCC exporter GitHub repositories](https://github.com/orgs/gdcc/repositories?q=props.topic%3A%22Metadata+Export%22). |
| 26 | +- Overview of [all GDCC exporters on Maven Central](https://central.sonatype.com/namespace/io.gdcc.export) |
| 27 | + |
| 28 | +| Name/Source | Description | Format | Download | |
| 29 | +|---------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------|----------| |
| 30 | +| [Example](./example) | A minimalistic example, may be used as template | JSON | - | |
| 31 | +| [Debug](https://github.com/gdcc/exporter-debug) | Dumps all possible JSON and XML data available to export plugins | JSON, XML | TBD | |
| 32 | +| [DDI-PDF](https://github.com/gdcc/exporter-ddipdf) | Export DDI metadata as a printable PDF file | PDF with [DDI metadata](https://ddialliance.org/) | TBD | |
| 33 | +| [Croissant](https://github.com/gdcc/exporter-croissant) | Export metadata as linked data following [Croissant ontology](https://docs.mlcommons.org/croissant/docs/croissant-spec.html) | JSON-LD | TBD | |
| 34 | +| [RO-Crate](https://github.com/gdcc/exporter-ro-crate) | Export metadata as linked data following [RO-Crate ontology](https://www.researchobject.org/ro-crate/specification/1.1/appendix/jsonld.html) | JSON-LD | TBD | |
| 35 | + |
| 36 | +### Other projects |
| 37 | + |
| 38 | +If you have an exporter plugin that cannot or shall not be transferred to GDCC, feel free to open an issue or pull request to let us know. |
| 39 | + |
| 40 | +## Creating new exporters |
| 41 | + |
| 42 | +Documentation of the exporter SPI is available under [Advanced Installation](https://guides.dataverse.org/en/latest/installation/advanced.html#installing-external-metadata-exporters) and [Metadata Export](https://guides.dataverse.org/en/latest/developers/metadataexport.html). |
| 43 | + |
| 44 | +### What are GDCC supported combinations of libraries and Dataverse? |
| 45 | + |
| 46 | +Version support matrix: |
| 47 | + |
| 48 | +| Supported | Exporter Parent POM | Dataverse SPI | Dataverse Software | |
| 49 | +|-----------|---------------------|---------------|--------------------| |
| 50 | +| ❌ | ❌ | 1.0.0 | 5.14 | |
| 51 | +| ✅ | 2.0.0 | 2.0.0 | 6.0 - recent | |
| 52 | + |
| 53 | +Other combinations might work. Your mileage may vary. |
| 54 | + |
| 55 | +### How to contribute an exporter to the GDCC |
| 56 | + |
| 57 | +In order to add your Dataverse Metadata Export Plugin to https://github.com/gdcc, please follow these steps: |
| 58 | + |
| 59 | +- Use the parent POM provided in your build system |
| 60 | +- Add unit and integration tests for your exporter to validate functionality |
| 61 | +- Setup GitHub Actions to continuously verify functionality |
| 62 | +- Enable the Renovate Bot or Dependency Bot to update your dependencies regularly |
| 63 | +- Write documentation for your exporter. Especially make sure to indicate supported Dataverse software versions! |
| 64 | +- Open a contribution request at https://github.com/gdcc/dataverse-exporters/issues/new to get access to a repository, be included in the list above and enable releases. |
| 65 | +- Release your exporter on Maven Central. Credentials will be provided by GDCC admins. See below for more details. |
| 66 | +- Keep your exporter code well maintained. Keep a changelog. |
| 67 | + |
| 68 | +Please note that abandoned projects can and will be archived to ensure smooth operations for admins/users. |
| 69 | + |
| 70 | +### How to release an exporter in the name of GDCC |
| 71 | + |
| 72 | +Once you received your exporter repository under https://github.com/gdcc, you can enable release workflows. |
| 73 | +Simply copy these files to your repository and ... (To Be Done) |
| 74 | + |
| 75 | +Link to [Dataverse SPI](https://central.sonatype.com/artifact/io.gdcc/dataverse-spi) |
0 commit comments