📅 You're Invited: Meet the Socket team at RSAC (April 28 – May 1).RSVP
Socket
Sign inDemoInstall
Socket

vlabs-buildexp

Package Overview
Dependencies
Maintainers
2
Versions
57
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

vlabs-buildexp

* Introduction

3.1.6
latest
npm
Version published
Weekly downloads
155
-47.64%
Maintainers
2
Weekly downloads
 
Created
Source

#+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:

    • Generation of Lab pages.
    • Deployment of Lab
    • 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.

  • Requirements

    • node 12.12.x
      • Download link: [[https://nodejs.org/en/download/][node]]
      • recommended to install via [[https://github.com/nvm-sh/nvm][nvm]]
    • npm 6.11.x
  • 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][Github]] 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][This]] 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][Lab Build Process]] | This document describes the lab build process. | | [[file:docs/lab-descriptor.org][Lab Descriptor]] | This document describes the structure and functions of the lab-descriptor | | [[file:docs/exp-build-process.org][Experiment Build Process]] | Document describing the experiment build process. | | [[file:docs/analytics.org][Analytics]] | Lab and Experiment Analytics details. | | [[docs/units.org][Units]] | Defines all types of units in an experiment | | [[docs/plugins.org][Proposed Plugins]] | 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

FAQs

Package last updated on 11 May 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts