Elive is a set of Perl modules for scripting management and integration
of Elluminate Live! virtual classroom servers.

You can, for example, use it to query or add users, create sessions, assign
users as class participants and change server settings.

This package has been tested against Elluminate Live! versions 9.0 - 9.7.

You will need to be able to login in to your SOAP service using an
Elluminate system administrator level account.

INSTALLATION

    To install this module, run the following commands:

        perl Makefile.PL
        make
        make test
        make install

TESTING

    There are additional live tests in t/2?-soap-*.t. By default, these
    either skipped or run offline.

    These may be run against a live server by setting up the environment
    variables, an running tests, as shown below:

        perl Makefile.PL
        make
        export ELIVE_TEST_URL=http://some_server.com/some_test_instance
        export ELIVE_TEST_USER=some_admin_user
        export ELIVE_TEST_PASS=some_password
        make test

    WARNING: These tests will both create and delete various entities
    instances. For this reason you should by wary of running the live
    tests on production sites.

    Consider restricting live testing to designated development and test
    sites, or newly created site instances!

POST INSTALLATION

    The elive_query script can be used to check basic operation of Elive
    and access to your Elluminate server(s).

        % elive_query --user admin_user http://myserver/mysite

    Where admin_user is an Elluminate system administrator account.

    You will need to enter a password. You should then get:

	connecting to http://myserver/mysite...done
	Elive query 0.nn (Elluminate Live 9.x.y) - type 'help' for help
	elive>

    You can then try a simple query:

	elive> select * from users

    See also elive_raise_meeting. This is a utility script that creates
    Elluminate meetings.

        % elive_raise_meeting --user admin_user http://myserver/mysite -name 'Test'


TROUBLESHOOTING

    'User [<username>], not permitted to access the command {<command>]'
    --------------------------------------------------------------------
    Historically, all users with a role of '0' (System Administrator) have
    been given access to the SDK.

    If your are running Elm 3.0 / Elluminate 9.5 or higher, you can grant
    SDK access to individual users in the Elluminate configuration.

    You will need to do this if you are using LDAP authentication.

    To do this, firstly stop all Elluminate services.

    Then you'll need to edit the configuration.xml for the site instance.

	    Under Linux, the configuration can be found under:

		 /opt/ElluminateLive/manager/tomcat/webapps

	    or under Windows:

		 C:/Program Files/ElluminateLive/manager/tomcat/webapps

	    The actual configuration is then in the sub-path:

		 ROOT/WEB-INF/resources/configuration.xml

	     or for any additional sites built with the instance manager:

		 mysite/WEB-INF/resources/configuration.xml

	Edit the file and add a user entry to the security section:

	    <elm>
		...
	       <proxymanager enable="true">
		 <proxy name="web" ..>
		  ...
		  <security adapter-name="default">
		    <permissions>
		      ...
		      <!-- ++ ADD THIS -->
		      <user name="some_user">
			 <allow command="*" />
		      </user>
		      <!-- -- ADD THIS -->
		    </permissions>
		    ...

    'Unable to determine a command for the key Xxxxx'
    -------------------------------------------------
    This may indicate that some of the adapters are missing from
    your Elluminate configuration. This can be prone to likely to
    happen with an Elluminate instance that
    has been through several Elluminate upgrades.

    You can use the installed script elive_lint_config to check for
    missing adapaters.

	% cd /opt/ElluminateLive/manager/tomcat/webapps
	% elive_lint_config WEB-INF/resources/configuration.xml
	missing adapter command: getUser
	missing adapter command: deletePreload
	missing adapter command: listPreloads

    The adapters can be added to your configuration file.

    For example, if elive_lint_config returned the error:

	"missing adapter command: getUser"

    You'll need to first stop Elluminate services.

    Save a backup copy of configuration.xml Then you can add an adapter
    entry can be added to the list of adapters.

    E.g., to add the getUser adapter:

	<elm>
	    ...
	    <adapters>
	       <adapter>
		  <commands>
		    ...
                    <!-- ++ ADD COMMANDS HERE -->
		    <command name="getUser" class="com.elluminate.adapter.command.GetUserCommand" />
                    <!-- -- ADD COMMANDS HERE -->

SUPPORT AND DOCUMENTATION

    See the Elluminate Live documentation. In particular, this package
    follows the entities and relationships described in DatabaseSchema.pdf.

    You will find a copy on the installation disk; or if you have access to the
    server, you will will typically find this in /opt/Elluminate/documentation. 

    After installing, you can find documentation for this module with the
    perldoc command.

	perldoc Elive

    You can also look for information at:

	RT, CPAN's request tracker
	    http://rt.cpan.org/NoAuth/Bugs.html?Dist=Elive

	AnnoCPAN, Annotated CPAN documentation
	    http://annocpan.org/dist/Elive

	CPAN Ratings
	    http://cpanratings.perl.org/d/Elive

	Search CPAN
	    http://search.cpan.org/dist/Elive/


COPYRIGHT AND LICENCE

Copyright (C) 2009-2010 David Warring

This program is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.

