Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 19 Next »

Customization and Parametrization

OpenSyllabus configuration at a glance.

The Web and the Sakai's community are becoming increasingly international and we must adapt our Web applications to different languages and cultural differences.
Differences appear not only between countries (cultural, linguistic), but also within universities (institutional) and even among different faculties and departments of the same institution. This is particularly true for syllabus where pretty much each institution has its own way to design and conceptualize it in its own format and terminology. We must adapt to that diversity.

Thus, in order to meet those explicit adaptability needs, OpenSyllabus has a specific parameterization mechanism, besides GWT and Sakai ones. The whole mechanism is provided within the OsylConfig tool detailed below. Let's explain it first.

Internationalization - Localization

Coming from Quebec, where French culture is strongly promoted, we did a special Internationalization (i18n) effort in designing OpenSyllabus so that it can be adapted to various languages and institutional cultures without any code changes. We went beyond the GWT i18n built-in mechanism and performed the localization (L10n) work which is the process of adapting software for a specific combination of languages and institutions by translating and adapting text (names, titles,) as well as writing conventions.

OsylConfig message bundle

The message bundle used in OpenSyllabus is made of two message types:
• User Interface messages (UIMessages)
  All text displayed in the user interface (menus, buttons, alternate texts).
• Course Outline messages(COMessages)
  All text related to syllabus content according to the chosen taxonomy (rubric lists, titles...) for different elements in the course outline model.

Messages are provided in French, English and Spanish (incomplete) in the current release of OpenSyllabus. Other languages could be added.
The language of UIMessages synchronises with the language of the Sakai user.
The language of COMessages synchronises with the language specified for the syllabus in the syllabus XML file.

Flexibility at its best!

Ironically, we could figure out a syllabus for a course specified to be in French with English content, displayed in an English interface, with Spanish vocabulary (rubric lists for example).
The current release of OpenSyllabus is very flexible at this point.
A French syllabus may be displayed with a French vocabulary only, regardless to the Sakai interface language.
Also, an English syllabus may be displayed in English (terminology) with English menus in an English Sakai interface.
The institution could make choices here respectfully with its vision.

Personalization

Personalization comes when we figure out the possibility to design syllabus with different structures and looks.

Setting the syllabus structure by XML customization

OpenSyllabus model is very flexible; thus allows various syllabus structures.
An XML file (rules.xml) then represents the rules we choose to apply to our flexible model.
Example:
• Under a Course outline unit with type 'presentation', adding texts and documents is allowed.
• Under a Course Outline Unit with type lecture, adding text, documents and assignments is allowed.
See file rules.xml to view the structure chosen for the current OpenSyllabus release.

Setting the syllabus look by different skins

The OpenSyllabus look can be parameterized with the osylcore css file and the images embedded.
In the current release, two different skins are available: the default and the udm one (University of Montreal) .

How to configure

All those configuration details are gathered in the osylconfigs folder.
The configuration package to use is called in the implementation of OsylResourceService(see below for the location).
The locale (language) is set in the index.jsp file(see below for the location).
The syllabus language is set in the syllabus XML file.

OsylConfig Tool
Configuration files:
The configuration files resides in the osylcoconfigs folder (i.e. osyl-tool/tool/src/webapp/osylcoconfigs) of the Tool project.

 Code Structure

o Backend project (Sakai's tool code)

  • api dir
  •  impl dir
    • src\java\org\sakaiquebec\opensyllabus\
      •  implOsylResourceServiceImpl.java
  •  tool dir
    •  java
      •  -
    •  webapp
      • index.jsp
      • org.sakaiquebec.opensyllabus.OsylEditorEntryPoint (all generated JS code + HTML + images)
      • osylcoconfigs (configuration files)
        • default
        • university_specific
          • messages bundle (I18N UI properties files UIMessages & content specific terminology COMessages)
            • COMessages_es.properties (Espanol)
            •  COMessages_fr_CA.properties (Francais Canada)
            •  COMessages.properties (default, English)
            • UIMessages_es.properties (Espanol)
            •  UIMessages_fr_CA.properties (Francais Canada)
            •  UIMessages.properties (default, English)
          • skin (images & css)
            • img
            •  university_specific.css
          • rules.xml (course outline content structure)

Attention: reporting changes from back to front end

Every change in the OsylConfig tool(rules, user interface or course outline messages) should be reported to the java files underlined below.
Changes to css file can be reported by copying the file to the GWT project, the content being exactly the same.
This is to keep the OpenSyllabus GWT hosted mode version up to date and synchronized.

  • api dir
    • src\java\org\sakaiquebec\opensyllabus\shared\model
      • OsylTestCOMessages.java
      • OsylTestUIMessages.java
      • OsylTestRulesConfig.java
  • opensyllabus-gwt dir
    • src\java\org\sakaiquebec\opensyllabus\
      • shared\model
        • OsylTestCOMessages.java
        • OsylTestUIMessages.java
        • OsylTestRulesConfig.java
      • public\osylcore.css
  • No labels