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.