1. Search for "benten" and install `CWL (Rabix/Benten)`
1. You should see a message `Extension is enabled on 'SSH: ...' and disabled locally.`
1. Vscode: On the left sidebar, choose `Explorer` ![](images/Explorer.png)
- 1. Select `Clone Repository` and then enter [https://github.com/arvados/arvados-vscode-cwl-training](https://github.com/arvados/arvados-vscode-cwl-training)
- 1. Choose `Open`
+ 1. Select `Clone Repository` and enter [https://github.com/arvados/arvados-vscode-cwl-training](https://github.com/arvados/arvados-vscode-cwl-training), then click `Open`
+ 1. If asked `Would you like to open the cloned repository?` choose `Open`
1. Go to Arvados Workbench
1. Workbench: In the user menu, select `Current token`
1. Vscode: Click on the `Terminal` menu
1. Click `Run process`
1. This should take you to a panel showing the workflow run status
1. Workbench: workflow run status panel
- 1. Click on the three vertical dots in the top-right corner
+ 1. Wait for the badge in the upper right to say `Completed`
+ 1. In the lower panel, double click on the `echo` workflow step
+ 1. This will take you to the status panel for the `echo` step
+ 1. Click on the three vertical dots in the top-right corner next to `Completed`
1. Choose `Log`
- 1. Under `event type` choose `stdout`
+ 1. This will take you to the log viewer panel
+ 1. Under `Event Type` choose `stdout`
1. You should see your message
## 4. Working with input and output files
1. Click `Run Task…`
1. Select `Register or update CWL workflow on Arvados Workbench`
1. Go to your desktop
- 1. Using a text editor such as notepad, create a file "message.txt"
- 1. Enter a message like "Hello world" and save
+ 1. Right click on the desktop, select `New > Text Document`
+ 1. Name the file `message`
+ 1. Enter a message like "Hello earth" and save
1. Workbench: Go to `+NEW` and select `New project`
1. Enter a name for the project like "Lesson 2"
1. You should arrive at the panel for the new project
1. Arvados workbench: With `Lesson 2` project selected
1. Click on +NEW and select `New collection`
- 1. Call the collection "my message"
+ 1. For Collection Name enter "my message"
1. Drag and drop `message.txt` into the browser
1. Click `Create a collection`
1. The file should be uploaded and then you will be on the collection page
1. Click on the dot menu
1. Choose `Outputs`
1. Right click on `reverse.txt`
- 1. Click on `Download`
- 1. Open the downloaded file. It should have your results.
+ 1. Click on `Open in new tab`
+ 1. The results should be visible in a new browser tab.
## 5. Register a workflow with default inputs
The default value for the `message` parameter will taken from the `lesson3/defaults.yaml` file
+1. Vscode: Click on the `lesson3/main.cwl` file
+ 1. Click on the `Terminal` menu
+ 1. Click `Run Task…`
+ 1. Select `Register or update CWL workflow on Arvados Workbench`
1. Workbench: Go to `+NEW` and select `New project`
1. Enter a name for the project like "Lesson 3"
1. You should arrive at the panel for the new project
1. The `#main/message` parameter will be pre-filled with your default value. You can choose to change it or use the default.
1. Click `Run process`
1. This should take you to the status page for this workflow
+ 1. The greeting will appear in the `Log` of the `echo` task, which
+ can be found the same way as described earlier in section 3.
## 6. Run a workflow without registering it
1. Vscode: In the bottom panel select the `Terminal` tab
1. In the upper right corner of the Terminal tab select `Task - Run CWL Workflow` from the drop-down
1. Look for logging text like `submitted container_request zzzzz-xvhdp-0123456789abcde`
- 1. Highlight and copy the workflow identifier (this the string containing -xvhdp- in the middle)
+ 1. Highlight and copy the workflow identifier (this the string containing `-xvhdp-` in the middle)
1. The results of this run will appear in the terminal when the run completes.
1. Workbench: Paste the workflow identifier into the search box
1. This will take you to the status page for this workflow
+
+
+## Notes
+
+If you need to change something about the environment of the user on
+the remote host (for example, the user has been added to a new unix
+group) you need to restart the vscode server that runs on the remote
+host. Do this in vscode:
+
+ctrl+shift+p: `Remote-SSH: Kill VS Code Server on Host`
+
+This is because the vscode server remains running on the remote host
+even after you disconnect, so exiting/restarting vscode on the desktop
+has no effect.