• Specific Methodologies • Scrum/Kanban/XP/Etc. Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan Monday, January 28, 13
manage physical servers • Can add new servers programmatically • SaaS • No versions! • As a user of a service, you don’t have to host it yourself Monday, January 28, 13
each system • Probably have to have integration accepted by LMS company • Schools/hosting services have to install your module • Create accounts in multiple systems Monday, January 28, 13
secret, params) if !provider.valid_request?(request) response['WWW-Authenticate'] = "OAuth realm=\"http://#{request.env['HTTP_HOST']}\"" throw(:halt, [401, "Not authorized\n"]) end # check timestamp and nonce @username = provider.username if provider.outcome_service? # It's a launch for grading erb :assessment else # normal tool launch without grade write-back provider.lti_msg = "Sorry that tool was so boring" erb :boring_tool end https://github.com/instructure/lti_tool_provider_example Monday, January 28, 13
the given score to the TC, returns OutcomeResponse # score must be between 0.0 and 1.0 res = provider.post_replace_result!(calculated_score) if res.success? erb :assessment_finished else show_error "Your score was not recorded: #{res.description}" end https://github.com/instructure/lti_tool_provider_example Monday, January 28, 13
Example: • https://github.com/instructure/lti_tool_provider_example • LTI Gem source • https://github.com/instructure/ims-lti • Useful blog post with examples of using the gem • http://brianwhitmer.blogspot.com/2012/12/building-youtube-lti-app.html • http://brianwhitmer.blogspot.com/2012/12/lti-authentication.html • Join #canvas-lms on the freenode IRC server if you have questions Monday, January 28, 13