이 글은 OneRoster 명단에서 사람을 어떻게 가리키는지 설명한다. 앞 글 OneRoster는 누가 그 반인지를 넘긴다는 “김준수가 3-2반 학생이다”라는 명단 한 줄을 다뤘다. 이번 글의 범위는 그 줄에서 “김준수”가 같은 사람임을 어떻게 구분하는가이다.
전입이 처리된 뒤에 같은 학생이 서류마다 다른 이름으로 적힐 수 있다. 전입 서류에는 김준수라고 적혀 있고, 학습 화면에는 준수 김이라고 표시되고, 출석부에는 김준수(3-2)라고 적힐 수 있다. 이름만으로는 세 기록이 같은 사람을 가리키는지 확정하기 어렵다.
따라서 명단 교환에서는 표시 이름과 식별자를 나누어야 한다. 화면에는 사람이 읽을 이름이 필요하지만, 시스템 사이의 교환에는 같은 사람을 안정적으로 가리키는 값이 필요하다.
정의
단위: 명단에서 한 사람을 가리키는 식별자다.
범위: OneRoster의 user를 다른 시스템이 같은 사람으로 읽게 하는 값이다.
제외 대상: 표시 이름, 로그인 계정, 이메일, 출석 기록은 이 단위와 다르다.
실패 조건: 동명이인을 한 사람으로 합치거나, 같은 사람을 전입 뒤에 다른 사람으로 나누는 상태다.
식별자와 표시 이름
규약에서 이 칸의 영어 이름은 sourcedIdOneRoster에서 사람, 반, 수업 같은 대상을 가리키는 식별자가 들어가는 칸의 이름. 값은 원천 시스템이 관리하며, 표시 이름이나 로그인 계정과는 층위가 다르다.OneRoster 1.2 Standard다. sourcedId는 칸의 이름이고, 칸에 들어가는 값은 원천 시스템이 관리하는 식별자다. 화면에 표시할 때는 이름을 보여 줄 수 있지만, 다른 제품에 전달할 때는 식별자를 기준으로 사람을 맞춘다.
한 사람에 붙는 네 가지 값은 서로 층위가 다르다
도해의 지점을 짚거나 Tab으로 옮겨 보십시오
식별자
시스템이 같은 사람을 맞출 때 쓰는 값이다. 규약에서 이 칸의 이름은 sourcedId이고, 값은 원천 시스템이 관리한다.
표시 이름
사람이 화면에서 읽는 이름이다. 서류마다 달라질 수 있으므로 교환의 기준이 되지 못한다.
로그인 계정
인증에 쓰는 값이다. 명단 식별자와 같은 층위가 아니며 SAML이나 OIDC 쪽에서 다룬다.
역할
학생이나 교사 같은 관계 정보다. 사람 자체가 아니라 그 사람이 어느 반에서 무엇인지를 나타낸다.
학습 기록의 주체도 사람이다. 명단에서 사람을 가리키는 값과 학습 기록에서 사람을 가리키는 값이 서로 맞지 않으면, 완료 건수를 사람 수와 연결할 때 기록이 다시 어긋난다. 학습 기록의 줄은 학습 기록은 한 줄이 한 건이다에서 다룬다.
이 사이트에서 그 번호를 제품 연동에 쓰는 위치는 STLink이다. 아직 공개할 연동 건수가 없으므로, 이 글에는 수치를 적지 않는다.
다음에 열 것
이 글의 범위는 사람 번호까지이다. 다음 글에서 다룰 내용은 아래와 같다.
- 명단 수정 권한: 학습 화면이 학적 원장의 명단을 고쳐 올리는 일은 아직 다루지 않았다.
- 전달 방식: 명단을 파일로 보낼지 API로 조회할지는 OneRoster 명단은 파일로 넘기거나 API로 조회한다에서 다룬다.