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