DSI functionality: Passing of print output / progress bars from server R sessions to Client session?

Hey all,

I am currently developing a dataSHIELD-based package for data preprocessing in a large consortial network of university hospitals in Germany. I am very thankful for all the work you and the whole community have done in developing and maintaining these tools! Let me ask the following question here, since I have not found anything about it in the repositories and documentations: Is it currently possible to somehow pass printed output on the server R sessions (like messages and progress bars) to the client side R session via DSI? Is something like that planned maybe? It would be very useful to give the client side some kind of feedback on time-consuming tasks being carried out in the server sessions. Or is that considered to be too vulnerable to misuse leading to data disclosure?

Best regards, Bastian


Because of the need to ensure that no disclosure occurs of sensitive data held by the server, the information which can be passed from the server to client is limited. There isn’t any generic way to exchange simple messages or progress indications.

During development the package dsDanger can be used to directly access the server’s state.


Thank you Stuart for your quick response. I understand the potential for disclosure when exchanging printed output in general. In light of how useful it could be, some kind of “tick”-message for client-side progress bars would be reasonable though right?


DataSHIELD Interface (DSI) package does support a progress bar for DSI operations like DSI::datashield.assign and DSI::datashield.aggregate, but that doesn’t usual represent the end-to-end progess for that analysis. Dispending what you are doing it could give you some indication of progress.

From the DSI document about its options:

  • datashield.progress is a logical to enable the visibility of the progress bars. Default value is TRUE.
  • datashield.progress.clear is a logical to make the progress bar disappear after it has been completed. Default value is FALSE.