Skip to content

Commit

Permalink
Preparations for releasing (#26)
Browse files Browse the repository at this point in the history
  • Loading branch information
MarekSuchanek authored Jan 5, 2020
1 parent 99b8eab commit 59572d6
Show file tree
Hide file tree
Showing 16 changed files with 184 additions and 140 deletions.
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
language: java
jdk: openjdk11
jdk: openjdk8
sudo: false

cache:
Expand Down
16 changes: 9 additions & 7 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,13 @@ Initial version based on reproducing functionality of deprecated [FAIRifier](htt

### Added

- Create metadata dialog that handles connection with a FAIR Data Point and allows metadata selection and creation
with possibility to predefine connections in the configuration
- Metadata forms to create metadata in the selected FAIR Data Point, with typehints and ability to predefine value
in the configuration
- Store data dialog that allows to export project in the selected format (using OpenRefine's exported) and send it
to the selected storage which are configured - currently supports: FTP, Virtuoso, and Triple Stores with HTTP API
- Create metadata dialog that handles the connection with a FAIR Data Point and allows
metadata selection and creation with a possibility to predefine connections in the
configuration
- Metadata forms to create metadata in the selected FAIR Data Point, with typehints and
ability to predefine value in the configuration
- Store data dialog that allows to export project in the selected format (using OpenRefine's
exported) and send it to the selected storage from those which are configured - currently
supports: FTP, Virtuoso, and Triple Stores with HTTP API
- About dialog with basic information about the extension and its compatibility
- Report a bug link to create easily a GitHub issue
- Report a bug link to create a GitHub issue easily
74 changes: 74 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
# Code of Conduct

## Our Pledge

In the interest of fostering an open and welcoming environment, we as
contributors and maintainers pledge to make participation in our project and
our community a harassment-free experience for everyone, regardless of age, body
size, disability, ethnicity, gender identity and expression, level of experience,
nationality, personal appearance, race, religion, or sexual identity and
orientation.

## Our Standards

Examples of behavior that contributes to creating a positive environment
include:

* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members

Examples of unacceptable behavior by participants include:

* The use of sexualized language or imagery and unwelcome sexual attention or
advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic
address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting

## Our Responsibilities

Project maintainers are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
response to any instances of unacceptable behavior.

Project maintainers have the right and responsibility to remove, edit, or
reject comments, commits, code, wiki edits, issues, and other contributions
that are not aligned to this Code of Conduct, or to ban temporarily or
permanently any contributor for other behaviors that they deem inappropriate,
threatening, offensive, or harmful.

## Scope

This Code of Conduct applies both within project spaces and in public spaces
when an individual is representing the project or its community. Examples of
representing a project or community include using an official project e-mail
address, posting via an official social media account, or acting as an appointed
representative at an online or offline event. Representation of a project may be
further defined and clarified by project maintainers.

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting the project team. All complaints will be reviewed and
investigated and will result in a response that is deemed necessary and appropriate
to the circumstances. The project team is obligated to maintain confidentiality
with regard to the reporter of an incident. Further details of specific enforcement
policies may be posted separately.

Project maintainers who do not follow or enforce the Code of Conduct in good
faith may face temporary or permanent repercussions as determined by other
members of the project's leadership.

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
available at [http://contributor-covenant.org/version/1/4][version]

[homepage]: http://contributor-covenant.org
[version]: http://contributor-covenant.org/version/1/4/
88 changes: 6 additions & 82 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,10 @@ Please note we have a code of conduct, please follow it in all your interactions
We use the standard [Gitflow Workflow](https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow):
* __master__ branch is used only for releases (and eventually hotfixes), this branch is also protected on
GitHub (pull requests with review and all checks must pass)
* __develop__ branch is used for development and as base for following development branches of features,
support stuff, and as base for releases
* __develop__ branch is used for development and as a base for following development branches of features,
support stuff, and as a base for releases
* __feature/*__ (base develop, squash-merged back to develop when done)
* __support/*__ (like feature but semantically different, not feature but some chore, e.g., cleanup or
* __support/*__ (like the feature but semantically different, not the feature but some chore, e.g., cleanup or
update of Dockerfile)
* __release/*__ (base develop, merged to master and develop when ready for release+tag)
* __hotfix/*__ (base master, merged to master and develop)
Expand All @@ -31,12 +31,11 @@ such as `[FOR-XX]` identifying the project and task number.

## Release Management

For the release management we use (aside the [Gitflow Workflow](https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow)):
For the release management we use (aside from the [Gitflow Workflow](https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow)):

* [Semantic versioning](https://semver.org)
* Release Candidates - X.Y.Z-rc.N should be created if don’t expect any problems (in that case use alpha or
beta), and make a walkthrough to finally verify its functionality according to the manuals - it also verifies
that the documentation is up to date with the new version.
beta), and make a walkthrough to verify its functionality according to the manuals finally - it also verifies that the documentation is up to date with the new version.
* [CHANGELOG.md](https://keepachangelog.com/en/1.0.0/ )
* GitHub releases and tags - make the release using GitHub (or hub extension), Travis CI will automatically upload
ZIP and TGZ distribution files there - better verify.
Expand All @@ -49,7 +48,7 @@ Also, never forget to update the joint [FAIR Data Point documentation](https://g
During the life-cycle of this extension, the OpenRefine will evolve in parallel. To handle this correctly, in case
of new OpenRefine version, we use this process:

1. Start new support branch when necessary changes will be made to use newer version of OpenRefine. Don’t forget to
1. Start new support branch when necessary changes are made to use the newer version of OpenRefine. Don’t forget to
update `project-repository`, assembly, documentation, and `Dockerfile`. Then merge to develop.
2. Create a new release with higher version according to OpenRefine version and semantic versioning (major breaks
compatibility, minor with new features, patch just hotfixes).
Expand All @@ -59,78 +58,3 @@ of new OpenRefine version, we use this process:
with the previous or not. In case of need, a new branch __legacy/OpenRefine-X.Y__ can be created for hotfixes.

_NOTE_: This still needs to be verified by practice!

## Code of Conduct

### Our Pledge

In the interest of fostering an open and welcoming environment, we as
contributors and maintainers pledge to making participation in our project and
our community a harassment-free experience for everyone, regardless of age, body
size, disability, ethnicity, gender identity and expression, level of experience,
nationality, personal appearance, race, religion, or sexual identity and
orientation.

### Our Standards

Examples of behavior that contributes to creating a positive environment
include:

* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members

Examples of unacceptable behavior by participants include:

* The use of sexualized language or imagery and unwelcome sexual attention or
advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic
address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting

### Our Responsibilities

Project maintainers are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
response to any instances of unacceptable behavior.

Project maintainers have the right and responsibility to remove, edit, or
reject comments, commits, code, wiki edits, issues, and other contributions
that are not aligned to this Code of Conduct, or to ban temporarily or
permanently any contributor for other behaviors that they deem inappropriate,
threatening, offensive, or harmful.

### Scope

This Code of Conduct applies both within project spaces and in public spaces
when an individual is representing the project or its community. Examples of
representing a project or community include using an official project e-mail
address, posting via an official social media account, or acting as an appointed
representative at an online or offline event. Representation of a project may be
further defined and clarified by project maintainers.

### Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting the project team. All complaints will be reviewed and
investigated and will result in a response that is deemed necessary and appropriate
to the circumstances. The project team is obligated to maintain confidentiality
with regard to the reporter of an incident. Further details of specific enforcement
policies may be posted separately.

Project maintainers who do not follow or enforce the Code of Conduct in good
faith may face temporary or permanent repercussions as determined by other
members of the project's leadership.

### Attribution

This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
available at [http://contributor-covenant.org/version/1/4][version]

[homepage]: http://contributor-covenant.org
[version]: http://contributor-covenant.org/version/1/4/
6 changes: 2 additions & 4 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Build image
FROM maven:3.6-jdk-11-slim as builder
FROM maven:3.6-jdk-8-slim as builder

WORKDIR /usr/src/app/

Expand All @@ -15,9 +15,7 @@ RUN tar xzf target/metadata-OpenRefine-3.2.tgz --directory openrefine-3.2/webapp

# ===================================================================
# Main image
FROM openjdk:11-jre-slim

LABEL maintainer="marek.suchanek@fit.cvut.cz"
FROM openjdk:8-jre-slim

# Dependencies for running OpenRefine
RUN apt-get -qq update \
Expand Down
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,13 +26,12 @@ $ tar xzvf metadata-X.Y.Z-OpenRefine-3.2.tgz -C path/to/openrefine-3.2/webapp/ex
We publish [Docker images](https://hub.docker.com/r/fairdata/openrefine-metadata-extension) that contains OpenRefine 3.2 together with the **metadata** extension. Only requirement is having Docker service running:

```console
$ docker pull fairdata/openrefine-metadata-extension
$ docker run -p 3333:3333 fairdata/openrefine-metadata-extension
```

Then just open [localhost:3333](http://localhost:3333) in your favorite web browser. Optionally you can change the port binding or run it "detached". Visit Docker `run` [documentation](https://docs.docker.com/engine/reference/run/) for more information.

To persist data and eventually be able to share them across multiple instances of OpenRefine you need to mount `/data` directory, for example:
To persist data and eventually be able to share them across multiple instances of OpenRefine, you need to mount `/data` directory, for example:

```console
$ docker run -p 3333:3333 -v /home/me/openrefine-data:/data:z fairdata/openrefine-metadata-extension
Expand Down Expand Up @@ -62,7 +61,8 @@ $ mvn package

After issuing these commands, prepared ZIP/TGZ files should be located in `target` directory according to the Maven output.

We maintain a [CHANGELOG](CHANGELOG.md) and you should look at our [Contributin guidelines](CONTRIBUTING.md).
We maintain a [CHANGELOG](CHANGELOG.md), you should also take a look at our [Contributing guidelines](CONTRIBUTING.md) and
[Code of Conduct](CODE_OF_CONDUCT.md).

### Build with Docker

Expand All @@ -71,13 +71,13 @@ that builds the extension and then runs it in OpenRefine. Therefore, you don't n
any Java dependencies locally, just Docker:

```console
$ docker build -t openrefine-metadata .
$ docker run -p 3333:3333 openrefine-metadata
$ docker build -t openrefine-metadata:local-tag .
$ docker run -p 3333:3333 openrefine-metadata:local-tag
```

Then open [http://localhost:3333](http://localhost:3333) in your favorite web browser.

Note that we are using Java SE 11 (LTS), concretely OpenJDK 11 in Docker images.
Note that we are using Java SE 8 (LTS), concretely OpenJDK 8 in Docker images (to comply with OpenRefine requirements).

## License

Expand Down
6 changes: 3 additions & 3 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -60,15 +60,15 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

<!-- Maven -->
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>

<!-- Core - local -->
<openrefine.version>3.2</openrefine.version>
<servlet.version>2.5</servlet.version>
<butterfly.version>1.0.2</butterfly.version>
<slf4j.version>1.7.18</slf4j.version>
<fairmetadata4j.version>0.1-beta</fairmetadata4j.version>
<fairmetadata4j.version>1.0.0</fairmetadata4j.version>
<!-- Core - other -->
<rdf4j.version>3.0.3</rdf4j.version>
<jackson.version>2.10.1</jackson.version>
Expand Down
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#NOTE: This is a Maven Resolver internal implementation file, its format can be changed without prior notice.
#Tue Sep 24 16:45:27 CEST 2019
fairmetadata4j-0.1-beta.pom>=
fairmetadata4j-0.1-beta.jar>=
#Sun Jan 05 10:07:26 CET 2020
fairmetadata4j-1.0.0.pom>=
fairmetadata4j-1.0.0.jar>=
Binary file not shown.
Loading

0 comments on commit 59572d6

Please sign in to comment.