Let the student activity streams flow
Sakai CLE and Tincan.api
Alan Berg Universeteit de Amsterdam A.M.Berg@uva.nl | Aaron Zeckoski Unicon, Inc. azeckoski@unicon.net |
Agenda
University of Amsterdam
It has its origins in the Athenaeum 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
Unicon + AZ
Reputation based
Open source
Higher education
IT 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)
What is the experience API
The basic architecture
Learning
Record Store
Mobile
Devices
Other
LMS A
LMS X
Dashboard
Application
Scalable dashboards using BasicLTI
Learning
Record Store
All Other enabled
Sakai CLE
Dashboard
Application
BasicLTI
Tincan API protocol
http://tincanapi.com/statements-101/
JSON :actor verb object context extensions etc.
{� "actor": {� "name": "Sally Glider",� "mbox": "mailto:sally@example.com"� },� "verb": {� "id": "http://adlnet.gov/expapi/verbs/experienced",� "display": {"en-US": "experienced"}� },� "object": {� "id": "http://example.com/activities/solo-hang-gliding",� "definition": {� "name": { "en-US": "Solo Hang Gliding" }� }� }�}
Risks and benefits
Benefits
Risks and benefits
Risks
Plug number one:
Unicon and Amsterdam working towards enabling tincan API
in Sakai CLE
Community, Community, Community
We will ask if anyone is interested in helping out later in this presentation.
Experience API
in Sakai CLE
Experience API in Sakai CLE
Goal
Create an API which 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.
Experience API in Sakai CLE
Kernel API
Added a kernel 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).
org.sakaiproject.event.api.LearningResourceStoreService
void registerStatement(LRS_Statement statement, String origin);
Experience API in Sakai CLE
Base Service
Sakai CLE Implementation Details
Sakai CLE Implementation details
TincanApi Provider
An implementation of the 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
Sakai CLE Implementation details
Flexibility
The provider mechanism allows many 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.
Sakai CLE Implementation details
Configuration
# URL to the tincan 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�
Live
DEMO
How do I get involved?
How do I get involved?
How can I try it?
svn co https://source.sakaiproject.org/svn/sakai/trunk/
cd trunk
mvn clean install -Ppack-demo
In pack/pack-demo is the demo package
https://github.com/adlnet/ADL_LRS
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
How do I get involved?
How can I contribute?
Questions?
Contact Alan Berg <A.M.Berg@uva.nl>
More Information
If there is extra time...
Lessons learned from PIWIK BasicLTI LA dashboard.
Lessons learned from PIWIK BasicLTI LA dashboard.
Lessons learned from PIWIK BasicLTI LA dashboard.
Lessons Learned