FlexTraining Technical Notes - 2008


Technical Architecture


FlexTraining is a web server-based system which is compatible with any standard web browser on a user computer running any operating system.  It delivers on-demand learning and testing over standard HTTP connectivity, and is designed to be extremely light weight and bandwidth-friendly.  

FlexTraining uses a standard database, such as MS Access or SQL Server, as its data repository and utilizes the popular Microsoft IIS web server as its delivery platform.  Standard web foundation languages like VBScript and JavaScript provide the screens and training functionality, and the system is delivered with full source code.

FlexTraining is multimedia friendly, offering strong support for Flash and video content, along with text, images, and any other web-deliverable format.  FlexTraining is designed to be “content-flexible.” Courses may be built from scratch using an integrated authoring tool, or rapidly assembled using existing material like web pages or PowerPoint slides.




FlexTraining is designed as a web-native product from the ground up, not a desktop software conversion or a translation of an old CBT product.  FlexTraining was built as a web server-based product, based on HTML, HTTP, and SQL open standards.

Though HTTP and HTML are the standards that make web-based learning possible, there are a couple of others which, when used as a basis for an e-Learning system, provide a greater simplicity and ease of maintenance.  More importantly, sound technology standards do not limit functionality, compatibility, or ease of use.

Another well-accepted standard is SQL (Structured Query Language), the language used to communicate with a standard database management system.  SQL is widely known and has been in use across many system architectures for many years.

A e-Learning system with any degree of functionality will utilize a database, and the use of the SQL standard architecture means queries and report screens can be created for information gathering or data extractionThe FlexTraining SQL-based database offers greater interoperability with external systems and databases, such as a Human Resources database or an additional reporting system.

The FlexTraining e-learning software offers open source code, and this solid, flexible, configurable system has a wide array of options for the governance of system behavior.  For the user that wants to make changes to the software beyond what is “user-configurable,” the source code provides the power to make modifications, if desired, without the vendor’s assistance.  FlexTraining is written in a user-friendly, widely-used language (VBScript) that allows for painless customization.


FlexTraining System Security


FlexTraining provides complete integrated authentication and security for its customers.  In keeping with the flexible architecture of the product, security levels can vary to reflect the needs of the customer environment.


In the FlexTraining Management Center, courses are built, reports are run and a complete user-defined, role-based security framework is standing by.  Customers can define system roles, assign them to individual managers and instructors, or simply use the built-in manager roles already defined.  In this way an instructor may be allowed to only create and teach courses, while a certain manager may run reports and examine tracking and analysis measures.  Additionally, other users may be granted rights to set system behavior, options, and policies.


In the student module, login and password protection limits each learner to an individual menu and authorized courses.  In addition, customers may activate a hierarchy framework, which uses more sophisticated methods to separate students based on their position within the company or organization.


Students can only sign on to the courses in which they are enrolled and may only enroll in courses for which they are authorized.  If instructors are used, each instructor may only sign on to the course for which he or she is the designated Instructor.


Customers may also choose to add native Windows server security so that internal authorization lists are used to permit or deny access to the FlexTraining modules.  Since each FlexTraining module is defined as a separate application, access to each may be easily limited to different users and user groups.


For example, very tight security situations may limit access to the Management Center Module to one or two course designers and administrators.


New Software Releases


When preparing a new release, the FlexTraining development team goes through a lengthy and rigorous testing process:


1.  Unit testing Each software change and enhancement is tested, verified, and recorded for accuracy and quality assurance.


2.  Variation testing Every possible variation in a system feature is identified and examined.  For example, the process of defining an online test as a pre-test, an intermediate-test, and a final exam is tested.


3. Integration testing – Standard, natural system events in their typical order are tested, noted, and addressed, if necessary.  A sample sequence might be:


  1. Build a course
  2. Schedule the course
  3. Have a number of students enroll and complete the course
  4. Run activity reports showing the tests and course completions
  5. Run analysis reports to ensure accurate reporting and analysis



Return to Resources | Home