Tuesday, 21 April 2009

Frequently Asked Questions

What is Common Cartridge?
Common Cartridge is a technical specification that distils state-of-the-art practice in online education and training (Learn more).
What is the Icodeon Common Cartridge Platform?
A software toolkit for building online education tools, apps and websites.
Technically, the Icodeon Common Cartridge Platform is a RESTful Web API for IMS Common Cartridge. The Platform provides a set of "Web Services" that enable developers to build online education tools.
How does the Platform work?
Educational publishers create educational resources and package the content into "cartridges".

Once a cartridge is added to the Icodeon Common Cartridge Platform, the Platform assigns a unique "address" (a URL) to each resource in the cartridge - every page, link, question, tool launch, discussion comment - so that each educational resource can be added into web pages, blogs, wikis and social networking sites.
What services does the Platform provide?
The Platform exposes a set of "Web Services" that provide:

  • use an easy to learn "URL Language" to request resources from the Platform (Learn more).

  • a choice of "represenations" that are returned with each response from the Platform. These representations include images, XML documents, HTML pages, and JavaScript Objects.
Together, the URL language and the representations are "building blocks" - so that tools, apps and widgets can be created by developers, and then embedded into blogs, wikis, social networking sites, desktops, mobile devices and so on. See also the blog entry about the administrative tools that are built into the Platform.
Tell me more about the Platform URL Language
The platform provides a "URL Language" for all requests to the platform.
For example, if you wanted to generate a thumbnail image of the first page of a cartridge, the URL would be formatted like this:
http://{hostname}/cartridges/{cartridge-name}
/items/@first.gif
You would just need to add in the name of the hosting web site (the {hostname}) and the name of the cartridge (the {cartridge-name}), and the platform generates the image ready for you to embed into your own website.
More formally, the "URL language" is a RESTful API for creating HTTP requests that have numerous response formats such as XML or HTML.
Learn more about the URL Language here.
The URL Language Documentation is being developed here.
Tell me more about the Platform Representations
The platform provides a choice of "representations" for all responses from the platform. For example, the platform can provide a choice of either .gif, .jpg or .png graphic formats for thumbnail images that are returned from requests.
For text based representations, the platfrom "representations" include XML, HTML, JSON and ATOM. These text based representations are conformant with well established designs, including:

  • Microformats: microformats are a set of simple, open data formats built upon existing and widely adopted standards. Instead of throwing away what works today, microformats intend to solve simple problems first by adapting to current behaviors and usage patterns (e.g. blogging). (Learn more).

  • OpenSocial: OpenSocial defines a common API for social applications across multiple websites. With standard JavaScript and HTML, developers can create apps that access a social network's friends and update feeds. Learn more).
By using well established designs for representations, developers can re-use existing libraries, style sheets and code to process the responses from the Icodeon Common Cartridge Platform
Show me some examples
Together, the platform URL language and the platform representations are "building blocks" - so that tools, apps and widgets can be built by developers, and then embedded into blogs, wikis, social networking sites, desktops, mobile devices and so on.

Here are some example:

  • 'Asssessment Widget': adds an assessment/quiz added to a web page (see a QTI Assessment widget embedded into a blog).

  • 'Basic LTI Launch Widget': launches a secure web application using Basic Learning Tools Interoperability protocol (see a secure eBook reader launch widget embedded into a blog).

  • 'Web Content Launch Widget': launches a web content object, such as a SCORM object (see a SCORM SCO launch embedded into a blog).

  • 'Cartridge Explorer App': web application that browses all resources in a particular cartridge (see the Cartridge Explorer App.
What type of content can be added to a cartridge?
The cartridge supports the following types of content:

  • Web pages, PDF documents, WORD documents.

  • Assessment and quizzes.

  • Discussion forums.

  • Links into secure web applications.

Tell me more...
Like to know more? Why not leave a comment on this blog and we'll follow it up. The IMS Global FAQs for Common Cartridge are here.

Monday, 13 April 2009

QTI Assessment in a Blog

~ The Icodeon Common Cartridge Platform supports assessments based on the popular QTI format. The platform API can be used for integrating these assessments into blogs, wikis, web pages and social networking sites ~

This page shows how quiz items from the Icodeon Common Cartridge Platform can be embedded into a blog post, wiki or other web page.

All that is required to embed the quiz is a single HTML tag:

<!--add this line of code to your page-->
<script type="text/javascript" 
src="http://{host}/cartridges/
{cartridge}/items/{item}/assessments/@default.js">
</script>

When the single HTML tag is added to a web page, the quiz items are rendered.

Clicking the "Submit" button posts the form to a remote web service for processing and the response returns any marks and feedback available.

Clicking the "Next" button makes a request to a remote web service for the next question within a sequence.


~ QTI Assessment Tool from Icodeon CC Platform ~


In the Common Cartridge specification, quiz questions are required to be added using the Question and Test Interoperability (QTI) standard - an XML mark-up language for questions and assessments.

The example embedded into this page is a "QTI Assessment" - an ordered collection of individual question "QTI Items".

Each "QTI Item" defines its own rules for processing the response to the question and returning any feedback.

Friday, 10 April 2009

URL Language

~ This page describes the Icodeon Common Cartridge Platform API for integrating content into blogs, wikis, web pages and social networking sites ~

The platform uses a URL Language so that requests can be easily created for cartridge content.

For example, to create a reference to a thumbnail image of the first page in a cartridge, we create a request URL like this:

http://{host}/cartridges/{cartridge}/items/@first.gif

All that is required is to substitute in the name of the platform host server (the {host}) and the unique identifier of the cartridge (the {cartridge}) and the platform generates the thumbnail image.

The image can then be added to a web page as the source attribute value in an HTML image tag:

<img src="
http://api.common-cartridge.com/cartridges/
icodeon_spanish_cities/items/@first.gif"/>

The URL Language includes:

  • key words: these are part of the URL path, and are plural nouns, such as "cartridges" and "assessments".

  • path variables: these are part of the URL path. The value that was substituted in for the {cartridge} in our example above is a path variable.

  • selectors: these are part of the URL path. A selector ("@first") was used in our example to select the first item in a cartridge.

  • formats and extension variable: the part of the URL that is used to indicate the content type. The value of ".gif" in our example above is an extension variable. We used ".gif", but using ".jpg" or ".png" would mean that the platform would generate a different content type.

  • URL parameter key/value pairs: these are added after the path and extension variables as key/value pairs. For example, to create an image with a defined size, we could add the key/value pairs of "&_width=120&_height=90" to URL.

  • Puntuation characters: these can be included in URL. For example commas (,) are used represent a request for an ordered list.

The URL Language Documentation is being developed here.

So, to create a reference to a thumbnail image in the "jpg" format of the last page in a cartridge, we create a reference like this:

<img src="
http://www.common-cartridge.com/cartridges/
icodeon_spanish_cities/items/@last.jpg
?_width=120&_height=90"/>

When making requests to the Platform from external servers, we also need to add an API Key that the Platform generates for the external domain, so the final reference for the image is:

<img src="
http://www.common-cartridge.com/cartridges/
icodeon_spanish_cities/items/@last.jpg
?_api_key=abc123&_width=120&_height=90"/>

The URL language has many response formats (or "representations"), not just the graphical formats for screen shot thumbnails of pages within the cartridge.

The platform provides a choice of "representations" for all responses from the platform. For example, the platform can provide a choice of either .gif, .jpg or .png graphic formats for thumbnail images that are returned from requests.

For text based representations, the platfrom "representations" include XML, HTML, JSON and ATOM. These text based representations are conformant with well established designs, including:

  • Microformats: microformats are a set of simple, open data formats built upon existing and widely adopted standards. Instead of throwing away what works today, microformats intend to solve simple problems first by adapting to current behaviors and usage patterns (e.g. blogging). (Learn more).

  • OpenSocial: OpenSocial defines a common API for social applications across multiple websites. With standard JavaScript and HTML, developers can create apps that access a social network's friends and update feeds. Learn more).

By using well established designs for representations, developers can re-use existing libraries, style sheets and code to process the responses from the Icodeon Common Cartridge Platform