VLMS Block

VLMS Block

IMPORTANT NOTE : From version 2.8 and upper, the core implementation of VLMS block is now handled by the local VLMS plugin, in order to lower the core footprint of the installation. This documentation is subject to revision.

See VLMS local plugin for actualized documentation.

VLMS is a non standard infrastructure embedded within a LMS block. It provides a technical toolset to deploy and manage a set of virtualized LMSs from a single codebase. All virtualized lmss will run their own instance independently from each other, or according themselves in building a LMS Network cooperation strategy.

This work is the result of a couple of years of development with the participation of Intel Corp.

One of the key effect of using VMoodling virtualisation is that maintenance of multiple LMS running with similar equipment gets much easier and saves a lot of time.

LMS virtualisation process is achieved using a dynamic configuration definition, stored in a LMS instance called “master instance”. Virtualising such configuration allows dynamic switching of database and lmsdata context when entering a LMS page.

As was mentioned above, all the LMS clones are completely independent and WILL NOT share any data. Using many instances with an adequate MNet strategy allows for the making of strong and powerful distributed LMS configurations, aimed at large organizations.

Installation

Compatibility

VLMS supports now MySQL databases and (less tested) PostgreSQL.

Note that LMS do not support PostGres schemas at install time.

Prerequisites

The VLMS plugin set provides a complete and complex virtualisation process for LMSs and a set of network level administration capabilities. For the block running properly, compared to the original version in LMS 1.9, LMS 2 version of LMS will need less core changes to operate in full feature range.

The VLMS plugin set uses two components :

  • the VLMS block (this block) : Is used to provide access to the VLMS management.
  • the VLMS Local component : provides all the backoffice and implementation for VMoodling.

Special MNET reinforcement

VLMS based networks in a virtualisation configuration are intended to build coherent distributed platforms within an institutional environment. Urbanisation of such systems will often take some benefit of using extensively XMLRPC interactions between nodes for enhancing the distributed consistence. Standard LMS codebase ensures MNet keys are renewed when a user jumps from a node to a remote node, but key ARE NOT renewed automatically when coming to obsolescence. The effect is that after a key has gone away, all services based on XMLRPC will be broken until key exchange has not been restored again. The VLMS block provides an “automatic MNet key rotation” enhancement that fixes this situation. [1]. This point is not resolved in LMS 2.0 architecture and still needs a patch in the MNet core library.

VLMS distribution is provided with adequate patches for this requirement.

IMPORTANT NOTE : On MySQL, VLMS provides LMS instance capturing for making deployment templates. This assumes the master LMS controlling deployments needs having a MySQL user that has DATABASE CREATE permission.

Block Installation (quick install)

First install the local VLMS component

VLMS block will install just as a usual LMS block.

  1. Unzip the block code in the “blocks” folder of your LMS install.
  2. Trigger the administration/notification menu.

See Also

VLMS Virtualization block Modules and Plugins database entry.