일정에서는 도메인 분리가 지원됩니다. 도메인 분리를 사용하여 데이터, 프로세스 및 관리 작업을 도메인이라는 논리적 그룹으로 분할할 수 있습니다. 어떤 사용자가 데이터를 보고 액세스할 수 있는지를 포함하여 이러한 분리의 여러 측면을 제어할 수 있습니다. Domain Support [com.glide.domain] 플러그인을 활성화하여 일정에 대한 도메인 분리 기능을 활성화합니다.
지원 수준: 기본
비즈니스 논리: 데이터가 애플리케이션의 서비스 제공자 사용 사례에 적합한 도메인으로 들어가도록 보장합니다.
애플리케이션은 런타임에서 도메인 분리를 지원합니다. 도메인 분리에는 사용자 인터페이스, 캐시 키, 보고서, 롤업, 집계 등에서의 분리가 포함됩니다.
인스턴스 소유자는 여러 테넌트에서 작동하도록 애플리케이션을 설정해야 합니다.
샘플 사용 사례: 서비스 제공자(SP)가 채팅을 사용하여 테넌트 고객의 메시지에 응답할 때 고객이 SP의 응답을 볼 수 있어야 합니다.
일정 [cmn_schedule], 일정 페이지[cmn_schedule_page] 및 타임라인 페이지[cmn_timeline_page] 테이블의 기록에는 정의된 도메인이 있습니다.
하위 테이블은 속성을 domain_master 사용하여 상위 테이블에서 도메인을 파생시킵니다.
각 테이블의 딕셔너리 기록에서 속성을 찾을 domain_master 수 있습니다.
다음 다이어그램은 여러 일정 테이블의 도메인 분리 범위를 보여줍니다.
그림 1. 일정에 대한 도메인 지원
사용자 지정 도메인 지원 구현
일정 항목 [cmn_schedule_span]과 같은 테이블에 대한 도메인 지원의 사용자 지정 구현이 포함된 새 릴리스로 마이그레이션할 때 도메인 분리 지원이 자동으로 수행되지는 않습니다. 이 작업을 수행하면 특정 구성의 변경이 방지됩니다.
일정에 대한 기본 시스템 도메인 지원을 구현하기 위해 sys.script 유틸리티가 제공됩니다. 이 유틸리티를 실행하려면 다음으로 이동하십시오. 배경 > 스크립트 – 백그라운드. 스크립트는 com.glide.schedules 플러그인 아래에 fix_schedule_domain_support.js로 나열됩니다.
유틸리티는 일정 [cmn_schedule], 일정 페이지 [cmn_schedule_page] 및 타임라인 페이지 [cmn_timeline_page] 테이블에 도메인 [sys_domain] 열을 추가하려고 합니다.
그런 다음 일정 항목 [cmn_schedule_span], 기타 일정 [cmn_other_schedule], 타임라인 하위 항목 [cmn_timeline_sub_item] 및 타임라인 페이지 범위 스타일 [cmn_timeline_page_style] 테이블에 domain_master 속성을 추가하려고 시도합니다.
스크립트가 도메인이 다른 하위 기록과 상위 기록 사이에 존재하는 기존 기록을 찾는 경우, 스크립트는 하위 테이블에 속성을 도입 domain_master 하지 않습니다.
예를 들어 일정 [cmn_schedule](상위) 테이블과 일정 항목 [cmn_schedule_span](하위) 테이블의 관계를 생각해 보십시오. 업그레이드 인스턴스의 두 테이블 모두에서 도메인 [sys_domain] 열을 사용할 수 있는 경우, 유틸리티는 일정에 대한 도메인 지원의 기본 시스템 구현으로 마이그레이션해야 합니다.
스크립트가 하위 일정 항목 [cmn_schedule_span] 도메인이 상위 일정 [cmn_schedule] 도메인과 다른 기록을 탐지하면 실행을 중지하고 경고 메시지를 기록합니다.
스크립트가 다른 기록을 찾지 못하면 일정 항목 [cmn_schedule_span] 테이블의 도메인 [sys_domain] 및 도메인 경로 [sys_domain_path] 열에 대한 읽기 권한을 비활성화하고 제한합니다.
마지막으로, 스크립트는 일정 항목 [cmn_schedule_span] 테이블에 대한 사전 파일에 domain_master=schedule 속성을 추가합니다.
주:
이 domain_master 속성은 하위 및 상위 기록 도메인이 지정된 참조 필드에서 파생된 하위 도메인의 도메인과 동일하게 유지되도록 합니다.