NAME
Bb::Collaborate::V3 - Perl bindings for the Blackboard Collaborate Standard Bridge (V3)
VERSION
Version 0.05
DESCRIPTION
Blackboard Collaborate is software for virtual online classrooms. It is suitable for meetings, demonstrations web conferences, seminars, general training and support.
Bb-Collaborate-V3 is a set of Perl bindings and entity definitions for the Collaborate V3 SOAP services, both on SAS (externally hosted) and ELM (self hosted) servers.
EXAMPLE
use Bb::Collaborate::V3;
use Bb::Collaborate::V3::Session;
use Elive::Util;
my $connection = Bb::Collaborate::V3->connect(
'http://myserver/mysite',
'some_user' => 'some_pass' );
# Sessions must start and end on the quarter hour.
my $session_start = Elive::Util::next_quarter_hour();
my $session_end = Elive::Util::next_quarter_hour( $session_start );
my %session_data = (
sessionName => 'My Demo Session',
creatorId => $connection->user,
startTime => $session_start . '000',
endTime => $session_end . '000',
openChair => 1,
mustBeSupervised => 0,
permissionsOn => 1,
nonChairList => [qw(alice bob)],
groupingList => [qw(mechanics sewing)],
);
my $session = Bb::Collaborate::V3::Session->insert(\%session_data);
my $url = $session->session_url( userId => 'bob', displayName => 'Robert');
print "bob's session link is: $url\n";
DESCRIPTION
Implements Blackboard Collaborate Standard Bridge V3 API bindings
METHODS
data_classes
returns a list of all implemented entity classes
connect
use Bb::Collaborate::V3;
use Bb::Collaborate::V3::Connection;
#
# Setup the default connection
Bb::Collaborate::V3->connect('http://myServer.com/test1', 'user1', 'pass1');
my $c1 = Bb::Collaborate::V3->connection;
#
# Setup a secondary connection
my $c2 = Bb::Collaborate::V3::Connection->connect('http://user2:pass2@myServer.com/test2');
Connects to a server instance. Dies if the connection could not be established. If, for example, the SOAP connection or authentication failed.
See also Bb::Collaborate::V3::Connection.
connection
$e1 = Bb::Collaborate::V3->connection
or warn 'no elive connection active';
Returns the default Elive connection handle.
update
Abstract method to commit outstanding object updates to the server.
$obj->{foo} = 'Foo'; # change foo attribute directly
$foo->update; # save
$obj->bar('Bar'); # change bar via its accessor
$obj->update; # save
Updates may also be passed as parameters.
# change and save foo and bar. All in one go.
$obj->update({foo => 'Foo', bar => 'Bar'});
insert
Abstract method to create new entity instances on the server:
my $multimedia = Bb::Collaborate::V3::Multimedia->insert(
{
filename => 'demo.wav',
creatorId => 'bob',
content => $content,
},
);
list
Abstract selection method. Most commands allow a ranging expression to narrow the selection. This is passed in using the filter
option. For example:
my $bobs_sessions = Bb::Collaborate::V3::Session->list( filter => {userId => 'bob'});
delete
Abstract method to delete entities:
$multimedia->delete;
SEE ALSO
Bb::Collaborate::V3::Connection Bb::Collaborate::V3::Multimedia Bb::Collaborate::V3::Session Bb::Collaborate::V3::Session::Attendance Bb::Collaborate::V3::Session::Telephony Bb::Collaborate::V3::Presentation Bb::Collaborate::V3::SchedulingManager Bb::Collaborate::V3::Server::Configuration Bb::Collaborate::V3::Server::Version Bb::Collaborate::V3::Recording
AUTHOR
David Warring, <david.warring at gmail.com>
BUGS
Please report any bugs or feature requests to bug-bb-Collaborate-V3 at rt.cpan.org
, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Bb-Collaborate-V3. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
SUPPORT
You can find documentation for this module with the perldoc command.
perldoc Bb::Collaborate::V3
You can also look for information at:
RT: CPAN's request tracker
AnnoCPAN: Annotated CPAN documentation
CPAN Ratings
Search CPAN
REFERENCES
- Standard Integration API Guide V3.2 for SAS.DocRev3.pdf - the main reference used in the construction of this module.
- Standard Integration API Guide V3 for ELM.pdf - supplementry information on the ELM specific adapator for V3.
LICENSE AND COPYRIGHT
Copyright 2012-2015 David Warring.
This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.
See http://dev.perl.org/licenses/ for more information.