2. IMS Basic LTI 1.0 -> LTI 1.1
• IMS Basic LTI Implementation Guide 향후 버전 -> LTI 1.1 으
로 naming 변경
• 변경/추가 사항 in Tool Launch Data (POST)
– lti_lms=…
• Tool에 대한 launch를 시도하는 LMS의 제품 명 및 버전 정보, e.g.
lti_lms=moodle-1
• Tool의 UI를 LMS에 맞추려는 시도
• moodle-1 for Moodle 1.x, sakai-2 for Sakai 2.8, olat-7.1 for Olat 7.1
등등
• 선택적 파라미터
– launch_presentation_css_url=…
• Tool이 launch 되는 LMS user interface의 CSS에 대한 URL
• CSS: Tool에 font 및 color 등의 설정을 위한 html tag에 대한 styling
요소 포함
• 다양한 LMS 제품에 공통적으로 적용이 가능한 CSS class 등의 CSS
요소는 향후 정의될 예정
• 선택적 파라미터
3. IMS Basic LTI 1.0 -> LTI 1.1
• 변경/추가 사항 in Security Model
– (TP <-> TC) application/xml 메시지에 대한 보안
• POX 메시지 OAuth body signing 방식에 의해 sign 됨
• Body 부분은 XML, (TP에서->TC로) 요청되는 서비스(e.g. Outcomes
서비스)에 대한 스키마를 따름
• 다음과 같이 모든 OAuth 파라미터는 Authorization 헤더에 포함되어
야함
Authorization: OAuth realm="",oauth_version="1.0",
oauth_nonce="29f90c047a44b2ece73d00a09364d49b",
oauth_timestamp="1313350943",oauth_consumer_key="lmsng.school.edu",
oauth_body_hash="v%2BxFnmDSHV%2Fj29qhxLwkFILrtPo%3D",
oauth_signature_method="HMAC-SHA1",
oauth_signature="8auRpRdPY2KRXUrOyz3HKCs92y8%3D"
• oauth_body_hash는 body 부분에 대한 SHA-1 인코딩을 통해 생성,
oauth_signature는 oauth_cosumer_key 및 oauth_consumer_secret
을 사용해 생성
• 샘플 signed 리퀘스트
4. POST http://www.imsglobal.org/developers/BLTI/service_handle.php HTTP/1.0
Host: 127.0.0.1:80
Content-Length: 757
Authorization: OAuth realm="",oauth_version="1.0",
oauth_nonce="29f90c047a44b2ece73d00a09364d49b", Authorization 헤더:
oauth_timestamp="1313350943",oauth_consumer_key="lmsng.school.edu", oauth 파라미터
oauth_body_hash="v%2BxFnmDSHV%2Fj29qhxLwkFILrtPo%3D",
oauth_signature_method="HMAC-SHA1",
oauth_signature="8auRpRdPY2KRXUrOyz3HKCs92y8%3D"
Content-type: application/xml
<?xml version = "1.0" encoding = "UTF-8"?>
<imsx_POXEnvelopeRequest xmlns = "http://www.imsglobal.org/lis/oms1p0/pox">
<imsx_POXHeader>
<imsx_POXRequestHeaderInfo>
<imsx_version>V1.0</imsx_version> imsx_POXHeader:
<imsx_messageIdentifier>999999123</imsx_messageIdentifier> from IMS General Web
</imsx_POXRequestHeaderInfo> Services
</imsx_POXHeader>
<imsx_POXBody>
<readResultRequest>
<resultRecord>
<sourcedGUID>
imsx_POXBody:
<sourcedId>3124567</sourcedId>
LIS Outcomes Service
</sourcedGUID>
(read/replace/delete)중
</resultRecord>
TP에서 TC 상의 성적을
</readResultRequest>
조회(read)하기 위한
</imsx_POXBody>
request
</imsx_POXEnvelopeRequest>
5. IMS Basic LTI 1.0 -> LTI 1.1
• 변경/추가 사항 in LIS 관련 교환 data
– lis_outcome_service_url=…
• TP <-> TC 간의 outcome 서비스를 위한 TC URL
• 성적에 대한 read / replace / delete (operation) 처리
• 지원하지 않는 operation은 response에 ‘unimplemented’ 라고 표
시함
• 선택적 파라미터
• LTI 관련 Service 추가
– LIS Basic Outcomes Service
• LMS상의 특정 User/Resource/Context와 연관있는 성적의 replace /
read / delete 에 대한 구현 방식 정의
• TC <-> TP 간 OAuth body signing 을 사용해 sign 된 POX 메시지 교
환
• 교환이 허용되는 성적은 0.0 - 1.0 간의 decimal number
• 각 replaceResult, readResult, deleteResult 처리는 POX 기반의
request, response로 구성