This document discusses using Drupal to build a virtual learning platform for higher education. It describes how Fedora Commons can be used to create large repositories for storing learning objects and metadata. Islandora and the Fedora REST API module provide Drupal integrations for Fedora Commons. BigBlueButton can be used for video conferencing. Together these open source tools can be used to develop a flexible, scalable virtual learning application within a Drupal framework.
2. Next generation virtual learning
Most Virtual Learning solutions include at least the
following:
- a repository of learning objects: various resources used
to build a course or a training
- an infrastructure for communication: email, chat,
videoconferencing
3. Next generation virtual learning
Usually we get fast and scalable solution for these reqs:
- from proprietary platforms - $$$$$
- building up our own meshup solutions using open source
technologies
4. The challenge
A typical modern university VLE:
Must accomodate tens of thousands of users
Must store hundreds of thousands, maybe millions
of objects (not necessarily documents) together
with semantic metadata
Must deliver content over the net distance
learning, online courses
Must integrate with academic regulations, has
special workflows
Must have excellent community features
5. Drupal
Drupal is a solution already implemented in
many universities
Stands out as a higly flexible framework
Is a platform for social web applications
Semantic web ready
6. Next generation virtual learning
Recent solutions: Open Source, well financed, large
support communities
Some examples:
Fedora Commons: http://www.fedora-commons.org/
An application providing the infrastructure to create huge
repositories Cornell University, DuraSpace Foundation
BigBlueButton: http://bigbluebutton.org/
A university oriented videoconferencing server based on
several open source technologies (Flex, Asterisk, Red5
etc.)
7. Here comes the juice
Fedora Commons and Drupal
Islandora: a set of Drupal modules developed at
Robertson Library at the University of Prince
Edward Island: http://islandora.ca
Fedora REST Api: a module developed by Don
Gourley at Digital Humanities Observatory
BigBlueButton and Drupal:
http://drupal.org/project/bbb - sanduhrs from
erdfisch.de. Still in development, but doing
the job
8. What can we do with them?
Develop a Drupal based virtual leaning application for
higher education or corporate training.
FEDORA COMMONS:
Create huge repositories with thematic and semantically
organized collections of resources:
- we're talking about millions of objects: documents,
images, complex objects (several pdfs + images + xls files
+ whatever you need to store)
- store metadata, develop controlled vocabularies for
your collections
- index and search with Apache Solr
- get objects from the repostory into Drupal and do
whatever you want with them
9. What can we do with them?
Develop a Drupal based virtual leaning application for
higher education or corporate training.
BigBlueButton
- Get 100 people together and do a videoconference
delivering a training with full duplex communication and
high quality VOIP
- Broadcast whatever course materials you have and
share desktops
- Have user roles in the events: moderators, participants
etc.
- in the near future: record conferences
10. A platform for creating large archives
(repositories)
We can store, access (with access policies) and
manage any kind of resources
It is extensible, it provides a set of APIs for
developing tools, ingesting and retrieving
data
It is open source and has a big and growing
community
13. Some technical details
FC is implemented by using Java services
(Tomcat)
Everything is a data object
Each data object can have datastreams
A datastream holds digital content or
metadata about the data object
Each data object may implement various
relationships to any number of other objects
14. Some technical details
Each data object is represented by a XML file
FC manages the XML: stores data about
How to find components of the object
(datastreams)
The history of object's alterations
Access and use policies, checksums
The whole deployment can be restored from a
backup of these XML files
15. Digital objects - basic
components
PID: A persistent, unique
identifier for the object.
Object Properties: A set of
system-defined descriptive
properties that are necessary to
manage and track the object in
the repository.
Datastream(s): The element in a
Fedora digital object that
represents a content item:
eg. Dublin Core metadata, high-
res image, low-res image etc.
16. FOXML: a simple XML format that directly
expresses the Fedora Digital Object Model
Each data object is represented by a FOXML
file
FOXML files are also used to ingest or export
objects
The schema reflects the basic structure of a
digital object
17. <digitalObject PID="uniqueID">
<!-- there are a set of core object
properties -->
<objectProperties>
<property/>
<property/>
...
</objectProperties>
<!-- there can be zero or more
datastreams -->
<datastream>
<datastreamVersion/>
<datastreamVersion/>
...
</datastream>
</digitalObject>
18. Fedora Commons has a steap learning curve, just
like Drupal
Detailed documentation on:
http://www.fedora-commons.org
19. FC is a toolkit for building repositories
Needs some serious development effort to
build the data models
It is easier to work with it by using some of the
front-ends
Islandora: a front end based on Drupal
Fedora REST Api: an implementation of FC API's
allowing for custom development of FC front-ends
and data consuming applications based on Drupal
20. Islandora
Provides a basic front end to FC (there is still a
lot of work to be done at FC level to create a
new repository)
Provides authentication and roles based on
Drupal user tables
Allows the creation of views from FC
collections (no UI, just XSLT templates)
Allows the ingestion of new objects into
collection
Integrates Apache SOLR search
21. Islandora
Demo using Islandora VirtualBox appliance
Download it from: http://islandora.ca
Local IP: 192.168.56.101
OpenSolaris: root/opensolaris
Islandora: admin/demo
22. Islandora
Pros
Almost out of the box solution
It is pretty versatile for searching, browsing and
ingesting new objects
It is a very good starting point for developing FC
based applications with Drupal
Cons
Does not store anything in Drupal tables, it just links
to records.
There is not so much integration with other Drupal
modules like CCK, Taxonomy, Views
Does not fully implement FC APIs, so extenting is an
issue
23. Fedora REST API module
More Drupal like approach contributed a few
weeks ago
Developed by Don Gourley Digital
Humanities Observatory, Ireland
Still as CVS project application, I hope it will
get on: http://drupal.org/node/793616
Provides a full implementation of FC APIs,
unlike a similar Drupal CVS application:
http://drupal.org/node/771670
24. Fedora REST API module
What it does:
Provides an interface to access all FC REST
methods (more details in a moment)
Implements a content type fedora objectfor
representing a digital object from FC
Hook implementations for mapping any digital
object to Drupal nodes
Admin interface for mass importing of objects
from FC collections
Basic tools for developing a fully integrated
interface to DC:
Workflows
User access
Taxonomies, CCK etc
25. Fedora REST API module
Two main Fedora Commons APIs
API-A: Fedora Access
fulfill a client's request for dissemination
Methods for repository access, object access (find, get
history, get profile), datastream (retrieve actual content
or metadata) etc.
API-M: Fedora Manage
Create, modify, delete objects or components of digital
objects
Manage datastreams, relationships and objects
Fedora REST API exposes a subset of API-A and
API-M as a RESTful Web Service
26. Fedora REST API module
A live implementation: http://dho.ie/drapier/
A local demo with FC demo collection some
basic functions
Check Don's Git workspace:
http://github.com/dongourley/fedora_rest
28. BigBlueButton
http://drupal.org/project/bbb
Content type to hold session/conference schedule
Implements BBB API: meeting intiation, status,
joining, reports
29. Solutions for a large scale app
Repository: Fedora Commons
Repository front end: Drupal based front end
for Fedora Commons Islandora/Fedora REST
API
Indexing and search: Apache Solr
Video conferencing: Big Blue Button
Virtual Learning Platform: Drupal