NAME
Elive::View::Session - Session view class
DESCRIPTION
A session is a consolidated view of meetings, meeting parameters, server parameters and participants.
METHODS
insert
Creates a new session on an Elluminate server.
use Elive::View::Session;
my $session_start = time();
my $session_end = $session_start + 900;
$session_start .= '000';
$session_end .= '000';
my %session_data = (
name => 'An example session',
facilitatorId => Elive->login->userId,
password => 'example', # what else?
start => $session_start,
end => $session_end,
privateMeeting => 1,
costCenter => 'example',
recordingStatus => 'remote',
raiseHandOnEnter => 1,
maxTalkers => 2,
inSessionInvitation => 1,
boundaryMinutes => 15,
fullPermissions => 1,
supervised => 1,
seats => 2,
participants => [qw(alice bob)],
);
my $session = Elive::View::Session->insert( \%session_data );
A series of sesions can be created using the recurrenceCount
and recurrenceDays
parameters.
#
# create three weekly sessions
#
my @sessions = Elive::View::Session->insert({
...,
recurrenceCount => 3,
recurrenceDays => 7,
});
update
Updates a previously created session.
$session->seats(5);
$session->update;
...or equivalently...
$session->update({seats => 5});
retrieve
Retrieves a session for the given session id.
Elive::View::Session->retrieve( $session_id );
list
List all sessions that match a given critera:
my $sessions = Elive::View::Session->list( filter => "(name like '*Sample*')" );
delete
Deletes an expired or unwanted session from the Elluminate server.
my $session = Elive::View::Session->retrieve( $session_id );
$session->delete;
BUGS AND LIMITATIONS
Maintaining the Elive::View::Session abstraction may involve fetches from several entities. This is mostly transparent, but does have some implications for the list
method:
You can only filter on core meeting properties (
name
,start
,end
,password
,deleted
,faciltatorId
,privateMeeting
,allModerators
,restrictedMeeting
andadapter
).Access to other properties requires a secondary fetch. This is done lazily on a per record basis and may be considerably slower. This includes access to attributes of meeting parameters, server parameter and participant list.
SEE ALSO
Elive::Entity::Meeting Elive::Entity::MeetingParameters Elive::Entity::ServerParameters Elive::Entity::ParticipantList