The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

Getting Started

library(dsROCrate)

# show all the lines in the RO-Crate
oopt <- options(max_lines = Inf)
on.exit(options(oopt), add = TRUE)

This tutorial assumes that you have an internet connection and can access OBiBa’s Opal demo server: https://opal-demo.obiba.org

Alternatively, if you want to test a local deployment, please check out the following vignette first:

vignette("deploy-local-datashield-server-with-opal", package = "dsROCrate")

1. Creating your first RO-Crate

1.1. Connect to an Opal server

Here we will use OBiBa’s Opal demo server: https://opal-demo.obiba.org/ which can be accessed with the following login credentials:

# define global variables
## Opal server access
USERNAME <- "administrator"
USERPASS <- "password"
SERVER <- "https://opal-demo.obiba.org"
## Credentials for `dsuser`
### NOTE: this is only used to simulate an analysis and generate logs
DSUSERPASS <- "P@ssw0rd"

Next, define global variables used in generating the RO-Crate, such as project name, asset (e.g., tables, resources, etc.) references (within the project) and user identifiers.

## Five safes variables
PEOPLE <- "dsuser"
PROJECT <- "CNSIM"
TABLES <- c("CNSIM1")

Open connection

Once the credentials and Five Safes variables are configured, we can start a new session on the Opal server with the following command:

# login to local server with `USERNAME` and `USERPASS`.
o <- opalr::opal.login(
  username = USERNAME,
  password = USERPASS,
  url = SERVER
)

print(o)
#> url: https://opal-demo.obiba.org 
#> name: opal-demo.obiba.org 
#> version: 5.6.3 
#> username: administrator

1.2. Create a basic RO-Crate

To create a basic RO-Crate, we will use the {rocrateR} package. This package can be installed with the following command:

# install.packages("pak")
pak::pak("rocrateR")

# for development version use
pak::pak("ResearchObject/ro-crate-r@dev")

Then, a basic RO-Crate can be created with the following command:

basic_rocrate <- rocrateR::rocrate_5s()

Note that this RO-Crate uses the 5s-crate profile.

print(basic_rocrate)
#> {
#>   "@context": "https://w3id.org/ro/crate/1.2/context",
#>   "@graph": [
#>     {
#>       "@id": "ro-crate-metadata.json",
#>       "@type": "CreativeWork",
#>       "about": {
#>         "@id": "./"
#>       },
#>       "conformsTo": {
#>         "@id": "https://w3id.org/ro/crate/1.2"
#>       }
#>     },
#>     {
#>       "@id": "./",
#>       "@type": "Dataset",
#>       "name": "",
#>       "description": "",
#>       "datePublished": "2026-04-27",
#>       "license": {
#>         "@id": "http://spdx.org/licenses/CC-BY-4.0"
#>       },
#>       "conformsTo": {
#>         "@id": "https://w3id.org/5s-crate/0.4"
#>       }
#>     },
#>     {
#>       "@id": "https://w3id.org/5s-crate/0.4",
#>       "@type": ["CreativeWork", "Profile"],
#>       "name": "Five Safes RO-Crate profile"
#>     }
#>   ]
#> }

1.3. Add the Five Safes Elements

Safe Data

To add details for Safe Data, use the function dsROCrate::safe_data().

basic_rocrate <- o |>
  dsROCrate::safe_data(rocrate = basic_rocrate,
                       project = PROJECT,
                       tables = TABLES)

print(basic_rocrate) # note that the output will be truncated
...
#>     {
#>       "@id": "#perm:9bf7f75b6c5b07d02830b95652cd39a0-dict-summary-read",
#>       "@type": "ReadAction",
#>       "agent": {
#>         "@id": "#person:a0af2a94926db1b49ad7a812eef509d2"
#>       },
#>       "object": {
#>         "@id": "#asset:fad6faf661584d53e58f9730b14c5aae"
#>       },
#>       "actionStatus": "PotentialActionStatus",
#>       "description": "User may view table dictionary and summary statistics only; access to individual values is restricted."
#>     },
#>     {
#>       "@id": "#perm:4d2673da68a58c3bce23a61d97b6df51-dict-summary-read",
#>       "@type": "ReadAction",
#>       "agent": {
#>         "@id": "#person:cb809df1c2fb30b154f60b843e62b3d0"
#>       },
#>       "object": {
#>         "@id": "#asset:fad6faf661584d53e58f9730b14c5aae"
#>       },
#>       "actionStatus": "PotentialActionStatus",
#>       "description": "User may view table dictionary and summary statistics only; access to individual values is restricted."
#>     },
#>     {
#>       "@id": "#perm:1f09051d217d17c3e9b5ed92819ded26-admin-table",
#>       "@type": "ControlAction",
#>       "agent": {
#>         "@id": "#person:a3bc19cc9c1269320cf2847c63a66a92"
#>       },
#>       "object": {
#>         "@id": "#asset:fad6faf661584d53e58f9730b14c5aae"
#>       },
#>       "actionStatus": "PotentialActionStatus",
#>       "description": "User has full administrative rights: view/edit dictionary and view/edit individual values."
#>     },
#>     {
#>       "@id": "#asset:fad6faf661584d53e58f9730b14c5aae",
#>       "@type": "Dataset",
#>       "name": "CNSIM1",
#>       "description": "",
#>       "url": "/datasource/CNSIM/table/CNSIM1",
#>       "dateCreated": "2026-04-27T00:00:00Z",
#>       "dateModified": "2026-04-27T00:00:00Z",
#>       "isPartOf": {
#>         "@id": "#project:7ba189863f9f641196596cb28e04aa14"
#>       }
#>     }
#>   ]
#> }

Safe Project

To add details for Safe Project, use the function dsROCrate::safe_project().

basic_rocrate <- o |>
  dsROCrate::safe_project(rocrate = basic_rocrate,
                          project = PROJECT)

print(basic_rocrate) # note that the output will be truncated
...
#>       ]
#>     },
#>     {
#>       "@id": "#project:7ba189863f9f641196596cb28e04aa14",
#>       "@type": "Project",
#>       "name": "CNSIM",
#>       "dateCreated": "2026-04-27T06:29:48.216Z",
#>       "dateModified": "2026-04-27T06:29:52.944Z",
#>       "hasPart": [
#>         {
#>           "@id": "#asset:fad6faf661584d53e58f9730b14c5aae"
#>         }
#>       ]
#>     }
#>   ]
#> }

Safe People

To add details for Safe People, use the function dsROCrate::safe_people().

basic_rocrate <- o |>
  dsROCrate::safe_people(rocrate = basic_rocrate, user = PEOPLE)

print(basic_rocrate) # note that the output will be truncated
...
#>     {
#>       "@id": "#person:a0af2a94926db1b49ad7a812eef509d2",
#>   ❗ <file truncated, set `options(max_lines = Inf)` to display all>
#>   ]
#> }

Safe Setting

To add details for Safe Setting, use the function dsROCrate::safe_setting().

⚠️NOTE: The dsROCrate::safe_setting function requires administrator privileges, so here, we will have to log in with administrator credentials (if you used a non-administrator account previously).

# close previous connection
opalr::opal.logout(o)

# open new connection as administrator
o <- opalr::opal.login(
  username = "administrator",
  password = "password",
  url = SERVER
)

Then, we can proceed as per usual:

basic_rocrate <- o |>
  dsROCrate::safe_setting(rocrate = basic_rocrate)

print(basic_rocrate) # note that the output will be truncated
...

Safe Outputs

To add details for Safe Outputs, use the function dsROCrate::safe_output(). Currently, only log files from the operations executed by the user within a specific period. Set the period using logs_from and logs_to. Additionally, a list of functions executed by the user are extracted in a separate file/entity.

⚠️NOTE: Similar to dsROCrate::safe_setting, the dsROCrate::safe_output function requires of administrator rights, so here, we will have to log in with administrator credentials:

# close previous connection
opalr::opal.logout(o)

# open new connection as administrator
o <- opalr::opal.login(
  username = "administrator",
  password = "password",
  url = SERVER
)

DataSHIELD operations

⚠️NOTE: Before extracting logs, ensure there is recent activity on the server for testing purposes. This can be done using the following commands:

Setup

You will need the following packages:

pak::pak("DSI")
pak::pak("DSOpal")
pak::pak("dsBaseClient")
Open connection
# run some test commands with dsBaseClient
## needed to defined the OpalDriver class in the current environment
DSOpal::Opal()
#> An object of class "OpalDriver"
#> <S4 Type Object>
## create new login object, note that here we use the `dsuser`
builder <- DSI::newDSLoginBuilder()
builder$append(server = "study1",
               url = SERVER,
               user = "dsuser",
               password = DSUSERPASS,
               driver = "OpalDriver")
logindata <- builder$build()
conns <- DSI::datashield.login(logins = logindata)
#> 
#> Logging into the collaborating servers
Simulate some operations
## assign data
DSI::datashield.assign.table(conns["study1"], 
                             symbol = "dsROCrate_test",
                             table = paste0(PROJECT, ".", TABLES[1]),
                             errors.print = TRUE)

dsBaseClient::ds.ls(datasources = conns["study1"])
#> $study1
#> $study1$environment.searched
#> [1] "R_GlobalEnv"
#> 
#> $study1$objects.found
#> [1] "dsROCrate_test"
dsBaseClient::ds.summary("dsROCrate_test")
#> $study1
#> $study1$class
#> [1] "data.frame"
#> 
#> $study1$`number of rows`
#> [1] 2163
#> 
#> $study1$`number of columns`
#> [1] 11
#> 
#> $study1$`variables held`
#>  [1] "LAB_TSC"            "LAB_TRIG"           "LAB_HDL"           
#>  [4] "LAB_GLUC_ADJUSTED"  "PM_BMI_CONTINUOUS"  "DIS_CVA"           
#>  [7] "MEDI_LPD"           "DIS_DIAB"           "DIS_AMI"           
#> [10] "GENDER"             "PM_BMI_CATEGORICAL"

Then, we can proceed as per usual:

basic_rocrate <- o |>
  dsROCrate::safe_output(rocrate = basic_rocrate,
                         logs_from = Sys.time() - 60, # capture the last minute
                         logs_to = Sys.time())
#> opening file input connection.
#>  Found 500 records... Found 627 records... Imported 627 records. Simplifying...
#> closing file input connection.
#> Warning: No logs were found for the following configuration:
#>  User: dsuser
#>  Period: 2026-04-27 10:55:50 -- 2026-04-27 10:56:50
print(basic_rocrate) # note that the output will be truncated
...

1.4. Close connection

opalr::opal.logout(o)

1.5. Bag/Save RO-Crate

The resulting RO-Crate can be stored into an RO-Crate bag/archive with the function rocrateR::bag_rocrate:

# create temp directory
tmp_path_bag <- file.path(tempdir(), "dsROCrate-getting-started")
dir.create(tmp_path_bag, showWarnings = FALSE)

# create RO-Crate bag
path_to_rocrate_bag <- basic_rocrate |>
  rocrateR::bag_rocrate(path = tmp_path_bag, overwrite = TRUE)
#> RO-Crate successfully 'bagged'!
#> For details, see: /var/folders/59/4_l6kbyj2qsczmk2b52qg_f40000gn/T//RtmporvfWA/dsROCrate-getting-started/rocrate-769e9477a01cd163a71aa80ca87513dd.zip

We can explore the contents with the following commands:

# extract files in temporary directory
path_to_rocrate_bag |>
  # extract contents inside /tmp_path_bag/ROC
  rocrateR::unbag_rocrate(output = file.path(tmp_path_bag, "ROC"), quiet = TRUE) |>
  # create tree with the files
  fs::dir_tree()
#> /private/var/folders/59/4_l6kbyj2qsczmk2b52qg_f40000gn/T/RtmporvfWA/dsROCrate-getting-started/ROC
#> ├── bag-info.txt
#> ├── bagit.txt
#> ├── data
#> │   └── ro-crate-metadata.json
#> ├── manifest-sha512.txt
#> └── tagmanifest-sha512.txt

1.6. Clean working directory

unlink(tmp_path_bag, recursive = TRUE, force = TRUE)


2. Auditing RO-Crates and servers

2.1. Audit People

List accessible tables within a project for an user
safe_people_crate_v1 <- opalr::opal.login(
  username = USERNAME,
  password = USERPASS,
  url = SERVER
) |>
  dsROCrate::audit(user = "dsuser", project = "CNSIM")
#> opening file input connection.
#>  Found 500 records... Found 627 records... Imported 627 records. Simplifying...
#> closing file input connection.

print(safe_people_crate_v1)
#> {
#>   "@context": "https://w3id.org/ro/crate/1.2/context",
#>   "@graph": [
#>     {
#>       "@id": "ro-crate-metadata.json",
#>       "@type": "CreativeWork",
#>       "about": {
#>         "@id": "./"
#>       },
#>       "conformsTo": {
#>         "@id": "https://w3id.org/ro/crate/1.2"
#>       }
#>     },
#>     {
#>       "@id": "./",
#>       "@type": "Dataset",
#>       "name": "",
#>       "description": "",
#>       "datePublished": "2026-04-27",
#>       "license": {
#>         "@id": "http://spdx.org/licenses/CC-BY-4.0"
#>       },
#>       "conformsTo": {
#>         "@id": "https://w3id.org/5s-crate/0.4"
#>       },
#>       "hasPart": [
#>         {
#>           "@id": "20260427T105652-dslogs-dsuser.log"
#>         },
#>         {
#>           "@id": "20260427T105652-dslogs-dsuser_mappings.csv"
#>         }
#>       ]
#>     },
#>     {
#>       "@id": "https://w3id.org/5s-crate/0.4",
#>       "@type": ["CreativeWork", "Profile"],
#>       "name": "Five Safes RO-Crate profile"
#>     },
#>     {
#>       "@id": "#person:a0af2a94926db1b49ad7a812eef509d2",
#>       "@type": "Person",
#>       "name": "dsuser"
#>     },
#>     {
#>       "@id": "#project:7ba189863f9f641196596cb28e04aa14",
#>       "@type": "Project",
#>       "name": "CNSIM",
#>       "dateCreated": "2026-04-27T06:29:48.216Z",
#>       "dateModified": "2026-04-27T06:29:52.944Z",
#>       "hasPart": [
#>         {
#>           "@id": "#asset:fad6faf661584d53e58f9730b14c5aae"
#>         },
#>         {
#>           "@id": "#asset:b6721026564c746f604df7ba785931fa"
#>         },
#>         {
#>           "@id": "#asset:14fbb8de0021e6d237a2ed7779f9625d"
#>         }
#>       ]
#>     },
#>     {
#>       "@id": "#perm:9bf7f75b6c5b07d02830b95652cd39a0-dict-summary-read",
#>       "@type": "ReadAction",
#>       "agent": {
#>         "@id": "#person:a0af2a94926db1b49ad7a812eef509d2"
#>       },
#>       "object": {
#>         "@id": "#asset:fad6faf661584d53e58f9730b14c5aae"
#>       },
#>       "actionStatus": "PotentialActionStatus",
#>       "description": "User may view table dictionary and summary statistics only; access to individual values is restricted."
#>     },
#>     {
#>       "@id": "#perm:363eb627d1e49c08933f2e26142e6d56-dict-summary-read",
#>       "@type": "ReadAction",
#>       "agent": {
#>         "@id": "#person:a0af2a94926db1b49ad7a812eef509d2"
#>       },
#>       "object": {
#>         "@id": "#asset:b6721026564c746f604df7ba785931fa"
#>       },
#>       "actionStatus": "PotentialActionStatus",
#>       "description": "User may view table dictionary and summary statistics only; access to individual values is restricted."
#>     },
#>     {
#>       "@id": "#perm:63b8097908f682bff1760e48d28c5855-dict-summary-read",
#>       "@type": "ReadAction",
#>       "agent": {
#>         "@id": "#person:a0af2a94926db1b49ad7a812eef509d2"
#>       },
#>       "object": {
#>         "@id": "#asset:14fbb8de0021e6d237a2ed7779f9625d"
#>       },
#>       "actionStatus": "PotentialActionStatus",
#>       "description": "User may view table dictionary and summary statistics only; access to individual values is restricted."
#>     },
#>   ❗ <file truncated, set `options(max_lines = Inf)` to display all>
#>   ]
#> }
Markdown report

A markdown report can be created with an overview and details for an RO-Crate, using the dsROCrate::report:

Only generate .Rmd file

safe_people_crate_v1_rmd <- tempfile(fileext = ".Rmd") # temporary file

safe_people_crate_contents <- safe_people_crate_v1 |>
  dsROCrate::report(filepath = safe_people_crate_v1_rmd, render = FALSE)
#> 1 'Author' entity was found!
#> 3 asset entities were found!
#> 1 'Project' entity was found!
#> 22 'CreativeWork', 'PropertyValue' OR 'SoftwareApplication' entities were found!
#> 2 'File' entities were found!

# display Overview diagram
safe_people_crate_contents$overview_diagram

# display Overview data (Safe People, Safe Projects and Safe Data)
safe_people_crate_contents$overview_data |>
  knitr::kable()
Project Data Access Level People Function Timestamp
CNSIM CNSIM1 read dsuser base::assign 2026-04-27T06:59:58
CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T06:59:59
CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T07:00:00
CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T07:00:00
CNSIM CNSIM1 read dsuser dsBase::table1DDS 2026-04-27T07:00:01
CNSIM CNSIM1 read dsuser dsBase::quantileMeanDS 2026-04-27T07:00:01
CNSIM CNSIM1 read dsuser dsBase::meanDS 2026-04-27T07:00:02
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:00:02
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T07:00:02
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:00:03
CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T07:00:03
CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T07:00:04
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T07:00:04
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:00:04
CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T07:00:05
CNSIM CNSIM1 read dsuser dsBase::quantileMeanDS 2026-04-27T07:00:05
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T07:00:06
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:00:06
CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T07:00:06
CNSIM CNSIM1 read dsuser dsBase::levelsDS 2026-04-27T07:00:07
CNSIM CNSIM1 read dsuser dsBase::table1DDS 2026-04-27T07:00:07
CNSIM CNSIM1 read dsuser base::assign 2026-04-27T07:01:38
CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T07:01:39
CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T07:01:40
CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T07:01:40
CNSIM CNSIM1 read dsuser dsBase::table1DDS 2026-04-27T07:01:40
CNSIM CNSIM1 read dsuser dsBase::quantileMeanDS 2026-04-27T07:01:41
CNSIM CNSIM1 read dsuser dsBase::meanDS 2026-04-27T07:01:41
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:01:42
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T07:01:42
CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T07:01:43
CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T07:01:43
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T07:01:43
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:01:44
CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T07:01:44
CNSIM CNSIM1 read dsuser dsBase::quantileMeanDS 2026-04-27T07:01:45
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T07:01:45
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:01:45
CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T07:01:46
CNSIM CNSIM1 read dsuser dsBase::levelsDS 2026-04-27T07:01:46
CNSIM CNSIM1 read dsuser dsBase::table1DDS 2026-04-27T07:01:47
CNSIM CNSIM1 read dsuser base::assign 2026-04-27T07:02:46
CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T07:02:48
CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T07:02:49
CNSIM CNSIM1 read dsuser dsBase::table1DDS 2026-04-27T07:02:49
CNSIM CNSIM1 read dsuser dsBase::quantileMeanDS 2026-04-27T07:02:50
CNSIM CNSIM1 read dsuser dsBase::meanDS 2026-04-27T07:02:50
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:02:50
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T07:02:51
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:02:51
CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T07:02:52
CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T07:02:52
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T07:02:52
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:02:53
CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T07:02:53
CNSIM CNSIM1 read dsuser dsBase::quantileMeanDS 2026-04-27T07:02:54
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T07:02:54
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:02:54
CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T07:02:55
CNSIM CNSIM1 read dsuser dsBase::levelsDS 2026-04-27T07:02:55
CNSIM CNSIM1 read dsuser dsBase::table1DDS 2026-04-27T07:02:56
CNSIM CNSIM1 read dsuser base::assign 2026-04-27T07:03:28
CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T07:03:30
CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T07:03:30
CNSIM CNSIM1 read dsuser dsBase::table1DDS 2026-04-27T07:03:31
CNSIM CNSIM1 read dsuser dsBase::quantileMeanDS 2026-04-27T07:03:31
CNSIM CNSIM1 read dsuser dsBase::meanDS 2026-04-27T07:03:31
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:03:32
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T07:03:32
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:03:33
CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T07:03:33
CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T07:03:33
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T07:03:34
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:03:34
CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T07:03:34
CNSIM CNSIM1 read dsuser dsBase::quantileMeanDS 2026-04-27T07:03:35
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T07:03:35
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:03:36
CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T07:03:36
CNSIM CNSIM1 read dsuser dsBase::levelsDS 2026-04-27T07:03:37
CNSIM CNSIM1 read dsuser dsBase::table1DDS 2026-04-27T07:03:37
CNSIM CNSIM1 read dsuser base::assign 2026-04-27T07:04:13
CNSIM CNSIM1 read dsuser base::assign 2026-04-27T07:04:14
CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T07:04:15
CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T07:04:16
CNSIM CNSIM1 read dsuser base::assign 2026-04-27T07:04:16
CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T07:04:17
CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T07:04:17
CNSIM CNSIM1 read dsuser dsBase::table1DDS 2026-04-27T07:04:17
CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T07:04:18
CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T07:04:18
CNSIM CNSIM1 read dsuser dsBase::table1DDS 2026-04-27T07:04:18
CNSIM CNSIM1 read dsuser dsBase::quantileMeanDS 2026-04-27T07:04:18
CNSIM CNSIM1 read dsuser dsBase::quantileMeanDS 2026-04-27T07:04:19
CNSIM CNSIM1 read dsuser dsBase::meanDS 2026-04-27T07:04:19
CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T07:04:19
CNSIM CNSIM1 read dsuser dsBase::table1DDS 2026-04-27T07:04:20
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:04:20
CNSIM CNSIM1 read dsuser dsBase::quantileMeanDS 2026-04-27T07:04:20
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T07:04:21
CNSIM CNSIM1 read dsuser dsBase::meanDS 2026-04-27T07:04:21
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:04:21
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:04:22
CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T07:04:22
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T07:04:22
CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T07:04:22
CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T07:04:23
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T07:04:23
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:04:23
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:04:24
CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T07:04:24
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T07:04:24
CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T07:04:24
CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T07:04:24
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:04:25
CNSIM CNSIM1 read dsuser dsBase::quantileMeanDS 2026-04-27T07:04:25
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T07:04:25
CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T07:04:25
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T07:04:26
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:04:26
CNSIM CNSIM1 read dsuser dsBase::quantileMeanDS 2026-04-27T07:04:26
CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T07:04:26
CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T07:04:27
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T07:04:27
CNSIM CNSIM1 read dsuser dsBase::quantileMeanDS 2026-04-27T07:04:27
CNSIM CNSIM1 read dsuser dsBase::levelsDS 2026-04-27T07:04:28
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T07:04:28
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:04:28
CNSIM CNSIM1 read dsuser dsBase::table1DDS 2026-04-27T07:04:28
CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T07:04:29
CNSIM CNSIM1 read dsuser dsBase::levelsDS 2026-04-27T07:04:29
CNSIM CNSIM1 read dsuser dsBase::levelsDS 2026-04-27T07:04:30
CNSIM CNSIM1 read dsuser dsBase::table1DDS 2026-04-27T07:04:30
CNSIM CNSIM1 read dsuser base::assign 2026-04-27T07:27:50
CNSIM CNSIM1 read dsuser dsBase::lsDS 2026-04-27T07:27:51
CNSIM CNSIM1 read dsuser base::exists 2026-04-27T07:27:52
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T07:27:52
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:27:52
CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T07:27:53
CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T07:27:54
CNSIM CNSIM1 read dsuser base::assign 2026-04-27T08:22:54
CNSIM CNSIM1 read dsuser dsBase::lsDS 2026-04-27T08:22:55
CNSIM CNSIM1 read dsuser base::exists 2026-04-27T08:22:55
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T08:22:56
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T08:22:56
CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T08:22:56
CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T08:22:56
CNSIM CNSIM1 read dsuser base::assign 2026-04-27T08:48:09
CNSIM CNSIM1 read dsuser dsBase::lsDS 2026-04-27T08:48:10
CNSIM CNSIM1 read dsuser base::exists 2026-04-27T08:48:10
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T08:48:10
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T08:48:10
CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T08:48:10
CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T08:48:11
CNSIM CNSIM1 read dsuser base::assign 2026-04-27T08:51:55
CNSIM CNSIM1 read dsuser dsBase::lsDS 2026-04-27T08:51:56
CNSIM CNSIM1 read dsuser base::exists 2026-04-27T08:51:56
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T08:51:56
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T08:51:56
CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T08:51:56
CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T08:51:56
CNSIM CNSIM1 read dsuser base::assign 2026-04-27T08:53:05
CNSIM CNSIM1 read dsuser dsBase::lsDS 2026-04-27T08:53:06
CNSIM CNSIM1 read dsuser base::exists 2026-04-27T08:53:06
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T08:53:07
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T08:53:07
CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T08:53:07
CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T08:53:07
CNSIM CNSIM1 read dsuser base::assign 2026-04-27T08:59:21
CNSIM CNSIM1 read dsuser dsBase::lsDS 2026-04-27T08:59:22
CNSIM CNSIM1 read dsuser base::exists 2026-04-27T08:59:22
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T08:59:22
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T08:59:22
CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T08:59:22
CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T08:59:23
CNSIM CNSIM1 read dsuser base::assign 2026-04-27T09:01:09
CNSIM CNSIM1 read dsuser dsBase::lsDS 2026-04-27T09:01:10
CNSIM CNSIM1 read dsuser base::exists 2026-04-27T09:01:11
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T09:01:11
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T09:01:12
CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T09:01:12
CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T09:01:12
CNSIM CNSIM1 read dsuser base::assign 2026-04-27T09:02:05
CNSIM CNSIM1 read dsuser base::assign 2026-04-27T09:02:06
CNSIM CNSIM1 read dsuser dsBase::lsDS 2026-04-27T09:02:06
CNSIM CNSIM1 read dsuser base::exists 2026-04-27T09:02:07
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T09:02:07
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T09:02:07
CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T09:02:07
CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T09:02:07
CNSIM CNSIM1 read dsuser dsBase::lsDS 2026-04-27T09:02:08
CNSIM CNSIM1 read dsuser base::exists 2026-04-27T09:02:08
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T09:02:09
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T09:02:09
CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T09:02:10
CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T09:02:10
CNSIM CNSIM1 read dsuser base::assign 2026-04-27T09:02:13
CNSIM CNSIM1 read dsuser dsBase::lsDS 2026-04-27T09:02:15
CNSIM CNSIM1 read dsuser base::exists 2026-04-27T09:02:15
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T09:02:16
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T09:02:16
CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T09:02:17
CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T09:02:17
CNSIM CNSIM1 read dsuser base::assign 2026-04-27T09:02:53
CNSIM CNSIM1 read dsuser dsBase::lsDS 2026-04-27T09:02:55
CNSIM CNSIM1 read dsuser base::exists 2026-04-27T09:02:55
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T09:02:56
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T09:02:56
CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T09:02:57
CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T09:02:58
CNSIM CNSIM1 read dsuser base::assign 2026-04-27T09:03:08
CNSIM CNSIM1 read dsuser dsBase::lsDS 2026-04-27T09:03:09
CNSIM CNSIM1 read dsuser base::exists 2026-04-27T09:03:10
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T09:03:11
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T09:03:11
CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T09:03:11
CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T09:03:12
CNSIM CNSIM1 read dsuser base::assign 2026-04-27T09:04:13
CNSIM CNSIM1 read dsuser dsBase::lsDS 2026-04-27T09:04:15
CNSIM CNSIM1 read dsuser base::exists 2026-04-27T09:04:15
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T09:04:16
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T09:04:16
CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T09:04:17
CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T09:04:18
CNSIM CNSIM1 read dsuser base::assign 2026-04-27T09:13:26
CNSIM CNSIM1 read dsuser dsBase::lsDS 2026-04-27T09:13:27
CNSIM CNSIM1 read dsuser base::exists 2026-04-27T09:13:27
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T09:13:27
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T09:13:28
CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T09:13:28
CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T09:13:28
CNSIM CNSIM1 read dsuser base::assign 2026-04-27T09:29:22
CNSIM CNSIM1 read dsuser dsBase::lsDS 2026-04-27T09:29:23
CNSIM CNSIM1 read dsuser base::exists 2026-04-27T09:29:24
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T09:29:24
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T09:29:25
CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T09:29:25
CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T09:29:26
CNSIM CNSIM1 read dsuser base::assign 2026-04-27T09:30:20
CNSIM CNSIM1 read dsuser dsBase::lsDS 2026-04-27T09:30:22
CNSIM CNSIM1 read dsuser base::exists 2026-04-27T09:30:22
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T09:30:23
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T09:30:23
CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T09:30:24
CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T09:30:24
CNSIM CNSIM1 read dsuser base::assign 2026-04-27T09:37:12
CNSIM CNSIM1 read dsuser dsBase::lsDS 2026-04-27T09:37:13
CNSIM CNSIM1 read dsuser base::exists 2026-04-27T09:37:13
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T09:37:13
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T09:37:13
CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T09:37:14
CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T09:37:14
CNSIM CNSIM1 read dsuser base::assign 2026-04-27T09:39:10
CNSIM CNSIM1 read dsuser dsBase::lsDS 2026-04-27T09:39:11
CNSIM CNSIM1 read dsuser base::assign 2026-04-27T09:39:37
CNSIM CNSIM1 read dsuser dsBase::lsDS 2026-04-27T09:39:38
CNSIM CNSIM1 read dsuser base::exists 2026-04-27T09:39:38
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T09:39:38
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T09:39:38
CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T09:39:38
CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T09:39:38
CNSIM CNSIM1 read dsuser base::assign 2026-04-27T09:41:11
CNSIM CNSIM1 read dsuser dsBase::lsDS 2026-04-27T09:41:12
CNSIM CNSIM1 read dsuser base::exists 2026-04-27T09:41:14
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T09:41:14
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T09:41:14
CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T09:41:14
CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T09:41:15
CNSIM CNSIM1 read dsuser base::assign 2026-04-27T09:56:50
CNSIM CNSIM1 read dsuser dsBase::lsDS 2026-04-27T09:56:51
CNSIM CNSIM1 read dsuser base::exists 2026-04-27T09:56:51
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T09:56:52
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T09:56:52
CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T09:56:52
CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T09:56:52
CNSIM CNSIM2 read dsuser
CNSIM CNSIM3 read dsuser

Render and display report (HTML)

safe_people_crate_v1 |>
  dsROCrate::report(filepath = safe_people_crate_v1_rmd,
                            title = "DataSHIELD Safe People - Audit Report",
                            render = TRUE, 
                            overwrite = TRUE)

2.2. Audit Project

List users and dataset/table level permissions within a project
safe_project_crate_v1 <- opalr::opal.login(
  username = USERNAME,
  password = USERPASS,
  url = SERVER
) |>
  dsROCrate::audit(project = "CNSIM")
#> opening file input connection.
#>  Found 500 records... Found 627 records... Imported 627 records. Simplifying...
#> closing file input connection.
#> opening file input connection.
#>  Found 500 records... Found 627 records... Imported 627 records. Simplifying...
#> closing file input connection.
#> opening file input connection.
#>  Found 500 records... Found 627 records... Imported 627 records. Simplifying...
#> closing file input connection.
#> opening file input connection.
#>  Found 500 records... Found 627 records... Imported 627 records. Simplifying...
#> closing file input connection.

print(safe_project_crate_v1)
#> {
#>   "@context": "https://w3id.org/ro/crate/1.2/context",
#>   "@graph": [
#>     {
#>       "@id": "ro-crate-metadata.json",
#>       "@type": "CreativeWork",
#>       "about": {
#>         "@id": "./"
#>       },
#>       "conformsTo": {
#>         "@id": "https://w3id.org/ro/crate/1.2"
#>       }
#>     },
#>     {
#>       "@id": "./",
#>       "@type": "Dataset",
#>       "name": "",
#>       "description": "",
#>       "datePublished": "2026-04-27",
#>       "license": {
#>         "@id": "http://spdx.org/licenses/CC-BY-4.0"
#>       },
#>       "conformsTo": {
#>         "@id": "https://w3id.org/5s-crate/0.4"
#>       },
#>       "hasPart": [
#>         {
#>           "@id": "20260427T105654-dslogs-dsuser.log"
#>         },
#>         {
#>           "@id": "20260427T105654-dslogs-dsuser_mappings.csv"
#>         }
#>       ]
#>     },
#>     {
#>       "@id": "https://w3id.org/5s-crate/0.4",
#>       "@type": ["CreativeWork", "Profile"],
#>       "name": "Five Safes RO-Crate profile"
#>     },
#>     {
#>       "@id": "#person:a0af2a94926db1b49ad7a812eef509d2",
#>       "@type": "Person",
#>       "name": "dsuser"
#>     },
#>     {
#>       "@id": "#person:cb809df1c2fb30b154f60b843e62b3d0",
#>       "@type": "Person",
#>       "name": "dsuser1"
#>     },
#>     {
#>       "@id": "#person:a3cd7ce7818436c83b1eadaa5ba47411",
#>       "@type": "Person",
#>       "name": "dsuser2"
#>     },
#>     {
#>       "@id": "#person:5657241505661473308ae9aa9a378293",
#>       "@type": "Person",
#>       "name": "dsuser3"
#>     },
#>     {
#>       "@id": "#project:7ba189863f9f641196596cb28e04aa14",
#>       "@type": "Project",
#>       "name": "CNSIM",
#>       "dateCreated": "2026-04-27T06:29:48.216Z",
#>       "dateModified": "2026-04-27T06:29:52.944Z",
#>       "hasPart": [
#>         {
#>           "@id": "#asset:fad6faf661584d53e58f9730b14c5aae"
#>         },
#>         {
#>           "@id": "#asset:b6721026564c746f604df7ba785931fa"
#>         },
#>         {
#>           "@id": "#asset:14fbb8de0021e6d237a2ed7779f9625d"
#>         }
#>       ]
#>     },
#>     {
#>       "@id": "#perm:9bf7f75b6c5b07d02830b95652cd39a0-dict-summary-read",
#>       "@type": "ReadAction",
#>       "agent": {
#>         "@id": "#person:a0af2a94926db1b49ad7a812eef509d2"
#>       },
#>       "object": {
#>         "@id": "#asset:fad6faf661584d53e58f9730b14c5aae"
#>       },
#>       "actionStatus": "PotentialActionStatus",
#>       "description": "User may view table dictionary and summary statistics only; access to individual values is restricted."
#>     },
#>     {
#>       "@id": "#perm:4d2673da68a58c3bce23a61d97b6df51-dict-summary-read",
#>       "@type": "ReadAction",
#>       "agent": {
#>         "@id": "#person:cb809df1c2fb30b154f60b843e62b3d0"
#>       },
#>       "object": {
#>         "@id": "#asset:fad6faf661584d53e58f9730b14c5aae"
#>       },
#>   ❗ <file truncated, set `options(max_lines = Inf)` to display all>
#>   ]
#> }
Markdown report

A markdown report can be created with an overview and details for an RO-Crate, using the dsROCrate::report:

Only generate .Rmd file

safe_project_crate_v1_rmd <- tempfile(fileext = ".Rmd") # temporary file

safe_project_crate_contents <- safe_project_crate_v1 |>
  dsROCrate::report(filepath = safe_project_crate_v1_rmd, render = FALSE)
#> 4 'Author' entities were found!
#> 3 asset entities were found!
#> 1 'Project' entity was found!
#> 22 'CreativeWork', 'PropertyValue' OR 'SoftwareApplication' entities were found!
#> 2 'File' entities were found!

# display Overview diagram
safe_project_crate_contents$overview_diagram

# display Overview data (Safe People, Safe Projects and Safe Data)
safe_project_crate_contents$overview_data |>
  knitr::kable()
Project Data Access Level People Function Timestamp
CNSIM CNSIM1 read dsuser base::assign 2026-04-27T06:59:58
CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T06:59:59
CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T07:00:00
CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T07:00:00
CNSIM CNSIM1 read dsuser dsBase::table1DDS 2026-04-27T07:00:01
CNSIM CNSIM1 read dsuser dsBase::quantileMeanDS 2026-04-27T07:00:01
CNSIM CNSIM1 read dsuser dsBase::meanDS 2026-04-27T07:00:02
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:00:02
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T07:00:02
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:00:03
CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T07:00:03
CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T07:00:04
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T07:00:04
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:00:04
CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T07:00:05
CNSIM CNSIM1 read dsuser dsBase::quantileMeanDS 2026-04-27T07:00:05
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T07:00:06
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:00:06
CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T07:00:06
CNSIM CNSIM1 read dsuser dsBase::levelsDS 2026-04-27T07:00:07
CNSIM CNSIM1 read dsuser dsBase::table1DDS 2026-04-27T07:00:07
CNSIM CNSIM1 read dsuser base::assign 2026-04-27T07:01:38
CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T07:01:39
CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T07:01:40
CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T07:01:40
CNSIM CNSIM1 read dsuser dsBase::table1DDS 2026-04-27T07:01:40
CNSIM CNSIM1 read dsuser dsBase::quantileMeanDS 2026-04-27T07:01:41
CNSIM CNSIM1 read dsuser dsBase::meanDS 2026-04-27T07:01:41
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:01:42
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T07:01:42
CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T07:01:43
CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T07:01:43
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T07:01:43
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:01:44
CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T07:01:44
CNSIM CNSIM1 read dsuser dsBase::quantileMeanDS 2026-04-27T07:01:45
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T07:01:45
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:01:45
CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T07:01:46
CNSIM CNSIM1 read dsuser dsBase::levelsDS 2026-04-27T07:01:46
CNSIM CNSIM1 read dsuser dsBase::table1DDS 2026-04-27T07:01:47
CNSIM CNSIM1 read dsuser base::assign 2026-04-27T07:02:46
CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T07:02:48
CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T07:02:49
CNSIM CNSIM1 read dsuser dsBase::table1DDS 2026-04-27T07:02:49
CNSIM CNSIM1 read dsuser dsBase::quantileMeanDS 2026-04-27T07:02:50
CNSIM CNSIM1 read dsuser dsBase::meanDS 2026-04-27T07:02:50
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:02:50
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T07:02:51
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:02:51
CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T07:02:52
CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T07:02:52
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T07:02:52
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:02:53
CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T07:02:53
CNSIM CNSIM1 read dsuser dsBase::quantileMeanDS 2026-04-27T07:02:54
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T07:02:54
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:02:54
CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T07:02:55
CNSIM CNSIM1 read dsuser dsBase::levelsDS 2026-04-27T07:02:55
CNSIM CNSIM1 read dsuser dsBase::table1DDS 2026-04-27T07:02:56
CNSIM CNSIM1 read dsuser base::assign 2026-04-27T07:03:28
CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T07:03:30
CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T07:03:30
CNSIM CNSIM1 read dsuser dsBase::table1DDS 2026-04-27T07:03:31
CNSIM CNSIM1 read dsuser dsBase::quantileMeanDS 2026-04-27T07:03:31
CNSIM CNSIM1 read dsuser dsBase::meanDS 2026-04-27T07:03:31
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:03:32
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T07:03:32
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:03:33
CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T07:03:33
CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T07:03:33
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T07:03:34
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:03:34
CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T07:03:34
CNSIM CNSIM1 read dsuser dsBase::quantileMeanDS 2026-04-27T07:03:35
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T07:03:35
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:03:36
CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T07:03:36
CNSIM CNSIM1 read dsuser dsBase::levelsDS 2026-04-27T07:03:37
CNSIM CNSIM1 read dsuser dsBase::table1DDS 2026-04-27T07:03:37
CNSIM CNSIM1 read dsuser base::assign 2026-04-27T07:04:13
CNSIM CNSIM1 read dsuser base::assign 2026-04-27T07:04:14
CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T07:04:15
CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T07:04:16
CNSIM CNSIM1 read dsuser base::assign 2026-04-27T07:04:16
CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T07:04:17
CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T07:04:17
CNSIM CNSIM1 read dsuser dsBase::table1DDS 2026-04-27T07:04:17
CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T07:04:18
CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T07:04:18
CNSIM CNSIM1 read dsuser dsBase::table1DDS 2026-04-27T07:04:18
CNSIM CNSIM1 read dsuser dsBase::quantileMeanDS 2026-04-27T07:04:18
CNSIM CNSIM1 read dsuser dsBase::quantileMeanDS 2026-04-27T07:04:19
CNSIM CNSIM1 read dsuser dsBase::meanDS 2026-04-27T07:04:19
CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T07:04:19
CNSIM CNSIM1 read dsuser dsBase::table1DDS 2026-04-27T07:04:20
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:04:20
CNSIM CNSIM1 read dsuser dsBase::quantileMeanDS 2026-04-27T07:04:20
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T07:04:21
CNSIM CNSIM1 read dsuser dsBase::meanDS 2026-04-27T07:04:21
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:04:21
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:04:22
CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T07:04:22
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T07:04:22
CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T07:04:22
CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T07:04:23
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T07:04:23
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:04:23
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:04:24
CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T07:04:24
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T07:04:24
CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T07:04:24
CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T07:04:24
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:04:25
CNSIM CNSIM1 read dsuser dsBase::quantileMeanDS 2026-04-27T07:04:25
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T07:04:25
CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T07:04:25
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T07:04:26
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:04:26
CNSIM CNSIM1 read dsuser dsBase::quantileMeanDS 2026-04-27T07:04:26
CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T07:04:26
CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T07:04:27
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T07:04:27
CNSIM CNSIM1 read dsuser dsBase::quantileMeanDS 2026-04-27T07:04:27
CNSIM CNSIM1 read dsuser dsBase::levelsDS 2026-04-27T07:04:28
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T07:04:28
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:04:28
CNSIM CNSIM1 read dsuser dsBase::table1DDS 2026-04-27T07:04:28
CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T07:04:29
CNSIM CNSIM1 read dsuser dsBase::levelsDS 2026-04-27T07:04:29
CNSIM CNSIM1 read dsuser dsBase::levelsDS 2026-04-27T07:04:30
CNSIM CNSIM1 read dsuser dsBase::table1DDS 2026-04-27T07:04:30
CNSIM CNSIM1 read dsuser base::assign 2026-04-27T07:27:50
CNSIM CNSIM1 read dsuser dsBase::lsDS 2026-04-27T07:27:51
CNSIM CNSIM1 read dsuser base::exists 2026-04-27T07:27:52
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T07:27:52
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:27:52
CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T07:27:53
CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T07:27:54
CNSIM CNSIM1 read dsuser base::assign 2026-04-27T08:22:54
CNSIM CNSIM1 read dsuser dsBase::lsDS 2026-04-27T08:22:55
CNSIM CNSIM1 read dsuser base::exists 2026-04-27T08:22:55
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T08:22:56
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T08:22:56
CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T08:22:56
CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T08:22:56
CNSIM CNSIM1 read dsuser base::assign 2026-04-27T08:48:09
CNSIM CNSIM1 read dsuser dsBase::lsDS 2026-04-27T08:48:10
CNSIM CNSIM1 read dsuser base::exists 2026-04-27T08:48:10
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T08:48:10
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T08:48:10
CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T08:48:10
CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T08:48:11
CNSIM CNSIM1 read dsuser base::assign 2026-04-27T08:51:55
CNSIM CNSIM1 read dsuser dsBase::lsDS 2026-04-27T08:51:56
CNSIM CNSIM1 read dsuser base::exists 2026-04-27T08:51:56
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T08:51:56
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T08:51:56
CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T08:51:56
CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T08:51:56
CNSIM CNSIM1 read dsuser base::assign 2026-04-27T08:53:05
CNSIM CNSIM1 read dsuser dsBase::lsDS 2026-04-27T08:53:06
CNSIM CNSIM1 read dsuser base::exists 2026-04-27T08:53:06
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T08:53:07
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T08:53:07
CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T08:53:07
CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T08:53:07
CNSIM CNSIM1 read dsuser base::assign 2026-04-27T08:59:21
CNSIM CNSIM1 read dsuser dsBase::lsDS 2026-04-27T08:59:22
CNSIM CNSIM1 read dsuser base::exists 2026-04-27T08:59:22
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T08:59:22
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T08:59:22
CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T08:59:22
CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T08:59:23
CNSIM CNSIM1 read dsuser base::assign 2026-04-27T09:01:09
CNSIM CNSIM1 read dsuser dsBase::lsDS 2026-04-27T09:01:10
CNSIM CNSIM1 read dsuser base::exists 2026-04-27T09:01:11
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T09:01:11
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T09:01:12
CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T09:01:12
CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T09:01:12
CNSIM CNSIM1 read dsuser base::assign 2026-04-27T09:02:05
CNSIM CNSIM1 read dsuser base::assign 2026-04-27T09:02:06
CNSIM CNSIM1 read dsuser dsBase::lsDS 2026-04-27T09:02:06
CNSIM CNSIM1 read dsuser base::exists 2026-04-27T09:02:07
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T09:02:07
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T09:02:07
CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T09:02:07
CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T09:02:07
CNSIM CNSIM1 read dsuser dsBase::lsDS 2026-04-27T09:02:08
CNSIM CNSIM1 read dsuser base::exists 2026-04-27T09:02:08
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T09:02:09
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T09:02:09
CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T09:02:10
CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T09:02:10
CNSIM CNSIM1 read dsuser base::assign 2026-04-27T09:02:13
CNSIM CNSIM1 read dsuser dsBase::lsDS 2026-04-27T09:02:15
CNSIM CNSIM1 read dsuser base::exists 2026-04-27T09:02:15
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T09:02:16
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T09:02:16
CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T09:02:17
CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T09:02:17
CNSIM CNSIM1 read dsuser base::assign 2026-04-27T09:02:53
CNSIM CNSIM1 read dsuser dsBase::lsDS 2026-04-27T09:02:55
CNSIM CNSIM1 read dsuser base::exists 2026-04-27T09:02:55
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T09:02:56
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T09:02:56
CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T09:02:57
CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T09:02:58
CNSIM CNSIM1 read dsuser base::assign 2026-04-27T09:03:08
CNSIM CNSIM1 read dsuser dsBase::lsDS 2026-04-27T09:03:09
CNSIM CNSIM1 read dsuser base::exists 2026-04-27T09:03:10
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T09:03:11
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T09:03:11
CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T09:03:11
CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T09:03:12
CNSIM CNSIM1 read dsuser base::assign 2026-04-27T09:04:13
CNSIM CNSIM1 read dsuser dsBase::lsDS 2026-04-27T09:04:15
CNSIM CNSIM1 read dsuser base::exists 2026-04-27T09:04:15
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T09:04:16
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T09:04:16
CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T09:04:17
CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T09:04:18
CNSIM CNSIM1 read dsuser base::assign 2026-04-27T09:13:26
CNSIM CNSIM1 read dsuser dsBase::lsDS 2026-04-27T09:13:27
CNSIM CNSIM1 read dsuser base::exists 2026-04-27T09:13:27
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T09:13:27
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T09:13:28
CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T09:13:28
CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T09:13:28
CNSIM CNSIM1 read dsuser base::assign 2026-04-27T09:29:22
CNSIM CNSIM1 read dsuser dsBase::lsDS 2026-04-27T09:29:23
CNSIM CNSIM1 read dsuser base::exists 2026-04-27T09:29:24
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T09:29:24
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T09:29:25
CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T09:29:25
CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T09:29:26
CNSIM CNSIM1 read dsuser base::assign 2026-04-27T09:30:20
CNSIM CNSIM1 read dsuser dsBase::lsDS 2026-04-27T09:30:22
CNSIM CNSIM1 read dsuser base::exists 2026-04-27T09:30:22
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T09:30:23
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T09:30:23
CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T09:30:24
CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T09:30:24
CNSIM CNSIM1 read dsuser base::assign 2026-04-27T09:37:12
CNSIM CNSIM1 read dsuser dsBase::lsDS 2026-04-27T09:37:13
CNSIM CNSIM1 read dsuser base::exists 2026-04-27T09:37:13
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T09:37:13
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T09:37:13
CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T09:37:14
CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T09:37:14
CNSIM CNSIM1 read dsuser base::assign 2026-04-27T09:39:10
CNSIM CNSIM1 read dsuser dsBase::lsDS 2026-04-27T09:39:11
CNSIM CNSIM1 read dsuser base::assign 2026-04-27T09:39:37
CNSIM CNSIM1 read dsuser dsBase::lsDS 2026-04-27T09:39:38
CNSIM CNSIM1 read dsuser base::exists 2026-04-27T09:39:38
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T09:39:38
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T09:39:38
CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T09:39:38
CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T09:39:38
CNSIM CNSIM1 read dsuser base::assign 2026-04-27T09:41:11
CNSIM CNSIM1 read dsuser dsBase::lsDS 2026-04-27T09:41:12
CNSIM CNSIM1 read dsuser base::exists 2026-04-27T09:41:14
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T09:41:14
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T09:41:14
CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T09:41:14
CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T09:41:15
CNSIM CNSIM1 read dsuser base::assign 2026-04-27T09:56:50
CNSIM CNSIM1 read dsuser dsBase::lsDS 2026-04-27T09:56:51
CNSIM CNSIM1 read dsuser base::exists 2026-04-27T09:56:51
CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T09:56:52
CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T09:56:52
CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T09:56:52
CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T09:56:52
CNSIM CNSIM1 read dsuser1
CNSIM CNSIM2 read dsuser
CNSIM CNSIM2 read dsuser2
CNSIM CNSIM3 read dsuser
CNSIM CNSIM3 read dsuser3

Render and display report (HTML)

safe_project_crate_v1 |>
  dsROCrate::report(filepath = safe_project_crate_v1_rmd, 
                            title = "DataSHIELD Safe Project - Audit Report",
                            render = TRUE, 
                            overwrite = TRUE)


2.3. Audit Study

List users and dataset/table level permissions within a study (i.e., multiple servers)
study_crate_v1 <- 
  list(
    "opal_test" = opalr::opal.login(
      username = USERNAME,
      password = USERPASS,
      url = "https://opal-test.obiba.org"
    ),
    "opal_demo" = opalr::opal.login(
      username = USERNAME,
      password = USERPASS,
      url = "https://opal-demo.obiba.org"
    )
  ) |>
  dsROCrate::audit(project = "CNSIM")
#> opening file input connection.
#>  Found 6 records... Imported 6 records. Simplifying...
#> closing file input connection.
#> opening file input connection.
#>  Found 6 records... Imported 6 records. Simplifying...
#> closing file input connection.
#> opening file input connection.
#>  Found 6 records... Imported 6 records. Simplifying...
#> closing file input connection.
#> opening file input connection.
#>  Found 6 records... Imported 6 records. Simplifying...
#> closing file input connection.
#> opening file input connection.
#>  Found 6 records... Imported 6 records. Simplifying...
#> closing file input connection.
#> opening file input connection.
#>  Found 6 records... Imported 6 records. Simplifying...
#> closing file input connection.
#> opening file input connection.
#>  Found 500 records... Found 627 records... Imported 627 records. Simplifying...
#> closing file input connection.
#> opening file input connection.
#>  Found 500 records... Found 627 records... Imported 627 records. Simplifying...
#> closing file input connection.
#> opening file input connection.
#>  Found 500 records... Found 627 records... Imported 627 records. Simplifying...
#> closing file input connection.
#> opening file input connection.
#>  Found 500 records... Found 627 records... Imported 627 records. Simplifying...
#> closing file input connection.

print(study_crate_v1)
#> $opal_test
#> {
#>   "@context": "https://w3id.org/ro/crate/1.2/context",
#>   "@graph": [
#>     {
#>       "@id": "ro-crate-metadata.json",
#>       "@type": "CreativeWork",
#>       "about": {
#>         "@id": "./"
#>       },
#>       "conformsTo": {
#>         "@id": "https://w3id.org/ro/crate/1.2"
#>       }
#>     },
#>     {
#>       "@id": "./",
#>       "@type": "Dataset",
#>       "name": "",
#>       "description": "",
#>       "datePublished": "2026-04-27",
#>       "license": {
#>         "@id": "http://spdx.org/licenses/CC-BY-4.0"
#>       },
#>       "conformsTo": {
#>         "@id": "https://w3id.org/5s-crate/0.4"
#>       }
#>     },
#>     {
#>       "@id": "https://w3id.org/5s-crate/0.4",
#>       "@type": ["CreativeWork", "Profile"],
#>       "name": "Five Safes RO-Crate profile"
#>     },
#>     {
#>       "@id": "#person:8ab380609ec94312fa958741d1f0f0b1",
#>       "@type": "Person",
#>       "name": "user1"
#>     },
#>     {
#>       "@id": "#person:89bba9a8875a3a16196372b4c087edbd",
#>       "@type": "Person",
#>       "name": "ds"
#>     },
#>     {
#>       "@id": "#person:ab761662ca15f3f7658a0b3adeaae564",
#>       "@type": "Person",
#>       "name": "bthillo@gmail.com",
#>       "sub": "109004362127439404576",
#>       "email_verified": true,
#>       "given_name": "Roberto",
#>       "family_name": "Villegas-Diaz",
#>       "picture": "https://lh3.googleusercontent.com/a/ACg8ocK8GIJLuuDRjfevJjXSZ8Ymw_Y67r8_bsud8eLGClA92MS-GLhd8Q=s96-c",
#>       "email": "bthillo@gmail.com"
#>     },
#>     {
#>       "@id": "#person:f53ed7aa4ab05429c9d20f360d451a98",
#>       "@type": "Person",
#>       "name": "i.w.farr@googlemail.com",
#>       "sub": "106174335072326132292",
#>       "email_verified": true,
#>       "given_name": "ian",
#>       "family_name": "farr",
#>       "picture": "https://lh3.googleusercontent.com/a/ACg8ocKBagSKWdPGazh5CWkffgXleyPaSqn66IlAOMm0voLm-79S1A=s96-c",
#>       "email": "i.w.farr@googlemail.com"
#>     },
#>     {
#>       "@id": "#person:a0af2a94926db1b49ad7a812eef509d2",
#>       "@type": "Person",
#>       "name": "dsuser"
#>     },
#>     {
#>       "@id": "#person:315ba97bcf520312d32e7f1e4f5e8575",
#>       "@type": "Person",
#>       "name": "yannick.marcon@obiba.org",
#>       "sub": "112183318969537221630",
#>       "email_verified": true,
#>       "given_name": "Yannick",
#>       "hd": "obiba.org",
#>       "family_name": "Marcon",
#>       "picture": "https://lh3.googleusercontent.com/a/ACg8ocJFG4mQ2lz80itm91vEUX3jnj12IRv1tF_OaVBDf2Ear6pUsA=s96-c",
#>       "email": "yannick.marcon@obiba.org"
#>     },
#>     {
#>       "@id": "#project:7ba189863f9f641196596cb28e04aa14",
#>       "@type": "Project",
#>       "name": "CNSIM",
#>       "dateCreated": "2026-01-08T17:40:46.773Z",
#>       "dateModified": "2026-01-17T10:53:52.663Z",
#>       "hasPart": [
#>         {
#>           "@id": "#asset:fad6faf661584d53e58f9730b14c5aae"
#>         },
#>         {
#>           "@id": "#asset:b6721026564c746f604df7ba785931fa"
#>         },
#>         {
#>           "@id": "#asset:14fbb8de0021e6d237a2ed7779f9625d"
#>         }
#>       ]
#>     },
#>   ❗ <file truncated, set `options(max_lines = Inf)` to display all>
#>   ]
#> }
#> 
#> $opal_demo
#> {
#>   "@context": "https://w3id.org/ro/crate/1.2/context",
#>   "@graph": [
#>     {
#>       "@id": "ro-crate-metadata.json",
#>       "@type": "CreativeWork",
#>       "about": {
#>         "@id": "./"
#>       },
#>       "conformsTo": {
#>         "@id": "https://w3id.org/ro/crate/1.2"
#>       }
#>     },
#>     {
#>       "@id": "./",
#>       "@type": "Dataset",
#>       "name": "",
#>       "description": "",
#>       "datePublished": "2026-04-27",
#>       "license": {
#>         "@id": "http://spdx.org/licenses/CC-BY-4.0"
#>       },
#>       "conformsTo": {
#>         "@id": "https://w3id.org/5s-crate/0.4"
#>       },
#>       "hasPart": [
#>         {
#>           "@id": "20260427T105658-dslogs-dsuser.log"
#>         },
#>         {
#>           "@id": "20260427T105658-dslogs-dsuser_mappings.csv"
#>         }
#>       ]
#>     },
#>     {
#>       "@id": "https://w3id.org/5s-crate/0.4",
#>       "@type": ["CreativeWork", "Profile"],
#>       "name": "Five Safes RO-Crate profile"
#>     },
#>     {
#>       "@id": "#person:a0af2a94926db1b49ad7a812eef509d2",
#>       "@type": "Person",
#>       "name": "dsuser"
#>     },
#>     {
#>       "@id": "#person:cb809df1c2fb30b154f60b843e62b3d0",
#>       "@type": "Person",
#>       "name": "dsuser1"
#>     },
#>     {
#>       "@id": "#person:a3cd7ce7818436c83b1eadaa5ba47411",
#>       "@type": "Person",
#>       "name": "dsuser2"
#>     },
#>     {
#>       "@id": "#person:5657241505661473308ae9aa9a378293",
#>       "@type": "Person",
#>       "name": "dsuser3"
#>     },
#>     {
#>       "@id": "#project:7ba189863f9f641196596cb28e04aa14",
#>       "@type": "Project",
#>       "name": "CNSIM",
#>       "dateCreated": "2026-04-27T06:29:48.216Z",
#>       "dateModified": "2026-04-27T06:29:52.944Z",
#>       "hasPart": [
#>         {
#>           "@id": "#asset:fad6faf661584d53e58f9730b14c5aae"
#>         },
#>         {
#>           "@id": "#asset:b6721026564c746f604df7ba785931fa"
#>         },
#>         {
#>           "@id": "#asset:14fbb8de0021e6d237a2ed7779f9625d"
#>         }
#>       ]
#>     },
#>     {
#>       "@id": "#perm:9bf7f75b6c5b07d02830b95652cd39a0-dict-summary-read",
#>       "@type": "ReadAction",
#>       "agent": {
#>         "@id": "#person:a0af2a94926db1b49ad7a812eef509d2"
#>       },
#>       "object": {
#>         "@id": "#asset:fad6faf661584d53e58f9730b14c5aae"
#>       },
#>       "actionStatus": "PotentialActionStatus",
#>       "description": "User may view table dictionary and summary statistics only; access to individual values is restricted."
#>     },
#>     {
#>       "@id": "#perm:4d2673da68a58c3bce23a61d97b6df51-dict-summary-read",
#>       "@type": "ReadAction",
#>       "agent": {
#>         "@id": "#person:cb809df1c2fb30b154f60b843e62b3d0"
#>       },
#>       "object": {
#>         "@id": "#asset:fad6faf661584d53e58f9730b14c5aae"
#>       },
#>   ❗ <file truncated, set `options(max_lines = Inf)` to display all>
#>   ]
#> }
Markdown report

A markdown report can be created with an overview and details for an RO-Crate, using the dsROCrate::report:

Only generate .Rmd file

study_crate_v1_rmd <- tempfile(fileext = ".Rmd") # temporary file

safe_project_crate_contents <- study_crate_v1 |>
  dsROCrate::report(filepath = study_crate_v1_rmd, render = FALSE)
#> 6 'Author' entities were found!
#> 3 asset entities were found!
#> 1 'Project' entity was found!
#> 22 'CreativeWork', 'PropertyValue' OR 'SoftwareApplication' entities were found!
#> 4 'Author' entities were found!
#> 3 asset entities were found!
#> 1 'Project' entity was found!
#> 22 'CreativeWork', 'PropertyValue' OR 'SoftwareApplication' entities were found!
#> 2 'File' entities were found!

# display Overview diagram
safe_project_crate_contents$overview_diagram

# display Overview data (Safe People, Safe Projects and Safe Data)
safe_project_crate_contents$overview_data |>
  knitr::kable()
Server Project Data Access Level People Function Timestamp
opal_demo CNSIM CNSIM1 read dsuser base::assign 2026-04-27T06:59:58
opal_demo CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T06:59:59
opal_demo CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T07:00:00
opal_demo CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T07:00:00
opal_demo CNSIM CNSIM1 read dsuser dsBase::table1DDS 2026-04-27T07:00:01
opal_demo CNSIM CNSIM1 read dsuser dsBase::quantileMeanDS 2026-04-27T07:00:01
opal_demo CNSIM CNSIM1 read dsuser dsBase::meanDS 2026-04-27T07:00:02
opal_demo CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:00:02
opal_demo CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T07:00:02
opal_demo CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:00:03
opal_demo CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T07:00:03
opal_demo CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T07:00:04
opal_demo CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T07:00:04
opal_demo CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:00:04
opal_demo CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T07:00:05
opal_demo CNSIM CNSIM1 read dsuser dsBase::quantileMeanDS 2026-04-27T07:00:05
opal_demo CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T07:00:06
opal_demo CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:00:06
opal_demo CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T07:00:06
opal_demo CNSIM CNSIM1 read dsuser dsBase::levelsDS 2026-04-27T07:00:07
opal_demo CNSIM CNSIM1 read dsuser dsBase::table1DDS 2026-04-27T07:00:07
opal_demo CNSIM CNSIM1 read dsuser base::assign 2026-04-27T07:01:38
opal_demo CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T07:01:39
opal_demo CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T07:01:40
opal_demo CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T07:01:40
opal_demo CNSIM CNSIM1 read dsuser dsBase::table1DDS 2026-04-27T07:01:40
opal_demo CNSIM CNSIM1 read dsuser dsBase::quantileMeanDS 2026-04-27T07:01:41
opal_demo CNSIM CNSIM1 read dsuser dsBase::meanDS 2026-04-27T07:01:41
opal_demo CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:01:42
opal_demo CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T07:01:42
opal_demo CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T07:01:43
opal_demo CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T07:01:43
opal_demo CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T07:01:43
opal_demo CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:01:44
opal_demo CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T07:01:44
opal_demo CNSIM CNSIM1 read dsuser dsBase::quantileMeanDS 2026-04-27T07:01:45
opal_demo CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T07:01:45
opal_demo CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:01:45
opal_demo CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T07:01:46
opal_demo CNSIM CNSIM1 read dsuser dsBase::levelsDS 2026-04-27T07:01:46
opal_demo CNSIM CNSIM1 read dsuser dsBase::table1DDS 2026-04-27T07:01:47
opal_demo CNSIM CNSIM1 read dsuser base::assign 2026-04-27T07:02:46
opal_demo CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T07:02:48
opal_demo CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T07:02:49
opal_demo CNSIM CNSIM1 read dsuser dsBase::table1DDS 2026-04-27T07:02:49
opal_demo CNSIM CNSIM1 read dsuser dsBase::quantileMeanDS 2026-04-27T07:02:50
opal_demo CNSIM CNSIM1 read dsuser dsBase::meanDS 2026-04-27T07:02:50
opal_demo CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:02:50
opal_demo CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T07:02:51
opal_demo CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:02:51
opal_demo CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T07:02:52
opal_demo CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T07:02:52
opal_demo CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T07:02:52
opal_demo CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:02:53
opal_demo CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T07:02:53
opal_demo CNSIM CNSIM1 read dsuser dsBase::quantileMeanDS 2026-04-27T07:02:54
opal_demo CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T07:02:54
opal_demo CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:02:54
opal_demo CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T07:02:55
opal_demo CNSIM CNSIM1 read dsuser dsBase::levelsDS 2026-04-27T07:02:55
opal_demo CNSIM CNSIM1 read dsuser dsBase::table1DDS 2026-04-27T07:02:56
opal_demo CNSIM CNSIM1 read dsuser base::assign 2026-04-27T07:03:28
opal_demo CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T07:03:30
opal_demo CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T07:03:30
opal_demo CNSIM CNSIM1 read dsuser dsBase::table1DDS 2026-04-27T07:03:31
opal_demo CNSIM CNSIM1 read dsuser dsBase::quantileMeanDS 2026-04-27T07:03:31
opal_demo CNSIM CNSIM1 read dsuser dsBase::meanDS 2026-04-27T07:03:31
opal_demo CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:03:32
opal_demo CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T07:03:32
opal_demo CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:03:33
opal_demo CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T07:03:33
opal_demo CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T07:03:33
opal_demo CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T07:03:34
opal_demo CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:03:34
opal_demo CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T07:03:34
opal_demo CNSIM CNSIM1 read dsuser dsBase::quantileMeanDS 2026-04-27T07:03:35
opal_demo CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T07:03:35
opal_demo CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:03:36
opal_demo CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T07:03:36
opal_demo CNSIM CNSIM1 read dsuser dsBase::levelsDS 2026-04-27T07:03:37
opal_demo CNSIM CNSIM1 read dsuser dsBase::table1DDS 2026-04-27T07:03:37
opal_demo CNSIM CNSIM1 read dsuser base::assign 2026-04-27T07:04:13
opal_demo CNSIM CNSIM1 read dsuser base::assign 2026-04-27T07:04:14
opal_demo CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T07:04:15
opal_demo CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T07:04:16
opal_demo CNSIM CNSIM1 read dsuser base::assign 2026-04-27T07:04:16
opal_demo CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T07:04:17
opal_demo CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T07:04:17
opal_demo CNSIM CNSIM1 read dsuser dsBase::table1DDS 2026-04-27T07:04:17
opal_demo CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T07:04:18
opal_demo CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T07:04:18
opal_demo CNSIM CNSIM1 read dsuser dsBase::table1DDS 2026-04-27T07:04:18
opal_demo CNSIM CNSIM1 read dsuser dsBase::quantileMeanDS 2026-04-27T07:04:18
opal_demo CNSIM CNSIM1 read dsuser dsBase::quantileMeanDS 2026-04-27T07:04:19
opal_demo CNSIM CNSIM1 read dsuser dsBase::meanDS 2026-04-27T07:04:19
opal_demo CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T07:04:19
opal_demo CNSIM CNSIM1 read dsuser dsBase::table1DDS 2026-04-27T07:04:20
opal_demo CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:04:20
opal_demo CNSIM CNSIM1 read dsuser dsBase::quantileMeanDS 2026-04-27T07:04:20
opal_demo CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T07:04:21
opal_demo CNSIM CNSIM1 read dsuser dsBase::meanDS 2026-04-27T07:04:21
opal_demo CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:04:21
opal_demo CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:04:22
opal_demo CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T07:04:22
opal_demo CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T07:04:22
opal_demo CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T07:04:22
opal_demo CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T07:04:23
opal_demo CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T07:04:23
opal_demo CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:04:23
opal_demo CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:04:24
opal_demo CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T07:04:24
opal_demo CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T07:04:24
opal_demo CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T07:04:24
opal_demo CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T07:04:24
opal_demo CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:04:25
opal_demo CNSIM CNSIM1 read dsuser dsBase::quantileMeanDS 2026-04-27T07:04:25
opal_demo CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T07:04:25
opal_demo CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T07:04:25
opal_demo CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T07:04:26
opal_demo CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:04:26
opal_demo CNSIM CNSIM1 read dsuser dsBase::quantileMeanDS 2026-04-27T07:04:26
opal_demo CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T07:04:26
opal_demo CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T07:04:27
opal_demo CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T07:04:27
opal_demo CNSIM CNSIM1 read dsuser dsBase::quantileMeanDS 2026-04-27T07:04:27
opal_demo CNSIM CNSIM1 read dsuser dsBase::levelsDS 2026-04-27T07:04:28
opal_demo CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T07:04:28
opal_demo CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:04:28
opal_demo CNSIM CNSIM1 read dsuser dsBase::table1DDS 2026-04-27T07:04:28
opal_demo CNSIM CNSIM1 read dsuser dsBase::lengthDS 2026-04-27T07:04:29
opal_demo CNSIM CNSIM1 read dsuser dsBase::levelsDS 2026-04-27T07:04:29
opal_demo CNSIM CNSIM1 read dsuser dsBase::levelsDS 2026-04-27T07:04:30
opal_demo CNSIM CNSIM1 read dsuser dsBase::table1DDS 2026-04-27T07:04:30
opal_demo CNSIM CNSIM1 read dsuser base::assign 2026-04-27T07:27:50
opal_demo CNSIM CNSIM1 read dsuser dsBase::lsDS 2026-04-27T07:27:51
opal_demo CNSIM CNSIM1 read dsuser base::exists 2026-04-27T07:27:52
opal_demo CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T07:27:52
opal_demo CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T07:27:52
opal_demo CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T07:27:53
opal_demo CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T07:27:54
opal_demo CNSIM CNSIM1 read dsuser base::assign 2026-04-27T08:22:54
opal_demo CNSIM CNSIM1 read dsuser dsBase::lsDS 2026-04-27T08:22:55
opal_demo CNSIM CNSIM1 read dsuser base::exists 2026-04-27T08:22:55
opal_demo CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T08:22:56
opal_demo CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T08:22:56
opal_demo CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T08:22:56
opal_demo CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T08:22:56
opal_demo CNSIM CNSIM1 read dsuser base::assign 2026-04-27T08:48:09
opal_demo CNSIM CNSIM1 read dsuser dsBase::lsDS 2026-04-27T08:48:10
opal_demo CNSIM CNSIM1 read dsuser base::exists 2026-04-27T08:48:10
opal_demo CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T08:48:10
opal_demo CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T08:48:10
opal_demo CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T08:48:10
opal_demo CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T08:48:11
opal_demo CNSIM CNSIM1 read dsuser base::assign 2026-04-27T08:51:55
opal_demo CNSIM CNSIM1 read dsuser dsBase::lsDS 2026-04-27T08:51:56
opal_demo CNSIM CNSIM1 read dsuser base::exists 2026-04-27T08:51:56
opal_demo CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T08:51:56
opal_demo CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T08:51:56
opal_demo CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T08:51:56
opal_demo CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T08:51:56
opal_demo CNSIM CNSIM1 read dsuser base::assign 2026-04-27T08:53:05
opal_demo CNSIM CNSIM1 read dsuser dsBase::lsDS 2026-04-27T08:53:06
opal_demo CNSIM CNSIM1 read dsuser base::exists 2026-04-27T08:53:06
opal_demo CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T08:53:07
opal_demo CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T08:53:07
opal_demo CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T08:53:07
opal_demo CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T08:53:07
opal_demo CNSIM CNSIM1 read dsuser base::assign 2026-04-27T08:59:21
opal_demo CNSIM CNSIM1 read dsuser dsBase::lsDS 2026-04-27T08:59:22
opal_demo CNSIM CNSIM1 read dsuser base::exists 2026-04-27T08:59:22
opal_demo CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T08:59:22
opal_demo CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T08:59:22
opal_demo CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T08:59:22
opal_demo CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T08:59:23
opal_demo CNSIM CNSIM1 read dsuser base::assign 2026-04-27T09:01:09
opal_demo CNSIM CNSIM1 read dsuser dsBase::lsDS 2026-04-27T09:01:10
opal_demo CNSIM CNSIM1 read dsuser base::exists 2026-04-27T09:01:11
opal_demo CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T09:01:11
opal_demo CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T09:01:12
opal_demo CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T09:01:12
opal_demo CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T09:01:12
opal_demo CNSIM CNSIM1 read dsuser base::assign 2026-04-27T09:02:05
opal_demo CNSIM CNSIM1 read dsuser base::assign 2026-04-27T09:02:06
opal_demo CNSIM CNSIM1 read dsuser dsBase::lsDS 2026-04-27T09:02:06
opal_demo CNSIM CNSIM1 read dsuser base::exists 2026-04-27T09:02:07
opal_demo CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T09:02:07
opal_demo CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T09:02:07
opal_demo CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T09:02:07
opal_demo CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T09:02:07
opal_demo CNSIM CNSIM1 read dsuser dsBase::lsDS 2026-04-27T09:02:08
opal_demo CNSIM CNSIM1 read dsuser base::exists 2026-04-27T09:02:08
opal_demo CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T09:02:09
opal_demo CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T09:02:09
opal_demo CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T09:02:10
opal_demo CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T09:02:10
opal_demo CNSIM CNSIM1 read dsuser base::assign 2026-04-27T09:02:13
opal_demo CNSIM CNSIM1 read dsuser dsBase::lsDS 2026-04-27T09:02:15
opal_demo CNSIM CNSIM1 read dsuser base::exists 2026-04-27T09:02:15
opal_demo CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T09:02:16
opal_demo CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T09:02:16
opal_demo CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T09:02:17
opal_demo CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T09:02:17
opal_demo CNSIM CNSIM1 read dsuser base::assign 2026-04-27T09:02:53
opal_demo CNSIM CNSIM1 read dsuser dsBase::lsDS 2026-04-27T09:02:55
opal_demo CNSIM CNSIM1 read dsuser base::exists 2026-04-27T09:02:55
opal_demo CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T09:02:56
opal_demo CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T09:02:56
opal_demo CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T09:02:57
opal_demo CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T09:02:58
opal_demo CNSIM CNSIM1 read dsuser base::assign 2026-04-27T09:03:08
opal_demo CNSIM CNSIM1 read dsuser dsBase::lsDS 2026-04-27T09:03:09
opal_demo CNSIM CNSIM1 read dsuser base::exists 2026-04-27T09:03:10
opal_demo CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T09:03:11
opal_demo CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T09:03:11
opal_demo CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T09:03:11
opal_demo CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T09:03:12
opal_demo CNSIM CNSIM1 read dsuser base::assign 2026-04-27T09:04:13
opal_demo CNSIM CNSIM1 read dsuser dsBase::lsDS 2026-04-27T09:04:15
opal_demo CNSIM CNSIM1 read dsuser base::exists 2026-04-27T09:04:15
opal_demo CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T09:04:16
opal_demo CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T09:04:16
opal_demo CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T09:04:17
opal_demo CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T09:04:18
opal_demo CNSIM CNSIM1 read dsuser base::assign 2026-04-27T09:13:26
opal_demo CNSIM CNSIM1 read dsuser dsBase::lsDS 2026-04-27T09:13:27
opal_demo CNSIM CNSIM1 read dsuser base::exists 2026-04-27T09:13:27
opal_demo CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T09:13:27
opal_demo CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T09:13:28
opal_demo CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T09:13:28
opal_demo CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T09:13:28
opal_demo CNSIM CNSIM1 read dsuser base::assign 2026-04-27T09:29:22
opal_demo CNSIM CNSIM1 read dsuser dsBase::lsDS 2026-04-27T09:29:23
opal_demo CNSIM CNSIM1 read dsuser base::exists 2026-04-27T09:29:24
opal_demo CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T09:29:24
opal_demo CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T09:29:25
opal_demo CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T09:29:25
opal_demo CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T09:29:26
opal_demo CNSIM CNSIM1 read dsuser base::assign 2026-04-27T09:30:20
opal_demo CNSIM CNSIM1 read dsuser dsBase::lsDS 2026-04-27T09:30:22
opal_demo CNSIM CNSIM1 read dsuser base::exists 2026-04-27T09:30:22
opal_demo CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T09:30:23
opal_demo CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T09:30:23
opal_demo CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T09:30:24
opal_demo CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T09:30:24
opal_demo CNSIM CNSIM1 read dsuser base::assign 2026-04-27T09:37:12
opal_demo CNSIM CNSIM1 read dsuser dsBase::lsDS 2026-04-27T09:37:13
opal_demo CNSIM CNSIM1 read dsuser base::exists 2026-04-27T09:37:13
opal_demo CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T09:37:13
opal_demo CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T09:37:13
opal_demo CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T09:37:14
opal_demo CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T09:37:14
opal_demo CNSIM CNSIM1 read dsuser base::assign 2026-04-27T09:39:10
opal_demo CNSIM CNSIM1 read dsuser dsBase::lsDS 2026-04-27T09:39:11
opal_demo CNSIM CNSIM1 read dsuser base::assign 2026-04-27T09:39:37
opal_demo CNSIM CNSIM1 read dsuser dsBase::lsDS 2026-04-27T09:39:38
opal_demo CNSIM CNSIM1 read dsuser base::exists 2026-04-27T09:39:38
opal_demo CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T09:39:38
opal_demo CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T09:39:38
opal_demo CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T09:39:38
opal_demo CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T09:39:38
opal_demo CNSIM CNSIM1 read dsuser base::assign 2026-04-27T09:41:11
opal_demo CNSIM CNSIM1 read dsuser dsBase::lsDS 2026-04-27T09:41:12
opal_demo CNSIM CNSIM1 read dsuser base::exists 2026-04-27T09:41:14
opal_demo CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T09:41:14
opal_demo CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T09:41:14
opal_demo CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T09:41:14
opal_demo CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T09:41:15
opal_demo CNSIM CNSIM1 read dsuser base::assign 2026-04-27T09:56:50
opal_demo CNSIM CNSIM1 read dsuser dsBase::lsDS 2026-04-27T09:56:51
opal_demo CNSIM CNSIM1 read dsuser base::exists 2026-04-27T09:56:51
opal_demo CNSIM CNSIM1 read dsuser dsBase::classDS 2026-04-27T09:56:52
opal_demo CNSIM CNSIM1 read dsuser dsBase::isValidDS 2026-04-27T09:56:52
opal_demo CNSIM CNSIM1 read dsuser dsBase::dimDS 2026-04-27T09:56:52
opal_demo CNSIM CNSIM1 read dsuser dsBase::colnamesDS 2026-04-27T09:56:52
opal_demo CNSIM CNSIM1 read dsuser1
opal_demo CNSIM CNSIM2 read dsuser
opal_demo CNSIM CNSIM2 read dsuser2
opal_demo CNSIM CNSIM3 read dsuser
opal_demo CNSIM CNSIM3 read dsuser3
opal_test CNSIM CNSIM1 read dsuser

Render and display report (HTML)

study_crate_v1 |>
  dsROCrate::report(filepath = study_crate_v1_rmd, 
                            title = "DataSHIELD Study audit",
                            render = TRUE, 
                            overwrite = TRUE)


These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.