NAME

WebService::ScormCloud - Interface to cloud.scorm.com

DESCRIPTION

This module provides an API interface to cloud.scorm.com, which is a web service provided by Rustici Software (http://www.scorm.com/).

API docs can be found at http://cloud.scorm.com/EngineWebServices/doc/SCORMCloudAPI.html.

The author of this module has no affiliation with Rustici Software other than as a user of the interface.

Registered trademarks are property of their respective owners.

VERSION

Version 0.03

SYNOPSIS

use WebService::ScormCloud;

my $ScormCloud = WebService::ScormCloud->new(
                     app_id      => '12345678',
                     secret_key  => 'ABCDEFGHIJKLMNOPQRSTUVWXYZ',
);

API CLASSES

Each portion of the API is defined in its own class:

WebService::ScormCloud::Service::Course

WebService::ScormCloud::Service::Debug

WebService::ScormCloud::Service::Registration

WebService::ScormCloud::Service::Reporting

WebService::ScormCloud::Service::Upload

USAGE

new( %args )

Construct a WebService::ScormCloud object to communicate with the API.

Note: Any of the following constructor parameters can also be called post-construction as object set/get methods.

app_id

Required. An application ID generated for your login at http://cloud.scorm.com/.

secret_key

Required. A secret key that corresponds to the application ID, used for hashing parameters in the API request URLs. Generated at http://cloud.scorm.com/.

service_url

The API service URL. Defaults to "http://cloud.scorm.com/api".

last_error_data

Returns a listref representing the raw response data for the error(s) returned by the most recent ScormCloud service API call.

The data will look like:

[
    {
     code => 100.
     msg  => 'A general security error has occured',
    }
    ...
]

Useful if e.g. "die_on_bad_response" is set to false, and a service API call returns undef instead of the expected object.

last_error_msg

Return a error message representing the error(s) returned by the most recent ScormCloud service API call.

Useful if e.g. "die_on_bad_response" is set to false, and a service API call returns undef instead of the expected object.

lwp_user_agent

Set the user agent string used in API requests. Defaults to "MyApp/1.0".

top_level_namespace

Top-level namespace for API methods. Defaults to "rustici".

dump_request_url

Set to true to dump request URLs to STDOUT. Default is false.

dump_response_xml

Set to true to dump raw response XML to STDOUT. Default is false.

dump_response_data

Set to true to dump data from parsed response XML to STDOUT. Default is false.

Parsing is currently done with XML::Simple.

dump_api_results

Set to true to dump results grabbed from response data by each API call. Default is false.

Parsing is currently done with XML::Simple.

die_on_bad_response

Set to true to die if the API response data is malformed or invalid for the given API method being called (mainly useful for testing). Default is false.

SEE ALSO

http://www.scorm.com/

WebService::ScormCloud::Service::Course

WebService::ScormCloud::Service::Debug

WebService::ScormCloud::Service::Registration

WebService::ScormCloud::Service::Reporting

WebService::ScormCloud::Service::Upload

AUTHOR

Larry Leszczynski, <larryl at cpan.org>

BUGS

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

Patches more than welcome, especially via GitHub: https://github.com/larryl/ScormCloud

SUPPORT

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

perldoc WebService::ScormCloud

You can also look for information at:

ACKNOWLEDGEMENTS

COPYRIGHT & LICENSE

Copyright 2010 Larry Leszczynski.

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.