도메인 분리는 일정에서 지원됩니다. 도메인 분리를 사용하여 데이터, 프로세스 및 관리 작업을 도메인이라는 논리적 그룹으로 분할할 수 있습니다. 어떤 사용자가 데이터를 보고 액세스할 수 있는지를 포함하여 이러한 분리의 여러 측면을 제어할 수 있습니다. 도메인 지원 [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 이 속성을 사용하면 하위 및 상위 기록 도메인이 지정된 참조 필드에서 파생된 하위 도메인과 동일하게 유지됩니다.