a simple publishing interface for learning object

A SIMPLE PUBLISHING INTERFACE FOR LEARNING OBJECT REPOSITORIES
Stefaan Ternier
Katholieke Universiteit Leuven
Leuven, Belgium
[email protected]
David Massart
European Schoolnet
Brussels, Belgium
[email protected]
Frans Van Assche
European Schoolnet
Brussels, Belgium
[email protected]
Neil Smith
Knowledge Integration Ltd.
[email protected]
Bernd Simon
Vienna university of economics and business administration
Vienna, Austria
[email protected]
Erik Duval
Katholieke Universiteit Leuven
Leuven, Belgium
[email protected]
Abstract: This paper reports on the Simple Publishing Interface (SPI), a new work item of
the CEN/ISSS Workshop on Learning Technologies that aims to produce a standard software
protocol for publishing learning objects to digital repositories. This standardization project
will facilitate transferring metadata and learning objects from tools that produce materials to
applications that persistently manage learning objects and metadata. Secondly, we will
investigate if we can enable synchronization or replication of learning objects and metadata
between different repositories. First, the need for an interoperable and standardized
publishing API will be articulated. Next, different requirements will be presented that were
collected from various European projects. Finally, SPI is compared to existing specifications.
Establishing interoperability for searching learning objects has enabled search access to a vast amount of
learning objects. Previous work in standardization of an interoperable search protocol, has made it easier to find
relevant learning objects. The Simple Query Interface (SQI) (Simon et al. 2005), is well-adopted by the
European Learning Object Repository world and is one of the base specifications of GLOBE, an international
consortium of repositories that promotes federated search and metadata harvesting for making learning object
transparently accessible.
The goal of this new work is to make it easier to make objects available for reuse in applications that
persistently manage learning objects and metadata. Several terms exist to denote applications with such
functionality. Learning Object Repositories sometimes give a bias towards server applications. Learning spaces
(Simon et al., 2004) denote applications with similar functionality. For instance, a personal learning space can
be located on a user’s hard drive and manages content locally. A classroom space holds content made used for
delivering learning in a classroom. In the remainder of this article we will use the term repository to identify
systems that manage metadata and content. The term repository should however be interpreted in a very broad
sense.
The traditional procedure for publishing learning objects to a repository is tightly integrated with a specific
repository, whereas the publication to learners typically relies on a Learning Management System (LMS) or a
Virtual Learning Environment (VLE). This complicates the workflow of the creator who will often publish to
learners only, so that the object does not become available for reuse in the repository. By enabling transparent
publishing from within applications that learning citizens use on a regular basis, we aim at facilitating the
publication of learning objects. For instance, if a user can transparently push a presentation from within
authoring applications like MS PowerPoint or OpenOffice Impress, a vast amount of materials can be made
available for reuse in a repository. Other important deployment contexts for the publishing Application Program
Interface (API) are LMSs or VLEs. Within these applications, learning objects are typically made available to
students. Integrating transport support for publishing while distributing to learners will contribute to the
availability of learning objects in a repository.
Synchronization or replication of content is another important use case. For example, in the MELT project, a
portal that uses federated search techniques with various repositories has been created. In this network, every
query is broadcasted to all partners in the network. A search like ‘natural science’ returns more than 15.000
results, which puts a heavy processing load on the portal as metadata for all results are transferred over the
network. Synchronizing metadata with a central metadata store prevents from having to issue distributed
searches. This requires an API that allows for synchronization of metadata and/or content.
In this article, some of the requirements for a publishing API are identified. To distinguish the requester from
the system that publishes an entity (a metadata instance or a learning object), two terms are used:
•
•
The term ‘source’ labels the system that issues a publication request. Alternatively, this system can be
labeled as requester.
A ‘target’ identifies the system to which publication requests are sent. This can be a repository
component or a middle layer component. Such a middle layer component can fulfill several tasks. It
can generate and attach metadata to a resource, disaggregate and publish smaller size LO components
or act for instance as an adapter to a third party publishing API.
We refrained ourselves from using the terms ‘client’ and ‘server’ as they give a bias towards an interface that is
only applicable in client/server applications. Moreover, the scenarios in which the API is used also envision a
source running on a server.
Design
The design of the publishing API will be based on the design principles of the Simple Query Interface. A simple
set of commands will be provided, where extensibility and flexibility will be important. By analogy with SQI,
this protocol will make a distinction between semantic and syntactic interoperability.
•
•
Syntactic interoperability is the ability of applications to deal with the structure and format of data. For
instance, a language such as XML Schema Description (XSD) ensures the syntactic interoperability of
XML documents as it allows for the parsing and validation of these documents.
Semantic interoperability refers to the ability of two parties to agree on the meaning of data or methods.
When exchanging data, semantic interoperability is achieved when data is understood by all the actors
involved.
The following scenarios are inspired by existing applications and practices and should be supported by a
publishing API.
•
•
•
A learning object referatory manages metadata that refers to learning objects stored on separate
systems. The API must thus be supportable by repositories that do not manage learning objects.
Some applications manage publishing learning objects without the metadata. PENS - see Section on
related work - is an example of such a protocol.
Finally, the protocol must allow for publishing to repositories that manage both learning objects and
metadata.
In order to support these different practices, there should be no dependencies between the methods that publish
metadata and the methods that publish learning objects. One should be able to publish metadata separate from
publishing learning objects. For instance, a publishing scenario for referatories requires a protocol through
which an application can publish metadata that refers to an already published learning object. As an example,
consider the architecture depicted in Figure 1.
Figure 1: Pull with harvest, publish with push technology
The architecture that is depicted in figure 1, enables harvesting from repositories that expose their metadata
through an OAI-PMH (Lagoze & Van de Sompel, 2001) target and illustrates how a harvest component can
consume OAI-PMH services and pull metadata from repositories that it next pushes to a metadata store that
provides a publishing interface, e.g. an institutional space that replicates learning objects useful to the members
of that institution. This metadata store is a referatory and requires the ability to publish metadata rather than the
learning object.
Learning object archival tools such as the ARIADNE search and indexation tool (Neven et al., 2003) enable
users to submit and describe a learning object with metadata. After submission, the end user application
transfers both learning object and metadata to a learning object repository. As we target a publishing protocol
that is as generic as possible, the protocol should not impose a restriction on the order of both transactions. One
should thus be able to first submit the learning object followed by the metadata or vice versa: publish the
learning object after the metadata has already been submitted.
“By reference” and “by value” transfer of learning objects
When publishing learning objects, a resource needs to transferred from a source to a target. The following does
not apply for referatories as these only manage metadata. Traditionally, two approaches allow for passing data
from a source to a target.
1.
“By value” publishing embeds a learning object, after encoding, into the message that is sent to a
target.
2.
“By reference” publishing embeds a reference (e.g. a URL) to a learning object into the message that is
sent to a target. When a target receives this reference from a source, it must retrieve the resource and
store it in the repository to complete the publishing of the resource.
“By value” publishing is useful for a standalone application, which is generally not associated with a web server
on which a target can obtain a learning object. In this case, embedding a learning object in a message passed to
the target lowers the threshold for pushing a learning object. “By reference” publishing is particularly suited
when larger amounts of data have to be published. As embedding large files into a single message may cause
degraded performance, a need exists to use a distinct method (e.g., FTP, HTTP, SCP, etc.) for uploading
learning objects. Rather than imposing one of these approaches, the publish protocol will be designed to support
both of them.
Recalling a Published Learning Object
We need to consider a scenario where disputes between the different owners of the various spaces arise. In such
a situation a publisher of a learning object might want to recall a published learning object. Hence the interface
needs to support recalling a published learning object or a published reference.
Summary
The publishing interface has to fulfil the follow requirements:
1.
The interface needs to able to support the exchange of metadata and content.
2.
When publishing users might want to choose whether the learning object is transferred “by value” or
“by reference” to the repository.
3.
Users might want to recall the publication of a learning object or the publication of metadata.
Related Work
The Package Exchange Notification Services (PENS) protocol supports a notification service for content
packages (PENS, 2005). PENS does not support publishing metadata instances, neither does it support sending a
content package ”by value”. Using this notification service a source can announce the location of a package that
is available for transport. When an application like a learning management system receives a PENS notification,
it can retrieve the package from the URL that is provided. This protocol makes a distinction between semantic
and syntactic interoperability. The PENS specification contains an abstract data model and provides a binding to
the HTTP protocol.
The SRU (McCallum, 2006) Record Update service allows for creating, replacing and deleting metadata
records. This specification does not deal with publishing resources and can thus be implemented on referatories
only.
The EduSource Communication Layer (ECL) (Hatala et al., 2004a) gives a concrete implementation to the
messages proposed in IMS DRI (IMS, 2003). ECL implements a submit message for submitting learning objects
or metadata to a repository. As ECL builds on IEEE LOM metadata only, it does not include parameters or
methods to set the metadata schema or an application profile of LOM. ECL does not distinguish between
uploading learning objects and metadata.
The Open Knowledge Initiative (O.K.I) has specified Open Service Interface Definitions (OSID) through which
one can submit assets to a digital repository. The repository OSID defines a JAVA Asset interface that manages
both content and records. The asset interface offers methods for adding and deleting records to an Asset. The
asset interface defines an updateContent method, through which one can associate content to an asset.
The JISC funded SWORD project aimed to "improve the efficiency and quality of repository deposit and to
diversity and expedite the options for timely population of repositories with content whilst promoting a common
deposit interface and supporting the Information Environment principles of interoperability". The project
reviewed related initiatives in the area and decided that the best approach, rather than develop new standards in
this area, was instead to use a profile of an existing standard, the Atom Publishing Protocol (RFC 5023). This is
a relatively lightweight approach based around a RESTful service. The project successfully implemented
interfaces based on this protocol on four major repository systems in wide use with Higher Education: EPrints,
DSpace, Fedora and IntraLibrary. The SWORD profile has also been used by a range of other systems. The
work of the SWORD project will also feed into the new CEN/ISSS work item.
A publishing specification was implemented in ARIADNE and has been published in (Ternier and Duval,
2003). In this article, a web services based approach was introduced that facilitates integrating the publishing
process into applications where learning objects are either consumed or produced. In the ProLearn project a
generalized version of this API that takes into account requirements from projects and organisations, such as
ALOE, TENCompetence, MACE, MELT, EUN and ARIADNE. Initial outcomes of this work have been
implemented in the TENCompetence project, ARIADNE, MACE (Prause et al., 2007) and MELT and were
published in (Demidova et al., 2007).
References
ARIADNE, http://www.ariadne-eu.org
IMS (2003). IMS Digital Repositories Interoperability - Core Functions Information Model.
a Metadata Ecology for Learning and Teaching (MELT), http://info.melt-project.eu/
Metadata for Architectural Contents in Europe (MACE), http://www.mace-project.eu/
The Open Knowledge Initiative (OKI), http://www.okiproject.org/
Package Exchange Notification Services (PENS) (2005). Guidelines for Package Exchange Notitication
Services.
Simple Web-service Offering Repository Deposit (SWORD)
http://www.ukoln.ac.uk/repositories/digirep/index/SWORD
TENCompetence, http://www.tencompetence.org/
Demidova, E., Kärger, P., Olmedilla, D., Ternier, S., Duval, E., Dicerto, M., Mendez, C., and Stefanov, K.
(2007). Services for knowledge resource sharing & management in an open source infrastructure for lifelong
competence development. icalt, 0:691–693.
Hatala, M., Richards, G., Eap, T., and Willms, J. (2004a). The Edusource Communication Language:
Implementing Open Network for Learning Repositories and Services. In SAC '04: Proceedings of the 2004
ACM Symposium on Applied Computing, pages 957-962, New York, NY, USA. ACM Press.
Hatala, M., Richards, G., Thorne, S., and Merriman, J. (2004b). Closing the Interoperability Gap: Connecting
Open Service Interfaces with Digital Repository Interoperability. In Lorenzo Cantoni and Catherine
McLoughlin, editors, Proceedings of World Conference on Educational Multimedia, Hypermedia and
Telecommunications 2004, pages 78 83, Lugano, Switzerland. AACE.
Lagoze, C. and Van de Sompel, H. (2001). The open archives initiative: building a low-barrier interoperability
framework. In JCDL '01: Proceedings of the 1st ACM/IEEE-CS joint conference on Digital libraries, pages 5462, New York, NY, USA. ACM.
McCallum, S. H. (2006). A look at new information retrieval protocols: SRU, OpenSearch/a9, CQL, and
XQuery. In World Library and Information Congress: 72nd IFLA General Conference and Council. IFLA,
IFLA.
Neven, F., Duval, E., Ternier, S., Cardinaels, K., and Vandepitte, P. (2003). An Open and Flexible Indexationand Query tool for Ariadne. In Lassner, D. and McNaught, C., editors, Proceedings of World Conference on
Educational Multimedia, Hypermedia and Telecommunications 2003, pages 107-114, Honolulu, Hawaii, USA.
AACE.
Prause, C., Ternier, S., de Jong, T., Apelt, S., Scholten, M., Wolpers, M., Eisenhauer, M., Vandeputte, B.,
Specht, M., and Duval, E. (2007). Unifying Learning Object Repositories in MACE. In First International
Workshop on Learning Object Discovery & Exchange (LODE'07), Crete, Greece.
Simon, B., Massart, D., Van Assche, F., Ternier, S., Duval, E., Brantner, S., Olmedilla, D., and Miklos, Z.
(2005). A Simple Query Interface for Interoperable Learning Repositories. In Proceedings of the 1st Workshop
on Interoperability of Webbased Educational Systems, pages 11-18.
Simon, B., Dolog., P., Miklós, Z., Olmedilla, D. and Sintek, M. (2004). Conceptualising Smart Spaces for
Learning. Journal of Interactive Media in Education, 2004 (9). Special Issue on the Educational Semantic Web
Ternier, S. and Duval, E. (2003). Web services for the ARIADNE knowledge pool system. In Proceedings of the
3rd Annual ARIADNE Conference, pages 1-9. ARIADNE Foundation.