Development, Test and Deployment process for Virtual Labs
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.
- 1 Development Process
- 2 Test Process
- 3 Deployment Process
- 4 Evaluation Process
The lab has a login account on devel.virtual-labs.ac.in. 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.
On this server, the lab may run its own svn repository. There is an svnserve process running on devel.virtual-labs.ac.in. Alternatively, developers may access their svn repositor(ies) via svn+ssh. Sorry, we are not supporting git or mercurial yet.
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 --> css/ 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 --> <other>/ ... exp/ exp1/ index.html <-- read only --> content.html <-- writable -->
The test server is only accessible via ssh from devel via the command:
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 http://devel.iiit.ac.in/test/~cse<nn>/build/
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
- 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.