Skip to content

Commit 0878a40

Browse files
Merge pull request #135 from FAIRDataTeam/release/1.9.0
Release 1.9.0
2 parents 795a061 + b8c960f commit 0878a40

File tree

76 files changed

+2784
-360
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

76 files changed

+2784
-360
lines changed
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
---
2+
name: Bug report
3+
about: Create a report to help us improve
4+
title: ''
5+
labels: bug
6+
assignees: ''
7+
8+
---
9+
10+
**Describe the bug**
11+
A clear and concise description of what the bug is (include screenshots if suitable).
12+
13+
**To Reproduce**
14+
Steps to reproduce the behavior:
15+
1. Login as ...
16+
2. Create ...
17+
3. Do ...
18+
4. See error
19+
20+
**Expected behavior**
21+
A clear and concise description of what you expected to happen.
22+
23+
**Context**
24+
Please fill the following and eventually add additional information (e.g. about used storage in case that issue is storage-related):
25+
- FDP version:
26+
- Docker Engine version:
27+
- Operating System:
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
---
2+
name: Feature request
3+
about: Suggest an idea for this project
4+
title: ''
5+
labels: enhancement
6+
assignees: ''
7+
8+
---
9+
10+
**Is your feature request related to a problem? Please describe.**
11+
A clear and concise description of what the problem is. Ex. I'm always frustrated when...
12+
13+
**Describe the solution you'd like**
14+
A clear and concise description of what you want to happen.
15+
16+
**Describe alternatives you've considered**
17+
A clear and concise description of any alternative solutions or features you've considered.
18+
19+
**Additional context**
20+
Add any other context or screenshots about the feature request here.

.github/ISSUE_TEMPLATE/question.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
---
2+
name: Question
3+
about: Ask anything that is unclear
4+
title: 'Q:'
5+
labels: question
6+
assignees: ''
7+
8+
---
9+
10+
**The Question**
11+
The question you want to ask us.
12+
13+
**Extension part**
14+
What part(s) of the extension is the question about, e.g., metadata forms, storing data, or overall.
15+
16+
**Additional context**
17+
Add any other context or screenshots related to the question.

CHANGELOG.md

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,23 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

88
## [Unreleased]
99

10+
## [1.9.0]
11+
12+
### Added
13+
14+
- Publishing and sharing SHACL shapes between FDPs
15+
- Pagination for child resources
16+
17+
### Changed
18+
19+
- Migrated API Docs to SpringDoc OpenAPI
20+
- Generating OpenAPI based on resource definitions
21+
- Explicit content types for responses in OpenAPI
22+
- Allow to configure multiple ping endpoints
23+
- Upgrade to Spring Boot 2.4.5
24+
- Migrated from Mongobee to Mongock
25+
- Several minor dependencies updates
26+
1027
## [1.8.0]
1128

1229
### Added
@@ -173,7 +190,6 @@ The first release of reference FAIR Data Point implementation.
173190
[1.4.0]: /../../tree/v1.4.0
174191
[1.5.0]: /../../tree/v1.5.0
175192
[1.6.0]: /../../tree/v1.6.0
176-
177193
[1.7.0]: /../../tree/v1.7.0
178-
179194
[1.8.0]: /../../tree/v1.8.0
195+
[1.9.0]: /../../tree/v1.9.0

CODE_OF_CONDUCT.md

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
# Code of Conduct
2+
3+
## Our Pledge
4+
5+
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to make
6+
participation in our project and our community a harassment-free experience for everyone, regardless of age, body size,
7+
disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race,
8+
religion, or sexual identity and orientation.
9+
10+
## Our Standards
11+
12+
Examples of behavior that contributes to creating a positive environment include:
13+
14+
* Using welcoming and inclusive language
15+
* Being respectful of differing viewpoints and experiences
16+
* Gracefully accepting constructive criticism
17+
* Focusing on what is best for the community
18+
* Showing empathy towards other community members
19+
20+
Examples of unacceptable behavior by participants include:
21+
22+
* The use of sexualized language or imagery and unwelcome sexual attention or advances
23+
* Trolling, insulting/derogatory comments, and personal or political attacks
24+
* Public or private harassment
25+
* Publishing others' private information, such as a physical or electronic address, without explicit permission
26+
* Other conduct which could reasonably be considered inappropriate in a professional setting
27+
28+
## Our Responsibilities
29+
30+
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take
31+
appropriate and fair corrective action in response to any instances of unacceptable behavior.
32+
33+
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits,
34+
issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any
35+
contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
36+
37+
## Scope
38+
39+
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the
40+
project or its community. Examples of representing a project or community include using an official project e-mail
41+
address, posting via an official social media account, or acting as an appointed representative at an online or offline
42+
event. Representation of a project may be further defined and clarified by project maintainers.
43+
44+
## Enforcement
45+
46+
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team. All
47+
complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to
48+
the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident.
49+
Further details of specific enforcement policies may be posted separately.
50+
51+
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent
52+
repercussions as determined by other members of the project's leadership.
53+
54+
## Attribution
55+
56+
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available
57+
at [http://contributor-covenant.org/version/1/4][version]
58+
59+
[homepage]: http://contributor-covenant.org
60+
61+
[version]: http://contributor-covenant.org/version/1/4/

CONTRIBUTING.md

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
# Contributing
2+
3+
When contributing to this repository, please first discuss the change you wish to make via issue, email, or any other
4+
method with the owners of this repository before making a change.
5+
6+
Please note we have a code of conduct, please follow it in all your interactions with the project.
7+
8+
## Pull Request Process
9+
10+
1. Ensure any unnecessary install or build dependencies and other files are removed before the end of the layer when
11+
doing a build.
12+
2. Explain the changes and update the README.md file and other documentation if necessary.
13+
3. Be ready to communicate about the Pull Request and make changes if required by reviewers.
14+
4. The Pull Request may be merged once it passes the review and automatic checks.
15+
16+
## Gitflow Workflow
17+
18+
We use the standard [Gitflow Workflow](https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow):
19+
20+
* __master__ branch is used only for releases (and eventually hotfixes), this branch is also protected on GitHub (pull
21+
requests with review and all checks must pass)
22+
* __develop__ branch is used for development and as a base for following development branches of features, support
23+
stuff, and as a base for releases
24+
* __feature/*__ (base develop, rebase-merged back to develop when done)
25+
* __chore/*__ (like the feature but semantically different, not the feature but some chore, e.g., cleanup or update of
26+
Dockerfile)
27+
* __fix/*__ (like the feature but semantically different, not something new but fix of a non-critical bug)
28+
* __release/*__ (base develop, merged to master and develop when ready for release+tag)
29+
* __hotfix/*__ (base master, merged to master and develop)
30+
31+
Please note, that for tasks from [our Jira](https://dtl-fair.atlassian.net/projects/FDP/issues), we use such
32+
as `[FDP-XX]` identifying the project and task number.
33+
34+
## Release Management
35+
36+
For the release management we use (aside from
37+
the [Gitflow Workflow](https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow)):
38+
39+
* [Semantic versioning](https://semver.org)
40+
* Release Candidates - X.Y.Z-rc.N should be created if don’t expect any problems (in that case use alpha or beta), and
41+
make a walkthrough to verify its functionality according to the manuals finally - it also verifies that the
42+
documentation is up to date with the new version.
43+
* [CHANGELOG.md](https://keepachangelog.com/en/1.0.0/ )
44+
* GitHub releases and tags - make the release using GitHub (or hub extension), CI will automatically upload ZIP and TGZ
45+
distribution files there - better verify.
46+
* Docker Hub image - in case of release, Docker image with the same tag will be created automatically.
47+
* The matching version of [FDP](https://github.com/FAIRDataTeam/FAIRDataPoint)
48+
, [FDP-Client](https://github.com/FAIRDataTeam/FAIRDataPoint-client),
49+
and [OpenRefine extension](https://github.com/FAIRDataTeam/OpenRefine-metadata-extension) must be always compatible.
50+
51+
Also, never forget to update the
52+
joint [FAIR Data Point documentation](https://github.com/FAIRDataTeam/FAIRDataPoint-Docs)!

README.md

Lines changed: 51 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,78 +1,106 @@
11
# FAIR Data Point
22

3-
[![Build Status](https://travis-ci.org/FAIRDataTeam/FAIRDataPoint.svg?branch=master)](https://travis-ci.org/FAIRDataTeam/FAIRDataPoint.svg?branch=master)
3+
[![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/FAIRDataTeam/FAIRDataPoint?sort=semver)](https://github.com/FAIRDataTeam/FAIRDataPoint/releases)
4+
[![GitHub Workflow Status](https://img.shields.io/github/workflow/status/FAIRDataTeam/FAIRDataPoint/FAIRDataPoint%20CI)](https://github.com/FAIRDataTeam/FAIRDataPoint/actions)
5+
[![Documentation Status](https://readthedocs.org/projects/fairdatapoint/badge/?version=latest)](https://fairdatapoint.readthedocs.io/en/latest/?badge=latest)
6+
[![License](https://img.shields.io/github/license/FAIRDataTeam/FAIRDataPoint)](https://github.com/FAIRDataTeam/FAIRDataPoint/blob/develop/LICENSE)
7+
[![Docker Pulls](https://img.shields.io/docker/pulls/fairdata/fairdatapoint)](https://hub.docker.com/r/fairdata/fairdatapoint)
48
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/61f029299b814ca8be2b8edbaab6ce50)](https://www.codacy.com/app/rajaram5/FAIRDataPoint?utm_source=github.com&utm_medium=referral&utm_content=DTL-FAIRData/FAIRDataPoint&utm_campaign=Badge_Grade)
59
[![Coverage Status](https://coveralls.io/repos/github/DTL-FAIRData/FAIRDataPoint/badge.svg?branch=master)](https://coveralls.io/github/DTL-FAIRData/FAIRDataPoint?branch=master)
10+
[![Libraries.io dependency status for GitHub repo](https://img.shields.io/librariesio/github/FAIRDataTeam/FAIRDataPoint)](https://libraries.io/github/FAIRDataTeam/FAIRDataPoint)
611

7-
`FAIR Data Point` (FDP) is a REST API for creating, storing, and serving `FAIR metadata`. This FDP implementation also presents a Web-based graphical user interface (GUI). The metadata contents are generated `semi-automatically` according to the [FAIR Data Point software specification](https://github.com/FAIRDataTeam/FAIRDataPoint-Spec) document.
12+
[**FAIR Data Point** (FDP)](https://www.fairdatapoint.org) is a REST API for creating, storing, and serving **FAIR
13+
metadata**. This FDP implementation also presents a Web-based graphical user interface (GUI). The metadata contents are
14+
generated **semi-automatically** according to
15+
the [FAIR Data Point software specification](https://github.com/FAIRDataTeam/FAIRDataPoint-Spec) document.
816

9-
More information about FDP and how to deploy can be found at [FDP Deployment Documentation](https://fairdatapoint.readthedocs.io/).
17+
## Usage
18+
19+
More information about FDP, how to deploy it and use it can be found in
20+
the [FDP Deployment Documentation](https://fairdatapoint.readthedocs.io/).
21+
22+
## Related GitHub Projects
1023

11-
## Related projects
1224
- [FAIR Data Point Client](https://github.com/FAIRDataTeam/FAIRDataPoint-client)
1325
- [FAIR Data Point E2E Tests](https://github.com/FAIRDataTeam/FAIRDataPoint-E2E-Tests)
14-
- [FAIR Data Point Docs](https://github.com/FAIRDataTeam/FAIRDataPoint-Docs)
26+
- [FAIR Data Point Documentation](https://github.com/FAIRDataTeam/FAIRDataPoint-Docs)
1527
- [OpenRefine Metadata Extension](https://github.com/FAIRDataTeam/OpenRefine-metadata-extension)
1628

17-
## How to contribute
29+
### API Documentation
30+
31+
FAIR Data Point API comes with an embedded [OpenAPI documentation using Swagger](https://swagger.io/specification/). The
32+
details of API calls can be found there. It also allows trying out API calls directly. To access the FDP swagger
33+
document please visit the following url via web
34+
browser [localhost:8080/swagger-ui.html](http://localhost:8080/swagger-ui.html) (for local deployment)
35+
or `https://your.domain.tld/swagger-ui.html` for your deployment (
36+
e.g. [app.fairdatapoint.org/swagger-ui.html](https://app.fairdatapoint.org/swagger-ui.html)).
1837

19-
### Install requirements
38+
## Development
2039

21-
**Stack:**
40+
### Technology Stack
2241

23-
- **Java** (minimal: JDK 15)
24-
- **Maven** (recommended: 3.2.5 or higher)
25-
- **Docker** (recommended: 17.09.0-ce or higher) - *for build of production image*
42+
- **Java** (JDK 15)
43+
- **MongoDB** (4.2)
44+
- **Maven** (3.2.5 or higher)
45+
- **Docker** (17.09.0-ce or higher) - *for building Docker image only*
2646

2747
### Build & Run
2848

29-
To run the application, a MongoDB instance is required to be running. To configure the mongodb address, instruct spring-boot to use the `development` profile. Run these commands from the root of the project.
49+
To run the application, a MongoDB instance is required to be running. To configure the MongoDB with standard
50+
connection (`mongodb://localhost:27017/fdp`), simply instruct Spring Boot to use the `development` profile. Then run:
3051

3152
```bash
3253
$ mvn spring-boot:run -Dspring-boot.run.profiles=development
3354
```
3455

35-
Alternatively, create an `application.yml` file in the project root and [configure the mongodb address](https://fairdatapoint.readthedocs.io/en/latest/deployment/advanced-configuration.html#mongo-db), and then run these commands from the root of the project.
56+
Alternatively, create an `application.yml` file in the project root
57+
and [configure the mongodb address](https://fairdatapoint.readthedocs.io/en/latest/deployment/advanced-configuration.html#mongo-db)
58+
, and then run:
3659

3760
```bash
3861
$ mvn spring-boot:run
3962
```
4063

4164
### Run tests
4265

43-
Run these commands from the root of the project:
66+
Run from the root of the project:
4467

4568
```bash
4669
$ mvn test
4770
```
4871

4972
### Package the application
5073

51-
Run these commands from the root of the project:
74+
Run from the root of the project:
5275

5376
```bash
5477
$ mvn package
5578
```
5679

5780
### Create a Docker image
5881

59-
Run these commands from the root of the project (requires building jar file using `mvn package`):
82+
Run from the root of the project (requires building `jar` file using `mvn package` as shown above):
6083

6184
```bash
6285
$ docker build -t fairdatapoint:local .
6386
```
6487

6588
### Build using Docker
6689

67-
If you do not have Java and Maven locally, you can build the Docker image using Docker (instead of using locally built jar file):
90+
If you do not have Java and Maven locally, you can build the Docker image using Docker (instead of using locally
91+
built `jar` file):
6892

6993
```bash
7094
$ docker build -f Dockefile.build -t fairdatapoint:local .
7195
```
7296

7397
## Security
7498

75-
Most of the `GET` requests are publicly accessible compares to `POST`, `PUT`, and `PATCH` requests, which are mainly secured. We use [JWT Tokens](https://jwt.io/) and [Bearer Token Authentication](https://swagger.io/docs/specification/authentication/bearer-authentication/). The token can be retrieved in `/tokens` endpoint where you send username and password.
99+
Most of the `GET` requests are publicly accessible. In contrast, `POST`, `PUT`, `DELETE`, and `PATCH` requests are
100+
mainly secured. We use [JWT Tokens](https://jwt.io/)
101+
and [Bearer Token Authentication](https://swagger.io/docs/specification/authentication/bearer-authentication/). The
102+
token can be retrieved using `/tokens` endpoint where you send username and password. For details, visit the OpenAPI
103+
documentation.
76104

77105
**Default users**
78106

@@ -83,10 +111,12 @@ Most of the `GET` requests are publicly accessible compares to `POST`, `PUT`, an
83111
- Username: `[email protected]`
84112
- Password: `password`
85113

114+
## Contributing
86115

87-
## API documentation
88-
89-
`FAIRDataPoint` (FDP) API comes with an embedded [swagger documentation](http://swagger.io/), the details of API calls can be found here. To access the FDP swagger document please visit the following url via web browser `http://localhost:8080/swagger-ui.html`
116+
We maintain a [CHANGELOG](CHANGELOG.md), you should also take a look at our [Contributing guidelines](CONTRIBUTING.md)
117+
and
118+
[Code of Conduct](CODE_OF_CONDUCT.md).
90119

91120
## License
121+
92122
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for more details.

nb-configuration.xml

Lines changed: 0 additions & 26 deletions
This file was deleted.

0 commit comments

Comments
 (0)