Project

General

Profile

Feature #17229

Updated by Peter Amstutz over 2 years ago

Webshell in Workbench has two main pieces: 

 1. Shell in a box Javascript.    This is the main implementation of the terminal emulator and communication with the server.    It is lightly modified from the original upstream code.    Specifically, there are a few references to a static asset loaded from /webshell/enabled.gif 

 arvados/apps/workbench/lib/assets/javascripts/webshell/shell_in_a_box.js 

 2. The webshell page.    This creates a "ShellInABox" object with the appropriate URL.    It also has hooks that check for "username:" and "password:" prompts to automatically send the correct username and token: 

 arvados/apps/workbench/app/views/virtual_machines/webshell.html.erb 

 For Workbench 2 integration we probably want it to behave the same way as Workbench 1: 

 # Go to the virtual machines page 
 # Click on "Webshell" link 
 # Load webshell in a new tab 

 It probably makes sense to have the webshell exist on a static HTML page separate from the react app, and just do a handoff of the the webshell server URL, username and token. 

Back