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 sessions 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;
buildJNLP check_preload add_preload remove_preload is_participant is_moderator list_preloads list_recordings
These methods are available from Elive::Entity::Meeting.
adapter allModerators boundaryMinutes costCenter deleted enableTelephony end facilitatorId followModerator fullPermissions id inSessionInvitation maxTalkers moderatorNotes moderatorTelephonyAddress moderatorTelephonyPIN name participantTelephonyAddress participantTelephonyPIN participants password privateMeeting profile raiseHandOnEnter recordingObfuscation recordingResolution recordingStatus redirectURL restrictedMeeting seats serverTelephonyAddress serverTelephonyPIN start supervised telephonyType userNotes videoWindow
These attributes are available from: Elive::Entity::Meeting, Elive::Entity::MeetingParamaters, Elive::Entity::ServerParameters, Elive::Entity::ParticipantList.
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.