and benefits • Overview of the features in Sakai CLE • Implementation details • Where can you help • Questions and sometimes answers. • Extra time: Lessons learned from PIWIK BasicLTI LA dashboard
Illustre (1632) and, with almost 30,000 students, over 5,000 employees and an annual budget of 600 million euros, is one of the largest general research universities in Europe. Is a campus University, with buildings spread out over the whole of Amsterdam
consulting services Not a product vendor Trusted partner Customized solutions Project management Community engagement Project and team support Open Source Support Active community members Engineering / Development Deployment / Hosting Aaron Zeckoski (AZ) • Software Architect • Core committer • CLE / Kernel team • Former CLE TCC Chair • Sakai since 2004 • Inaugural Sakai Fellow • Charlotte NC US http://www.unicon.net/
a secure repository • Standard protocol • REST like service for writing and querying • Can act as the glue for Learning Analytics Projects • Good introduction at: http://tincanapi. com/overview/
software • Standards approach • Scalable - But {the LRS market needs to mature} • Structured data - But {depends on what you send} • Works well with BasicLTI dashboards • Cross cutting concern that we can work on as a community • Clean data for research • Growing market enthusiasm
legal Privacy and ethics issues • Still early on in its maturity model • Requires an initial investment • Data in the cloud. Prefer a private cloud and federation. • Concerns about the scalability of the reference implementation.
can use a variety of learning record implementations (possibly multiple ones at a time) which will allow for future implementations and also can allow tools and other parts of Sakai to register LRS activities in a centralized way. Provide an internal integration with the experience API (http://tincanapi.com/overview) which is suitable for inclusion in the Sakai and covers core functionality.
API in current Sakai CLE trunk which allows tools or other parts of Sakai to call the API and register a learning statement (basically a learning event). KNL-1024 org.sakaiproject.event.api.LearningResourceStoreService void registerStatement(LRS_Statement statement, String origin);
contains a base service which will locate providers and delegate statement registrations to them. • The base service spins up a separate thread for each provider so registration of statements will not impact the thread where they are registered. • It handles filtering, logging, and basic validation of statements centrally so each provider does not have to also do this.
LearningResourceStoreProvider which has been tested against Rustici and ADL.net LRSs. Developed to be compatible with 1.0 (and somwhat 0.95) versions of the API. Source code is available here: https://source.sakaiproject.org/svn/msub/unicon. net/tincanapi-provider/trunk/ Installation instructions are in the README
possible mechanisms for working with LRS statements. (Embedded LRS in Sakai, Local backup storage of statements, etc.) The tincanapi provider can also be instantiated multiple times via Spring if LRS data should be sent to multiple tincanapi compatible LRSs. The provider can handle Basic Auth and OAuth methods of authentication.
server # Default: https://cloud.scorm.com/... (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
mvn clean install -Ppack-demo In pack/pack-demo is the demo package 2. Add Tincanapi Provider (see previous slides) 3. Install the reference LRS and register a user https://github.com/adlnet/ADL_LRS 4. Configure via sakai/local.properties How do I get involved? How can I try it? lrs.tincanapi.basicAuthUserPass=id:pass lrs.tincanapi.url=http://localhost:8000/xapi/statements #log.config.count=1 #log.config.1=DEBUG.org.sakaiproject.lrs.expapi. TincanapiLearningResourceStoreProvider
to the capabilities • Create a template dashboard that others can reuse • Give feedback in the tincan API community • Test, test, test • Donate resources to the community. Plenty of nice to have features waiting for you. ◦ Better coverage ◦ Better management ◦ etc How do I get involved? How can I contribute?
Look a typical LA project and see if Tincan API adds value • POC, sponsored by Surf. • Works, but parts are superseded by the emergence of tincan API • Enhance web analytics using the open source PIWIK project. • BasicLTI for an LMS agnostic dashboard • Simple real time recommendations. • Backs off to a web analytics report if needed.
API • No need to write extra enriching tracking code if LMS is enabled. • BasicLTI is great for dashboards. You are not stuck to one LMS. • Learning Record Store great for dashboards. The activity stream is not stuck in a silo. • PIWIK delivers great Web analytics, but learning analytics are not just web analytics • Analytics can be lightweight for recommendations but heavy weight for clustering problems.