Version 5.0.0

(Link back to Version 5 Archive)

Further information pages on Version 5:


 Click here to expand...

Overview of the release

This release will bring much (but not all) of the functions in the dsBetaTest and dsBetaTestClient repos into the core repos and make them available as part of the core DataSHIELD install. The planned release date for these is in time for the DataSHIELD workshop in September 2019. There are significant changes to functions, structure of packages, the version of R (and likely other stuff), so this should be considered a breaking change - your existing set up (server and client side) may need to be upgraded and your existing analysis scripts may break or change behavior.

New dependencies

  • REQUIRED: The inclusion of metafor has increased the version of R required on the client side, it is now >=3.5.0
  • REQUIRED: R build dependencies - if you haven't upgraded R on your existing opal server for a while you might run into problems. R now compiles all it's packages from source (this makes them faster), but to do this it needs some extra tools. If your upgrade fails look at the R server log in Opal and see what software is missing from your server.
  • RECOMMENDED: To use the new histogram, heatmapPlot and contourPlot functions fully the version of opal must be >=v2.14. If opal <v2.14 the functions can still generate a histogram, a heat map and a contour respectively, with the 'deterministic' method, but will not work for the ’smallCellsRule’ and the 'probabilistic' methods. The functions will halt elegantly if the 'probabilistic’ or the ‘smallCellsRule' method is used in conjunction with opal <v2.14.
  • RECOMMENDED: To use the new scatterPlot function fully the version of opal must be >=v2.14. If opal <v2.14 the function can still generate a scatter plot with the 'deterministic' method, but will not work for the 'probabilistic' method. The ds.scatterPlot function will halt elegantly if the 'probabilistic’ method is used in conjunction with opal <v2.14.

Package structure

We are taking this opportunity to merge the graphics, modelling and stats packages into a main base repository on client and server sides. See the table at DataSHIELD functions in v5 for more info of what has been moved to where.

Package Name Version DescriptionManual
dsBaseClient5.1.0Client-side DataSHIELD base functions 
opal2.6.1Client-side data integration web application for biobanks by OBiBa
opaladmin1.120Client-side R toolbox to configure the R server behind Opal
Package Name Version DescriptionManual
dsBase5.1.0Server-side DataSHIELD base functions
opaladmin1.17Client-side R toolbox to configure the R server behind Opal


New DataSHIELD functionality

There are many new functions that have not been available before being released in v5. See the table at DataSHIELD functions in v5 for more info of what the new functions are.

Updated DataSHIELD functionality

Some v5 functions will replace existing functions in v4 (the current version). Where this is the case we make no effort to make them backwards compatible, and in many cases this will break existing analysis scripts. Please test your existing analysis scripts thoroughly with DataSHIELD version 5. See the table at DataSHIELD functions in v5 for more info of what has been updated. Updated functions in v5 also outlines the key differences where function arguements have changed.

New disclosure controls

Several new disclosure control mechanisms are now available, these are covered in the Disclosure control page.

Training and help using version 5

As ever, we like to keep our training material comprehensive and up to date. You can see it at Version 5 Archive

If you want to look at manual for each package you can do that in R for each function, on GitHub, or read the pdfs at dsBaseClient_5.0.0.pdf and dsBase_5.0.0.pdf.

How to update

Update opal

  1. Log into the Opal web interface.
  2. Go to the DataSHIELD management page.
  3. Click the button to remove all DataSHIELD packages and methods.
  4. Click the button to install DataSHIELD.
  5. After a few seconds the page should show version 5.0.0 as being installed and all the methods should be listed below.

Update client

  1. Remove all the old client libraries:
    remove.packages(c('dsBaseClient', 'dsModellingClient', 'dsStatsClient', 'dsGraphicsClient', 'dsBetaTestClient'))
  2. Make sure you have all the dependencies:
    install.packages(c('devtools','metafor','fields'), dependencies=TRUE)
  3. Install the new client library. There are a couple of ways of doing this:
    #If you have the obiba CRAN set up as a location to look for packages:
    #If you prefer installing from github:
    devtools::install_github(repo='datashield/dsBaseClient', ref='5.0.0')

Don't want to update?

We don't want to support version 4 anymore, and it is going to be difficult for us to do that, but we realise you might not want to upgrade straightaway, so you can still use version 4 if you want (mostly unsupported). We have tagged each of the repositories before we started to build version 5 (see table below). You can install these in opal by specifying the tag when you add a package in the GUI. You can install the client side libraries locally with commands like:

devtools::install_github(repo='datashield/dsStatsClient', ref='migrated_to_v5')

Here are links to the final versions of the version 4 packages:

What's next?

We don't rest, so we will be diving in to the next phase of development as outlined on the DataSHIELD Road map. The next big thing is DSI!

DataSHIELD Wiki by DataSHIELD is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. Based on a work at