Development, Test and Deployment process for Virtual Labs

From Virtual Labs Community
Jump to: navigation, search

This document describes the guidelines and instructions for the process of developing, testing and deploying the CSE and other virtual labs.

  • Author: Venkatesh Choppella and the SEVILLE (S/W Engg for Virtual Labs and Learning Environments) team, IIIT Hyderabad.
  • contact: venkatesh dot choppella at iiit dt ac dt in
  • Audience: Lab Developers (currently, CSE and those in IIIT-H. Others are welcome to consider adopting this process. Please contact the SEVILLE team if you need assistance.)

The process of building virtual lab may be broken down into a set of related processes:

  • development process: involves development of content and s/w
  • test process: involves testing the s/w and content on a local web server
  • deployment process: hosting the virtual lab on a server accessible to students and others
  • evaluation process: the process of evaluating the labs by the experts. This document does not yet cover this information. It will be done shortly.
  • field testing process: Will be addressed in the future.

Development Process

Development Server

The lab has a login account on The developer(s) may use this server primarily as a version control server.

  • Login account is cse<nn> where nn is your lab number.
  • Keys will be mailed to you in a few hours.

Mailing List

SVN Repositories

On this server, the lab may run its own svn repository. There is an svnserve process running on Alternatively, developers may access their svn repositor(ies) via svn+ssh. Sorry, we are not supporting git or mercurial yet.

Development Process

Lab developer responsibilities:

  • The primary lab developer needs to supply the url of the labs and each experiment : Deadline 27th October.
  • The primary lab developer is the point contact for all communication with the DNC about the lab.

Building the virtual lab

The end product of the virtual lab development process is a directory called build under the lab developer's home directory on the devel server.


The lab is a s/w application consisting of several documents (html, mostly), images, css files, and scripts. The lab deliverable, is whatever is shipped under build directory. We suggest that you follow the structure given below:

  index.html    <-- read only  -->
  custom.html   <-- writable -->
    default.css   <-- read only -->
    style.css     <-- read only -->
    custom.css    <--writable -->
  images/         <-- your js files here.  Don't delete  one's already there -->
  js/             <-- your js files here.  Don't delete  one's already there -->
    index.html    <-- read only -->
    content.html  <-- writable  -->

Test Process

Test server

The test server is only accessible via ssh from devel via the command:

 ssh  test

Remember, you need to be logged in into devel to run the above command.

Migrating the build to the test server

 scp ~/build test:public_html

Essentially, anything under public_html will be visible

Testing the lab on the test server

The test server already has a web server on it. To test the build installed under public_html, point your browser to<nn>/build/

Deployment Process

The deployment process is automatic and the only thing the developer needs to ensure is the presence of the lab application under a directory called ~/build-final.

Everything under ~/build-final and only that will be deployed.

The canonical url for the lab will be<nn>

Evaluation Process

  • If you are planning to deploy your lab on your own, please send us the url. Otherwise, we will assume that your lab is accessible through the url.<nn>