3.1.6 • Published 12 months ago

vlabs-buildexp v3.1.6

Weekly downloads
-
License
ISC
Repository
-
Last release
12 months ago

#+title: Phase 3 Lab and Experiment Operations #+setupfile: ./org-html-themes/setup/theme-readtheorg-local.setup #+export_file_name: ./docs/index.html

  • Introduction

    A Virtual Labs /Experiment/ is a systematic collection of learning resources for Engineering students to learn about a single topic in a subject. Each experiment consists of some theory and reading material, interactive simulations and quizes or tests. The authoring process may be different for each institute but the end result is a collection of web-pages that are published together as an /Experiment/.

    Each experiment is a part of of /Lab/. A /Lab/ is a conceptually a collection of /Experiments/ related to a subject. A /Lab/ is published as a collection of web-pages that provide an entry point for a user to learn about that subject. The list of experiments included in a lab provides links to all the available experiments.

    Creating a publishable lab along with all it's experiments, is a process that involves a lot of manual effort that does not add any value to the lab itself. Labgen is a command-line tool that helps in avoiding all the repeatative effort involved in creating a lab from individual experiments and other lab content.

    The following processes are supported by labgen:

    1. Generation of Lab pages.
    2. Deployment of Lab
    3. Build and Deployment of Experiments

    The automated build and deployment of experiments is supported only for experiments generated using the /Phase 3 experiment authoring process/ (link?) defined by IIT-B.

  • Setup

** Install Dependencies

#+BEGIN_SRC bash

npm install

#+END_SRC

  • Generating Lab Pages

** Create Lab Repository

Create a new lab repository on [https://github.com/virtual-labs] or clone and existing one. The repository should be empty.

** Initialize Lab Descriptor

To start with the process of lab generation, you need a /Lab Descriptor/.

/Lab Descriptor/ is a json file the contains data for lab pages and other information for lab and experiment deployment. [file:lab-descriptor.org] document describes the structure of a lab descriptor file.

** Complete and Verify Lab Descriptor

Fill all the values in the =<path/to/lab/repo>/lab-descriptor.json= file generated above and create a pull-request to get the lab-descriptor approved.

*** LD Verification Example

Continuing the [[Init Example][init]] example, lets see how to submit the completed
lab-descriptor for verification.

In the lab repository, switch to a new branch and edit the json.

#+BEGIN_SRC bash
cd ~/virtual-labs/myNewLab
git checkout -b lab-descriptor
editor lab-descriptor.json
#+END_SRC

After filling the json push the file to remote and create a pull
request.

#+BEGIN_SRC bash
  git add lab-descriptor.json
  git commit -m "lab-descriptor for verification"
  git push origin lab-descriptor
#+END_SRC

Once this pull request is merged to master, do not make any new
changes to the lab-descriptor.

** Run All

From the /Phase-3-Lab-Template/ repository, run the following.

#+NAME: labgen-generate #+BEGIN_SRC bash npm run labgen -- --release minor <path/to/lab/repo> #+END_SRC

  • Building an Experiment

To build an individual experiment first clone the experiment and run the following:

#+BEGIN_SRC sh cd <path/to/experiment/repo> git clone https://github.com/virtual-labs/ph3-lab-mgmt/ cd ph3-lab-mgmt npm install npm run build-exp ../ #+END_SRC

Or, from with this repository:

#+BEGIN_SRC sh npm run build-exp <path/to/exp/repo> #+END_SRC

The first method is useful when running the script from the github actions pipeline.

The experiment can be found in the =build= directory with the experiment repository location.

  • DOCS

|--------------------------+---------------------------------------------------------------------------| | DOCUMENT | DESCRIPTION | |--------------------------+---------------------------------------------------------------------------| | [file:docs/lab-build-process.org] | This document describes the lab build process. | | [file:docs/lab-descriptor.org] | This document describes the structure and functions of the lab-descriptor | | [file:docs/exp-build-process.org] | Document describing the experiment build process. | | [file:docs/analytics.org] | Lab and Experiment Analytics details. | | [docs/units.org] | Defines all types of units in an experiment | | [docs/plugins.org] | Proposal for moving towards a plugin based architecture. | |--------------------------+---------------------------------------------------------------------------|

  • TODO
  • DOCS:

    • Lab Build Process

      • Lab descriptor - DONE
      • templates - TODO
      • staging and deployment process - DONE
    • Experiment build process

      • experiment descriptor - DONE
      • experiment model - DONE
    • Analytics - DONE

    • script usage - DONE

  • quiz - TODO

  • exp process integration and testing - DONE


  • identify modules - WIP
  • FAQ - WIP

  • label -> backend => build-process - DONE

3.1.6

12 months ago

3.1.5

12 months ago

3.1.4

12 months ago

3.1.3

12 months ago

3.1.2

12 months ago

3.1.1

12 months ago

3.1.0

12 months ago

3.0.9

1 year ago

3.0.8

1 year ago

3.0.7

1 year ago

3.0.6

1 year ago

3.0.5

1 year ago

3.0.3

1 year ago

3.0.2

1 year ago

3.0.1

1 year ago

3.0.0

1 year ago

2.20.69

1 year ago

2.19.69

1 year ago

2.18.69

1 year ago

2.17.69

1 year ago

2.16.69

1 year ago

2.15.69

1 year ago

2.14.69

1 year ago

2.13.69

1 year ago

2.12.69

1 year ago

2.11.69

1 year ago

2.10.69

1 year ago

2.9.69

1 year ago

2.8.69

1 year ago

2.7.69

1 year ago

2.7.15

1 year ago

2.7.14

1 year ago

2.7.13

1 year ago

2.7.12

1 year ago

2.7.11

1 year ago

2.7.10

1 year ago

2.7.9

1 year ago

2.7.8

1 year ago

2.7.7

1 year ago

2.7.6

1 year ago

2.7.5

1 year ago

2.7.4

1 year ago

2.7.3

1 year ago

2.7.2

1 year ago

2.7.1

1 year ago

2.7.0

1 year ago

2.6.9

1 year ago

1.6.9

1 year ago

1.6.3

1 year ago

1.6.1

1 year ago

1.6.0

1 year ago

1.5.0

1 year ago

1.4.0

1 year ago

1.3.0

1 year ago

1.2.0

1 year ago

1.1.0

1 year ago

1.0.0

1 year ago