Learning Tools Interoperability (LTI)는 학습 관리 시스템에서 서드 파티 통합을 빌드하기 위한 개방형 프레임워크입니다. 클래스룸 부가기능과 LTI 도구는 유사한 사용자 여정을 지원하지만 두 프레임워크는 직접적으로 호환되지 않습니다. 이 가이드에서는 두 통합 유형을 비교하고 주요 차이점을 강조합니다. 또한 LTI 도구를 클래스룸 부가기능으로 작동하도록 조정할 때 유사한 사용자 여정을 달성하는 방법을 제안합니다.
플랫폼과 도구 간의 상호작용
LTI 도구와 클래스룸 부가기능의 주요 차이점은 정보가 교환되는 방식입니다. LTI 도구는 일반적으로 HTTP POST를 사용하여 페이로드를 LTI 플랫폼으로 전송하는 반면 클래스룸 부가기능은 Google 클래스룸 REST API를 사용하여 리소스를 만들고 검색합니다.
다음 표에는 Google 클래스룸으로 주요 LTI 도구 동작을 달성하는 방법이 요약되어 있습니다.
| 기능 | LTI | 클래스룸 |
|---|---|---|
| 과제 만들기 | 과제 및 성적 서비스 | CourseWork 및 AddOnAttachment 리소스 만들기 |
| 성적 게시 | 과제 및 성적 서비스 | CourseWork 및 AddOnAttachment 학생 제출물 패치 |
| 실행 경로 | 딥 링크 | AddOnAttachment 리소스에서 URI 지정 |
| 수업 명단 읽기 | 이름 및 역할 프로비저닝 서비스 | 수업에서 Student 및 Teacher 프로필 검색 |
LTI 도구를 클래스룸 부가기능에 맞게 조정
많은 LTI 상호작용은 클래스룸 부가기능 프레임워크에 유사한 기능이 있습니다. 다음 섹션에서는 몇 가지 주요 개념과 권장되는 조치 과정을 설명합니다.
애플리케이션 구성
Google 클래스룸과의 모든 프로그래매틱 상호작용에는 Google Cloud 프로젝트가 필요합니다. 클래스룸 부가기능이 최종 사용자에게 표시되는 방식을 정의하는 동일한 Cloud 프로젝트에서 애플리케이션 등록정보를 구성합니다. 아이콘을 제공하고 앱 이름과 설명을 설정하며 제품에 필요한 OAuth 범위 권한을 구성합니다.
등록정보에서 부가기능 애플리케이션을 설치하는 것은 최종 사용자가 실행해야 하는 유일한 구성 단계인 경우가 많습니다. 이는 LTI 도구를 사용 설정하고 배포하는 것과 유사합니다. 최종 사용자는 등록 작업을 완료하거나 구성 세부정보를 관리할 필요가 없지만 관리자는 Marketplace에서 앱을 허용하고 서드 파티 데이터 액세스 권한을 구성해야 할 수 있습니다.
권장사항: 클래스룸 부가기능을 위한 Google Cloud 프로젝트를 만들고 구성하는 방법에 관한 가이드를 따르세요. 가장 중요한 것은 Marketplace SDK에서 부가기능 실행의 URL을 첨부파일 검색 URI 로 지정하는 것입니다. 이 URL은 사용자를 적절한 인증 흐름으로 안내하는 한 기존 LTI 도구 실행 경로와 동일할 수 있습니다.
인증 흐름
LTI는 클라이언트 애플리케이션과 인증 서버가 서명된 JWT를 교환하는 2단계 흐름을 사용합니다. 관리자가 도구를 구성할 때 동의가 암시되므로 사용자는 도구에 데이터 액세스 권한을 부여할 필요가 없습니다.
반면 Google의 OAuth 흐름은 최종 사용자, 외부 클라이언트 애플리케이션, 인증 서버가 포함된 3단계 흐름입니다. 클라이언트는 사용자에게 Google 클래스룸 리소스에 대한 액세스 권한을 부여하는 명시적 사용자 동의가 포함된 토큰을 수신합니다.
부가기능 애플리케이션은 유사한 2단계 서명된 JWT 동작을 서비스 계정을 사용하여 달성할 수 있습니다. 이러한 계정은 개별 사용자가 아닌 애플리케이션에 속하며 사용자 동의 없이 조치를 취할 수 있습니다. 서비스 계정을 사용하려면 관리자 구성 및 관리가 필요합니다. 서비스 계정은 악용될 수 있으므로 도메인 전체 위임과 함께 서비스 계정을 사용하는 것은 권장되지 않습니다. 자세한 내용은 Google 클래스룸 통합을 통한 도메인 전체 위임에 관한 가이드를 참고하세요.
권장사항: 도구 또는 부가기능과 연결된 URL이 수신 요청을 수신하면 클래스룸 부가기능 쿼리 매개변수가 있는지 요청을 검사합니다. 있는 경우 Google ID SDK를 사용하여 사용자의 액세스 사용자 인증 정보를 가져옵니다. 사용자 인증 정보를 사용자 세션에 저장하고 이를 사용하여 후속 클래스룸 API 요청을 합니다. 쿼리 매개변수가 없는 경우 HTTP 요청을 사용하여 플랫폼의 LTI 엔드포인트와 상호작용합니다.
Google 클래스룸에서 부가기능 콘텐츠 만들기
클래스룸 부가기능은 외부에서 호스팅되는 페이지의 URL 링크라는 한 가지 유형의 콘텐츠를 지원합니다. 이러한 링크는 사용자가 부가기능과 상호작용할 때 열리는 웹 경로를 정의하는 AddOnAttachment 리소스에 포함되어 있습니다. 각 URL은 특정 시나리오에서 열립니다. 자세한 내용은
iframe 가이드를 참고하세요. 이러한 URL은 LTI 리소스
링크와 유사합니다.
클래스룸 부가기능은 파일, 이미지, HTML 프래그먼트와 같은 다른 콘텐츠 유형을 지원하지 않습니다.
권장사항: 사용자가 제품에서 콘텐츠를 선택하면
OAuth 사용자 인증 정보를 가져오고 AddOnAttachments.create 요청을 합니다. 요청에는 학생 뷰, 교사 뷰, 채점 뷰 (선택사항)의 URL이 포함된 AddOnAttachment 객체가 포함되어야 합니다. 공지사항, 과제 또는 수업 자료에 첨부파일을 만드는 데는 별도의 API 엔드포인트가 있습니다. 과제에 생성된 첨부파일만 채점 뷰를 가질 수 있습니다. 이는 학생 제출물을 허용하는 유일한 유형의 클래스룸 스트림 항목이기 때문입니다.
프레임워크 기능 비교
통합 배치
클래스룸 부가기능은 공지사항, 과제, 수업 자료에 첨부파일 을 만듭니다. 이러한 항목은 클래스룸 UI의 수업 스트림 탭에 표시됩니다.
교사는 과제 만들기 흐름의 선택 도구에서 부가기능을 선택하여 부가기능 첨부파일 만들기 여정을 시작합니다. 사용자에게 표시되는 각 뷰에 관한 자세한 내용은 iframe 가이드를 참고하세요.
또는 개발자는 프로그래매틱 방식으로 부가기능 첨부파일이 있는 과제를 만들 수 있습니다. 자세한 내용은 Google 클래스룸 외부에서 첨부파일을 만드는 방법에 관한 가이드를 참고하세요.
실행 컨텍스트 정보
클래스룸은 부가기능 경로를 열 때 각 URL에 여러 쿼리 매개변수를 추가합니다. 여기에는 항상 스트림 항목 유형과 수업 및 스트림 항목의 식별자가 포함됩니다. 첨부파일 또는 제출 식별자, 첨부파일 생성을 승인하는 토큰, 링크에서 부가기능 첨부파일로 업그레이드하는 URL과 같은 다른 정보가 iframe 뷰에 따라 있을 수 있습니다.
클래스룸은 기본적으로 사용자 또는 교육기관에 관한 정보를 전달하지 않습니다. 사용자 ID를 비롯한 사용자에 관한 정보는 클래스룸 API UserProfile 리소스에서 가져올 수 있습니다. 사용자가 도메인 관리자인 경우 Workspace 관리자 SDK에서 교육기관에 관한 정보를 가져올 수 있습니다.
인증 및 승인
클래스룸 부가기능은 사용자 인증에 Google 계정으로 로그인을 사용해야 합니다. 로그인한 사용자는 OAuth 2.0 범위를 통해 애플리케이션에 권한을 부여합니다. 애플리케이션은 사용 가능한 OAuth 범위를 조합하여 사용할 수 있습니다.
앱 검색 및 구성
사용자는 Google Workspace Marketplace를 통해 클래스룸 부가기능을 찾고 "설치"합니다. 원클릭 설치를 통해 개별 교사가 부가기능 애플리케이션을 사용할 수 있습니다. 또는 관리자가 조직 단위 또는 도메인의 모든 교사를 위해 부가기능 애플리케이션을 설치할 수 있습니다. 그러면 애플리케이션으로 만든 첨부파일에 수업의 모든 학생이 액세스할 수 있습니다. 최종 사용자가 개별 클래스룸 부가기능의 토큰, 키, 식별자를 관리할 필요가 없습니다.
UX 및 제품 흐름
대부분의 경우 LTI 도구의 기존 제품 흐름은 클래스룸 부가기능으로 잘 작동합니다. LTI 도구와 마찬가지로 클래스룸 부가기능을 사용하면 기본적으로 플랫폼에서 콘텐츠 링크를 만들고 관리할 수 있습니다. 클래스룸 부가기능 첨부파일은 LTI 딥 링크 링크와 유사합니다. LTI 도구가 호스팅된 콘텐츠를 가리키는 URL을 만드는 경우 클래스룸 부가기능으로 잘 작동해야 합니다.
학생 과제물 채점
클래스룸 부가기능 첨부파일은 클래스룸 채점 도구 뷰에서 보고 채점할 수 있습니다. 학생 제출물이 필요한 콘텐츠를 첨부할 때 강사가 특정 학생의 과제물을 보고 채점할 수 있는 student_work_review_uri를 제공합니다. 이는 도구가 교사와 학생 모두에게 공통적인 target_link_uri만 정의하는 LTI와는 다릅니다. 클래스룸 부가기능 구현은
곧 출시될 LTI 제출물 검토 서비스와 가장 유사합니다.