Responsive Open Learning Environments

Collaborative Project Responsive Open Learning Environments European Commission Seventh Framework Project (IST-231396) Deliverable 4.2 Final Update ...
0 downloads 4 Views 2MB Size
Collaborative Project

Responsive Open Learning Environments European Commission Seventh Framework Project (IST-231396) Deliverable

4.2 Final Update

Service Syndication Platform

Editor

Daniel Dahrendorf

Work Package

WP 4

Status

Draft

Date

20 December 2012

Page 1 of 30

The ROLE Consortium Beneficiary Number

Beneficiary name

Beneficiary short name

1

Fraunhofer FIT

2

RWTH Aachen University

3

Technical University of Graz

4

Katholieke Universiteit Leuven

5

University of Koblenz

6

Uppsala University

7

Country

FHG

DE

RWTH Aachen

DE

TUG

AT

K.U.LEUVEN

BE

UNI KO-LD

DE

UU

SE

École Polytechnique Fédérale de Lausanne

EPFL

CH

8

University of Leicester

ULEIC

UK

9

Open University UK

OU

UK

10

Vienna University of Economics & Business Administration

WW

AT

11

Festo Lernzentrum Saar GmbH

FESTO

DE

12

imc AG

IMC

DE

13

British Institute for Learning and Development

BILD

UK

14

Shanghai China

SJTU

RPC

15

Zentrum für Soziale Innovation

ZSI

AT

16

U&I Learning

UIL

BE

Jiao

Tong

University,

Page 2 of 30

Document Control Title:

Service Syndication Platform

Author/Editor:

Daniel Dahrendorf

E-mail:

[email protected]

Amendment History Version

Date

Author/Editor

Description/Comments

0.1

06.05.2010

Daniel Dahrendorf

First draft

0.2

20.05.2010

Daniel Dahrendorf

Integration of the feedback of Nils Faltin based on version 0.1

0.3

08.06.2010

Dr. Nils Faltin, Daniel Dahrendorf

Update of the document structure, added widget preferences

0.4

17.06.2010

Evgeny Bogdanov, Daniel Dahrendorf

Introduced additional recommendations widget preferences framework

0.5

28.06.2010

Daniel Dahrendorf

Final draft for the peer-review

0.6

22.07.2010

Daniel Dahrendorf

Integrated the feedback of the first peer review from Denis Gillet and Alexander Nussbaumer

and

Integrated the feedback from Martin Wolpers 0.7

22.07.2010

Dr. Zimmermann

Volker

Update of positioning and strategy syndication platform within ROLE

1.0

29.07.2010

Daniel Dahrendorf

First final version

1.1

09.11.2012

Daniel Dahrendorf

Restructuring of the document, preparing for the final update

1.2

12.12.2012

Dominik Renzel

Added Widget-Store Requirements Bazaar

1.3

18.12.2012

Daniel Dahrendorf

Finishing the Widget Store chapter

1.4

20.12.2012

Daniel Dahrendorf

Final draft for the peer-review

1.5

15.01.2013

Daniel Dahrendorf

Added Feedback from peer review

2.0

29.01.2013

Daniel Dahrendorf

Final second version

integration

in

with

ROLE

Page 3 of 30

Contributors Name

Institution

Dr. Volker Zimmermann, Dr. Nils Faltin, Daniel Dahrendorf, Jens Peters, Sven Steudter

IMC AG

Evgeny Bogdanov

EPFL

Martin Wolpers

FIT

Dominik Renzel

RWTH

Matthias Pálmer

UU

Alexander Nussbaumer

TUG

Reviewer Name

Institution

Ralf Klamma

RWTH

Denis Gillet

EPFL

Legal Notices The information in this document is subject to change without notice. The Members of the ROLE Consortium make no warranty of any kind with regard to this document, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The Members of the ROLE Consortium shall not be held liable for errors contained herein or direct, indirect, special, incidental or consequential damages in connection with the furnishing, performance, or use of this material.

Page 4 of 30

Executive Summary This deliverable, an update of the M18 version, is the documentation of the major research work and outcomes of tasks 4.1 and 4.2. It describes the service syndication platform, which is based on a systematic requirements analysis and functional specification of the different components (see prior version). A “service syndication platform” allows users to describe individual services (PLS) as well as define and administrate sets of services that should be syndicated together. The ROLE “service syndication platform” consists of the two components, as described already in the deliverables D3.3 and D4.1: 

The ROLE Widget Store (as main platform component for end users to search services and bundle them based on recommendations. The name of the component reflects the market point of view of learning services),



The users PLE: either the ROLE Platform (as personal learning mash-up environment for end users) or another ROLE compliant PLE system.

This document puts the focus on the ROLE Widget Store. Other components are specified in the deliverables 4.3 “PLE implementations for testbeds” and 4.5 “Generic PLE implementation”, as the ROLE Platform is one option for end users to create their responsive environment based on recommendations and personal preferences. Different marketplace technologies, shop systems and widget stores have been analyzed and compared in deliverable 9.4. None of the existing stores matches requirements for an educational store. The ROLE project thus needed to create a platform component which fills these gaps. As Service Syndication Platform, the ROLE Widget Store serves as an open tool repository where learners can get recommendations for education related widgets and get support for creating their own Personal Learning Environment (PLEs). Beside the requirements from the DoW the ROLE project followed the recommendations from the last reviews: An economic model the ROLE widget store was is described in D9.4. There different models include freemium models and also solutions for organisations. The number of widgets in the store was increased as described in chapter 6. Further development of widgets and bundles is lined out in D4.1. A sustainable exploitation plan is contained in D9.1. The partnership with Apache RAVE was also promoted in the widget store context by supporting RAVE to include the ROLE Widget Store as one of the available widget stores. The Widget Store addresses the issue of categorization, browsing and search by providing various learning applications (Learning Related Tools) categorized based on functionalities, learning phases and learning domains (Recommendation). Also, the Widget Store offers services allowing platform independent PLE sharing, thus, supporting the development of a Community of Practice to exchange learning tools as well as composed templates of learning tools and artefacts (the so-called Widget Bundles). Concentrating on the concept of bundles, the store provides features to apply and share them across different learning platforms. Further different recommendation strategies are discussed and the interfaces which allow interoperability with other systems are specified (LMS / PLE system integration).

Page 5 of 30

Table of Contents EXECUTIVE SUMMARY

5

TABLE OF CONTENTS

6

1

7

THE SERVICE SYNDICATION PLATFORM 1.1

Scope

7

1.2

Requirements on the Service Syndication Platform from the Description of Work

7

1.3

Why a ROLE Widget Store is needed

8

2

DEFINITIONS

9

3

RELATED WORK

11

4

THE ROLE WIDGET STORE

11

4.1

Widgets

11

4.2

Bundles

12

4.3

Categorisation

14

4.4

Publishing Process and Community Features

15

4.5

Recommendation

17

4.6

Support of the Widget Contest

19

4.7

Interfaces

20

5

IMPLEMENTATION

23

6

ACTUAL USE OF THE WIDGET STORE

23

7

USAGE OF THE STORE DATA IN OTHER ROLE COMPONENTS

24

8

7.1

Widgets and Bundles in Graasp

24

7.2

Widgets and Bundles in the ROLE Platform

26

CONCLUSION AND OUTLOOK

28

REFERENCES

29

Page 6 of 30

1 The Service Syndication Platform The idea of the Service Syndication Platform is to create a platform for end users where they can   

choose personal learning services according to their learning needs and personal profile out of a repository, administrate the selected services in order to use them according to their personal preferences, and aggregate or syndicate single services with others in order to create a “larger” service bundle (syndication technology, selection of bundles).

Within ROLE, the term “widget” has been established for services that fulfil the ability to be used within a learning platform or personal learning environment and are being able to be syndicated using mash-up technologies. Therefore the ROLE service syndication platform is composed out of the following components: 

The ROLE Widget Store (as main platform component for end users to search services and bundle them based on recommendations. The name of the component reflects the market point of view of learning services),



The users PLE, either the ROLE Platform (as personal learning mash-up environment for end users) or another ROLE compliant PLE system.

This deliverable (related to tasks 4.1 and 4.2) presents the concept of the ROLE syndication platform with focus on the ROLE Widget Store. A detailed description of the ROLE platform is given in deliverable 4.3 and 4.5 as these are more linked to the implementation side of a personal learning environment. The term “widget” is in the following being used equivalent to “service” or “learning service”.

1.1 Scope This document addresses the following topics: 

Definition of important terms



Description of the ROLE Widget Store features



Listing of other software components which are accessing the data of the store

The description of work (DoW) marks this deliverable as continuously updated until M48. The current version is the final version of this document.

1.2 Requirements on the Service Syndication Platform from the Description of Work From the DoW the following requirements were extracted from task 4.3 for the service syndication platform:  



“Users can describe individual services (PLS) as well define and administrate sets of services that should be syndicated together” “… the platform will provide support for search, compatibility assessment, state educational value (rate) and mashing-up of the services by using an intelligent mediation and recommendation engine …” “A user that defines a set of syndicated Services must also specify other properties such as which kind of participation is allowed, for example open invitation or restricted membership” Page 7 of 30

 

“… enable the reposting and tracking of adapted, contextualized or repurposed PLS” “develop a client side library that simplifies the client side integration of sets of syndicated services”

While the first two requirements are covered by the store described in this document, the next two requirements are covered by the interaction of the PLE systems with the store, where users interacting with the PLE systems and add bundles and widgets from their systems into the store (see D4.1). The last requirement is covered by the distribution of the ROLE SDK which is available on SourceForge [25] and described in D4.1. Beside the requirements from the DoW the ROLE project followed the recommendations from the last reviews: An economic model the ROLE widget store was is described in D9.4. There different models include freemium models and also solutions for organisations. The number of widgets in the store was increased as described in chapter 6. Further development of widgets and bundles is lined out in D4.1. A sustainable exploitation plan is contained in D9.1. The partnership with Apache RAVE was also promoted in the widget store context by supporting RAVE to include the ROLE Widget Store as one of the available widget stores.

1.3 Why a ROLE Widget Store is needed Different marketplace technologies, shop systems and widget stores have been analyzed and compared in deliverable 9.4. None of the existing stores matches requirements for an educational store. Main points of the critique were: 

no store provides recommendations for learning/studying processes,



existing stores do not aim at providing education widgets or host only a very limited amount of education widgets,



existing stores often do not provide quality management,



most existing stores allow only assembling (i.e. mash-up of) tools in one specific platform.

The ROLE project thus needed to create a platform component which fills these gaps. As Service Syndication Platform, the ROLE Widget Store serves as an open tool repository where learners can get recommendations for education related widgets and get support for creating their own Personal Learning Environment (PLEs). Tool developers can submit tools into the store; the quality is then checked and ensured by the community. It is a place where best practices of PLEs are exchanged and discussed. PLE developers will be able to connect via provided APIs to the ROLE Widget Store to add ROLE tools directly to their PLEs.

Page 8 of 30

2

Definitions

Personal Learning Environment (PLE) Personal Learning Environment (PLE) is an environment that helps learners take control of and manage their own learning. PLE normally comprises more than one device or platform and includes learning resources in electronic as well as non-electronic format. PLE enables a learner to create and maintain a user profile, which facilitates them to set learning goals, identify resources, and communicate as well as collaborate with people in a community of interest or practice. It also enables the learner, with or without the use of tools, to evaluate their learning progress using feedback on their work from others, peers and personal reflection. PLE also supports the delivery of recommendations from trustful sources to learners with respect to their dynamic profile and goals. [24]. Personalized Learning Management System (PLMS) A Personalized Learning Management System (PLMS) combines the “traditional” learning management system (LMS) approach with personal learning environments (PLE). The aim of PLMSs is to fulfill business requirements. (LMS + PLE = PLMS) [28]. Widget Widgets are PC or mobile micro-applications [16]. In Web 2.0 this term is used for small independent programs displayed in a window [15]. A widget container is needed to render and execute a widget. Some Widgets are able to communicate via the widget engine with the widget container on which the widgets are running. For the developing of widgets often web technologies like DHTML, JavaScript, Flash and Ajax are used. Within ROLE, the term “widget” has been established for services. A learning service can be implemented as learning widget. Widget Bundle A widget bundle is a set of widgets, which is prepared by a user and stored e.g. in a widget store. A bundle can contain layout information and (default or modified) widget preferences for the contained widgets. Further the owner of a widget bundle can share the bundle with the public or with specific users. A widget space which is running in a container can be saved as widget bundle and a widget bundle can be used to create a widget space in a container. Widget Container A widget container provides a well defined environment for executing, view management, communication, etc. It uses the widget engine to render the widgets. Further, it might also take the form of a more user friendly environment where the learner can organize widgets visually, set preferences, contact the widget store for additional widgets, etc. (see Deliverable 3.3). Widget Engine A widget engine is a server application that generates embeddable widget instances by combining widget definitions from a widget repository with widgets preferences from a widget preference server. The widget engine may also expose additional services useful to widgets, for example proxy functionality for accessing remote services and support for authentication/authorization (see Deliverable 3.3). Widget Instance A widget instance is a widget "put at work" into a widget engine for a single user or a group of users; in particular it is associated with widget preferences and/or state data (see Deliverable 3.3).

Page 9 of 30

Widget Preferences Widget Preferences are used to configure widget instances. These preferences are stored at a widget preferences server, or at other locations selected by the users for privacy issues. They can be changed at runtime by the users and default values can be provided. Widget Space A widget space is made of several widgets which are combined together, either graphically and/or through some kind of data-flow/event wiring. A widget space is always running in a widget container and can be an instance of a widget bundle. Thus it contains also layout information and widget preferences. A space can be used by only one user or if the container supports it the space can be shared and used by selected users. In current widget containers (e.g. Graasp, ROLE Platform) this is done by putting widgets in different tabs. A space can correspond to a course, a project etc. (compare [29]). Widget Space Configuration A widget space configuration can describe how to compose widgets of a space (layout, graphical theme, dataflow, etc.). The configuration also includes widgets, the widgets preferences (default or modified) and users of the space (including their rights) [29]. Widget Store A widget store should provide a user friendly interface to a widget repository that simplifies widgets discovery by using both basic metadata of the widget and potential recommendations from other users. The functionality of the widget store includes listings of widgets, categorizations, and search by keyword, etc. Users can add widgets from a widget store to supported PLE systems. From a social media point of view, a store could also be the place to collect and share user tags, comments and ratings. Today, there are several widget stores available (see Deliverable 3.3). There will be no strict distinction between web and desktop widget as the line between them is blurred (consider Air [1] or Apple Dashboard [5] widgets).

Page 10 of 30

3 Related work While multiple application stores (especially in the mobile sector) are available, platforms focusing on educational applications are still rare. Two of them, besides the ROLE Widget Store, are represented below. The open source project Edukapp [10] founded by JISC and used in the EU project ITEC aims at providing cross-university widget stores. It includes W3C and OpenSocial widgets and plans to offer recommenders and social functionalities. The ITEC project will use the developed applications to provide a widget directory for secondary schools. Edshelf [9] is a directory of learning applications and offers educational, mobile, web and desktop applications. Currently, a beta version is published which is already filled with applications for different platforms. The applications are categorized by several functionalities: teach, make, communicate, find, assess. A detailed overview about existing stores is given in D9.4.

4

The ROLE Widget Store

This chapter depicts the main components of the ROLE Widget Store (see Figure 1). The Widget Store addresses the issues identified above providing various learning applications categorized based on functionalities, learning phases and learning domains. Also, the Widget Store offers services allowing platform independent PLE sharing, thus, supporting the development of a community of practice to exchange learning tools as well as composed templates of learning tools and artefacts (the so-called learning bundles). Concentrating on the concept of bundles, this chapter describes how they can be applied and shared across different learning platforms. Further different recommendation strategies are discussed and the interfaces which allow interoperability with other systems are specified.

Community of Practice

Widget Bundles

Learning Activities and Competences

Recommendation

LMS / PLE system integration

Learning Related Tools Figure 1: Components of the Widget Store

4.1 Widgets Web widgets are the main content type for the ROLE Widget Store. For web widgets there are different specifications available. Deliverable 3.3 contains a summary of selected widget Page 11 of 30

specifications and widget engines. Two of the specifications are the W3C widget specification [32] and the OpenSocial specification [21] which is based on Google Gadgets. 

OpenSocial [21] is used in many widget containers (iGoogle, LinkedIn, HI5, etc) and there exists a free implementation of a widget engine for OpenSocial (Apache Shindig [3]) which is available for JAVA and PHP. An important feature of OpenSocial is the extendable specification. It was decided in deliverable 3.3 and deliverable 4.2 M18 version to focus on OpenSocial first.



W3C Widgets [32] are specified by the World Wide Web Consortium (W3C). Implementations of widget engines are available from the Palette Project [22] and Apache Wookie [4]. W3C Widgets are also supported by different Mobile Vendors e.g. Opera in Cooperation with Vodafone [14].

Both the W3C and OpenSocial specification are supported by several CMS, PLEs and LMS (e.g. Moodle [18], Liferay [17] or CLIX [7]). The developers registered in the Widget Store are able to add either self-developed widgets or widgets based on a licence allowing further distribution. Currently, W3C and OpenSocial Widgets can be added to the repository via upload or reference respective their specification. Metadata, which is already available in the widget manifest, is extracted and automatically added to the system. The widgets can be enriched with additional metadata (e.g. author contact details and licence) and media (including screenshots, screencasts and use cases).

Figure 2: List of Widgets in the Widget Catalogue

4.2 Bundles Bundles are templates for PLEs containing learning tools and content. The idea of bundles is to exchange good practices of working with learning environments. Bundles are not intended to model a structured course like IMS Learning Design. Instead, they are intended as a fast and Page 12 of 30

simple way to provide learners with tools, content, and a detailed description of how to use these to complete a specific learning task. A bundle targets particular learning needs that are described in the bundle itself. Using the categorisations described in section 4.3 learners can choose several tools from those available in the store to create a set of tools supporting their learning goals. Additional references to learning content can be added. For each tool and content learners are able to add learning activities in order to describe what should be done using the tool or working with the learning content. Once a bundle is created by a learner it can be shared to be discussed and refined by the community (see Figure 3). This includes also rating and commenting to help other users estimating the quality of such a bundle.

Figure 3: Creating and improving bundles

These bundles can be further used to support teachers for preparing learning content for their students. A teacher can prepare such bundles and either asks their students to use these or to prepare a space in a PLE and invite their students. Beside tools and content the bundle can also be enriched by metadata and media to describe and explain the usage and purpose. For categorization the functionalities of the added tools and learning domains are used (see section 4.3). Figure 4 shows such a bundle in the store where two tools are added and described.

Figure 4: Description of a Bundle in the Widget Store

Page 13 of 30

4.3 Categorisation In order to support learners in selecting applications for their PLEs, a tool categorisation describing purposes of the widgets is offered. The introduced categories (see Figure 6) allow users to choose widgets supporting different learning phases and can be used for recommendations to complement a PLE. The tool categories were derived from the Psycho-Pedagogical Integration Model (PPIM) described in D6.1, which has been developed in the ROLE project to support the concept of personalised self-regulated learning. Figure 5 demonstrates mapping of categories (grey) and phases of the PPIM (white).

Figure 5: Mapping of PPIM phases and tool categories

In addition to the tool categories, functionalities described in an ontology (see D2.6) developed in ROLE are introduced. These functionalities represent features of widgets (e.g. text editing, video chat), whereas the ontology includes also tool categories represented above and defines mapping of the categories and functionalities to support recommendation systems. Widgets can be either generic (e.g. text editor) or targeting specific learning domains (e.g. French language). It is also possible that widgets only provide some specific learning content. As these widgets can be hardly described by tool categories or functionalities, a categorisation based on learning domains is introduced. The service of DBpedia [8] is used to allow users tagging widgets by learning domains supporting them in search for specific tools. The categorization of bundles differs from the one of tools. A bundle can (and should) be designed to cover several phases of the PPIM model and thus refers to several tool categories. Also, a bundle does not provide functionalities by its own. The approach of the Widget Store is that a bundle automatically inherits functionalities of tools it contains and can be tagged manually by learning domains from the DBpedia.

Page 14 of 30

Figure 6: The Tool Categories in the Store

4.4 Publishing Process and Community Features Registered users are able to add widgets and bundles to the store. The widgets are not directly published. Once a widget is uploaded ROLE Developers are notified and its quality and licence is checked by a ROLE developer. IMC will continue the quality assurance after the project.

4.4.1 Rating, Commenting and Developer Contact An additional important quality indicator is users’ feedback by rating and commenting. Further, a detailed usage report can be added to the widget. The community is needed to rate and comment the different widgets and bundles to assure a second quality assurance. It was also shown in [16] that rating (21%) is after description (27%) the second most important reputation element for users choosing web widgets from a catalogue.

Page 15 of 30

Figure 7: View for user to manage their own content

Further the ROLE Widget Store is the place where user could come in contact with developer and report bugs and requests features. Also the store should serve as platform for the discussion about best practices for designing widget bundles.

4.4.2 State Requirements for Store Tools by Using the ROLE Requirement Bazaar The ROLE Requirements Bazaar as external tool has been developed as social software supporting the requirements elicitation and negotiation process being part of the ROLE Social Requirements Engineering approach (cf. ROLE deliverables D1.3/4, D1.5/6). The Bazaar allows expressing wishes, i.e. requirements for completely new tools or features/bug fixes for existing tools. In the case of a requirement for an existing tool, the Bazaar requires to either choose the tool from a list of existing tools or - if not contained in this list - to describe the existing tool by specifying tool metadata, i.e. name, description and a URL (in case of a widget the URL to the widget's XML). Figure 8 describes the workflow of the ROLE Requirements Bazaar. All information on the concept and realization of the ROLE Requirements Bazaar is explained in detail in D1.1.

Page 16 of 30

Figure 8: Workflow of the ROLE Requirements Bazaar

In any case it is preferable to select an existing tool from a list to avoid duplicates and to reduce requirement specification effort. For all tools registered in the Widget Store, the Bazaar queries the necessary metadata via the Widget Store's SPARQL endpoint and uses it to populate its list of existing tools. Figure 9 show the ROLE Requirements Bazaar's UI for adding a wish for an existing ROLE widget, highlighting a dropdown list powered by SPARQL endpoint query results.

Figure 9: The ROLE Requirements Bazaar UI for adding a wish

4.5 Recommendation As the ROLE Widget Store is the part of the project where people select its tools (widgets) they should get guidance by recommendation from the store. Some recommendation features are integrated into the core store system, other depend on external services. Further recommendation strategies from a pedagogical point of view are described in D6.1.

Page 17 of 30

4.5.1 Create Guidance by Using the ROLE Pedagogical Recommender The Mashup Recommender [19] is an external software component that consists of a widget and service that recommend widgets to the learner. A learner uses the Mashup Recommender widget in a space to get recommendations of widgets available in the Widget Store. The recommendation strategy follows pedagogical principles and is based on ontology of learning activities (learning strategies and learning techniques). Following a template approach such learning activities are arranged and displayed in the Mashup Recommender widget. Each time the learner clicks on a learning activity, a set of widgets are recommended to the learner who can select and add these widgets to her space (see Figure 10).

Figure 10: The figure shows a learning space with the Mashup Recommender Widget and the FlashMeeting widget that has been recommended for the selected learning activity.

Pedagogical guidance is provided by recommending learning activities first and then widgets are recommended for each learning activity. In order to provide the connection of the learning activities in the ontology to the widgets in the widget store, tool functionalities are assigned to both the learning activities in the ontology and the widgets in the Widget Store. In the ontology the tool functionalities are used to describe which types of widgets should be used for performing certain learning activities. In the Widget Store the tool functionalities are used to tag widgets according their functionality. The Widget Store provides a SPARQL interface (see section 4.7.1) where widgets that are assigned with specific tool functionalities can be searched. Each time a user searches for widgets for a specific learning activity, respective tool functionalities are retrieved from the ontology and used to query the Widget Store. The Widget Store returns widgets (references and meta-data of) of the matching widgets. This result is displayed as a list of recommended widgets to the learner. Additionally, the categories of the Widget Store can be displayed in the template so that the learner can get lists of widgets of all categories as used in the Widget Store. In this way the Mashup Recommender serves as a Widget Store implemented as widget. Moreover, the Mashup Recommender also listens to Inter-Widget-Communication messages and displays widgets from the Widget Store according to the received messages. For example, the Activity Recommender sends messages to display widgets for certain learning activity as the Activity Recommender suggests to the learner. In general the Activity Recommender guides Page 18 of 30

through the learning process by recommending learning activities and furthermore, widgets are recommended for each learning activity using the connection to the Widget Store. A detailed description of the Mashup Recommender and Activity Recommender and their underlying pedagogical principles are described in D6.1 (M48).

4.5.2 Recommendation Based on the Categorization in the Store Based on the categorization and the usage behavior the store is able to provide similar tools or bundles for a given tool. This kind of recommendation is often used in common web stores. The information is displayed on the tool / bundle detail page. While the creation of this document this feature is available for the development version of the store, but not yet on the public rolewidgetstore.eu production version.

4.6 Support of the Widget Contest The ROLE Widget Store was the central platform for the ROLE Widget Contetst. This contest is described in detail in D8.5. The ROLE project organized five Widget Enchantment Competitions that aimed at bringing together the best ideas from both the software developer and the practitioner communities to create a wide range of innovative web widgets supporting Technology Enhanced Learning. The software developers outside the consortium were encouraged to develop OpenSocial or W3C widgets for Responsive Open Learning Environments. These could be e.g. widgets for real-time learner communication and collaboration, widgets for planning and organizing learning process, learning content browser widgets, recommender widgets, widgets supporting creation and manipulation of learning content, widgets supporting training and testing, reflection and evaluation widgets. The competition was divided into two rounds. A Widget Specification round, where specifications of learning widgets were contributed and a second round where the winners of the first round got two months to develop their learning widgets. While the contest is split into two phases, the store provides interfaces for the developers to submit both specifications and implementations. Also a system for the judges of the contest is integrated where they are able to submit reviews. This system is used since the third ROLE Widget Competition and shown in Figure 11.

Figure 11: Interface for the Reviewers to rate

Page 19 of 30

4.7 Interfaces A learner is not limited to use only one widget store as resource of widgets for her PLE. Figure 12 shows the case where a learner adds widgets from different stores to her PLE. The requirement is that the widget store and the PLE support the same technology and external widgets can be added to the PLE.

Figure 12: A PLE containing widgets from different widget stores

To allow users adding widgets to their preferred learning platform, the Widget Store provides several possibilities. Firstly, the store offers a button available for a limited number of platforms allowing adding a widget directly to the target platform. Secondly, the store provides an embedded view, which can be integrated in learning platforms using the inter-widget communication library OpenApp (see D4.1). This is implemented in the test implementation of the ROLE project [28]. Finally, the store offers web services allowing other platforms receiving information about the tools and bundles and processing this information to support learners in assembling their PLEs. Section 7 describes how these interfaces are used by different applications. Several more PLEs and LMS already support manual integration of widgets by adding a URL to their XML specification. For this reason, it is possible to download the widget code from the store or get the reference to the widgets. For platforms, which do not support widgets yet, an embed code is provided.

4.7.1 SPARQL Interface In order to allow platforms the access to the data of the store different data structures and services were discussed. Sire et al. [29] describes a specification for bundles by extending the unofficial Google GagdetTabML specification. Graasp and also Edukapp are using OMDL [20] which provides the functionality to export “mashups consisting of pages, layouts and widgets” [20]. For interoperability reasons the ROLE Widget Store provides a SPARQL endpoint instead. The endpoint allows browsing through the data of the Widget Store based on a standardized and flexible interface and provides information about widgets and bundles. Furthermore, different formats (Turtle, RDF/XML, JSON) are supported so that developers can choose the best fitting Page 20 of 30

format for their applications in order to retrieve from or store data to the Widget Store. This endpoint is conformant with the SPARQL 1.0 HTTP protocol. Given a conformant query [30], the service will return the requested data as specified at [26]. Formal validity is given through the SPARQL endpoint definition and the schemas for the vocabulary used (see Table 1). This interface is used by most of the services listed in chapter 7. Table 1: Base facts of the SPARQL endpoint

SPARQL endpoint



http://role-widgetstore.eu/simplerdf/sparql

Vocabulary Used

    

http://www.w3.org/1999/02/22-rdf-syntax-ns# http://xmlns.com/foaf/0.1/ http://rdfs.org/sioc/ns# http://purl.org/dc/terms/ http://purl.org/role/terms/

Parameter



query - URL encoded SPARQL query

Output

  

JSON XML RDF/XML

Enabled Operations

    

Select Construct Ask Describe Load

4.7.2 Embedded Version of the Store Another possibility for PLEs integrating tools from the store into the system is to include the store in its embedded version of the store. The embedded version (embedded.rolewidgetstore.eu) provides a simplified user interface (see Figure 13) where select buttons are added for widgets and bundles which will trigger events of the JavaScript library OpenApp. PLE can listen and react to these events to add tools and bundles. The embedded version is used by the ROLE Platform as described in section 7.2.

Page 21 of 30

Figure 13: Embedded view of the ROLE Widget Store

Page 22 of 30

5

Implementation

The ROLE Widget Store is setup on a server with a Intel(R) Xeon(R) Dual-core CPU X5670 @ 2.93GHz and 4GB RAM. As a software basis the open-source content management framework Drupal 6.26 is used. This system has been enhanced by available open-source modules and in the project developed modules (widget module, bundle module, ontology module and RDF module). The new developed modules target at the goal to provide the system with ontologybased tagging of widgets and bundles as well as providing web 2.0 information about widgets and bundles to machines. Basis for the modules is the ARC2 library providing a RDF system for the semantic web. The ontology provided from ROLE [30] is imported with the RDF Taxonomy Importer. Widgets and bundles can be tagged according their functionalities based on the ontology and by their learning domain (see D6.1). The learning domain tags are suggested by a prefix search querying DBpedia. Machines can obtain information about the widgets, bundles, taxonomy terms and developers by requesting the website for RDF data of the interested object. In addition a SPARQL service can be queried for that information. The RDF data and the SPARQL endpoint are provided by a modified version of the Drupal module simplerdf. Further a module was developed which integrates an Apache Shindig into the system. Shindig takes care about parsing the xml file of OpenSocial widgets and is able to render them.

6 Actual Use of the Widget Store Currently, around 125 learning tools contributed by the ROLE project consortium members and external developers are available in the Widget Store. These applications can be added to PLEs, such as iGoogle [13], Graasp [12], and ROLE test environment SandBox [27] and are used by the users of the ROLE systems. Furthermore, the tools are used to populate learning spaces of a Personal Learning Management System (PLMS) [11] aiming to extend curriculumbased learning in an organisation with self-regulated learning activities. The Widget Store has been used and tested in several project workshops and courses at universities. An evaluation of widget usage in conjunction with ROLE PLMS has been conducted at one of the ROLE test-beds [11]. Figure 14 and Figure 15 show the usage statistics and the locations of the visitors of the store.

Figure 14: Usage Overview (Juli 2011 – December 2012)

Page 23 of 30

Figure 15: Visitor Locations (Juli 2011 – December 2012)

7 Usage of the Components

Store

Data

in

Other

ROLE

The following section describes how other ROLE components are using the different interfaces of the ROLE Widget Store to provide specific features.

7.1 Widgets and Bundles in Graasp 7.1.1 Import Users in Graasp [12] can add widgets and bundles from the Widget Store. There are two ways to do it. First, whenever a user decides to add a new widget to a space, he can search for widgets in the store. Figure 16 shows the interface how it is displayed to users. The user can browse or search for widgets. By clicking on a widget thumbnail (on the right), the user can view the detailed description of the widget and see a bigger screenshot (on the left). Once the widget is chosen, it is added to the space. Second way is to use GraaspIt! bookmarklet. When the user views a widget in the Widget Store, he can click on GraaspIt! bookmarklet and the widget is added to Graasp.

Page 24 of 30

Figure 16: Interface to add widgets to Graasp

The similar interface is provided to add bundles from the Widget Store. When a new space is being created in Graasp, a bundle existing in a Widget Store can be used to initialize the space. This way the new space gets a name, a description and a list of widgets existing in the bundle. The user can choose which widgets from the bundle he wants to add and which he does not (Figure 17). As a second option to use widgets from a bundle, they can be added to an existing space.

Figure 17: Interface to add bundles to Graasp

From the implementation perspective, Graasp periodically aggregates widgets and bundles from the Widget Store by using its SPARQL end-point to build a local copy of the Widget Store contents. Afterwards, this local repository is queried when the user searches for widgets.

Page 25 of 30

7.1.2 Export A bundle can be extracted from a Graasp space and exported as an OMDL file. The OMDL file can be imported into another platform or shared at the ROLE Widget store for further reuse. Every bundle contains a name, a description and a list of widgets. A Graasp space can be shared with other people and with other platforms. The space can be extracted from Graasp as a secret URL. This URL can be given to other users or opened in any browser window. Alternatively, the space can be embedded into another Web platform as an iFrame. The secret URL contains a secure token that authenticates users, so that users can accomplish the same actions they are permitted to do within a space in the Graasp interface. This approach allow users to access their spaces from another platform and share created spaces with people who do not necessarily have an account in Graasp (for example, a teacher sharing a learning activity space with students). Alternatively, a widget bundle can be exported from Graasp space as a public meta-widget URL. This means a new widget XML file is generated and this new meta-widget has all the widgets from the space built-in. The meta-widget is self-contained, it a sense that it includes all the needed information and does not request private data from its container anymore (differently from a widget with the secret URL). Its XML code can be shared as a normal widget URL, for example, in the Widget Store. However, once it is instantiated in another platform, it has several widgets inside and, thus, represents a bundle and not a widget (Figure 18).

Figure 18: Instantiated meta-widget

7.2 Widgets and Bundles in the ROLE Platform The ROLE Platform integrates with the ROLE Widget store in four ways described below. Note that in 1, 2 and 3 the user interactions leads to changes in the ROLE platform. In 4 the user interactions leads to changes in the ROLE Widget store. The four integrations are all achieved via embedding the ROLE Widget store via an iframe element in the ROLE Platform user interface. Communication is achieved by sending OpenApp (see D4.1) events corresponding to selections of widgets, bundles and spaces for the last integration.

7.2.1 Integration 1: Adding a widget into an existing space or activity A user opens the ROLE Widget store by clicking on the “Add from store” button in the control panel to the left, see Figure 19. The ROLE Widget Store is brought up as an overlay over the Page 26 of 30

current widgets. The user can search or browse for widgets and when an individual widget is selected (or a dedicated page for a widget is shown) an event is sent to the surrounding ROLE Platform. The platform will now react and offer to add the candidate widget via a notification in the control panel. Clicking on the notification in the control panel will add it to the current space or activity. (An activity is a kind of subspace within a space that can be used to group widgets together that are used for a specific purpose, for example an assignment. The activities show up as tabs in the space.)

Figure 19: The ROLE Widget store embedded into the ROLE Platform with a bundle selected. The ROLE Platform shows two notifications. First, adding all the widgets of the bundle in the current space (integration 2) and second, creating a new activity based on the bundle (integration 3).

7.2.2 Integration 2: Adding all widgets of a bundle into an existing space or activity It is also possible to select bundles of widgets rather than individual widgets from the embedded ROLE Widget Store. In this case there is a notification in the control panel that reads “Add all widgets from bundle [name of bundle]”. Clicking on this will add all the widgets to the current space or activity. See Figure 19.

7.2.3 Integration 3: Creating a new space or activity from a bundle When adding all widgets in a bundle to an existing space or activity any descriptive information, for instance name and pedagogical instructions provided on the bundle, is lost. To remedy this situation, the ROLE Platform also provides the opportunity to add the bundle as a new activity. This is shown via a notification in the control panel reading “Add bundle [name of bundle] as a new activity”, see Figure 19. Alternatively, you can also create an entire new space from a bundle, but then the starting point is the start page of the ROLE Platform rather than a space.

7.2.4 Integration 4: Creating a new bundle from the current space or activity Sometimes the widgets of a space or activity turn out to be very useful together and the user feels the need to share this configuration. In this case it is possible to create a bundle in the ROLE Widget Store. This is achieved by clicking on the share button in the ROLE Platform and choosing “create bundle in the ROLE Widget Store”. Again the user is presented with the ROLE Widget Store via an embedding but in this case the wizard for creating new bundles is shown with the current widgets of the space or activity already pre-populated. Note that the user might need to first log in or even create an account in the ROLE Widget Store before this works smoothly. This integration is still in development at the time of writing.

Page 27 of 30

8 Conclusion and Outlook Presently, the ROLE Widget Store provides web based learning applications and recommender tools supporting construction of PLEs and PLMS by the users. This wide spectrum of tools allows learners to create, share and refine platform independent learning bundles. Possible extensions to the current implementation are to add further tools, such as desktop and web based tools, as well as mobile applications to be used in mobile learning environments. Also, more PLE hosting platforms could be integrated with the Widget Store; support for representation of external tools and learning artefacts on such platforms could be provided. This includes examining the possibilities to bring content to mobile devices by transforming web widgets into mobile applications. The ROLE Widget Store will stay online after the end of the project and be maintained by IMC. It is included in the running platforms Graasp and the ROLE Platform. Further the Apache RAVE project [29] requested an interface to integrate the ROLE Widget Store as one of the available widget stores in RAVE. For this purpose RAVE plans to use the SPARQL service to retrieve the data of the widgets from the store and offer the ROLE Widget Store content to their users. The implementation of this feature is planned work in the Apache RAVE project.

Page 28 of 30

References [1]

Adobe Air http://www.adobe.com/products/air/ [19.05.2010]

[2]

Apache Rave. Online available URL: http://rave.apache.org/ [19.12.2012]

[3]

Apache Shindig. Online available: URL: http://shindig.apache.org/ [19.05.2010]

[4]

Apache Wookie. Online available: URL: http://incubator.apache.org/wookie/ [23.06.2010]

[5]

Apple Dashboard Widgets. Online available: URL: http://www.apple.com/downloads/dashboard/ [19.05.2010]

[6]

Chatterjee, Renzel, Klamma (2012): The Social Requirements Engineering (SRE) Approach to Developing a Large-Scale Personal Learning Environment Infrastructure. Lecture Notes in Computer Science, Springer, Heidelberg/Berlin, September 2012.

[7]

CLIX. Online available URL: http://www.im-c.de/germany/de/solutions/learningmanagement/clix-2012/ [20.12.2012]

[8]

DBpedia. Online available URL: http://dbpedia.org [19.12.2012]

[9]

Edshelf Online available URL: http://edshelf.com [18.12.2012]

[10] Edukapp - Cross university widget store: Online available URL: http://code.google.com/p/edukapp/ [18.12.2012] [11] F. Schanda, D. Dikke, N. Müller (2012): Personal Learning Management Systems (PLMS): Concept, Classification, Evaluation, in: eLearning Baltics 2012: Proceedings of the 5th International eLBa Science Conference in Rostock, Germany, June 21-22, 2012. Hrsg.: Fraunhofer IGD, Institutsteil Rostock. Rostock, Germany. [12] Graasp.Online available URL: http://graasp.epfl.ch [19.12.2012] [13] iGoogle. Online available: URL http://www.google.com/ig/ [19.05.2010] [14] Introduction to W3C Widgets. Online available: URL: http://www.quirksmode.org/blog/archives/2009/04/introduction_to.html [23.06.2010] [15] ITWissen. Online available: URL: http://www.itwissen.info/definition/lexikon/Widgetwidget.html [23.07.2010] [16] Karvonen, K., Kilinkaridis, T., and Immonen, O. 2009. WidSets: A Usability Study of Widget Sharing. In Proceedings of the 12th IFIP TC 13 international Conference on HumanComputer interaction: Part II (Uppsala, Sweden, August 24 - 28, 2009). T. Gross, J. Gulliksen, P. Kotzé, L. Oestreicher, P. Palanque, R. O. Prates, and M. Winckler, Eds. Lecture Notes In Computer Science, vol. 5727. Springer-Verlag, Berlin, Heidelberg, 461464. DOI= http://dx.doi.org/10.1007/978-3-642-03658-3_50 [17] Liferay. Online available URL: http://www.liferay.com/ [20.12.2012] [18] Moodle. Online available URL: http://moodle.org/ [20.12.2012] [19] Nussbaumer, A., Berthold, B., Dahrendorf, D., Schmitz, H.-C., Kravcik, M., & Albert, D. (2012): A Mashup Recommender for Creating Personal Learning Environments. Conference ICWL 2012, Springer In Popescu, E., Li, Q., Klamma, R., Leung, H., & Specht, M. (Eds), Advances in Web-Based Learning – ICWL 2012, Lecture Notes in Computer Science, vol. 7558 (pp 79-88), Berlin: Springer, 2012. [20] Open Mashup Description Language. Online available URL: http://omdl.org/ [19.12.2012] [21] OpenSocial. Online available: URL: http://code.google.com/intl/de/apis/opensocial/ [19.05.2010] [22] Palette Project: Online available: URL: http://palette.ercim.org/ [23.06.2010]

Page 29 of 30

[23] Renzel, D., Höbelt, C., Dahrendorf, D., Friedrich, M., Mödritscher, F., Verbert, K., Govaerts, S., Palmér, M. and Bogdanov, E. (2010). Collaborative Development of a PLE for Language Learning. International Journal of Emerging Technologies in Learning (iJET), Vol 5 (2010). Online available: URL: http://online-journals.org/i-jet/article/view/1196 [24] ROLE Glossary, Online in the Internet: URL: https://ilias.unikoblenz.de/repository.php?cmd=frameset&ref_id=947 [20.07.2010] [25] ROLE on SourceForge. Online available URL: http://sourceforge.net/projects/role-project/ [18.12.2012] [26] ROLE Ontology. Online available URL: http://purl.org/role/terms/ [19.12.2012] [27] ROLE Sandbox. Online available URL: http://role-sandbox.eu [19.12.2012] [28] Schmidt, M., (2009), Personal Learning Environments in Human Resource Development, 4th European Conference on Technology Enhanced Learning (EC-TEL), Nice, France, September 29 - October 2, 2009. Online available: URL: http://www.role-project.eu/wpcontent/uploads-role/2009/10/personal-learning-environments-in-human-resourcedevelopment2.pdf [16.06.2010] [29] Sire, S, Bogdanov, E., Palmér, M., and Gillet, D. (2009), Towards Collaborative Portable Web Spaces. 4th European Conference on Technology Enhanced Learning (EC-TEL) Workshop on Mash-Up Personal Learning Environments (MUPPLE’09), Nice, France, September 29 - October 2, 2009. Online available: URL: http://infoscience.epfl.ch/record/140943/files/mupple-portable-ple.pdf [30] SPARQL Query Language for RDF. Online available URL: http://www.w3.org/TR/rdfsparql-query/ [18.12.2012] [31] SPARQL Query Results XML Format. Online available URL: http://www.w3.org/TR/rdfsparql-XMLres/ [18.12.2012] [32] Widget Packaging and Configuration. Online available: URL: http://www.w3.org/TR/widgets/ [23.06.2010]

Page 30 of 30

Suggest Documents