wiki:InterfacePortal
Last modified 12 years ago Last modified on 03/30/06 17:10:54

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

AddComment?