GlideApplicationProperty - 범위 지정, 전역
GlideApplicationProperty API는 특정 도메인에 대한 애플리케이션 속성 값을 가져오고 설정하는 기능을 제공합니다.
애플리케이션 속성을 사용하면 서비스 제공자가 도메인을 기반으로 애플리케이션 기능을 사용자 지정할 수 있습니다. 모든 도메인과 사용자에 대한 기능을 정의하는 단일 시스템 속성(시스템 속성[sys_properties] 테이블)만 갖는 대신 애플리케이션 속성을 구현하여 특정 도메인에 대한 기능을 정의할 수 있습니다.
이 API에 액세스하려면 도메인 지원 - 도메인 확장 설치 관리자(com.glide.domain.msp_extensions.installer) 플러그인을 활성화해야 합니다.
도메인별 응용 프로그램 속성에 대한 자세한 내용은 도메인 구분 응용 프로그램 속성을 참조하세요.
GlideApplicationProperty - getValue(문자열 이름, 문자열 domainSysId)
지정된 애플리케이션 속성 및 도메인 sys_id 대한 값을 반환합니다.
사용 가능한 응용 프로그램 속성 목록은 응용 프로그램 속성 [sys_application_property] 및 응용 프로그램 속성 값 [sys_application_property_value] 테이블에 있습니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| name | 문자열 | 반환할 응용 프로그램 속성의 이름입니다. 주: 애플리케이션이 전역이 아닌 경우 sys_application_property 이름의 프리픽스로 애플리케이션의 범위를 지정해야 합니다. |
| domainSysId | 문자열 | 옵션입니다. 애플리케이션 속성과 연결된 도메인의 Sys_id입니다. 기본값: 세션 도메인 |
| 유형 | 설명 |
|---|---|
| 문자열 | 지정된 도메인에 대한 지정된 애플리케이션 속성의 값입니다. 호출 domainSysId 에 전달되지 않으면 세션 도메인을 반환합니다. 지정된 애플리케이션 속성이 없으면 같은 이름의 시스템 속성 값을 반환합니다. 사용자에게 지정된 도메인에 대한 액세스 권한이 없는 경우 예외를 throw하고 값이 반환되지 않습니다. |
이 예에서는 새 애플리케이션 속성을 생성하고 ACME 및 Cisco 도메인에 대한 값을 재정의하는 방법을 보여줍니다.
var MY_APP_PROP_NAME = 'my-app-prop';
var ACME_DOMAIN_ID = 'c90d4b084a362312013398f051272c0d';
var CISCO_DOMAIN_ID = 'c90f91924a362312001bdefae0f35d68';
// create a new app_config entry:
var now_GR = new GlideRecord('sys_application_property');
now_GR.name = MY_APP_PROP_NAME;
now_GR.default_value = 'my-app-prop-default_value';
now_GR.insert();
// Override the value for ACME domain, catch exception if user can't access the specified domain
try {
GlideApplicationProperty.setValue(MY_APP_PROP_NAME, 'prop-value-ACME', ACME_DOMAIN_ID);
gs.info('Value for ACME domain: ' + GlideApplicationProperty.getValue(MY_APP_PROP_NAME, ACME_DOMAIN_ID));
} catch (ex) {
gs.info('Exception: ' + ex);
}
// Override the value for Cisco domain -- assuming that the current session domain is Cisco. Notice that we don't pass domain-id explicitly
session.setDomainID(CISCO_DOMAIN_ID); // NOTE: this API is not available from non-global scope (use domain-picker to switch to Cisco)
gs.info('Domain: ' + session.getCurrentDomainID());
GlideApplicationProperty.setValue(MY_APP_PROP_NAME, 'prop-value-Cisco');
gs.info('Value for current session (Cisco) domain: ' + GlideApplicationProperty.getValue(MY_APP_PROP_NAME));
*** Script: Value for ACME domain: prop-value-ACME
*** Script: Domain: c90f91924a362312001bdefae0f35d68
*** Script: Value for current session (Cisco) domain: prop-value-CiscoGlideApplicationProperty - setValue(문자열 이름, 문자열 값, 문자열 domainSysId)
지정된 도메인에 대해 지정된 애플리케이션 속성에 지정된 값을 저장하거나, 지정되지 않은 경우 현재 세션 도메인에 저장합니다.
- 응용 프로그램 속성은 이름에 다음 문자열 중 하나가 포함된 경우 만들어지지 않습니다.
- glide.properties.blacklist
- glide.properties.no_db_override
- glide.properties.safe_overrides
- glide.properties.maint_write_roles
- 이름이 같은 기존 시스템 속성이 있고 시스템 속성이 비공개로 표시된 경우에는 애플리케이션 속성이 생성되지 않습니다.
- 기존 시스템 속성이 있고 애플리케이션 속성이 이를 참조하지 않는 경우 애플리케이션 속성이 만들어지지 않습니다.
- 전역이 아닌 경우 sys_application_property 테이블의 애플리케이션 속성 이름 앞에 애플리케이션의 범위가 붙습니다.
- 이 메서드는 다른 범위에서 호출할 수 없습니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| name | 문자열 | 저장할 애플리케이션 속성의 이름입니다. 주: 애플리케이션이 전역이 아닌 경우 sys_application_property 이름의 프리픽스로 애플리케이션의 범위를 지정해야 합니다. |
| 값 | 문자열 | 지정된 애플리케이션 속성에 저장할 값입니다. |
| domainSysId | 문자열 | 옵션입니다. 애플리케이션 속성과 연결된 도메인의 Sys_id입니다. 기본값: 현재 세션 도메인 |
| 유형 | 설명 |
|---|---|
| 부울 | 저장 작업의 성공 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
사용자에게 지정된 도메인에 대한 액세스 권한이 없는 경우 예외를 throw하고 값이 반환되지 않습니다. |
이 예에서는 새 애플리케이션 속성을 생성하고 ACME 및 Cisco 도메인에 대한 값을 재정의하는 방법을 보여줍니다.
var MY_APP_PROP_NAME = 'my-app-prop';
var ACME_DOMAIN_ID = 'c90d4b084a362312013398f051272c0d';
var CISCO_DOMAIN_ID = 'c90f91924a362312001bdefae0f35d68';
// create a new app_config entry:
var now_GR = new GlideRecord('sys_application_property');
now_GR.name = MY_APP_PROP_NAME;
now_GR.default_value = 'my-app-prop-default_value';
now_GR.insert();
// Override the value for ACME domain, catch exception if user can't access the specified domain
try {
GlideApplicationProperty.setValue(MY_APP_PROP_NAME, 'prop-value-ACME', ACME_DOMAIN_ID);
gs.info('Value for ACME domain: ' + GlideApplicationProperty.getValue(MY_APP_PROP_NAME, ACME_DOMAIN_ID));
} catch (ex) {
gs.info('Exception: ' + ex);
}
// Override the value for Cisco domain -- assuming that the current session domain is Cisco. Notice that we don't pass domain-id explicitly
session.setDomainID(CISCO_DOMAIN_ID); // NOTE: this API is not available from non-global scope (use domain-picker to switch to Cisco)
gs.info('Domain: ' + session.getCurrentDomainID());
GlideApplicationProperty.setValue(MY_APP_PROP_NAME, 'prop-value-Cisco');
gs.info('Value for current session (Cisco) domain: ' + GlideApplicationProperty.getValue(MY_APP_PROP_NAME));
*** Script: Value for ACME domain: prop-value-ACME
*** Script: Domain: c90f91924a362312001bdefae0f35d68
*** Script: Value for current session (Cisco) domain: prop-value-Cisco