@openneuro/app 4.19.3 → 4.20.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +11 -22
- package/src/client.jsx +0 -1
- package/src/scripts/authentication/__tests__/profile.spec.js +1 -1
- package/src/scripts/authentication/admin-user.jsx +1 -1
- package/src/scripts/authentication/loginCheck.js +1 -1
- package/src/scripts/authentication/{profile.js → profile.ts} +12 -2
- package/src/scripts/authentication/regular-user.tsx +1 -1
- package/src/scripts/authentication/withProfile.jsx +1 -1
- package/src/scripts/common/forms/__tests__/__snapshots__/warn-button.spec.jsx.snap +1 -1
- package/src/scripts/components/__tests__/__snapshots__/data-table.spec.tsx.snap +84 -0
- package/src/scripts/components/__tests__/data-table.spec.tsx +15 -0
- package/src/scripts/components/data-table.tsx +125 -0
- package/src/scripts/datalad/subscriptions/__tests__/__snapshots__/files-subscription.spec.jsx.snap +1 -1
- package/src/scripts/dataset/__tests__/__snapshots__/snapshot-container.spec.tsx.snap +3 -3
- package/src/scripts/dataset/comments/__tests__/__snapshots__/comment.spec.jsx.snap +1 -1
- package/src/scripts/dataset/comments/__tests__/__snapshots__/comments.spec.jsx.snap +1 -1
- package/src/scripts/dataset/common/follow-toggles.tsx +2 -0
- package/src/scripts/dataset/dataset-query.jsx +2 -109
- package/src/scripts/dataset/download/__tests__/__snapshots__/download-command-line.spec.jsx.snap +1 -1
- package/src/scripts/dataset/download/__tests__/__snapshots__/download-link.spec.jsx.snap +1 -1
- package/src/scripts/dataset/download/__tests__/__snapshots__/shell-example.spec.jsx.snap +1 -1
- package/src/scripts/dataset/draft-container.tsx +2 -2
- package/src/scripts/dataset/files/__tests__/__snapshots__/file-tree.spec.jsx.snap +1 -1
- package/src/scripts/dataset/files/__tests__/__snapshots__/file.spec.jsx.snap +1 -1
- package/src/scripts/dataset/files/file.tsx +3 -2
- package/src/scripts/dataset/files/viewers/__tests__/__snapshots__/file-viewer-json.spec.jsx.snap +1 -1
- package/src/scripts/dataset/files/viewers/file-viewer-csv.jsx +1 -1
- package/src/scripts/dataset/files/viewers/file-viewer-table.tsx +18 -0
- package/src/scripts/dataset/files/viewers/file-viewer-tsv.jsx +1 -1
- package/src/scripts/dataset/fragments/__tests__/__snapshots__/cancel-button.spec.tsx.snap +1 -1
- package/src/scripts/dataset/fragments/__tests__/__snapshots__/edit-button.spec.tsx.snap +1 -1
- package/src/scripts/dataset/fragments/__tests__/__snapshots__/edit-list.spec.jsx.snap +1 -1
- package/src/scripts/dataset/fragments/__tests__/__snapshots__/save-button.spec.tsx.snap +1 -1
- package/src/scripts/dataset/fragments/__tests__/__snapshots__/select-input.spec.tsx.snap +1 -1
- package/src/scripts/dataset/fragments/comments-fragments.js +2 -1
- package/src/scripts/dataset/mutations/__tests__/__snapshots__/delete.spec.jsx.snap +1 -1
- package/src/scripts/dataset/mutations/__tests__/__snapshots__/deprecate-snapshot.spec.tsx.snap +1 -1
- package/src/scripts/dataset/mutations/__tests__/__snapshots__/deprecate-version.spec.tsx.snap +1 -1
- package/src/scripts/dataset/mutations/__tests__/__snapshots__/description.spec.jsx.snap +1 -1
- package/src/scripts/dataset/mutations/__tests__/__snapshots__/update-permissions.spec.jsx.snap +1 -1
- package/src/scripts/dataset/mutations/comment.jsx +1 -1
- package/src/scripts/dataset/mutations/delete-anonymous-reviewer.tsx +4 -1
- package/src/scripts/dataset/mutations/snapshot.tsx +10 -2
- package/src/scripts/dataset/routes/add-metadata.jsx +1 -1
- package/src/scripts/dataset/routes/delete-page.tsx +1 -1
- package/src/scripts/dataset/routes/manage-permissions.jsx +1 -2
- package/src/scripts/dataset/routes/{snapshot.jsx → snapshot.tsx} +8 -11
- package/src/scripts/dataset/routes/styles/dataset-page-border.tsx +2 -0
- package/src/scripts/dataset/routes/styles/dataset-page-tab-container.tsx +2 -0
- package/src/scripts/dataset/routes/styles/header-row.tsx +2 -0
- package/src/scripts/dataset/routes/tab-routes-draft.tsx +1 -1
- package/src/scripts/dataset/snapshot-container.tsx +2 -2
- package/src/scripts/pages/admin/user-tools.tsx +1 -1
- package/src/scripts/pages/faq/faq.tsx +8 -0
- package/src/scripts/pages/metadata/dataset-metadata.tsx +86 -0
- package/src/scripts/queries/dataset.ts +113 -0
- package/src/scripts/routes.tsx +2 -0
- package/src/scripts/search/__helpers__/search-render.tsx +1 -0
- package/src/scripts/search/initial-search-params.tsx +1 -1
- package/src/scripts/search/search-routes.tsx +1 -1
- package/src/scripts/search/use-search-results.tsx +1 -1
- package/src/scripts/styles/media.tsx +2 -0
- package/src/scripts/utils/__tests__/csv.spec.ts +41 -0
- package/src/scripts/utils/csv.ts +41 -0
- package/src/scripts/utils/schema-validator.js +1 -1
- package/src/scripts/dataset/files/viewers/file-viewer-table.jsx +0 -35
- package/src/scripts/pages/faq/__tests__/__snapshots__/faq.spec.jsx.snap +0 -302
- package/src/scripts/pages/faq/__tests__/faq.spec.jsx +0 -10
- package/src/scripts/pages/faq/faq-content.js +0 -121
- package/src/scripts/pages/faq/faq.jsx +0 -16
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Convert from array of objects to CSV
|
|
3
|
+
* Filters out __typename columns as GraphQL responses will often include this but it is unwanted in CSV files saved
|
|
4
|
+
*/
|
|
5
|
+
export function convertArrayToCSV<T>(array: T[]): string {
|
|
6
|
+
if (array.length === 0) {
|
|
7
|
+
return ''
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
const keys = Object.keys(array[0]).filter(key => key !== '__typename')
|
|
11
|
+
const headerRow = keys.join(',') + '\n'
|
|
12
|
+
const dataRows = array.map(obj =>
|
|
13
|
+
keys
|
|
14
|
+
.map(key =>
|
|
15
|
+
obj[key]
|
|
16
|
+
? `"${obj[key].toString().replace(/"/g, '""') as string}"`
|
|
17
|
+
: '',
|
|
18
|
+
)
|
|
19
|
+
.join(','),
|
|
20
|
+
)
|
|
21
|
+
|
|
22
|
+
return headerRow + dataRows.join('\n')
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Generate and download a CSV file
|
|
27
|
+
*/
|
|
28
|
+
export function makeCsv<T>(rows: T[], filename: string): void {
|
|
29
|
+
const csvContent = convertArrayToCSV(rows)
|
|
30
|
+
const blob = new Blob([csvContent], { type: 'text/csv;charset=utf-8;' })
|
|
31
|
+
const link = document.createElement('a')
|
|
32
|
+
if (link.download !== undefined) {
|
|
33
|
+
const url = URL.createObjectURL(blob)
|
|
34
|
+
link.setAttribute('href', url)
|
|
35
|
+
link.setAttribute('download', filename)
|
|
36
|
+
link.style.visibility = 'hidden'
|
|
37
|
+
document.body.appendChild(link)
|
|
38
|
+
link.click()
|
|
39
|
+
document.body.removeChild(link)
|
|
40
|
+
}
|
|
41
|
+
}
|
|
@@ -195631,7 +195631,7 @@ async function loadSchema2(version4 = 'latest') {
|
|
|
195631
195631
|
schemaUrl = `https://bids-specification.readthedocs.io/en/${version4}/schema.json`
|
|
195632
195632
|
}
|
|
195633
195633
|
try {
|
|
195634
|
-
const schemaModule = await import(schemaUrl)
|
|
195634
|
+
const schemaModule = await import(/* @vite-ignore */ schemaUrl)
|
|
195635
195635
|
return new Proxy(schemaModule.default, objectPathHandler)
|
|
195636
195636
|
} catch (error2) {
|
|
195637
195637
|
console.error(error2)
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import React from 'react'
|
|
2
|
-
import { AutoSizer, Column, Table } from 'react-virtualized'
|
|
3
|
-
import PropTypes from 'prop-types'
|
|
4
|
-
import styled from '@emotion/styled'
|
|
5
|
-
import 'react-virtualized/styles.css'
|
|
6
|
-
|
|
7
|
-
const HalfViewport = styled.div`
|
|
8
|
-
height: 50vh;
|
|
9
|
-
`
|
|
10
|
-
|
|
11
|
-
const FileViewerTable = ({ tableData }) => (
|
|
12
|
-
<HalfViewport>
|
|
13
|
-
<AutoSizer defaultWidth={1024} defaultHeight={2048}>
|
|
14
|
-
{({ width, height }) => (
|
|
15
|
-
<Table
|
|
16
|
-
width={width}
|
|
17
|
-
height={height}
|
|
18
|
-
headerHeight={20}
|
|
19
|
-
rowHeight={30}
|
|
20
|
-
rowCount={tableData.length}
|
|
21
|
-
rowGetter={({ index }) => tableData[index]}>
|
|
22
|
-
{Object.keys(tableData[0]).map((colName, index) => (
|
|
23
|
-
<Column label={colName} dataKey={colName} key={index} width={100} />
|
|
24
|
-
))}
|
|
25
|
-
</Table>
|
|
26
|
-
)}
|
|
27
|
-
</AutoSizer>
|
|
28
|
-
</HalfViewport>
|
|
29
|
-
)
|
|
30
|
-
|
|
31
|
-
FileViewerTable.propTypes = {
|
|
32
|
-
tableData: PropTypes.array,
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
export default FileViewerTable
|
|
@@ -1,302 +0,0 @@
|
|
|
1
|
-
// Vitest Snapshot v1
|
|
2
|
-
|
|
3
|
-
exports[`faq/faq/Faq > renders successfully 1`] = `
|
|
4
|
-
<DocumentFragment>
|
|
5
|
-
<div
|
|
6
|
-
class="faqs-accordion on-accordion-wrapper"
|
|
7
|
-
>
|
|
8
|
-
<div
|
|
9
|
-
class="container faqs"
|
|
10
|
-
>
|
|
11
|
-
<h1>
|
|
12
|
-
FAQ's
|
|
13
|
-
</h1>
|
|
14
|
-
<article
|
|
15
|
-
class="plain accordion faq-item"
|
|
16
|
-
>
|
|
17
|
-
<div
|
|
18
|
-
class="accordion-title open"
|
|
19
|
-
>
|
|
20
|
-
How do I get started?
|
|
21
|
-
</div>
|
|
22
|
-
<div
|
|
23
|
-
class="accordion-item "
|
|
24
|
-
>
|
|
25
|
-
<div
|
|
26
|
-
class="accordion-content"
|
|
27
|
-
>
|
|
28
|
-
<span>
|
|
29
|
-
Check out our
|
|
30
|
-
<a
|
|
31
|
-
href="https://www.youtube.com/watch?v=FK_c1x1Pilk"
|
|
32
|
-
>
|
|
33
|
-
video tutorial
|
|
34
|
-
</a>
|
|
35
|
-
.
|
|
36
|
-
</span>
|
|
37
|
-
</div>
|
|
38
|
-
</div>
|
|
39
|
-
</article>
|
|
40
|
-
<article
|
|
41
|
-
class="plain accordion faq-item"
|
|
42
|
-
>
|
|
43
|
-
<div
|
|
44
|
-
class="accordion-title open"
|
|
45
|
-
>
|
|
46
|
-
Is this service free to use?
|
|
47
|
-
</div>
|
|
48
|
-
<div
|
|
49
|
-
class="accordion-item "
|
|
50
|
-
>
|
|
51
|
-
<div
|
|
52
|
-
class="accordion-content"
|
|
53
|
-
>
|
|
54
|
-
<span>
|
|
55
|
-
Yes!
|
|
56
|
-
</span>
|
|
57
|
-
</div>
|
|
58
|
-
</div>
|
|
59
|
-
</article>
|
|
60
|
-
<article
|
|
61
|
-
class="plain accordion faq-item"
|
|
62
|
-
>
|
|
63
|
-
<div
|
|
64
|
-
class="accordion-title open"
|
|
65
|
-
>
|
|
66
|
-
Are there any restrictions on the uploaded data?
|
|
67
|
-
</div>
|
|
68
|
-
<div
|
|
69
|
-
class="accordion-item "
|
|
70
|
-
>
|
|
71
|
-
<div
|
|
72
|
-
class="accordion-content"
|
|
73
|
-
>
|
|
74
|
-
<div>
|
|
75
|
-
<p>
|
|
76
|
-
Yes. By uploading this dataset to OpenNeuro you have to agree to the following conditions:
|
|
77
|
-
</p>
|
|
78
|
-
<ul>
|
|
79
|
-
<li>
|
|
80
|
-
You are the owner of this dataset and have any necessary ethics permissions to share the data publicly.
|
|
81
|
-
</li>
|
|
82
|
-
<li>
|
|
83
|
-
This dataset does not include any identifiable personal health information as defined by the Health Insurance Portability and Accountability Act of 1996 (including names, zip codes, dates of birth, acquisition dates, facial features on structural scans, etc.).
|
|
84
|
-
</li>
|
|
85
|
-
<li>
|
|
86
|
-
You agree that this dataset will become publicly available under a Creative Commons CC0 license after a grace period of 36 months counted from the first successful version of the dataset.
|
|
87
|
-
</li>
|
|
88
|
-
<li>
|
|
89
|
-
This dataset is not subject to GDPR protections.
|
|
90
|
-
</li>
|
|
91
|
-
</ul>
|
|
92
|
-
</div>
|
|
93
|
-
</div>
|
|
94
|
-
</div>
|
|
95
|
-
</article>
|
|
96
|
-
<article
|
|
97
|
-
class="plain accordion faq-item"
|
|
98
|
-
>
|
|
99
|
-
<div
|
|
100
|
-
class="accordion-title open"
|
|
101
|
-
>
|
|
102
|
-
What if I will not be able to publish my paper in 36 months?
|
|
103
|
-
</div>
|
|
104
|
-
<div
|
|
105
|
-
class="accordion-item "
|
|
106
|
-
>
|
|
107
|
-
<div
|
|
108
|
-
class="accordion-content"
|
|
109
|
-
>
|
|
110
|
-
<span>
|
|
111
|
-
You can apply for up to two 6-month long extensions of the grace period. To apply please contact support. We encourage you to publish a preprint of your work to reduce the uncertainty of the publishing pipeline.
|
|
112
|
-
</span>
|
|
113
|
-
</div>
|
|
114
|
-
</div>
|
|
115
|
-
</article>
|
|
116
|
-
<article
|
|
117
|
-
class="plain accordion faq-item"
|
|
118
|
-
>
|
|
119
|
-
<div
|
|
120
|
-
class="accordion-title open"
|
|
121
|
-
>
|
|
122
|
-
Are there consent form templates we can use in our study?
|
|
123
|
-
</div>
|
|
124
|
-
<div
|
|
125
|
-
class="accordion-item "
|
|
126
|
-
>
|
|
127
|
-
<div
|
|
128
|
-
class="accordion-content"
|
|
129
|
-
>
|
|
130
|
-
<div>
|
|
131
|
-
<p>
|
|
132
|
-
Yes! We recommend using the Open Brain Consent -
|
|
133
|
-
<a
|
|
134
|
-
href="https://open-brain-consent.readthedocs.io/en/stable/ultimate.html"
|
|
135
|
-
>
|
|
136
|
-
Ultimate consent form
|
|
137
|
-
</a>
|
|
138
|
-
.
|
|
139
|
-
</p>
|
|
140
|
-
<ul>
|
|
141
|
-
<li>
|
|
142
|
-
For GDPR protected studies, they have a
|
|
143
|
-
<a
|
|
144
|
-
href="https://open-brain-consent.readthedocs.io/en/stable/gdpr/ultimate_gdpr.html"
|
|
145
|
-
>
|
|
146
|
-
Ultimate consent form GDPR edition
|
|
147
|
-
</a>
|
|
148
|
-
.
|
|
149
|
-
</li>
|
|
150
|
-
</ul>
|
|
151
|
-
</div>
|
|
152
|
-
</div>
|
|
153
|
-
</div>
|
|
154
|
-
</article>
|
|
155
|
-
<article
|
|
156
|
-
class="plain accordion faq-item"
|
|
157
|
-
>
|
|
158
|
-
<div
|
|
159
|
-
class="accordion-title open"
|
|
160
|
-
>
|
|
161
|
-
Do I need to format my data in some special way before uploading it to OpenNeuro?
|
|
162
|
-
</div>
|
|
163
|
-
<div
|
|
164
|
-
class="accordion-item "
|
|
165
|
-
>
|
|
166
|
-
<div
|
|
167
|
-
class="accordion-content"
|
|
168
|
-
>
|
|
169
|
-
<span>
|
|
170
|
-
Yes! OpenNeuro only accepts data in the Brain Imaging Data Structure (BIDS) format. You can read about it more at
|
|
171
|
-
<a
|
|
172
|
-
href="http://bids.neuroimaging.io/"
|
|
173
|
-
>
|
|
174
|
-
bids.neuroimaging.io
|
|
175
|
-
</a>
|
|
176
|
-
. If you have any questions about organizing your data please post them at
|
|
177
|
-
<a
|
|
178
|
-
href="https://neurostars.org/tags/bids"
|
|
179
|
-
>
|
|
180
|
-
neurostars.org
|
|
181
|
-
</a>
|
|
182
|
-
.
|
|
183
|
-
</span>
|
|
184
|
-
</div>
|
|
185
|
-
</div>
|
|
186
|
-
</article>
|
|
187
|
-
<article
|
|
188
|
-
class="plain accordion faq-item"
|
|
189
|
-
>
|
|
190
|
-
<div
|
|
191
|
-
class="accordion-title open"
|
|
192
|
-
>
|
|
193
|
-
Do I need to remove facial features from structural images before uploading the data?
|
|
194
|
-
</div>
|
|
195
|
-
<div
|
|
196
|
-
class="accordion-item "
|
|
197
|
-
>
|
|
198
|
-
<div
|
|
199
|
-
class="accordion-content"
|
|
200
|
-
>
|
|
201
|
-
<div>
|
|
202
|
-
<p>
|
|
203
|
-
OpenNeuro does not accept datasets that have not been defaced for privacy considerations. Datasets found to not have been defaced will be deleted and the dataset owner is invited to reupload their dataset with the defaced images. The dataset owner will be notified by the OpenNeuro team if an infringement has been detected. The only exception is explicit approval from the study participant(s).
|
|
204
|
-
</p>
|
|
205
|
-
<p>
|
|
206
|
-
We recommend using
|
|
207
|
-
<a
|
|
208
|
-
href="https://pypi.python.org/pypi/pydeface"
|
|
209
|
-
>
|
|
210
|
-
pydeface
|
|
211
|
-
</a>
|
|
212
|
-
to deface your images. In the case that the dataset(s) is cited in publications, please notify the OpenNeuro team and we will direct the DOI and dataset links from the previous dataset to the new dataset. We suggest adding a note to the README of the reuploaded dataset to specify this change.
|
|
213
|
-
</p>
|
|
214
|
-
<p>
|
|
215
|
-
For any questions or concerns please submit a support request or email support@openneuro.freshdesk.com
|
|
216
|
-
</p>
|
|
217
|
-
</div>
|
|
218
|
-
</div>
|
|
219
|
-
</div>
|
|
220
|
-
</article>
|
|
221
|
-
<article
|
|
222
|
-
class="plain accordion faq-item"
|
|
223
|
-
>
|
|
224
|
-
<div
|
|
225
|
-
class="accordion-title open"
|
|
226
|
-
>
|
|
227
|
-
How can I upload data onto OpenNeuro?
|
|
228
|
-
</div>
|
|
229
|
-
<div
|
|
230
|
-
class="accordion-item "
|
|
231
|
-
>
|
|
232
|
-
<div
|
|
233
|
-
class="accordion-content"
|
|
234
|
-
>
|
|
235
|
-
<span>
|
|
236
|
-
We offer two options for uploading data onto OpenNeuro. The first is to upload via the web interface. The second is to upload via our
|
|
237
|
-
<a
|
|
238
|
-
href="https://docs.openneuro.org/openneuro-packages-openneuro-cli-readme"
|
|
239
|
-
>
|
|
240
|
-
command-line utility tool
|
|
241
|
-
</a>
|
|
242
|
-
</span>
|
|
243
|
-
</div>
|
|
244
|
-
</div>
|
|
245
|
-
</article>
|
|
246
|
-
<article
|
|
247
|
-
class="plain accordion faq-item"
|
|
248
|
-
>
|
|
249
|
-
<div
|
|
250
|
-
class="accordion-title open"
|
|
251
|
-
>
|
|
252
|
-
Why can I not use CC-BY (or other CC license)?
|
|
253
|
-
</div>
|
|
254
|
-
<div
|
|
255
|
-
class="accordion-item "
|
|
256
|
-
>
|
|
257
|
-
<div
|
|
258
|
-
class="accordion-content"
|
|
259
|
-
>
|
|
260
|
-
<div>
|
|
261
|
-
<p>
|
|
262
|
-
When OpenNeuro first began accepting data, we hosted datasets that were dedicated to the public domain (CC0 or PDDL) or released under the CC-BY license. The idea of accepting CC-BY licenses was to reflect the academic norm of citing sources, but it fails to achieve that goal. In
|
|
263
|
-
<a
|
|
264
|
-
href="https://osc.universityofcalifornia.edu/2016/09/cc-by-and-data-not-always-a-good-fit/"
|
|
265
|
-
>
|
|
266
|
-
CC BY and data: Not always a good fit
|
|
267
|
-
</a>
|
|
268
|
-
, it is argued:
|
|
269
|
-
</p>
|
|
270
|
-
<blockquote>
|
|
271
|
-
<p>
|
|
272
|
-
|
|
273
|
-
<strong>
|
|
274
|
-
CC licenses are not sufficient for ensuring proper attribution in many cases because their restrictions — including attribution — do not apply to facts.
|
|
275
|
-
</strong>
|
|
276
|
-
|
|
277
|
-
...
|
|
278
|
-
</p>
|
|
279
|
-
<p>
|
|
280
|
-
<strong>
|
|
281
|
-
CC licenses' attribution requirements aren't necessary because scholars have very good reasons to provide attribution that has nothing to do with copyright
|
|
282
|
-
</strong>
|
|
283
|
-
[...] Data that comes from nowhere has little credibility. If someone wants to use data as persuasive evidence, they need to refer readers and reviewers back to its source: who it came from and how it was produced.
|
|
284
|
-
</p>
|
|
285
|
-
</blockquote>
|
|
286
|
-
<p>
|
|
287
|
-
CC-BY places an ambiguous legal hurdle between researchers and data they are considering using, even if only intended to enforce standard academic practice. To reduce uncertainty for data consumers, all newly published datasets are released under CC0, as are new versions of previously released datasets. We do nonetheless want to encourage proper attribution of datasets hosted on OpenNeuro. Each version of a dataset is assigned a unique DOI, enabling researchers to cite the version of a dataset they analyzed. Additionally, all OpenNeuro datasets may include a
|
|
288
|
-
<a
|
|
289
|
-
href="https://bids-specification.readthedocs.io/en/stable/03-modality-agnostic-files.html#dataset_descriptionjson"
|
|
290
|
-
>
|
|
291
|
-
"HowToAcknowledge" field
|
|
292
|
-
</a>
|
|
293
|
-
, in which dataset providers may provide specific instructions for users for what they consider an appropriate citation.
|
|
294
|
-
</p>
|
|
295
|
-
</div>
|
|
296
|
-
</div>
|
|
297
|
-
</div>
|
|
298
|
-
</article>
|
|
299
|
-
</div>
|
|
300
|
-
</div>
|
|
301
|
-
</DocumentFragment>
|
|
302
|
-
`;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import React from 'react'
|
|
2
|
-
import { render } from '@testing-library/react'
|
|
3
|
-
import Faq from '../faq'
|
|
4
|
-
|
|
5
|
-
describe('faq/faq/Faq', () => {
|
|
6
|
-
it('renders successfully', () => {
|
|
7
|
-
const { asFragment } = render(<Faq />)
|
|
8
|
-
expect(asFragment()).toMatchSnapshot()
|
|
9
|
-
})
|
|
10
|
-
})
|
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
export const faq = [
|
|
2
|
-
{
|
|
3
|
-
faq: 'How do I get started?',
|
|
4
|
-
answer:
|
|
5
|
-
'Check out our ' +
|
|
6
|
-
'[video tutorial](https://www.youtube.com/watch?v=FK_c1x1Pilk).',
|
|
7
|
-
},
|
|
8
|
-
{
|
|
9
|
-
faq: 'Is this service free to use?',
|
|
10
|
-
answer: 'Yes!',
|
|
11
|
-
},
|
|
12
|
-
{
|
|
13
|
-
faq: 'Are there any restrictions on the uploaded data?',
|
|
14
|
-
answer:
|
|
15
|
-
'Yes. By uploading this dataset to OpenNeuro you have to agree to the following conditions: \n\n' +
|
|
16
|
-
'* ' +
|
|
17
|
-
'You are the owner of this dataset and have any necessary ethics ' +
|
|
18
|
-
'permissions to share the data publicly.\n' +
|
|
19
|
-
'* ' +
|
|
20
|
-
'This dataset does not include any identifiable personal health ' +
|
|
21
|
-
'information as defined by the Health Insurance Portability and ' +
|
|
22
|
-
'Accountability Act of 1996 (including names, zip codes, dates of ' +
|
|
23
|
-
'birth, acquisition dates, facial features on structural scans, ' +
|
|
24
|
-
'etc.).\n' +
|
|
25
|
-
'* ' +
|
|
26
|
-
'You agree that this dataset will become publicly available ' +
|
|
27
|
-
'under a Creative Commons CC0 license after a grace period ' +
|
|
28
|
-
'of 36 months counted from the first successful version of ' +
|
|
29
|
-
'the dataset.\n' +
|
|
30
|
-
'* ' +
|
|
31
|
-
'This dataset is not subject to GDPR protections.',
|
|
32
|
-
},
|
|
33
|
-
{
|
|
34
|
-
faq: 'What if I will not be able to publish my paper in 36 months?',
|
|
35
|
-
answer:
|
|
36
|
-
'You can apply for up to two 6-month long extensions of the grace ' +
|
|
37
|
-
'period. To apply please contact support. We encourage you to publish ' +
|
|
38
|
-
'a preprint of your work to reduce the uncertainty of the publishing ' +
|
|
39
|
-
'pipeline.',
|
|
40
|
-
},
|
|
41
|
-
{
|
|
42
|
-
faq: 'Are there consent form templates we can use in our study?',
|
|
43
|
-
answer:
|
|
44
|
-
'Yes! We recommend using the Open Brain Consent - ' +
|
|
45
|
-
'[Ultimate consent form](https://open-brain-consent.readthedocs.io/en/stable/ultimate.html).\n\n' +
|
|
46
|
-
'* ' +
|
|
47
|
-
'For GDPR protected studies, they have a ' +
|
|
48
|
-
'[Ultimate consent form GDPR edition](https://open-brain-consent.readthedocs.io/en/stable/gdpr/ultimate_gdpr.html).',
|
|
49
|
-
},
|
|
50
|
-
{
|
|
51
|
-
faq: 'Do I need to format my data in some special way before uploading it to OpenNeuro?',
|
|
52
|
-
answer:
|
|
53
|
-
'Yes! OpenNeuro only accepts data in the Brain Imaging Data Structure ' +
|
|
54
|
-
'(BIDS) format. You can read about it more at ' +
|
|
55
|
-
'[bids.neuroimaging.io](http://bids.neuroimaging.io/). ' +
|
|
56
|
-
'If you have any questions about organizing your data please ' +
|
|
57
|
-
'post them at [neurostars.org](https://neurostars.org/tags/bids).',
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
faq: 'Do I need to remove facial features from structural images before uploading the data?',
|
|
61
|
-
answer:
|
|
62
|
-
'OpenNeuro does not accept datasets that have not been defaced for ' +
|
|
63
|
-
'privacy considerations. Datasets found to not have been defaced will ' +
|
|
64
|
-
'be deleted and the dataset owner is invited to reupload their dataset with the ' +
|
|
65
|
-
'defaced images. The dataset owner will be notified by the OpenNeuro ' +
|
|
66
|
-
'team if an infringement has been detected. ' +
|
|
67
|
-
'The only exception is explicit ' +
|
|
68
|
-
'approval from the study participant(s).\n\n' +
|
|
69
|
-
'We recommend using [pydeface](https://pypi.python.org/pypi/pydeface) to deface your images. ' +
|
|
70
|
-
'In the case that the dataset(s) is cited in publications, please notify the ' +
|
|
71
|
-
'OpenNeuro team and we will direct the DOI and dataset links from the ' +
|
|
72
|
-
'previous dataset to the new dataset. We suggest adding a note to the ' +
|
|
73
|
-
'README of the reuploaded dataset to specify this change.\n\n' +
|
|
74
|
-
'For any questions or concerns please submit a support request or email support@openneuro.freshdesk.com',
|
|
75
|
-
},
|
|
76
|
-
{
|
|
77
|
-
faq: 'How can I upload data onto OpenNeuro?',
|
|
78
|
-
answer:
|
|
79
|
-
'We offer two options for uploading data onto OpenNeuro. ' +
|
|
80
|
-
'The first is to upload via the web interface. ' +
|
|
81
|
-
'The second is to upload via our [command-line utility tool](https://docs.openneuro.org/openneuro-packages-openneuro-cli-readme)',
|
|
82
|
-
},
|
|
83
|
-
{
|
|
84
|
-
faq: 'Why can I not use CC-BY (or other CC license)?',
|
|
85
|
-
answer:
|
|
86
|
-
'When OpenNeuro first began accepting data, ' +
|
|
87
|
-
'we hosted datasets that were dedicated to the public domain (CC0 or PDDL) ' +
|
|
88
|
-
'or released under the CC-BY license. ' +
|
|
89
|
-
'The idea of accepting CC-BY licenses was to reflect ' +
|
|
90
|
-
'the academic norm of citing sources, ' +
|
|
91
|
-
'but it fails to achieve that goal. ' +
|
|
92
|
-
'In [CC BY and data: Not always a good fit](https://osc.universityofcalifornia.edu/2016/09/cc-by-and-data-not-always-a-good-fit/), ' +
|
|
93
|
-
'it is argued:\n\n' +
|
|
94
|
-
'> **CC licenses are not sufficient for ensuring proper attribution ' +
|
|
95
|
-
'in many cases because their restrictions ' +
|
|
96
|
-
'— including attribution — do not apply to facts.**\n' +
|
|
97
|
-
'> ...\n\n' +
|
|
98
|
-
"> **CC licenses' attribution requirements aren't necessary " +
|
|
99
|
-
'because scholars have very good reasons to provide attribution ' +
|
|
100
|
-
'that has nothing to do with copyright** [...] ' +
|
|
101
|
-
'Data that comes from nowhere has little credibility. ' +
|
|
102
|
-
'If someone wants to use data as persuasive evidence, ' +
|
|
103
|
-
'they need to refer readers and reviewers back to its source: ' +
|
|
104
|
-
'who it came from and how it was produced.\n\n' +
|
|
105
|
-
'CC-BY places an ambiguous legal hurdle between researchers ' +
|
|
106
|
-
'and data they are considering using, ' +
|
|
107
|
-
'even if only intended to enforce standard academic practice. ' +
|
|
108
|
-
'To reduce uncertainty for data consumers, ' +
|
|
109
|
-
'all newly published datasets are released under CC0, ' +
|
|
110
|
-
'as are new versions of previously released datasets. ' +
|
|
111
|
-
' ' +
|
|
112
|
-
'We do nonetheless want to encourage proper attribution ' +
|
|
113
|
-
'of datasets hosted on OpenNeuro. ' +
|
|
114
|
-
'Each version of a dataset is assigned a unique DOI, ' +
|
|
115
|
-
'enabling researchers to cite the version of a dataset they analyzed. ' +
|
|
116
|
-
'Additionally, all OpenNeuro datasets may include a ' +
|
|
117
|
-
'["HowToAcknowledge" field](https://bids-specification.readthedocs.io/en/stable/03-modality-agnostic-files.html#dataset_descriptionjson), ' +
|
|
118
|
-
'in which dataset providers may provide specific instructions for users ' +
|
|
119
|
-
'for what they consider an appropriate citation.',
|
|
120
|
-
},
|
|
121
|
-
]
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import React from 'react'
|
|
2
|
-
import { faq } from './faq-content'
|
|
3
|
-
import Helmet from 'react-helmet'
|
|
4
|
-
import { FAQS } from '@openneuro/components/faqs'
|
|
5
|
-
import { pageTitle } from '../../resources/strings.js'
|
|
6
|
-
|
|
7
|
-
const Faq = () => (
|
|
8
|
-
<>
|
|
9
|
-
<Helmet>
|
|
10
|
-
<title>Frequently Asked Questions - {pageTitle}</title>
|
|
11
|
-
</Helmet>
|
|
12
|
-
<FAQS content={faq} />
|
|
13
|
-
</>
|
|
14
|
-
)
|
|
15
|
-
|
|
16
|
-
export default Faq
|