David Warring > Elive-1.30 > Elive



Annotate this POD


Open  0
View/Report Bugs
Module Version: 1.30   Source   Latest Release: Elive-1.32


Elive - Elluminate Live! Manager (ELM) Command Toolkit bindings


Version 1.30


The following (somewhat contrived) example sets up a meeting of selected participants:

    use Elive;
    use Elive::Entity::User;
    use Elive::Entity::Preload;
    use Elive::Entity::Session;

    my $meeting_name = 'Meeting of the Smiths';

                   'serversupport', 'mypass');

    my $users = Elive::Entity::User->list(filter => "(lastName = 'Smith')");
    die "smithless" unless @$users;

    my $start = time() + 15 * 60; # starts in 15 minutes
    my $end   = $start + 30 * 60; # runs for half an hour

    my $whiteboard_preload = Elive::Entity::Preload->upload('welcome.wbd');

    my $session = Elive::Entity::Session->insert({
         name           => $meeting_name,
         start          => $start . '000',
         end            => $end   . '000',
         restricted     => 1,
         participants   => $users,
         add_preload    => $whiteboard_preload,

    print "Session address: ".$session->web_url;



Elive is a set of Perl bindings and entity definitions for quick and easy integration with the Elluminate Live! Manager (ELM) application. It can be used to automate a range of tasks including setting up meetings and participants, as well as managing users and user groups.


Elluminate Live! is software for virtual online classrooms. It is suitable for meetings, demonstrations, web conferences, seminars, training and support.

Most management functions that can be performed via the web interface can also be achieved via SOAP web services. This is known as the Command Toolkit and is detailed in chapter 4 of the Elluminate Live! Software Developers Kit (SDK).

Users, Meetings and other resources are stored in the Elluminate Live! Manager (ELM) database. These can be entered, accessed and manipulated via the Entity Commands in the Command Toolkit.



     Elive->connect('https://myServer.com/test', some_user => 'some_pass');
     my $connection = Elive->connection;

Connects to an Elluminate server instance. Dies if the connection could not be established. If, for example, the SOAP connection or user login failed.

The login user must either be an Elluminate Live! system administrator account, or a user that has been configured to access the Command Toolkit via web services.

See also: the Elive README file, Elive::Connection::SDK.


     $e1 = Elive->connection
         or warn 'no elive connection active';

Returns the current Elive::Connection::SDK connection.


Returns the login user for the default connection.

    my $login = Elive->login;
    say "logged in as: ".$login->loginName;

See Elive::Entity::User.


Returns the server details for the current connection. See Elive::Entity::ServerDetails.

    my $server = Elive->server_details;
    printf("server %s is running Elluminate Live! version %s\n", $server->name, $server->version);

There can potentially be multiple servers:

    my @servers = Elive->server_details;
    foreach my $server (@servers) {
        printf("server %s is running Elluminate Live! version %s\n", $server->name, $server->version);


Disconnects the default Elluminate connection. It is recommended that you do this prior to exiting your program.




Sets or gets the debug level.

0 = no debugging
1 = dump object and class information
2 = also enable SOAP::Lite tracing
3 = very detailed


Elluminate Services Errors:

"Unable to determine a command for the key : Xxxx"

This may indicate that the particular command is is not available for your site instance. Please follow the instructions in the README file for detecting and repairing missing adapters.

"User [<username>], not permitted to access the command {<command>]"

Please ensure that the user is a system administrator account and/or the user has been configured to access commands via web services. See also the README file.


elive_query - simple query shell

elive_query is a script for issuing basic sql-like queries on entities. It serves as a simple demonstration script, and can be used to confirm connectivity and operation of Elive.

    % perl elive_query https://myserver.com/test -user sdk_user
    Password: connecting to https://myserver.com/test...ok
    Elive query 1.xx - type 'help' for help

    elive> select address,version from serverDetails
    address     |version
    elive> ^D

It serves a secondary function of querying entity metadata. For example, to show the meeting entity:

    % elive_query
    Elive query 1.xx  - type 'help' for help

    elive> show
    usage: show group|meeting|...|serverParameters|session|users

    elive> show meeting
    meeting: Elive::Entity::Meeting:
      meetingId          : pkey Int        
      adapter            : Str       -- adapter used to create the meeting
      allModerators      : Bool      -- all participants can moderate
      deleted            : Bool            
      end                : HiResDate -- meeting end time
      facilitatorId      : Str       -- userId of facilitator
      name               : Str       -- meeting name
      password           : Str       -- meeting password
      privateMeeting     : Bool      -- don't display meeting in public schedule
      restrictedMeeting  : Bool      -- Restricted meeting
      start              : HiResDate -- meeting start time

for more information, please see elive_query, or or type the command: elive_query --help

elive_raise_meeting - meeting creation

This is a demonstration script for creating meetings. This includes the setting of meeting options, assigning participants and uploading of preloads (whiteboard, plan and media files).

For more information, see elive_raise_meeting or type the command: elive_raise_meeting --help

elive_lint_config - configuration file checker

A utility script that checks your Elluminate server configuration. This is more likely to be of use for Elluminate Live! prior to 10.0. Please see the README file.


Modules in the Elive distribution

Elive::Entity::Session - Sessions (or meetings)
Elive::Entity::Group - Groups of Users
Elive::Entity::Preload - Preload Content (whiteboard, multimedia and plans)
Elive::Entity::Recording - Session Recordings
Elive::Entity::Report - Management Reports
Elive::Entity::User - Users/Logins
Elive::Connection::SDK - Elluminate SOAP connections

Scripts in the Elive Distribution

elive_query - simple interactive queries on Elive entities
elive_raise_meeting - command-line meeting creation
elive_lint_config - Elluminate Live! configuration checker

Related CPAN Modules

Elive::StandardV3 - this module implements the alternate Elluminate Live! Standard Bridge API (v3).

Elluminate Documentation

This following documents were used in the construction of this module:


General Description of SDK development for Elluminate Live!. In particular see section 4 - the SOAP Command Toolkit. This module concentrates on implementing the Entity Commands described in section 4.1.8.

Undocumented ELM 3.x SDK Calls.pdf

This describes the createSession and updateSession commands, as implemented by the Elive::Entity::Session insert() and update() methods.


Elluminate Database Schema Documentation.


David Warring, <david.warring at gmail.com>



Please report any bugs or feature requests to bug-elive at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Elive. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

You can find documentation for this module with the perldoc command.

    perldoc Elive

You can also look for information at:


Thanks to Lex Lucas and Simon Haidley for their ongoing support and assistance with the development of this module.


Copyright 2009-2012 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.

syntax highlighting: