Integration Details

This page provides more details on the WebCT-Elgg Integration. For information on Elgg, please see here.


View the 2-Page Elgg/WebCT Factsheet in PDF format.

View a Flash-demonstration of the Elgg/WebCT Integration.


System Requirements

Elgg: Version 0.4 and above

WebCT: Vista 3.x, Vista 4.x, or CE 6.x

Functionality

The Elgg PowerLink for WebCT consists of the following functionality:

  1. Single Sign-on from WebCT to Elgg. When a user clicks on
    the PowerLink's icon from within WebCT, they are signed on
    automatically into Elgg without needing to provide a
    username/password.

  2. Automatic user creation. When a user moves from WebCT to
    Elgg, the system checks whether that user already exists in Elgg. If
    no user exists, the account is automatically created, using the WebCT
    user ID, so there is no extra administrative burden for account
    creation.

  3. Automatic community creation. When the link to Elgg is
    added to a section, the designer can choose to have a community
    created in Elgg. The designer has 4 options, depending on which
    learning context level the community should match:


    • community for the section: all users in the section are
      enrolled in the same Elgg community. The commmunity in Elgg will be
      named 'CourseName - Section Name' (i.e.: English 100 - Section 1)

    • community for the course: multiple sections under the
      same course share a single community in Elgg. The community in Elgg
      will be named after the course (i.e.: English 100)

    • community for the group: multiple courses can share the
      same community in Elgg. The community in Elgg will be named after the
      group, which is usually the faculty or the department (i.e.: Faculty
      of Science). For CE6 users without the additional learning context
      levels, this community will default to the whole institution.

    • custom: allows communities to be shared across
      non-hierarchical divisions across campus. The designer must specify
      the name of the community to be added in Elgg (i.e.: Debating
      Association)

    As soon as a user clicks through to Elgg, they are automatically added
    to the community. The designer is also given the option to designate
    a community owner, who can then administer the community
    information in Elgg.

Technical Details

WebCT Component:

The WebCT component of the integration consists of Java code which
extends the Deployable Component class of the PowerLinks Kit API. The
resulting jar file is installed on the WebCT server, where the
Deployable Component appears on the Server Administrator's
settings.

Once the Deployable Component has been enabled, and a proxy tool has
been created by the Server Administrator, the Elgg tool will appear to
designers within a section, and can be made available to students. As
part of the configuration, the Administrator specifies the URL to the
WebCT authentication script on the Elgg server, along with a shared
secret used for validation of the data which is exchanged by the two
systems.

When a user clicks on the PowerLink's icon, the following information
is packaged and sent via http to the Elgg server: current timestamp,
userID, first name, last name, e-mail address, community ID, community
name, and community owner. In addition, all parameters are encoded
using an MD5 algorithm and based on the shared secret keyword which
was specified at configuration time. The encoding ensures that any
attempted modification of the parameters is detected by the Elgg
server, and that the request is rejected if any tampering has occurred.

Elgg Component:

The Elgg component of the integration consists of a set of PHP
files which are installed on the Elgg server. One of the php files is
specified in the WebCT configuration as the target of the
integration. The php file handles the incoming request from WebCT as
follows:
  • ensure that the request is authentic by validating the parameters
    using the shared secret.
  • add the user to the Elgg database if they do not exist yet.
  • if a community has been specified, create the community if it does
    not already exist.
  • add the user to the community if they have not previously been
    added.
  • if no errors have occurred, set the appropriate Elgg session
    cookies and redirect the user to the main page, already logged in.

Screen Captures: (Click on images to view larger version)

  1. Sample WebCT Course Hompage with link to Elgg through the Community Space link.


  2. Upon clicking on the icon, the student is automatically logged into their Elgg space, without leaving the context of their WebCT environment. This screenshot shows a sample student's profile information.


  3. Each user in Elgg has their own blog, into which they can post text, files, and podcasts, as in the screenshot below.


  4. Elgg allows users to subscribe to feeds from external websites, which can then be displayed individually or in aggregate view.