Bb-Collaborate-V3
view release on metacpan or search on metacpan
lib/Bb/Collaborate/V3/Session.pm view on Meta::CPAN
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";
C<register_attendee> calls the C<UpdateSessionAttendees> request. This ensures that the
user is registered on either the C<chairList> or C<nonChairList> and returns a url for
joining the session.
my %late_comer = (userId => 'fred', displayName => 'Fred Nurk', isChair => 1);
my $url2 = $session->register_attendee( \%late_comer );
A series of sessions can be created using the C<recurrenceCount> and C<recurrenceDays> parameters.
#
# create three weekly sessions
#
my @sessions = Bb::Collaborate::V3::Session->insert({
...,
recurrenceCount => 3,
recurrenceDays => 7,
});
=cut
=head2 update
$session->maxCameras(5);
$session->hideParticipantNames(0);
$session->update;
#
# ...or...
#
$session->update({maxCameras => 5, hideParticipantNames => 0});
Updates an existing session.
=cut
sub update {
my ($class, $data, %opt) = @_;
$opt{command} ||= 'Update'.$class->entity_name;
return $class->SUPER::update($data, %opt);
}
=head2 retrieve
my $session = Bb::Collaborate::V3::Session->retrieve( $session_id );
Retrieves a session.
=cut
=head2 list
#
# perl code snippet to select sessions in group 'perl_tut_1'
# created from yesterday onwards.
#
my $yesterday_dt = DateTime->today->subtract( days => 1 );
my $yesterday_msec = $yesterday_dt->epoch . '000';
my $sessions
= Bb::Collaborate::V3::Session->list(filter => {
groupingId => 'perl_tut_1',
startTime => $yesterday_msec,
});
foreach my $session (@$sessions) {
my $session_id = $session->sessionId;
my $session_name = $session->sessionName;
print "found id=$session_id, name=$session_name\n";
}
Returns an array of session objects. You may filter on:
=over 4
=item C<userId> - Matched against C<chairList> and C<nonChairList>
=item C<groupingId> - An Element from the C<groupingList>
=item C<sessionId> - Session identifier
=item C<creatorId> - Session creator
=item C<startTime> - Start of the search date/time range in milliseconds.
=item C<endTime> - End of the search date/time range in milliseconds.
=item C<sessionName> - The session name
=cut
=back
( run in 0.875 second using v1.01-cache-2.11-cpan-8f98c5d2c55 )