OneRoster 지원 학생 정보 시스템 (SIS) 통합

Google 클래스룸은 OneRoster를 준수하는 여러 학생 정보 시스템 (SIS)의 출석부 가져오기 및 성적 기록 동기화를 지원합니다. Google은 Google에서 지정한 OneRoster 요구사항을 충족하는 SIS 플랫폼과 파트너십을 맺고 있습니다.

그림 1. 학생 정보 시스템 (SIS)이 클래스룸과 파트너 관계를 맺으면 관리자는 드롭다운에서 SIS를 선택할 수 있습니다.

SIS 파트너 온보딩 과정

다음은 SIS 파트너 온보딩 여정에 관한 간략한 개요입니다.

  1. 관심 표현: 클래스룸과의 파트너십에 관심이 있는 경우 신청 양식을 작성하세요.

  2. 적합성 테스트 살펴보기 및 실행: SIS가 클래스룸과 통합할 준비가 되었는지 확인하려면 적합성 테스트를 검토하여 Google의 요구사항을 숙지하세요. Google 클래스룸팀에 관심을 표명하기 전에 적합성 테스트를 실행하여 제품이 Google의 요구사항을 얼마나 충족하는지 확인할 수 있습니다.

  3. Google 클래스룸팀에 문의: 신청 양식을 제출한 후 파트너십 기회가 있는 경우 클래스룸팀에서 연락을 드립니다.

  4. 테스트 결과 공유 및 엔드 투 엔드 통합 빌드: 클래스룸팀에서 연락을 받으면 적합성 테스트 결과를 공유합니다. 팀은 Google과 협력하여 통합을 검증하고 완료합니다.

적합성 테스트

Google에서 정의한 적합성 테스트는 SIS 파트너가 제품이 Google의 OneRoster 사용 요구사항을 충족하는지 확인하고 사용자가 클래스룸에서 SIS 통합을 활용할 때 발생할 수 있는 오류를 최소화할 수 있는 방법을 제공하기 위해 마련되었습니다. 테스트는 GitHub에 게시됩니다.

테스트 액세스 및 실행

테스트를 실행하려면 다음이 필요합니다.

  • OAuth 2.0 사용자 인증 정보를 가져오는 토큰 URL
  • /ims/oneroster/v1p2(으)로 끝나는 OneRoster URL
  • 클라이언트 ID
  • 클라이언트 보안 비밀번호
  • 교사 이메일 주소

Google Colab 또는 Jupyter 노트북을 사용하여 테스트를 실행할 수 있습니다. Colab과 Jupyter 노트북 모두에서 모든 테스트를 한 번에 실행할 수 있습니다. 이렇게 하면 Google 클래스룸팀과 공유할 테스트 결과를 생성할 수 있습니다.

요구사항 및 예상 동작

테스트에 관한 다음 사항을 읽어보세요. GitHub에서 각 테스트에는 표에서 참조되는 제목이 있습니다. 이러한 포인터는 질문을 명확히 하는 데 도움이 될 수 있지만 포괄적인 테스트 목록은 아닙니다. 적합성을 보장하기 위해 GitHub에 제공된 모든 테스트를 실행했는지 확인합니다.

테스트 포인터
교사: GetAllTeachers GET /teachers 엔드포인트는 limit 쿼리 매개변수와 함께 호출됩니다. 후속 테스트에서 이 매개변수는 제품이 10,000의 페이지 크기를 지원할 수 있는지 확인하는 데 사용됩니다.
교사: 이메일 필터가 있는 GetAllTeachers GET /teachers 엔드포인트는 교사 이메일 주소를 기준으로 필터링하는 데 사용되는 filter 쿼리 매개변수와 함께 호출됩니다. 테스트의 사용자 인증 정보 섹션에 제공한 교사 이메일 주소가 사용됩니다.
Classes: GetClassesForTeacher /teachers/{teacher_sourced_id}/classes 엔드포인트는 활성 클래스를 기준으로 필터링하는 데 사용되는 filter 쿼리 매개변수와 함께 호출됩니다.
학생: GetStudentsForClass GET /classes/{class_sourced_id}/students 엔드포인트가 호출됩니다. 학생 이메일은 응답에 반환되어야 합니다.
GetGradingPeriodsForTerm 평가 기간 지원은 term_sourced_id를 사용하여 테스트됩니다. 이 term_sourced_id는 GET /terms/{term_sourced_id}/gradingPeriods 엔드포인트를 호출하여 학기의 평가 기간을 가져오는 데 사용됩니다.
LineItem: Create PUT /lineItems/{line_item_sourced_id}를 호출할 때는 평가 기간이 필요하지 않습니다.
광고 항목: 수정 과제 제목이 긴 경우 API 호출에서 오류를 반환하지 않아야 합니다. 테스트에는 100자(영문 기준) 이상의 과제 제목 길이가 포함됩니다.
결과: 수정 score를 resultValueMax보다 큰 값으로 설정하여 추가 점수를 나타낼 수 있어야 합니다.
결과: 삭제 DELETE /results/{result_sourced_id} 엔드포인트는 필수 항목입니다.
LineItem (선택사항/정리): 삭제 및 가져오기 DELETE /lineItems/{line_item_sourced_id} 엔드포인트는 필요하지 않습니다. 선택사항이며 데이터 정리에 사용됩니다. 후속 GET /classes/{class_sourced_id}/lineItems 엔드포인트도 선택사항이며 광고 항목이 삭제되었는지 테스트합니다.

Google 클래스룸팀과 테스트 결과 공유하기

테스트를 실행하면 각 테스트의 결과가 포함된 전체 보고서가 생성됩니다. 결과는 제품이 Google의 OneRoster 1.2 사용 요구사항을 충족하는지 확인하는 데 사용됩니다. 생성된 보고서를 다운로드하거나 스크린샷을 찍어 Google 클래스룸팀의 담당자에게 공유합니다.

개발자 데모 도메인 가져오기

Google 클래스룸팀에서 적합성 테스트 결과를 검토한 후 개발자 데모 도메인을 통해 엔드 투 엔드 통합을 검증할 수 있습니다. 적합성 테스트를 통과했다고 해서 파트너십 또는 통합 승인이 보장되는 것은 아닙니다.

개발자 데모 도메인은 통합이 예상대로 작동하는지 검증하는 데 도움이 되는 실시간 테스트 Google 클래스룸 환경입니다. 개발자 데모 도메인을 가져오고 데모 도메인 업그레이드를 요청하는 단계를 완료합니다. 업그레이드하면 도메인에 Google Workspace for Education Plus 라이선스 10개가 프로비저닝됩니다. 이러한 라이선스는 클래스룸의 SIS 통합 기능을 테스트할 수 있도록 개발자 도메인의 테스트 사용자에게 할당되어야 합니다.

자주 묻는 질문(FAQ)

1. 클래스룸에서 SIS에 기대하는 데이터 모델은 무엇인가요?

클래스룸은 OneRoster 1.2 사양을 준수합니다. SIS에서 다른 데이터 구조를 사용하는 경우 예기치 않은 동작이 발생할 수 있습니다. 예를 들어 시스템에서 평가 기간과 성적 카테고리 간의 중첩된 관계를 지원하는 경우 이는 OneRoster 1.2 사양을 벗어나므로 통합을 철저히 테스트하여 적절한 호환성을 확인해야 합니다.

2. 어떤 성적과 과제 상태가 SIS로 내보내지나요?

반환된 성적 또는 '누락됨'이나 '면제됨'으로 표시된 제출물만 SIS로 내보내집니다. 임시 성적은 내보낼 수 없습니다.

3. 클래스룸에서 과제가 삭제되면 SIS의 항목은 어떻게 되나요?

클래스룸에서 과제를 삭제해도 SIS의 해당 항목은 삭제되지 않습니다. 이렇게 하면 실수로 인한 데이터 손실과 의도하지 않은 연속 삭제를 방지할 수 있습니다.