Interface specification between the Toolbox and the Portal
This spec is not finalized yet.
Web services (XMLRPC)
Toolbox implements 2 webservices:
- uploadToToolbox(userID,transferID,xml with loms and keywords,etc...)
- Keywords are used to locate the resource within the basket, as long as the basket is still hierarchical in the portal, these will be the folder names of the basket
- checkUploadStatus(transferID) returns XML with status report
- getLoggedUserActions(DATE from, DATE to) returns string
- see "statistical information" below for explanation
- As for user and session_id it would be good if it could be mapped back to portal. Question:
- Do you need more fields?
Portal implements:
- reportUploadFailures(userID,transferID,XML with status report)
This is sent right when it happens, so the portal system will create a timestamp.
- registerNewLO(LOM)
TODO:
- methods for collecting usage statistics
XML examples
XML used in call to uploadToToolbox. It contains information on objects that need to be made visible in the Toolbox. The spec only includes new or modified resources.
<?xml version="1.0" encoding="UTF-8"?>
<upload>
<resource>
<keyword>kw1</keyword>
<keyword>kw2</keyword>
<lom>strictLOM instance goes here</lom>
</resource>
<resource>
<keyword>kw1</keyword>
<keyword>kw2</keyword>
<lom>strictLOM instance goes here</lom>
</resource>
</upload>
<remove>
<resource>
<identifier>
<catalog>EUN</catalog>
<entry>123</entry>
</identifier>
</resource>
</remove>
XML used in status and failure reports:
<?xml version="1.0" encoding="UTF-8"?>
<status>1</status>
<progress>50</progress>
<failed>
<resource>
<lom_id/>
<title/>
</resource>
<resource>
<lom_id/>
<title/>
</resource>
</failed>
Where:
- status
- 1
- download in progress
- 0
- completed, no error
- -1
- completed, errors
- progress
- percentage value between 0 and 100 showing the progress of the download
The failed-section lists the objects that could not be downloaded successfully.
Statistic information
String returned from webservice could be a semicolon separated list, which is more efficient for this kind of data, than a full blown xml. event varchar2(32),user_id number,session_id varchar2(64),lo_list varchar2(256),time_stamp date,event_specs varchar2(32)
Here a list of all actions, this should comprise all the actions which we can report to WP4
Action, event, lo_list, event_specs, additional info (such as search words..) simple search, search, "", basic free text browse, search, "", browsing search advanced search, search, "", advanced search bring2Basket, obtain, yes, toBasket download2Comp, obtain, yes, download inBasket download2Comp, obtain, yes, download inSearchResults viewResource, play, yes, inBasket viewResource, play, yes, inSearchResults viewResource, play, yes, inToolbox (?? necessary to distinguish between places??)viewEvaluation, viewEvaluation, yes, inBasket viewEvaluation, viewEvaluation, yes, inSearchResults view metadata, viewMetadata, yes, inToolbox (?? necessary to distinguish between places??) use LO in VLE, translateMetadata translateContents createImprovement (same content, with fixes) createVariation (essentially a different object) startProject around the content add the content to an ongoing project use LO in another collection, remove LO from another collection, write story for LO,
Possibly we should also log when a user logs out. Any more thoughts?
Comments
Comment by sylvia on Thu Mar 30 12:19:45 2006
portal technical comments: transfer_id = session_id
