Details

    • Type: Sub-task
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 10.0
    • Fix Version/s: 10.0
    • Component/s: Impl
    • Labels:
      None

      Description

      Use the LRS API and create an implementation which is compatible with tincanapi compatible servers
      http://tincanapi.com/wp-content/assets/spec/Tin-Can-API-Releasev095.pdf

      Goal is to create an internal integration with the experience API (http://tincanapi.com/overview) which is suitable for inclusion in the Sakai trunk and future releases. The integration will focus on using core aspects of Sakai like the events system and flexible industry tech such as AOP to allow for a high level of data capture. Must support Basic Auth API authentication or OAuth (rfc5849) security (with HMAC-SHA1) and SSL for statement requests.
      On startup, the Sakai servers will verify they can connect to the LRS (probably using the activities/state portion of the API). If they cannot connect then they will register error messages in the log and IDEALLY notify a system admin via email. Also, all incoming activity statements will be logged out with a warning while the LRS cannot connect (this may not be desirable).

      The provider should handle checking it's configuration values (lrs.tincanapi....) for:
      A) API URL
      B) Security parameters (consumer key, secret, username:password, etc.)
      C) Version of the API (support for 0.95 or the most current version at time of development)

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

              Hide
              aaronz Aaron Zeckoski added a comment -
              Show
              aaronz Aaron Zeckoski added a comment - Implementation for this is located here: https://source.sakaiproject.org/svn/msub/unicon.net/tincanapi-provider/trunk
              Hide
              aaronz Aaron Zeckoski added a comment -
              Show
              aaronz Aaron Zeckoski added a comment - README and install instructions here: https://source.sakaiproject.org/svn/msub/unicon.net/tincanapi-provider/trunk/README
              Hide
              aaronz Aaron Zeckoski added a comment -

              Config settings

                1. TinCanAPI specific config settings
              1. URL to the tincan server
              2. Default: https://cloud.scorm.com/ScormEngineInterface/TCAPI/50ZLHZXM0Q/statements (this is a test account)
                lrs.tincanapi.url=https://url/to/your/tincan/server/api/path
              3. Timeout for requests to the tincan server (in ms)
              4. Default: 5000 (5 seconds)
                #lrs.tincanapi.request.timeout=10000
                1. LRS Authentication
              5. This will use OAuth if configured OR Basic Auth if OAuth is not setup,
              6. the Auth config is required so if these are both blank then the provider will fail to startup
              7. Basic Auth header value: base64(username + ":" + password)
              8. Default: 50ZLHZXM0Q:crCPCRQCoqiQN9rkliIJlLiVzk0CjsuDc52mik29 (matches the default URL above)
                lrs.tincanapi.basicAuthUserPass=UUUUUU:PPPPPP
              9. OAuth settings (no defaults)
              10. OAuth shared (consumer) key
                #lrs.tincanapi.consumer.key=XXXXXX
              11. OAuth secret
                #lrs.tincanapi.consumer.secret=YYYYY
              12. OAuth realm
                #lrs.tincanapi.realm=ZZZZZ
              Show
              aaronz Aaron Zeckoski added a comment - Config settings TinCanAPI specific config settings URL to the tincan server Default: https://cloud.scorm.com/ScormEngineInterface/TCAPI/50ZLHZXM0Q/statements (this is a test account) lrs.tincanapi.url= https://url/to/your/tincan/server/api/path Timeout for requests to the tincan server (in ms) Default: 5000 (5 seconds) #lrs.tincanapi.request.timeout=10000 LRS Authentication This will use OAuth if configured OR Basic Auth if OAuth is not setup, the Auth config is required so if these are both blank then the provider will fail to startup Basic Auth header value: base64(username + ":" + password) Default: 50ZLHZXM0Q:crCPCRQCoqiQN9rkliIJlLiVzk0CjsuDc52mik29 (matches the default URL above) lrs.tincanapi.basicAuthUserPass=UUUUUU:PPPPPP OAuth settings (no defaults) OAuth shared (consumer) key #lrs.tincanapi.consumer.key=XXXXXX OAuth secret #lrs.tincanapi.consumer.secret=YYYYY OAuth realm #lrs.tincanapi.realm=ZZZZZ

                People

                • Assignee:
                  aaronz Aaron Zeckoski
                  Reporter:
                  a.m.berg@uva.nl Alan Berg
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  2 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved:

                    Git Source Code