From 2c1379cca5c5436db2811c595fbe5f413d0074ad Mon Sep 17 00:00:00 2001 From: Henry Luetcke <hluetcke@ethz.ch> Date: Wed, 7 Aug 2024 12:07:15 +0200 Subject: [PATCH] update section on sharing with Player scripts --- RRP-User-Documentation.html | 53 ++++++++++++++++++++++++++++++++----- rrp-docs.md | 13 +++++++-- 2 files changed, 58 insertions(+), 8 deletions(-) diff --git a/RRP-User-Documentation.html b/RRP-User-Documentation.html index 5efcd80..5744316 100644 --- a/RRP-User-Documentation.html +++ b/RRP-User-Documentation.html @@ -384,11 +384,11 @@ and user credentials, then click <strong>Clone</strong>.</li> bundles</h2> <p>RRP projects can also be shared with other researchers (colleagues, reviewers etc.) that are not registered users on the server. The only -requirement for this is a computer with the <a href="https://www.docker.com/">Docker container engine</a> installed and -running. For small to medium-sized projects (up to a few GBs), RRP -Player bundles can be created that contain the whole project (code, -data, computational environment) in a single file. To create a Player -bundle:</p> +<strong>requirement is a computer with the <a href="https://www.docker.com/">Docker container engine</a></strong> +installed and running. For small to medium-sized projects (up to a few +GBs), RRP Player bundles can be created that contain the whole project +(code, data, computational environment) in a single file. To create a +Player bundle:</p> <ol type="1"> <li>Switch to the Share tab of the RRP project and ensure the repository is clean and up-to-date with the remote.</li> @@ -406,7 +406,7 @@ macOS / Linux) or the <code class="sourceCode bash"><span class="ex">play.bat</s on Windows. This will launch the JupyterLab interface in the default browser.</li> </ol> -<p><strong>Some caveats for running Player bundles:</strong></p> +<p><strong>Some caveats concerning running Player bundles:</strong></p> <ol type="1"> <li>Player bundles have been tested successfully on different combinations of OS and architectures, but <strong>there may be setups @@ -420,5 +420,46 @@ the security warning that pops up, also select <em>Open</em>.</li> </ol> <h2 data-number="6.3" id="sharing-projects-with-player-scripts"><span class="header-section-number">6.3</span> Sharing projects with Player scripts</h2> +<p>Player bundles will likely be inefficient for sharing very large RRP +projects, i.e. exceeding several GBs. In these cases, it is recommended +to upload the datasets to a research data repository supported by +openBIS. Furthermore, the computational environment (Docker image) +should be exported to a container registry, such as DockerHub. RRP +Player scripts can then be used to download Docker images and research +data directly from the end-users computer.</p> +<p>To create a Player script, first export the required openBIS datasets +to one of the research data repositories supported by openBIS (currently +<a href="https://zenodo.org/">Zenodo</a> and <a href="https://www.research-collection.ethz.ch/">ETH Research +Collection</a>). Please see the <a href="https://openbis.readthedocs.io/en/20.10.x/user-documentation/general-users/data-export.html">openBIS +documentation</a> for details how to export data to repositories. +Exported dataset permIDs are shown on the <strong>Share</strong> tab of +the RRP project in the <strong>Player scipts</strong> section. Next, +export the Docker image with the computational environment by clicking +<em>Export image</em>. Once the export has completed and and the status +of <em>Image exported</em> has changed to <em>Yes</em>, click +<em>Generate player script</em> and download the zip-archive, which will +only be a few KBs in size. The downloaded zip-file can be shared with +other researchers, e.g. by standard file-sharing services or e-mail.</p> +<p>To run the Player script on the recipient’s computer, ensure that <a href="https://www.docker.com/">Docker</a> is installed and running. +Extract the zip-archive and execute either the <code class="sourceCode bash"><span class="ex">play</span></code> script (on +macOS / Linux) or the <code class="sourceCode bash"><span class="ex">play.bat</span></code> / <code class="sourceCode bash"><span class="ex">play.ps1</span></code> scripts +on Windows. This will launch the JupyterLab interface in the default +browser.</p> +<p><strong>Some caveats concerning running Player scripts:</strong></p> +<ol type="1"> +<li>Player scripts have been tested successfully on different +combinations of OS and architectures, but <strong>there may be setups +that have not been tested</strong> and running Player scripts could +potentially fail.</li> +<li>If you execute the <code class="sourceCode bash"><span class="ex">play</span></code> script on +macOS from the Finder, you may receive an error stating <em>“play†+cannot be opened because it is from an unidentified developer</em>. To +execute the script, right-click on it and then choose <em>Open</em>. In +the security warning that pops up, also select <em>Open</em>.</li> +<li>The code repository is <strong>NOT</strong> included in the Player +script but will be cloned directly from the Git remote upon script +execution. For private repositories, user credentials must thus be +provided.</li> +</ol> </body> </html> diff --git a/rrp-docs.md b/rrp-docs.md index cff8d92..be611c9 100644 --- a/rrp-docs.md +++ b/rrp-docs.md @@ -57,18 +57,27 @@ RRP projects can be shared with other users of the same server (e.g. fellow lab 4. To create a new project from a share identifier, select the **+** button next to **Your projects** and click "Create new project from Share identifier". Enter the identifier and user credentials, then click **Clone**. ## Sharing projects with Player bundles -RRP projects can also be shared with other researchers (colleagues, reviewers etc.) that are not registered users on the server. The only requirement for this is a computer with the [Docker container engine](https://www.docker.com/) installed and running. For small to medium-sized projects (up to a few GBs), RRP Player bundles can be created that contain the whole project (code, data, computational environment) in a single file. To create a Player bundle: +RRP projects can also be shared with other researchers (colleagues, reviewers etc.) that are not registered users on the server. The only **requirement is a computer with the [Docker container engine](https://www.docker.com/)** installed and running. For small to medium-sized projects (up to a few GBs), RRP Player bundles can be created that contain the whole project (code, data, computational environment) in a single file. To create a Player bundle: 1. Switch to the Share tab of the RRP project and ensure the repository is clean and up-to-date with the remote. 2. In the **Create new player bundle** section, enter a short description and click *Create player bundle*. The creation of new player bundles may take a few minutes (depending on project size) and status is indicated above in the list of Player bundles. Once the status has switched from *in process* to *complete*, the Player bundle file can be downloaded by selecting the *download* icon. The downloaded zip-file can be shared with other researchers, e.g. by standard file-sharing services. 3. To run the Player bundle on the recipient's computer, ensure that [Docker](https://www.docker.com/) is installed and running. Extract the zip-archive and execute either the `play`{.bash} script (on macOS / Linux) or the `play.bat`{.bash} / `play.ps1`{.bash} scripts on Windows. This will launch the JupyterLab interface in the default browser. -**Some caveats for running Player bundles:** +**Some caveats concerning running Player bundles:** 1. Player bundles have been tested successfully on different combinations of OS and architectures, but **there may be setups that have not been tested** and running Player bundles could potentially fail. 2. If you execute the `play`{.bash} script on macOS from the Finder, you may receive an error stating *"play" cannot be opened because it is from an unidentified developer*. To execute the script, right-click on it and then choose *Open*. In the security warning that pops up, also select *Open*. ## Sharing projects with Player scripts +Player bundles will likely be inefficient for sharing very large RRP projects, i.e. exceeding several GBs. In these cases, it is recommended to upload the datasets to a research data repository supported by openBIS. Furthermore, the computational environment (Docker image) should be exported to a container registry, such as DockerHub. RRP Player scripts can then be used to download Docker images and research data directly from the end-users computer. +To create a Player script, first export the required openBIS datasets to one of the research data repositories supported by openBIS (currently [Zenodo](https://zenodo.org/) and [ETH Research Collection](https://www.research-collection.ethz.ch/)). Please see the [openBIS documentation](https://openbis.readthedocs.io/en/20.10.x/user-documentation/general-users/data-export.html) for details how to export data to repositories. Exported dataset permIDs are shown on the **Share** tab of the RRP project in the **Player scipts** section. Next, export the Docker image with the computational environment by clicking *Export image*. Once the export has completed and and the status of *Image exported* has changed to *Yes*, click *Generate player script* and download the zip-archive, which will only be a few KBs in size. The downloaded zip-file can be shared with other researchers, e.g. by standard file-sharing services or e-mail. +To run the Player script on the recipient's computer, ensure that [Docker](https://www.docker.com/) is installed and running. Extract the zip-archive and execute either the `play`{.bash} script (on macOS / Linux) or the `play.bat`{.bash} / `play.ps1`{.bash} scripts on Windows. This will launch the JupyterLab interface in the default browser. + +**Some caveats concerning running Player scripts:** + +1. Player scripts have been tested successfully on different combinations of OS and architectures, but **there may be setups that have not been tested** and running Player scripts could potentially fail. +2. If you execute the `play`{.bash} script on macOS from the Finder, you may receive an error stating *"play" cannot be opened because it is from an unidentified developer*. To execute the script, right-click on it and then choose *Open*. In the security warning that pops up, also select *Open*. +3. The code repository is **NOT** included in the Player script but will be cloned directly from the Git remote upon script execution. For private repositories, user credentials must thus be provided. -- GitLab