Didaskon/Architecture
From Corrib Clan Wiki
Authors: Jarosław Dobrzański, Filip Czaja, Władysław Bultrowicz
Contents |
Didaskon Architecture
Components
Didaskon
Composer component provides interface for composing course for a student. In general this is the only interface that is directly used by external user application. It cooperates with FOAFRealm, LOST and SSIS components.
Didaskon component consists of following modules:
- Course composer
- The main task of Composer component is to compose appropriate course basing on the information provided by the user and gathered from other subsystems. Due to it's task it contains all the logic of composing a learning path for a user.
- Session management
- Module for managing the session. It handles events like start or end of current session, stores temporary data and fires appropriate actions when necessary. Af6ter session is finished it updates information that has changed in other components of the framework.
- Profile management
- Module responsible for loading, storing, retrieving and finally saving user profiles. It delivers information about the user to other modules and to component's interface. After session is over it updates user information in FOAFRealm component.
- Repository management
- Module for managing all of the repositories. It works with formal learning object sources, like LOST repository, as well as informal knowledge sources, like SSIS LO repository. One of it's tasks is to update the local database with information about available learning objects in different repositories. It works as a daemon, that collects the information every day.
Didaskon component provides the interface, that can be used for accessing it's functionality. This interface introduce following methods:
| Method name | Returns | Arguments | Description |
|---|---|---|---|
| composeCourse | Course | openID | Main method for composing a course for a student identified by given openID. |
| getProfile | FOAFProfile | openID | Method for accessing student's FOAF profile through Didaskon framework. |
| createProfile | int | FOAFProfile | Method for creating student's FOAF profile through Didaskon framework. |
| addFOAFProperty | int | openID, FOAFProperty | Method for adding a property to an existing student's FOAF profile through Didaskon framework. |
| updateFOAFProperty | int | openID, FOAFProperty | Method for updating a property of an existing student's FOAF profile through Didaskon framework. |
| addSSISObject | int | openID, url, keywords | Method for adding an SSIS Object annotated with keywords to SSIS Repository through Didaskon framework. |
LOST
LOST component is a Learning Object repository. It is responsible for storing formal Learning Objects. All the objects in repository are described according to LOM (Learning Object Metadata) standard.
LOST component provides an interface for both accessing and saving learning objects. This interface introduce following methods:
| Method name | Returns | Arguments | Description |
|---|---|---|---|
| addObject | int | Learning Object | Method for adding an object to repository. |
| updateObject | int | id, Learning Object | Method for updating object form repository. |
| removeObject | int | id | Method for removing object from repository. |
| getAllObjects | List<Manifest> | - | Method for fetching the list of all available LOS. |
| getChanges | List<Manifest> | date, [id] | Method for finding Los that have changed since given day. Possible to look for a specific LO identified by uri. |
| getObject | Learning Object | id | Method for accessing given LO. |
IKHarvester
Please read about IKHarvester there to see what it is required for, learn its architecture and get some more information about it.
FOAFRealm
FOAFRealm is an implementation of FOAF initiative that is being developed at DERI Galway. Didaskon system can use it as a source of personal information about students, who would like to have a course composed. FOAFRealm enables adding custom properties, so we extend the basic profile by information needed for reflecting content of a student ontology, e.g. preferences, educational goals, progress, etc.
FOAFRealm bases on following standards:
- FOAF
- The Friend of a Friend project is creating a Web of machine-readable pages describing people, the links between them and the things they create and do.
- DOAC
- RDF metadata vocabulary to describe professional capabilities of a worker like any curriculum or resume that people use to have in their websites but with much better capabilities.
- OpenID
- Open, decentralized, free framework for user-centric digital identity.
- Lattes
FOAFRealm component provides the interface for accessing students' profiles:
| Method name | Returns | Arguments | Description |
|---|---|---|---|
| createProfile | int | FOAFProfile | Creates a profile of a user. |
| updateProfile | int | openID, FOAFProfile | Updates profile of a given user. |
| addProperty | int | openID, FOAFProperty | Add new property to user's profile. |
| getProfile | FOAFProfile | openID | Access given profile. |
Presentation
Since Didaskon provides an open interface for composing and managing the course it is meant to be used also by external components, which are independent from our framework. However, we want to provide a default component responsible for direct interaction with the user. It is supposed to be the default component for presenting the content of the learning course.
It contains logic for:
- presentation
- Presentation module will transform the content so it can be presented according to Web Content Accessibility Guidelines (WCAG) introduced by Web Accessibility Initiative (WAI).
- It will also try to take advantage of adaptive hypermedia techniques basing on the semantic annotations of social semantic information sources (see 2.1.3).
- navigation
- This module is responsible for delivering solutions for navigating within the composed learning path. It will also try to take advantage of adaptive hypermedia techniques for navigation.
- It may use some of the techniques for improving navigation, like Multi Bee Browsing (MBB) or Atom navigation. Both these techniques are being developed at DERI.




