Skip to content
This repository has been archived by the owner on Oct 28, 2024. It is now read-only.

Add contributor.roles property #18

Merged
merged 10 commits into from
Mar 29, 2024
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 8 additions & 4 deletions content/docs/specifications/data-package.md
Original file line number Diff line number Diff line change
Expand Up @@ -255,24 +255,28 @@ The raw sources for this data package. It `MUST` be an array of Source objects.

##### `contributors`

The people or organizations who contributed to this Data Package. It `MUST` be an array. Each entry is a Contributor and `MUST` be an `object`. A Contributor `MUST` have at least one property. A Contributor is RECOMMENDED to have `title` property and MAY contain `path`, `email`, `role`, and `organization` properties. An example of the object structure is as follows:
The people or organizations who contributed to this Data Package. It `MUST` be an array. Each entry is a Contributor and `MUST` be an `object`. A Contributor `MUST` have at least one property. A Contributor is RECOMMENDED to have `title` property and MAY contain `path`, `email`, `roles`, and `organization` properties. An example of the object structure is as follows:

```javascript
```json
"contributors": [{
"title": "Joe Bloggs",
"email": "[email protected]",
"path": "http://www.bloggs.com",
"role": "author"
"roles": ["author"]
}]
```

- `title`: name/title of the contributor (name for person, name/title of organization)
- `path`: a fully qualified http URL pointing to a relevant location online for the contributor
- `email`: An email address
- `role`: a string describing the role of the contributor. It's `RECOMMENDED` to be one of: `author`, `publisher`, `maintainer`, `wrangler`, and `contributor`. Defaults to `contributor`.
- `roles`: an array of strings describing the roles of the contributor. A role is `RECOMMENDED` to be one of: `author`, `publisher`, `maintainer`, `wrangler`, and `contributor`. The default role is `contributor`.
- Note on semantics: use of the "author" property does not imply that that person was the original creator of the data in the data package - merely that they created and/or maintain the data package. It is common for data packages to "package" up data from elsewhere. The original origin of the data can be indicated with the `sources` property - see above.
- `organization`: a string describing the organization this contributor is affiliated to.

:::note[Backward Compatibility]
If the `roles` property is not provided a data consumer MUST fall back to using `role` property which was a part of the `v1.0` of the specification. This property has the same symantics but it is a string allowing to specify only a single role
roll marked this conversation as resolved.
Show resolved Hide resolved
:::

##### `keywords`

An Array of string keywords to assist users searching for the package in catalogs.
Expand Down
8 changes: 5 additions & 3 deletions profiles/dictionary/common.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -196,9 +196,11 @@ contributor:
title: Organization
description: An organizational affiliation for this contributor.
type: string
role:
type: string
default: contributor
roles:
type: array
minItems: 1
items:
type: string
minProperties: 1
context: Use of this property does not imply that the person was the original
creator of, or a contributor to, the data in the descriptor, but refers to the
Expand Down