What is OLab4?
OLab4 is an education research platform that supports a wide variety of teacher, learner and system interactions that can be tracked and analyzed in fine detail. Built as a system of linked micro-services, it has a core that is easily extensible and conforms to current open data standards and protocols. As an open-source project (github.com/olab/OLab4), it has been designed to allow other groups to enhance its functionality through modular extensions.
At its core, it provides programmable narrative pathways as linked web pages. These pathways or maps lead to a wide variety of learning designs, which can be simple, linear designs or highly complex, branched scenarios. Navigation of the pathways can be wide open or highly constrained, using graph links or conditional logic. All activities within the maps are tracked, allowing for sophisticated analysis of user and system performance.
History of OLab4
OLab originally started out as OpenLabyrinth, a virtual patient platform designed by Professor Rachel Ellaway in Edinburgh in 2002. It has always been highly conformant with open data standards, and was the central driver for creation of the ANSI/Medbiquitous Virtual Patient standard.
OpenLabyrinth was migrated from its origins as an ASP.net application, based on Microsoft infrastructure, to a more standard LAMP-based web server approach in 2009, when we moved to version 3. Even at this time, it was recognized that its usefulness extended far beyond the clinical arena of virtual patients. Any algorithmic pathway can be represented in OpenLabyrinth.
Supported by research project funding throughout its development, the functionality of OpenLabyrinth has been extended in many directions. It has been widely used in education research. (http://tiny.cc/OLab3bib) In 2013, we moved towards scenario-based learning designs, which further extended the power of the platform. Virtual scenarios extend the narrative map metaphor by providing another layer of abstraction, which can group together sets of maps, users, activity flows and external apps into a controllable, trackable pathway.
All of the functionality in OpenLabyrinth v3 was well served, until recently, by standard Model-View-Controller (MVC) architecture, based on Javascript, PHP (using the Kohana framework), and some external APIs, such as OAuth2, IMS-LTI. In January 2017, we decided, along with our partner group who support the curriculum management system, Entrada, to migrate our system architecture to an object relational mapping (ORM) approach in OLab4. We are largely preserving the fundamental database schema because it has served so well in providing a very extensible platform.