NAME
====
Bb::Collaborate::Ultra - Perl 5 bindings to Collaborate Ultra Virtual Classroom Software (Under Construction)
SYNOPSIS
========
use Bb::Collaborate::Ultra::Connection;
use Bb::Collaborate::Ultra::Session;
use Bb::Collaborate::Ultra::User;
use Bb::Collaborate::Ultra::LaunchContext;
my %credentials = (
issuer => 'OUUK-REST-API12340ABCD',
secret => 'ABCDEF0123456789AA',
host => 'https://xx-csa.bbcollab.com',
);
# connect to server
my $connection = Bb::Collaborate::Ultra::Connection->new(\%credentials);
$connection->connect;
# create a virtual classroom, starts now runs, for 15 minutes
my $start = time() + 60;
my $end = $start + 900;
my $session = Bb::Collaborate::Ultra::Session->post($connection, {
name => 'Test Session',
startTime => $start,
endTime => $end,
},
);
# define a session user
my $user = Bb::Collaborate::Ultra::User->new({
extId => 'dwarring',
displayName => 'David Warring',
email => 'david.warring@gmail.com',
firstName => 'David',
lastName => 'Warring',
});
# register the user. obtain a join URL
my $launch_context = Bb::Collaborate::Ultra::LaunchContext->new({
launchingRole => 'moderator',
editingPermission => 'writer',
user => $user,
});
my $url = $launch_context->join_session($session);
DESCRIPTION
===========
This Perl 5 module provides bindings to the the Collaborate (*) Services RESTful API. These support the CRUD and processing operations for the scheduling and access to HTML sessions.
(*) Blackboard Collaborate Ultra is a virtual classroom web service based on the WebRTC (Real Time Chat) protocol.
Resources and Schemas
---------------------
These services are described in https://xx-csa.bbcollab.com/documentation.
Each resource class and schema is represented by a Perl 5 class:
- Context - Bb::Collaborate::Ultra::Context
- Session - Bb::Collaborate::Ultra::Session
- Recording - Bb::Collaborate::Ultra::Recording
Authentication
--------------
This is managed by the Bb::Collaborate::Ultra::Connection class
Authentication is via the OAuth 2.0 protocol, using the JWT Token Flow, as described in the documentation.
INSTALLATION
============
To install this module, run the following commands:
perl Makefile.PL
make
make test
make install
Live Testing
------------
The tests in this distribution may be run against a live server by setting
up the environment variables, as shown below:
perl Makefile.PL
make
export BBC_ULTRA_HOST=https://xx-csa.bbcollab.com; # for example
export BBC_ULTRA_ISSUER=some-client-id;
export BBC_ULTRA_SECRET=some-secret-key;
make test
It is recommended that tests are only run on a designated test server, not a live production site.
BUGS AND LIMITATIONS
====================
- This module does not yet fully implement resource types: Users, Enrollments or Courses
- JWT Username-Password authentication is not yet supported.
COPYRIGHT & LICENSE
===================
Copyright 2016 David Warring, all rights reserved.
This program is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.