Sakai IMS Tool Interoperability Test Environment
The basic idea of this is to provide some source code to interact with IMS Tool
Interoperability in PHP - to come up with some simple tests to make it easier to develop
TI tools and experiment with TI with less overhead than in Java.
And since part of the goals of TI are to empower non-Java developers - this code is a step
in that direction. There are some notes here that detail some
difficulties with nusoap. This code should *not* be thought of
as a reference implementation - at least
not in its current state. This is some technology to play with and provides a convienent
endpoint to experiment with IMS TI inside of Sakai. It is not a bad set of samples
using WSDL with nusoap although I am not an expert here.
Here are the files in this package
- TestLaunch.php
This creates a very simple launch request and sends to DoLaunchRequest and displays
the result with a great deal of debugging.
- TestOutcome.php
This creates a very simple outcome request and sends it to DoOutcomeRequest and displays
the result with a great deal of debugging.
- Sakai-Test-IMSTI.xml
A tool descriptor that points back to this service. If you want to run this on your own
computer, you will need to midif the ServiceLocation tag in this file to point to
something like "http://localhost/~csev/imsti-test/DoLaunchRequest.php".
Make sure to save this as a file or view source - because most browsers do not react
well to raw XML.
- DoLaunchRequest.php
This is the SOAP server that handles Launch Requests. It logs output to log.txt.
If you go to this URL directly - you are shown the WSDL.
Each Launch Request creates a session and then produces a URL that
that points to the LMSTool.php including the session. Also all of the launch
paramameters are dumped to disk into a file indexed by session ID..
- DoOutcomeRequest.php
This is the SOAP server that handles Outcome Requests. It logs output to log.txt.
- LMSTool.php
This is the tool that reads sessions. It is not useful to go to this directly.
- TestSession.php
This makes sure that your writable areas in the directory are set up. If things work the session
increments - or you might see error messages. This uses file based sessions and there are 10
of them and they get recycled.
If directory browsing is turned our, take a look at the sessions.
- log.txt
This is a log that DoLaunchRequest and DoOutcomeRequest write to while they are operating.
It is nice to tail this log while debugging - you can press refresh and go to the bottom
in a browser but that is kind of weak. You can reset the log.
- TIRLaunchSyncSingle.wsdl
This is the WSDL for the Launch Request. You can also get this from DoLaunchRequest.
- TIROutcomeSyncSingle.wsdl
This is the WSDL for the Outcome Request. You can also get this from DoOutComeRequest..
This package can be used online or it can be used on your own computer so you can do simple loopback
tests without a network connection.
/Chuck
Wed Feb 21 10:57:00 EST 2007