diff --git a/content/help/docs/github/archive-software/contents.lr b/content/help/docs/github/archive-software/contents.lr new file mode 100644 index 0000000..0f14fad --- /dev/null +++ b/content/help/docs/github/archive-software/contents.lr @@ -0,0 +1,20 @@ +_model: docspage +--- +title: Archive software +--- +menu: /help/docs/github +--- +sort_key: 4 +--- +body: +--- +docs: +#### docstext #### +text: +This section explains how to archive software records in [Software Heritage](https://www.softwareheritage.org/) through Zenodo. + +All the software records with a single compressed file are considered for archival, this guide covers the following methods: + +#### docstoc #### +menu: /help/docs/github/archive-software + diff --git a/content/help/docs/github/archive-software/github-upload/contents.lr b/content/help/docs/github/archive-software/github-upload/contents.lr new file mode 100644 index 0000000..4b47828 --- /dev/null +++ b/content/help/docs/github/archive-software/github-upload/contents.lr @@ -0,0 +1,99 @@ +_model: docspage +--- +title: Archive a release from Github +--- +menu: /help/docs/github +--- +sort_key: 1 +--- +body: +This guide will help you create a **Software** record to be archived in [Software Heritage](https://www.softwareheritage.org/). It assumes you have already enabled a repository. + +If you need help to enable a repository, read the following guide: + +- [Enable a repository](../../enable-repository) +--- +docs: +#### docsheader #### +text: Create a release +---- +ref:create-a-release +#### docsstep #### +step: 1 +---- +text: Open the profile menu and click **Github** +---- +image: profile.png +#### docsstep #### +step: 2 +---- +text: Select the repository +---- +image: enabled_repos.png +#### docsstep #### +step: 3 +---- +text: Click the **Create release** button +---- +image: create-release.png +#### docsstep #### +step: 4 +---- +text: + +Create a release in Github. Find more information on how to manage releases here: + +- [Managing releases in a repository](https://docs.github.com/en/repositories/releasing-projects-on-github/managing-releases-in-a-repository) +---- +image: +#### docsstep #### +step: 5 +---- +text: + +Wait for the release to be processed. + +This could take some time, depending on the size of the release file and the load of Zenodo at that time. +---- +image: +#### docsstep #### +step: 6 +---- +text: When the release is finished, click the record DOI to go to the record +---- +image: release.png +---- +#### docsstep #### +step: 7 +---- +text: In the record page, check the archival status under **External resources** > **Archived in**. The record will be archived soon. +---- +image: ../manual-upload/archive-wait.png +---- +#### docsheader #### +text: Debug a failed release +#### docsstep #### +step: 1 +---- +text: Select the repository (see step 2 above) +---- +#### docsstep #### +step: 2 +---- +text: Select the failed release +---- +image: failed-release.png +#### docsstep #### +step: 3 +---- +text: In the collapsable window that just open, select **Errors** +---- +#### docsstep #### +step: 4 +---- +text: Check if the error is related to your release metadata. If so, you can fix it and release your software again. + +**Note**: you can use tools such as [cff-converter](https://github.com/citation-file-format/cff-converter-python) to validate your `CITATION.cff` file. +**Note**: we provide complete [examples](../../describe-software) of `CITATION.cff` and `.zenodo.json` files. +---- +image: failed-release-errors.png \ No newline at end of file diff --git a/content/help/docs/github/archive-software/github-upload/create-release.png b/content/help/docs/github/archive-software/github-upload/create-release.png new file mode 100644 index 0000000..33e7d4f Binary files /dev/null and b/content/help/docs/github/archive-software/github-upload/create-release.png differ diff --git a/content/help/docs/github/archive-software/github-upload/enabled_repos.png b/content/help/docs/github/archive-software/github-upload/enabled_repos.png new file mode 100644 index 0000000..bbfe91f Binary files /dev/null and b/content/help/docs/github/archive-software/github-upload/enabled_repos.png differ diff --git a/content/help/docs/github/archive-software/github-upload/failed-release-errors.png b/content/help/docs/github/archive-software/github-upload/failed-release-errors.png new file mode 100644 index 0000000..0b7ae12 Binary files /dev/null and b/content/help/docs/github/archive-software/github-upload/failed-release-errors.png differ diff --git a/content/help/docs/github/archive-software/github-upload/failed-release.png b/content/help/docs/github/archive-software/github-upload/failed-release.png new file mode 100644 index 0000000..7209479 Binary files /dev/null and b/content/help/docs/github/archive-software/github-upload/failed-release.png differ diff --git a/content/help/docs/github/archive-software/github-upload/profile.png b/content/help/docs/github/archive-software/github-upload/profile.png new file mode 100644 index 0000000..16a14c7 Binary files /dev/null and b/content/help/docs/github/archive-software/github-upload/profile.png differ diff --git a/content/help/docs/github/archive-software/github-upload/release.png b/content/help/docs/github/archive-software/github-upload/release.png new file mode 100644 index 0000000..1bbc038 Binary files /dev/null and b/content/help/docs/github/archive-software/github-upload/release.png differ diff --git a/content/help/docs/github/archive-software/manual-upload/archive-wait.png b/content/help/docs/github/archive-software/manual-upload/archive-wait.png new file mode 100644 index 0000000..995e1b0 Binary files /dev/null and b/content/help/docs/github/archive-software/manual-upload/archive-wait.png differ diff --git a/content/help/docs/github/archive-software/manual-upload/contents.lr b/content/help/docs/github/archive-software/manual-upload/contents.lr new file mode 100644 index 0000000..55dd69f --- /dev/null +++ b/content/help/docs/github/archive-software/manual-upload/contents.lr @@ -0,0 +1,65 @@ +_model: docspage +--- +title: Upload software manually +--- +menu: /help/docs/github +--- +sort_key: 1 +--- +body: +This guide will help you create a **Software** record to be archived in [Software Heritage](https://www.softwareheritage.org/). It assumes you have already created (but not published) a new upload. If you need help starting a new upload, read the following guide: + +- [Create a new upload](https://help.zenodo.org/docs/deposit/create-new-upload/#new-upload) + +--- +docs: + +#### docsheader #### + +text: Create a software deposit + +---- +#### docsstep #### +step: 1 +---- +text: + +In the deposit form of your upload, add a single **ZIP** file that contains your software's source code + +**NOTE**: It is mandatory that only one compressed file (e.g. ZIP) is present in the record. Otherwise, the record is deemed invalid and not archived in Software Heritage + +---- +image: https://codimd.web.cern.ch/uploads/upload_5c2f71987c22ea0a41d5868dcd268e0f.png +---- +#### docsstep #### +step: 2 +---- +text: Under *Resource type* select **Software** +---- +image: https://codimd.web.cern.ch/uploads/upload_362d7ed8d76e99d0bb38cca0f208d868.png +---- +#### docsstep #### +step: 3 +---- +text: Describe the record according to your needs. Learn more about the deposit form fields here: + +- [Describe records](https://help.zenodo.org/docs/deposit/describe-records/) +---- +#### docsstep #### +step: 4 +---- +text: It is strongly suggested to use software-specific fields. To do so, scroll-down to the *Software* category: +---- +image: https://codimd.web.cern.ch/uploads/upload_cd2c5679f034671be3f70591cf58062d.png +---- +#### docsstep #### +step: 5 +---- +text: Publish the record +---- +#### docsstep #### +step: 6 +---- +text: In the record page, check the archival status under **External resources** > **Archived in**. The record will be archived soon. +---- +image: archive-wait.png \ No newline at end of file diff --git a/content/help/docs/github/citation-file/contents.lr b/content/help/docs/github/citation-file/contents.lr deleted file mode 100644 index 5ae0712..0000000 --- a/content/help/docs/github/citation-file/contents.lr +++ /dev/null @@ -1,9 +0,0 @@ -_model: docspage ---- -title: Add CITATION.CFF ---- -docs: ---- -menu: /help/docs/github ---- -sort_key: 4 diff --git a/content/help/docs/github/contents.lr b/content/help/docs/github/contents.lr index 82269a6..ac938b7 100644 --- a/content/help/docs/github/contents.lr +++ b/content/help/docs/github/contents.lr @@ -1,15 +1,17 @@ _model: docspage --- -_hidden: true +_hidden: false --- -title: GitHub +title: GitHub and Software --- sort_key: 10 --- menu: /help/docs/github --- body: - -bla bla --- docs: +#### docstext #### +text: This section covers the Zenodo/GitHub integration and provides details on how software records are archived in [Software Heritage](https://www.softwareheritage.org/) +#### docstoc #### +menu: /help/docs/github diff --git a/content/help/docs/github/create-release/contents.lr b/content/help/docs/github/create-release/contents.lr deleted file mode 100644 index 73d876b..0000000 --- a/content/help/docs/github/create-release/contents.lr +++ /dev/null @@ -1,9 +0,0 @@ -_model: docspage ---- -title: Create release ---- -docs: ---- -menu: /help/docs/github ---- -sort_key: 3 diff --git a/content/help/docs/github/describe-software/citation-file/contents.lr b/content/help/docs/github/describe-software/citation-file/contents.lr new file mode 100644 index 0000000..64babff --- /dev/null +++ b/content/help/docs/github/describe-software/citation-file/contents.lr @@ -0,0 +1,87 @@ +_model: docspage +--- +title: CITATION.cff file +--- +menu: /help/docs/github +--- +sort_key: 2 +--- +body: +A `CITATION.cff` file can be added to your Github repository to describe the software after it is preserved in Zenodo. +--- +docs: +#### docsheader #### +text: Create a CITATION.cff file +#### docstext #### +---- +#### docsstep #### +step: 1 +---- +text: Open your repository on Github +#### docsstep #### +step: 2 +---- +text: Add a new file +#### docsstep #### +step: 3 +---- +text: Name it `CITATION.cff` +#### docsstep #### +step: 4 +---- +text: (Optional) Validate the contents of the file, see the instructions [below](#validate) for more information. +#### docsstep #### +step: 5 +---- +text: Commit the file +#### docsstep #### +step: 6 +---- +text: [Archive the release](../../archive-software/github-upload) +---- +#### docstext #### +text: Currently Zenodo implements a subset of the `CITATION.cff` schema, find an example with all the fields that are supported below: + +``` +cff-version: 1.2.0 +title: >- + Lorem ipsum dolor sit amet, consectetur adipiscing elit. +version: 1.8.0 +abstract: >- + Lorem ipsum dolor sit amet, consectetur adipiscing elit. +license: "bsd-3-clause" +message: >- + Lorem ipsum dolor sit amet, consectetur adipiscing elit. +type: software +authors: + - given-names: John + family-names: Doe + affiliation: University of Example + orcid: 'https://orcid.org/0000-0000-0000-0000' + - given-names: Jane + family-names: Smith + affiliation: Example University + orcid: 'https://orcid.org/0000-0000-0000-0001' + - given-names: Alex + family-names: Johnson + affiliation: Example National Lab + email: example@example.com + orcid: 'https://orcid.org/0000-0000-0000-0002' +keywords: + - data science + - ecosystem models + - climate science + - ecological forecasting +``` +#### docsheader #### +text: Validate a CITATION.cff file +---- +ref: validate + +#### docstext #### +text: A `CITATION.cff` can be validated using tools such as [cff-convert](https://github.com/citation-file-format/cffconvert). Even though this is not maintained by Zenodo, we use it to validate our users' files and it is also recommended by the [Citation File Format](https://github.com/citation-file-format/citation-file-format?tab=readme-ov-file#validation-heavy_check_mark). + +Instructions on how to install and execute the tool can be found on their repository: + +- [How to install](https://github.com/citation-file-format/cffconvert?tab=readme-ov-file#installing) +- [How to use](https://github.com/citation-file-format/cffconvert?tab=readme-ov-file#validating-a-local-citationcff-file) \ No newline at end of file diff --git a/content/help/docs/github/describe-software/contents.lr b/content/help/docs/github/describe-software/contents.lr new file mode 100644 index 0000000..0e5067c --- /dev/null +++ b/content/help/docs/github/describe-software/contents.lr @@ -0,0 +1,25 @@ +_model: docspage +--- +title: Describe software +--- +menu: /help/docs/github +--- +sort_key: 3 +--- +body: +--- +docs: +#### docstext #### +text: +The metadata schema used by Zenodo was extended with fields based on the [CodeMeta](https://codemeta.github.io/) standard, providing support for software-specific metadata. + +Moreover, Zenodo supports `CITATION.cff` and `.zenodo.json` files for software releases originating from GitHub, enhancing the integration and making the content easier to cite. + +Find more information about citing content on Github here: + +- [Referencing and citing content](https://docs.github.com/en/repositories/archiving-a-github-repository/referencing-and-citing-content) + +These are the supported methods to describe software records: +#### docstoc #### +menu: /help/docs/github/describe-software + diff --git a/content/help/docs/github/describe-software/zenodo-json/contents.lr b/content/help/docs/github/describe-software/zenodo-json/contents.lr new file mode 100644 index 0000000..1da7aac --- /dev/null +++ b/content/help/docs/github/describe-software/zenodo-json/contents.lr @@ -0,0 +1,96 @@ +_model: docspage +--- +title: Zenodo JSON file +--- +menu: /help/docs/github +--- +sort_key: 3 +--- +body: +A `.zenodo.json` file can be added to your Github repository to describe the software after it is preserved in Zenodo. +--- +docs: +#### docsheader #### +text: Create a .zenodo.json file +#### docstext #### +---- +#### docsstep #### +step: 1 +---- +text: Open your repository on Github +#### docsstep #### +step: 2 +---- +text: Add a new file +#### docsstep #### +step: 3 +---- +text: Name it `.zenodo.json` +#### docsstep #### +step: 4 +---- +text: Commit the file +#### docsstep #### +step: 6 +---- +text: [Archive the release](../../archive-software/github-upload) +---- +#### docstext #### +text: Find below an example of a `.zenodo.json` file: + +``` +{ + "creators": [ + { + "affiliation": "University of Example", + "name": "Research Data Management Support" + } + ], + "contributors": [ + { + "name": "John Doe", + "affiliation": "University of Example", + "orcid": "0000-0000-0000-0000", + "type": "ProjectMember" + } + ], + "title": "Data Privacy Handbook", + "access_right": "open", + "related_identifiers": [ + { + "identifier": "https://exampleuniversity.github.io/dataprivacyhandbook", + "relation": "isAlternateIdentifier", + "resource_type": "other" + }, + { + "identifier": "https://github.com/ExampleUniversity/dataprivacyhandbook", + "relation": "isAlternateIdentifier", + "resource_type": "other" + }, + { + "identifier": "https://exampleuniversity.nl/privacyhandbook", + "relation": "isAlternateIdentifier", + "resource_type": "other" + }, + { + "identifier": "https://exampleuniversity.github.io/dataprivacyproject", + "relation": "describes", + "resource_type": "other" + } + ], + "keywords": [ + "data privacy", + "research", + "gdpr", + "academia", + "general data protection regulation" + ], + "license": "afl-1.1", + "upload_type": "publication", + "publication_type": "book", + "language": "eng", +} +``` + + + diff --git a/content/help/docs/github/enable-repository/contents.lr b/content/help/docs/github/enable-repository/contents.lr index 8ead5c3..5e3e0cd 100644 --- a/content/help/docs/github/enable-repository/contents.lr +++ b/content/help/docs/github/enable-repository/contents.lr @@ -1,9 +1,57 @@ _model: docspage --- -title: Enable repository ---- -docs: +title: Enable a repository --- menu: /help/docs/github --- -sort_key: 2 +sort_key: 1 +--- +body: + +This guide will walk you through the steps to enable a GitHub repository for integration, ensuring it is properly linked. Once connected, new releases from the repository will be automatically ingested and archived. + +As a prerequisite, make sure you have a connected Github account. Learn here how to connect your account here: + +- [Linking your GitHub/ORCID/OpenAIRE account](https://help.zenodo.org/docs/profile/linking-accounts/) + +--- +docs: + +#### docsheader #### + +text: Enable a repository +---- +#### docsstep #### +step: 1 +---- +docstext: Click the profile menu in the header and click **Github** +---- +image: profile.png +---- +#### docsstep #### +step: 2 +---- +text: Click **Sync now** in the header +---- +image: sync.png +---- +#### docsstep #### +step: 3 +---- +text: Find a repository you wish to enable, then toggle the slider to connect it to Zenodo +---- +image: repos.png +---- +#### docsstep #### +step: 4 +---- +text: The repository is now connected to Zenodo: +---- +image: success_repo.png +---- +#### docsstep #### +step: 5 +---- +text: Refresh the page to update the list of enabled repositories +---- +image: enabled_repos.png diff --git a/content/help/docs/github/enable-repository/enabled_repos.png b/content/help/docs/github/enable-repository/enabled_repos.png new file mode 100644 index 0000000..bbfe91f Binary files /dev/null and b/content/help/docs/github/enable-repository/enabled_repos.png differ diff --git a/content/help/docs/github/enable-repository/profile.png b/content/help/docs/github/enable-repository/profile.png new file mode 100644 index 0000000..16a14c7 Binary files /dev/null and b/content/help/docs/github/enable-repository/profile.png differ diff --git a/content/help/docs/github/enable-repository/repos.png b/content/help/docs/github/enable-repository/repos.png new file mode 100644 index 0000000..de99bd0 Binary files /dev/null and b/content/help/docs/github/enable-repository/repos.png differ diff --git a/content/help/docs/github/enable-repository/success_repo.png b/content/help/docs/github/enable-repository/success_repo.png new file mode 100644 index 0000000..9da6da9 Binary files /dev/null and b/content/help/docs/github/enable-repository/success_repo.png differ diff --git a/content/help/docs/github/enable-repository/sync.png b/content/help/docs/github/enable-repository/sync.png new file mode 100644 index 0000000..5261d0a Binary files /dev/null and b/content/help/docs/github/enable-repository/sync.png differ diff --git a/content/help/docs/github/link-account/contents.lr b/content/help/docs/github/link-account/contents.lr deleted file mode 100644 index a41396b..0000000 --- a/content/help/docs/github/link-account/contents.lr +++ /dev/null @@ -1,9 +0,0 @@ -_model: docspage ---- -title: Link your GitHub account ---- -docs: ---- -menu: /help/docs/github ---- -sort_key: 1