You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In order to publish a new article (after acceptance), you'll need to have the
4
-
article metadata file (YAML format) and the corresponding article (PDF
5
-
format). The metadata file should be missing the article DOI, number and
6
-
URL. The first step is thus to request this information from Zenodo. Before
3
+
This document is intended for ReScience editors. Congrats on accepting a ReScience article for publication! If you're new at editing, this document will guide you through all the necessary steps. If you are a seasoned editor, this will be a handy reference to any steps you may have forgotten. Follow the steps below to complete the metadata, submit to Zenodo, and get the final article published.
4
+
5
+
### What you will need to begin
6
+
- The article metadata file (`metadata.yaml`) from the author's repository. At this time the metadata file **will be missing** the article DOI, number and URL. This is expected and something you will fix over the coming steps.
7
+
- The near final article itself (`article.pdf`)
8
+
9
+
Have these two files ready before cloning this repository. This would also be a good time to ask reviewers to share their [ORCIDs](https://orcid.org/) for the metadata. You can do this in the review issue.
10
+
11
+
### Publishing the article
12
+
13
+
There are 5 parts to publishing the article.
14
+
15
+
| Part | What it does |
16
+
|:--|:--|
17
+
|[Set up credentials](#set-up-credentials)| Get setup to programmatically submit to Zenodo |
18
+
|[Pre-publish the paper](#pre-publish-the-paper)| Reserve the DOI |
19
+
|[Update the metadata](#update-the-metadata)| Add volume, issue, page, doi to the paper & generate new pdf |
20
+
|[Publish the paper](#publish-the-paper)| Make the final Zenodo deposit |
21
+
|[Update the website](#website-update)| Enter bib information for the website |
22
+
23
+
24
+
25
+
### 14 steps to publishing a ReScience article
26
+
27
+
1\. Clone this repository locally.
28
+
2\. Copy the authors `metadata.yaml` and `article.pdf` into this folder
29
+
30
+
### Set up Credentials
31
+
32
+
3\. To submit the paper and metadata to Zenodo, you will need to set up access tokens. Setting up your Zenodo sandbox and production tokens is a one time step. If you have done this before, skip over to step 4.
33
+
34
+
The first step is thus to request this information from Zenodo. Before
7
35
proceeding further, you'll need a Zenodo token that can be requested from the
server](https://zenodo.org/account/settings/applications/tokens/new/). When creating tokens, be sure to check all three scopes.
13
40
The sandbox token is expected to be stored in the environment variable
14
41
`ZENODO_SANDBOX_TOKEN` while the true token must be stored in `ZENODO_TOKEN`, e.g.:
15
42
```bash
16
43
export ZENODO_SANDBOX_TOKEN="access token"
44
+
export ZENODO_TOKEN="access token"
17
45
```
18
46
And to check it was set correctly:
19
47
```bash
20
48
echo$ZENODO_SANDBOX_TOKEN
49
+
echo$ZENODO_TOKEN
21
50
```
22
-
We strongly advise you to **first test the procedure** on the sandbox server
23
-
using the `--sandbox` switch.
51
+
If you copy these into your bash profile you won't have to look for them again. We advise you to **first test the procedure** on the sandbox server using the `--sandbox` switch. More on this in the next step.
52
+
24
53
54
+
### Pre-publish the paper
25
55
26
-
#### 1. Pre-Publication (article DOI, URL and number)
56
+
This step reserves the DOI for the paper, allowing you to update metadata before final publication.
27
57
28
-
Run the [process.py](process.py) script using the provided metadata
58
+
4\.Run the [process.py](process.py) script using the provided metadata
29
59
file. It requires Python 3 plus the libraries [PyYAML](https://pyyaml.org/), [Requests](https://requests.kennethreitz.org/), and [dateutil](https://dateutil.readthedocs.io/en/stable/).
30
60
31
61
First run on the sandbox server to check everything is OK:
Then use the actual server using the `--zenodo` switch instead of the
41
-
`--sandbox` switch.
70
+
5\. Did this work? Were there any problems? If there were no problems, then use the production server using the `--zenodo` switch instead of the `--sandbox` switch.
You must also assign the issue, volume, and article numbers. Have a
51
-
look on the published articles and assign the next available number in
52
-
the same issue and same volume if your article is still in the same
53
-
year. Otherwise, increment the volume number and start with
54
-
issue 1. The issue number is only changed for accommodating special issues.
55
-
Post your numbers to [this GitHub issue](https://github.com/ReScience/ReScience/issues/48)
56
-
that serves to avoid that two editors assign the same numbers to two
57
-
different articles.
79
+
6\. If no errors were returned, you have successfully reserved a DOI! Next we’ll grab an issue, volume and article numbers.
80
+
81
+
```
82
+
NOTE: This DOI will not resolve anywhere. This behavior is expected
83
+
```
58
84
85
+
### Update the metadata
59
86
60
-
#### 2. Metadata update and creation of the final PDF
87
+
In this step, you'll update `metadata.yaml`, pull request the file back to the author, generate a new PDF (which will now contain the volume, issue, page, doi information), and copy that back here.
61
88
62
-
The `metadata.yaml` has a section (at the end) for information added during
63
-
the publication process. You should complete it and verify the whole file
64
-
before moving on. The information you must add is:
89
+
7\. Look at the last number on [this GitHub issue](https://github.com/ReScience/ReScience/issues/48) and choose the next one in the series. Post a comment to claim that issue for your article. This comment
90
+
serves to avoid that two editors assign the same numbers to two
91
+
different articles.
92
+
93
+
8\. Then add these two bits of information (volume and article number) along with the Zenodo DOI and URL to `metadata.yaml`.
94
+
95
+
You should complete the missing information and verify the whole file before moving on. The information you must add are:
65
96
- DOI (from Zenodo)
66
97
- article URL (from Zenodo)
67
98
- contributors (reviewers and editors), with ORCIDs
68
99
- acceptance and publication date
69
100
- issue, volume, and article numbers.
70
101
71
-
Next, there are two situations:
72
-
73
-
- If the authors have used the [ReScience article template](http://github.com/rescience/template),
74
-
you can fork their repository, copy the edited `metadata.yaml` to it, and create
75
-
the final PDF by running `make`. Don't forget to submit a pull request to the
76
-
authors' repository with the changes you made to `metadata.yaml`.
77
-
78
-
- Otherwise, you give the authors the required information and
79
-
ask them to update their article and produce the final PDF file. You should
80
-
check that their PDF contains all the information you sent them.
102
+
9\. Pull request just the `metadata.yaml` back to the author's repo (this will mean copying this file back to the author repo fork). Once the pull-request is merged, ask them to prepare a new `article.pdf`. The PDF will now contain the volume, article number and DOI.
81
103
82
-
You need to give this information back to author(s) such that they can update
83
-
the metadata file as well as the article that display the DOI in the left
84
-
margin (make sure they actually update this information). For the article
85
-
number, you can have a look on the published articles and assign the next
86
-
available number in the same issue and same volume.
104
+
10\. Copy the newly updated `article.pdf` and `metadata.yaml` back to this repo.
87
105
106
+
107
+
### Publish the paper
88
108
89
-
#### 3. Publication (Zenodo and GitHub)
90
-
91
-
In order to publish the **final** article, you'll need to run the
109
+
11\. In order to publish the **final** article, you'll need to run the
92
110
[publish.py](publish.py) script:
93
111
94
112
```bash
@@ -113,19 +131,26 @@ A new git branch (10.5072_zenodo.xxxxx) has been created.
113
131
```
114
132
115
133
This example uses the sandbox, replace `--sandbox` by `--zenodo` for
116
-
publishing to the Zenodo production site! This will create a new
117
-
public record on Zenodo and also create a new local directory
118
-
corresponding to the entry. This means you need to push this new
119
-
branch on GitHub and make a pull request (the commit will have been
120
-
created automatically).
121
-
122
-
123
-
#### Website update
124
-
125
-
To have the new article to appear on the website, you'll need to prepend the
126
-
newly created bibtex entry (look into the local repository) to the
This will create a new folder and branch in `Rescience/articles` named after the article's DOI that contains three files:
137
+
- The article (`article.pdf`)
138
+
- metadata (`article.yaml`)
139
+
- bib file (`article.bib`)
140
+
141
+
- Now push this branch:
142
+
143
+
```
144
+
git push origin <DOI>
145
+
```
146
+
147
+
148
+
12\. Discard any changes on the master branch.
149
+
150
+
### Website update
151
+
152
+
To have the new article to appear on the website, you'll need to prepend the newly created bibtex entry.
153
+
154
+
13\. Finally, copy the contents of `article.bib` from the doi folder for this paper into [rescience.github.io/_bibliography/published.bib](https://github.com/ReScience/rescience.github.io/blob/sources/_bibliography/published.bib) and send a final pull request (You can do this from the web).
0 commit comments