Skip to content

Commit

Permalink
Merge pull request #5 from PetterHopp/main
Browse files Browse the repository at this point in the history
NVIpjsr v0.1.0 First release
  • Loading branch information
PetterHopp authored May 3, 2024
2 parents 7afc663 + aa37a93 commit 03d2b7a
Show file tree
Hide file tree
Showing 94 changed files with 8,298 additions and 2 deletions.
13 changes: 13 additions & 0 deletions .Rbuildignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
^\.git$
^\.gitignore$
^\.Rhistory$
^CODE_OF_CONDUCT\.md$
^CONTRIBUTING\.md$
^data-raw$
^man-roxygen$
^notes$
^README\.md
^README\.Rmd$
^.*\.Rproj$
^\.Rproj\.user$

3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -47,3 +47,6 @@ po/*~

# RStudio Connect folder
rsconnect/
inst/doc
!vignettes/NVIpjsr.pdf

126 changes: 126 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
# Contributor Covenant Code of Conduct

## Our Pledge

We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
nationality, personal appearance, race, caste, color, religion, or sexual
identity and orientation.

We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.

## Our Standards

Examples of behavior that contributes to a positive environment for our
community include:

* Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
* Focusing on what is best not just for us as individuals, but for the overall
community

Examples of unacceptable behavior include:

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

## Enforcement Responsibilities

Community leaders are responsible for clarifying and enforcing our standards of
acceptable behavior and will take appropriate and fair corrective action in
response to any behavior that they deem inappropriate, threatening, offensive,
or harmful.

Community leaders 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, and will communicate reasons for moderation
decisions when appropriate.

## Scope

This Code of Conduct applies within all community spaces, and also applies when
an individual is officially representing the community in public spaces.
Examples of representing our community include using an official e-mail address,
posting via an official social media account, or acting as an appointed
representative at an online or offline event.

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement at [email protected].
All complaints will be reviewed and investigated promptly and fairly.

All community leaders are obligated to respect the privacy and security of the
reporter of any incident.

## Enforcement Guidelines

Community leaders will follow these Community Impact Guidelines in determining
the consequences for any action they deem in violation of this Code of Conduct:

### 1. Correction

**Community Impact**: Use of inappropriate language or other behavior deemed
unprofessional or unwelcome in the community.

**Consequence**: A private, written warning from community leaders, providing
clarity around the nature of the violation and an explanation of why the
behavior was inappropriate. A public apology may be requested.

### 2. Warning

**Community Impact**: A violation through a single incident or series of
actions.

**Consequence**: A warning with consequences for continued behavior. No
interaction with the people involved, including unsolicited interaction with
those enforcing the Code of Conduct, for a specified period of time. This
includes avoiding interactions in community spaces as well as external channels
like social media. Violating these terms may lead to a temporary or permanent
ban.

### 3. Temporary Ban

**Community Impact**: A serious violation of community standards, including
sustained inappropriate behavior.

**Consequence**: A temporary ban from any sort of interaction or public
communication with the community for a specified period of time. No public or
private interaction with the people involved, including unsolicited interaction
with those enforcing the Code of Conduct, is allowed during this period.
Violating these terms may lead to a permanent ban.

### 4. Permanent Ban

**Community Impact**: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.

**Consequence**: A permanent ban from any sort of public interaction within the
community.

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 2.1, available at
<https://www.contributor-covenant.org/version/2/1/code_of_conduct.html>.

Community Impact Guidelines were inspired by
[Mozilla's code of conduct enforcement ladder][https://github.com/mozilla/inclusion].

For answers to common questions about this code of conduct, see the FAQ at
<https://www.contributor-covenant.org/faq>. Translations are available at <https://www.contributor-covenant.org/translations>.

[homepage]: https://www.contributor-covenant.org
244 changes: 244 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,244 @@
# Contribute to NVIpjsr

<!-- CONTRIBUTING.md and ./vignettes/Contribute_to_NVIpkg.Rmd. are generated
from ./templates/Contribute_to_NVIpkg.Rmd in NVIpackager.
Please edit that file -->

Thank you for considering contributing to `NVIpjsr`.

`NVIpjsr` is one of several packages assembled under the name
`NVIverse`, a collection of R-packages with tools to facilitate data
management and data reporting at the Norwegian Veterinary Institute
(NVI).

### NVIverse packages

<table>
<colgroup>
<col style="width: 13%" />
<col style="width: 8%" />
<col style="width: 78%" />
</colgroup>
<thead>
<tr class="header">
<th style="text-align: left;">Package</th>
<th style="text-align: left;">Status</th>
<th style="text-align: left;">Description</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td style="text-align: left;">NVIconfig</td>
<td style="text-align: left;">Private</td>
<td style="text-align: left;">Configuration information necessary for
some NVIverse functions</td>
</tr>
<tr class="even">
<td style="text-align: left;">NVIdb</td>
<td style="text-align: left;">Public</td>
<td style="text-align: left;">Tools to facilitate the use of NVI’s
databases</td>
</tr>
<tr class="odd">
<td style="text-align: left;">NVIpjsr</td>
<td style="text-align: left;">Public</td>
<td style="text-align: left;">Tools to facilitate working with PJS
data</td>
</tr>
<tr class="even">
<td style="text-align: left;">NVIspatial</td>
<td style="text-align: left;">Public</td>
<td style="text-align: left;">Tools to facilitate working with spatial
data at NVI</td>
</tr>
<tr class="odd">
<td style="text-align: left;">NVIpretty</td>
<td style="text-align: left;">Public</td>
<td style="text-align: left;">Tools to make R-output pretty in accord
with NVI’s graphical profile</td>
</tr>
<tr class="even">
<td style="text-align: left;">NVIbatch</td>
<td style="text-align: left;">Public</td>
<td style="text-align: left;">Tools to facilitate the running of
R-scripts in batch mode at NVI</td>
</tr>
<tr class="odd">
<td style="text-align: left;">OKplan</td>
<td style="text-align: left;">Public</td>
<td style="text-align: left;">Tools to facilitate the planning of
surveillance programmes for the NFSA</td>
</tr>
<tr class="even">
<td style="text-align: left;">OKcheck</td>
<td style="text-align: left;">Public</td>
<td style="text-align: left;">Tools to facilitate checking of data from
national surveillance programmes</td>
</tr>
<tr class="odd">
<td style="text-align: left;">NVIcheckmate</td>
<td style="text-align: left;">Public</td>
<td style="text-align: left;">Extension of checkmate with argument
checking adapted for NVIverse</td>
</tr>
<tr class="even">
<td style="text-align: left;">NVIpackager</td>
<td style="text-align: left;">Public</td>
<td style="text-align: left;">Tools to facilitate the development of
NVIverse packages</td>
</tr>
<tr class="odd">
<td style="text-align: left;">NVIrpackages</td>
<td style="text-align: left;">Public</td>
<td style="text-align: left;">Keeps a table of the R packages in
NVIverse</td>
</tr>
</tbody>
</table>

## How you can contribute

There are several ways you can contribute to this project: ask a
question, propose an idea, report a bug, improve the documentation, or
contribute code.

### Ask a question

Using `NVIpjsr` and need help? Browse the package help to see if you can
find a solution. Still problems? Post your question in R-forum at
workplace or contact the package maintainer by
[email](mailto:[email protected]).

### Propose an idea

Have an idea for a new `NVIpjsr` feature? Take a look at the `NVIpjsr`
help and [issue
list](https://github.com/NorwegianVeterinaryInstitute/NVIpjsr/issues) to
see if it isn’t included or suggested yet. If not, suggest your idea as
an [issue on
GitHub](https://github.com/NorwegianVeterinaryInstitute/NVIpjsr/issues/new).
While we can’t promise to implement your idea, it helps to:

- Explain in detail how it would work.
- Keep the scope as narrow as possible.

See below if you want to contribute code for your idea as well.

### Report a bug

Using `NVIpjsr` and discovered a bug? Don’t let others have the same
experience and report it as an [issue on
GitHub](https://github.com/NorwegianVeterinaryInstitute/NVIpjsr/issues/new)
so we can fix it. A good bug report makes it easier for us to do so, so
please include:

- Any details about your local setup that might be helpful in
troubleshooting.
- Detailed steps to reproduce the bug.

### Improve the documentation

Noticed a typo on the function help? Think a function could use a better
example? Good documentation makes all the difference, so your help to
improve it is very welcome!

Functions are described as comments near their code and translated to
documentation using [`roxygen2`](https://klutometis.github.io/roxygen/).
If you want to improve a function description:

1. Go to `R/` directory in the [code
repository](https://github.com/NorwegianVeterinaryInstitute/NVIpjsr/tree/main/R).
2. Look for the file with the name of the function.
3. [Propose a file
change](https://help.github.com/articles/editing-files-in-another-user-s-repository/)
to update the function documentation in the roxygen comments
(starting with `#'`).

### Contribute code

Care to fix bugs or implement new functionality for our\_package? Great!
Have a look at the [issue
list](https://github.com/NorwegianVeterinaryInstitute/NVIpjsr/issues)
and leave a comment on the things you want to work on. See also the
development guidelines below.

## Development guidelines

If you want to contribute code, you are welcome to do so. You will find
a description of the code conventions, which have been used, in the
vignette “NVIverse code conventions” in the package `NVIpackager`. A
summary of the principles and style convention used for
`NVIverse`-packages is given below.

- Please limit the number of package dependencies for `NVIpjsr`. The
use of base functions is much appreciated.

- New code should generally follow the tidyverse [style
guide](http://style.tidyverse.org) with some modifications.

- use snake\_case for variable names, column names, function names
etc.
- function names should start with a verb and should be
descriptive and can be long. Avoid strange abbreviations.
- to indent the code you may use the short cut keys Ctrl+a (select
all) and Ctrl+i (indent) when you are in R-studio.
- I recommend to use the
[`styler`](https://CRAN.R-project.org/package=styler) package to
apply spaces:
`styler::style_file(filename, scope = c("spaces", "line_breaks"))`.
Please don’t restyle code that has nothing to do with your pull
request.

- You should add a bullet point to `NEWS` motivating the change.

- You should add yourself as a contributor to the `DESCRIPTION`.

Although not expected from all contributors, it will be highly
appreciated if you also are willing to suggest:

- documentation for new functions or new arguments to existing
functions The `NVIverse`-packages use
[`roxygen2`](https://cran.r-project.org/package=roxygen2) for
documentation.

- argument checking of the function arguments. The `NVIverse`-packages
use the assert-functions from the
[`checkmate`](https://CRAN.R-project.org/package=checkmate) package
for argument checking as well as some additional assert-functions in
[`NVIcheckmate`](https://github.com/NorwegianVeterinaryInstitute/NVIcheckmate).

- one or more tests ensuring that the function works as intended. The
`NVIverse`-packages use
[`testthat`](https://cran.r-project.org/package=testthat) for tests.

### Git commit standards

We follow the commit message style guide maintained within the
angular.js project.

The start of commit messages should be one of the following:

- feat: A new feature
- fix: A bug fix
- doc: Documentation only changes
- style: Changes that do not affect the meaning of the code
(white-space, formatting, missing semi-colons, etc)
- refactor: A code change that neither fixes a bug or adds a feature
- perf: A code change that improves performance
- test: Adding missing tests
- chore: Changes to the build process or auxiliary tools and libraries
such as documentation generation

Do not capitalize the first letter.

## Code of conduct

Please note that this project is released with a [Contributor Code of
Conduct](https://contributor-covenant.org/version/2/0/CODE_OF_CONDUCT.html).
By participating to this project, you agree to abide by its terms.

## References

This document is adapted from a
[template](https://gist.github.com/peterdesmet/e90a1b0dc17af6c12daf6e8b2f044e7c)
by @peterdesmet .
Loading

0 comments on commit 03d2b7a

Please sign in to comment.