HLS - Technical Plan

This plan does not represent the current status of the project, rather it is an overview of the features that HLS (Helsinki Learning System) should have. 

Table of contents

Overview of components

HLS has the following components, each described later. 

1. Databases and data structures

The data structures of the HLS system are xml documents stored in an xml database. The structure of these data bases is specified by xml document type definitions (dtds). There are following data bases in HLS:

1.1 CCD

Course content dictionary contains the topic hierarchy of courses. Each course has an entry in the ccd. The topics covered in the course are listed under that course. The topic hierarchy is recursive, i.e. each topic has its subtopics as topic subelements. Courses and topics contain also additional description data. This data is not yet specified. The use of ccd in problem and exercise data bases is pictured below.

1.2 Meta data

Each problem and exercise contains meta data, which describe its content:

1.3 Problems

All types of problems have problem text. Problem can contain several language versions. Different types of problems contain specific data:

1.4 Exercises

Exercises consist of sequences of problems. Each member of the sequence is a reference to a problem in the problem data base with additional information. There are three different types of user actions, correct answer, wrong answer, and I don't know answer. For each of these types of actions there is stored the following information:

1.5 Users

According to the privileges there are different types of users, the higher types have all the privileges of the lower types:

2. Applications

There are two applications of the data bases. First is a tool to modify the content, called editor. Users log in to the editor and can modify the databases according to their privileges. Content can be added, changed, previewed, and deleted.

The second application is for the students of the material. The application presents exercises to the user and allows solving them. It displays the feedback coded in the exercises and can also display an overview of the students strengths and weaknesses according to the course's topics.

Technical overview

The applications are web based, meaning that they are used with a web browser. Also they are client - server applications, since the client uses the server's data bases. Overview of the system is pictured below:

1. Client side

Clients use the applications with a web browser. The web browser needs the IBM TechExplorer plug-in for displaying material written with TeX.

2. Server side

In the server side servlets are used as to handle the user interface and user's actions. Standard xml libraries are used to work with xml data. All applications are written in the Java programming language.

3. Interfaces

As the data structures and the applications should be flexible, there is an interface between them. This allows the changing of the implementation of the data base without changing the applications as long as the interface does not change. Also the applications can change without affecting the data base definitions. These interfaces are coded using the Java language.

Installing the HLS system

HLS system is a web application that is installed into a directory structure in a java enabled web server. The preferred server is Apache Tomcat 4. HLS system should be rooted at a directory called hls. The direcoty structure is following:

the starting point for editor application
the starting point for the student application
contains css stylesheets defining a common style for the web pages
contains all the dtds defining the xml data structures
contains javascripts used in populating topic lists in problem and exercise input forms
contains java server page files used in the user interface layer of the application
contains jsp tag libraries and other libraries used
contains servlet class files
contains java class libraries
contains java source files
contains jaxb definitions for xml bindings into java objects
contains the databases in xml format
contains xsl stylesheets for transforming xml data into html pages

Current status

ccd's dtd   partly specified  
problems' dtd specified    
exercises' dtd specified    
userdb's dtd   partly specified  
editor for multiple choice problems implemented    
editor for string questions   partly implemented  
editor for exercises   partly implemented  
editor for dtds     not implemented
logins for different users     not implemented
problem distributor implemented    
student progress implemented    
interface for the db implemented    
db as xml document implemented    
xml databases     not implemented