Organisations

What is an organisation in the checklist context

The organisation object defines rules about the organisation related to the project (or package). checklist assumes by default that a project is a part of the Research Institute for Nature and Forest (INBO). And it will enforce to mention INBO as copyright holder and funder.

Such a rule limits the use of checklist outside of INBO. Therefore we added the organisation object. It contains the following elements:

  • GitHub organisation
  • copyright holder
  • funder
  • organisation e-mail
  • Zenodo community
  • a list of organisation affiliations

The organisation affiliations must be a named list using the email domain names as names. Every element is a list containing the elements affiliation and orcid. affiliation is a character vector with one or more allowed organisation names. Use multiple values to add optional translations of the organisation name. orcid must be either TRUE or FALSE. Setting orcid to TRUE requires every author with matching e-mail to have an ORCID number.

Defining a specific organisation for a project

First generate the object with organisation$new(). Then store this object in your project with write_organisation(). The function stores the information in organisation.yml, a plain text file in YAML format.

library(checklist)
# create a dummy project
my_project_path <- tempfile("my_project")
dir.create(my_project_path)
# create an organisation object
org <- organisation$new(
  rightsholder = "Vlaamse overheid", funder = "Vlaamse overheid",
  email = "[email protected]", github = "vlaanderen",
  community = NA_character_,
  organisation = list(
    "vlaanderen.be" = list(
      affiliation = "Vlaamse overheid", orcid = FALSE
    )
  )
)
# store the organisation in the dummy project
write_organisation(org, my_project_path)

Defining a default organisation object for your machine

Store the organisation as a default with default_organisation(org = org).

Whenever checklist needs the organisation information, it will retrieve it with read_organisation(). It first looks at project root folder for the organisation.yml file. When missing it looks for the machines default organisation.yml. In this case it will copy the machines default organisation.yml into the project. Hence the organisation information is a part of the project, which is required to use the information during checks on other machines. When read_organisation() finds neither a project organisation.yml nor a machines default organisation.yml, it reverts to the INBO organisation.