% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/safe_project.R
\name{safe_project}
\alias{safe_project}
\alias{safe_project,armadillo-method}
\alias{safe_project.character}
\alias{safe_project.opal}
\alias{safe_project.rocrate}
\alias{safe_project.ArmadilloCredentials}
\title{Safe Project details}
\source{
\itemize{
\item Research Data Scotland, 2025. "What is the Five Safes framework?".
\url{https://www.researchdata.scot/engage-and-learn/data-explainers/what-is-the-five-safes-framework/}
}
}
\usage{
\S4method{safe_project}{armadillo}(
  x,
  ...,
  profile = "default",
  project = NULL,
  rocrate = rocrateR::rocrate_5s(),
  asset_id_suffix = "#asset:",
  project_id_suffix = "#project:",
  path = NULL,
  resources = NULL,
  tables = NULL,
  user = NULL
)

\method{safe_project}{character}(
  x,
  ...,
  profile = attr(x, "profile"),
  project = attr(x, "project"),
  asset_id_suffix = "#asset:",
  project_id_suffix = "#project:",
  connection = attr(x, "connection"),
  path = attr(x, "path"),
  resources = attr(x, "resources"),
  tables = attr(x, "tables"),
  user = attr(x, "user")
)

\method{safe_project}{opal}(
  x,
  ...,
  profile = "default",
  project = NULL,
  rocrate = rocrateR::rocrate_5s(),
  asset_id_suffix = "#asset:",
  project_id_suffix = "#project:",
  path = NULL,
  resources = NULL,
  tables = NULL,
  user = NULL
)

\method{safe_project}{rocrate}(
  x,
  ...,
  profile = attr(x, "profile"),
  project = attr(x, "project"),
  asset_id_suffix = "#asset:",
  project_id_suffix = "#project:",
  connection = attr(x, "connection"),
  path = attr(x, "path"),
  resources = attr(x, "resources"),
  tables = attr(x, "tables"),
  user = attr(x, "user")
)

\method{safe_project}{ArmadilloCredentials}(
  x,
  ...,
  profile = "default",
  project = NULL,
  rocrate = rocrateR::rocrate_5s(),
  asset_id_suffix = "#asset:",
  project_id_suffix = "#project:",
  path = NULL,
  resources = NULL,
  tables = NULL,
  user = NULL
)
}
\arguments{
\item{x}{This can be a connection to a 'DataSHIELD' server (e.g., object with
the \code{opal} class, see \code{\link[opalr:opal.login]{opalr::opal.login()}}), an RO-Crate
(\link[rocrateR:rocrate]{rocrate} class) or a string with the path to an
RO-Crate.}

\item{...}{Other optional arguments. See the full documentation,
\code{\link[=safe_project]{?dsROCrate::safe_project}}.}

\item{profile}{String with profile name (used for OBiBa's Opal backend).}

\item{project}{String with the name of the \link[=safe_project]{Safe Project}.}

\item{asset_id_suffix}{String with ID suffix for the tables/datasets
entities in the RO-Crate (default: \code{"#asset:"}).}

\item{project_id_suffix}{String with ID suffix for the project entities
in the RO-Crate (default: \code{"#project:"}).}

\item{connection}{Connection object for the 'DataSHIELD' server where the
values will be extracted from (e.g., OBiBa's Opal). Optional, if \code{x} is
set to a connection object. If so, then \code{rocrate} is required.}

\item{path}{String with path pointing to the root of the RO-Crate. This will
be used to store log files. If not provided, logs will be stored within
the RO-Crate returned by this function.}

\item{resources}{Vector of strings with the names of the resources, part of
\code{project}. Optional, if not provided, all the resources associated to
\code{project} will be included in the RO-Crate.}

\item{tables}{Vector of strings with the names of the tables/datasets, part
of \code{project}. Optional, if not provided, all the tables/datasets
associated to \code{project} will be included in the RO-Crate.}

\item{user}{List (or \link[rocrateR:entity]{entity} object) with details for
the Safe People, it must include \verb{@id} and \code{name} entries. Alternatively,
this can be a string with the \code{name} of the current user.}

\item{rocrate}{RO-Crate object. Optional, if \code{x} is either an RO-Crate
object or a path to a valid RO-Crate. If so, then \code{connection} is
required (default: \code{rocrateR::rocrate_5s()}).}
}
\value{
Updated RO-Crate object with Safe Project information.
}
\description{
Safe Project details for the RO-Crate.
}
\details{
Data must be used ethically, for research that delivers clear public benefit.

As part of their application, researchers are asked to provide an overview
of their project, including how the data will be used and what outputs will
be achieved. This allows data providers to make an informed decision about
whether they are comfortable preparing data for the researcher to use for
ethical purposes serving a public good.
}
