Community Learning Space

CLS Architecture


A Community Learning Space (CLS) is a web-based system that presents information that is maintained by partner community organizations. The system provides a suite of tools, processes and services to enable organizations to better tell their own stories through database presentation to the web. It includes remote administration for partner maintenance and leaves data ownership with the partner. It also includes a Learning Academy for background info, tutorials and best practices.

Design Objectives

The overriding design objective is ease of creation and maintenance, both for content editors and system administrators. More specifically, the following are key to the current Community Learning Space design, implementation and operation:

  • Improve the ability of organizations to provide and receive information - "tell their own story"
  • Provide affordable access to technology
  • Increase sustainability of on-line access to information
  • Enhance the types of online information and tools within the local community

System Architecture

To implement a CLS network requires the following systems:

  • Web Server (e.g., Microsoft IIS 5.0 or later)
  • Server Script Engine (e.g., PHP)
  • Database server (e.g., Sybase Anywhere 6.0+)
  • Web client (e.g., Microsoft Internet Explorer)

Web server (Microsoft Internet Information Server - IIS)

The web server communicates with a web client to retrieve information from disk and to send requests to Cold Fusion and return results from Cold Fusion.

Server Script Engine

The server script engine is part of the platform on which powerful web applications can be built and deployed; it is the central component for creating and delivering a community learning space. The server scripts interact with databases that contain partner data and metadata to dynamically generate a learning space. The server also works with additional tools to deliver a learning space.

XML - XSLT - Xpath

Database data can be retrieved as XML with CLS-specific tags and an XSL style sheet can transform that data to HTML. If the web client supports XML/XSL locally, the data can be sent to the web client along with the style sheet for processing on the client. If the web client does not support local XML/XSL transformations, the retrieved data is processed on the server to transform the data to HTML for the Web client.

Search engine

The CLS search engine works with PHP to provide keyword search capabilities for learning space data.

Notification server

WIDE listings and database queries can be configured so that users and administrators can request a notification when certain conditions exist.  Additions, changes and deletions of content can be registered as notification events. Notifications are usually delivered by e-mail but can also be configured to use fax, voice (phone) or SMS text.

Database server

  • Partner database - maintained by the data owner
    • Could be accessed directly from the data owner's database server.
    • Copy of partner data maintained on the CLS server. CData currency is maintained through an agent that checks for changes.
  • Partner learning space supplemental database
    • Contains additional data created by learning space development (e.g, word indexes, comments, style expressions, metadata)
  • CLS Database
    • Community identities table that describes each learning space
    • Metadata tables for global listings and forms
    • Security data tables
    • Global style expression table
    • Transaction log table
  • Distributed partner data - partner DBMS (e.g. Sybase, Oracle)
    • Accessed directly from the data owner's database server.
  • Learning Academy
    • Contains documentation, best practices, feedback, evaluation etc.


The agent framework supports the description of agents that will act autonomously to perform utility tasks with an application. Agents are often defined to manage redundancy. For example, agents could be defined to verify the content of "local" databases against authoritative sources or to allow a user to type information once while submitting the data to multiple databases or Web sites.

Security Framework

A learning space is provided with multi-level security controls. The framework encompasses both PHP and the Web Server (IIS). A request for content will only provide that content if the request satisfies the security rules.

Web Client

- IE6 or Netscape or Opera

A CLS is accessed via the Internet for browsing and for partner administration and CLS network administrators.

If the Web client supports XSL (IE6), then content can be formatted on the client. Otherwise it is transformed to HTML on the server.

Computer Systems Group | University of Waterloo | 200 University Ave. W. | Waterloo, Ontario Canada | N2L 3G1 | 519.888.4004 |

Copyright © 2004 - 2020 University of Waterloo | Our Partners | Privacy Policy