Interactive Apps (Plugins)


Fig. 22 An example Interactive App that launches a desktop on the Owens cluster at the Ohio Supercomputer Center.

Interactive Apps provide a means for a user to launch and connect to an interactive batch job running a local web server (called Interactive App sessions) through the OnDemand portal (e.g., VNC server, Jupyter Notebook server, RStudio server, COMSOL server). They are considered Dashboard App Plugins and not Passenger apps such as the Dashboard App, Shell App, Files App, and etc.

This means that the Dashboard is responsible for building the Interactive App’s web form, submitting the batch job, and displaying connection information to the user for a running Interactive App session.

To get started it is recommended that an administrator walks through Enable Interactive Desktop at least once for your Open OnDemand portal. This will ensure your Open OnDemand portal is properly configured to host Interactive Apps.


A production Interactive App (denoted by sys) is deployed on the OnDemand Server under the following path on the local file system:


A personal sandbox Interactive App (denoted by dev) that you are developing is deployed in your home directory under the following path:


Interactive Apps are Dashboard App plugins. They can be directly accessed through the following URLs:

GET /pun/sys/dashboard/batch_connect/(app_type)/(app_name)/session_contexts/new

this view displays the HTML form for launching the corresponding Interactive App session


Display the HTML form for the production Interactive App in the my_app directory

GET /pun/sys/dashboard/batch_connect/sys/my_app/session_contexts/new HTTP/1.1


Display the HTML form for my development sandbox Interactive App in the my_app directory

GET /pun/sys/dashboard/batch_connect/dev/my_app/session_contexts/new HTTP/1.1
  • app_type – Type of Interactive App (sys or dev)

  • app_name – Directory name of the deployed Interactive App

GET /pun/sys/dashboard/batch_connect/sessions

this view lists all active Interactive App sessions and provides an interface for the user to connect to or delete a running session