As part of providing these SCORM objects each user enrolled in the host LMS (the LMS calling the Catapult content) must also be manually enrolled in the Catapult hosted LMS for the organisation. From an automation point of view, this is not ideal.
Catapult provide a basic API through REST, returning JSON, that allows for enrolments to be created and queried. A CFC was required that provides functions to call this API, i.e. a gateway/proxy/wrapper.
The cfc we created has two methods corresponding to REST GET and POST actions and appropriate oAuth related code to sign our requests.
variables.consumer_key = 'ra3u0Lf9XxkC2KX839r2MS0fDltvLquow3ZMLaOw'; variables.consumer_secret = 'zNsCMfFFznW8GrXeWfUxo6PgACz09VBOii8ZWtIXAY'; variables.provider_url = 'http://jwgecko-moodle-demo.catapult-elearning.com/api/enrolments'; return this; var oConsumer = CreateObject("component", "turnkey.core.oauth.api.oauthconsumer").init(sKey=variables.consumer_key, sSecret=variables.consumer_secret); var oSigMethodSHA = CreateObject("component", "turnkey.core.oauth.api.oauthsignaturemethod_hmac_sha1"); var oEmptyToken = createObject("component", "turnkey.core.oauth.api.oauthtoken").createEmptyToken(); var oRequestReq = CreateObject("component", "turnkey.core.oauth.api.oauthrequest").fromConsumerAndToken( oConsumer=oConsumer, oToken = oEmptyToken, sHttpMethod = arguments.method, sHttpURL = variables.provider_url ); oRequestReq.signRequest(oSignatureMethod=oSigMethodSHA, oConsumer=oConsumer, oToken=oEmptyToken); return oRequestReq; var oConsumer = CreateObject("component", "turnkey.core.oauth.api.oauthconsumer").init(sKey=variables.consumer_key, sSecret=variables.consumer_secret); var oSigMethodSHA = CreateObject("component", "turnkey.core.oauth.api.oauthsignaturemethod_hmac_sha1"); var oEmptyToken = createObject("component", "turnkey.core.oauth.api.oauthtoken").createEmptyToken(); var oRequestReq = CreateObject("component", "turnkey.core.oauth.api.oauthrequest").fromConsumerAndToken( oConsumer=oConsumer, oToken = oEmptyToken, sHttpMethod = "GET", sHttpURL = variables.provider_url, stParameters = arguments.params ); oRequestReq.signRequest(oSignatureMethod=oSigMethodSHA, oConsumer=oConsumer, oToken=oEmptyToken); return oRequestReq;
No comments:
Post a Comment