위치:
Omniscript 모범 사례
권장 Omniscript 모범 사례를 따라 Omniscript의 성능 및 유용성을 향상합니다.
비즈니스 프로세스 및 논리
비즈니스 프로세스 및 논리 모범 사례에는 다음이 포함됩니다.
- Omniscript 요소 및 Omnistudio 데이터 매퍼 응답 노드에 고유한 이름을 사용합니다.
- 전체 Omniscript의 개요를 작성하여 재사용 가능한 요소를 식별합니다.
- 요소의 내부 노트 속성에서 요소의 목적을 문서화합니다.
- 프로덕션에 배포한 후 요소 이름을 변경하지 마십시오. 불가피한 경우 요소가 참조되는 위치에 이름 변경 사항을 적용합니다.
- Omniscript 내에서 ContextId를 할당하지 마십시오. Omniscript의 ContextId는 URL에서 레코드 ID를 할당하는 예약 키입니다.
- 여러 Omniscript에서 프로세스를 반복할 수 있는 경우 재사용 가능한 Omniscript를 만들고 적절한 상위 Omniscript에 추가합니다. 다른 Omniscript에 Omniscript 포함을 참조하십시오.
- 양식 끝이 아닌 현재 단계에서 필수 데이터 및 유효성 검사를 적용하십시오. 이렇게 하면 사용자가 마지막에 유효성 검사 또는 오류를 확인하고 각 단계를 수정하기 위한 단계를 다시 추적하는 대신 입력을 즉시 수정할 수 있습니다.
- 가능한 경우 여러 Omniscript를 사용하여 응용 프로그램에서 복잡한 과업을 세분화합니다. 필요한 경우 FlexCard와 함께 Omniscript를 사용합니다. 여러 단계로 대규모 Omniscript를 만들면 성능 및 사용자 환경이 저하될 수 있습니다.
사용자 인터페이스
Omniscript는 Lightning 웹 구성 요소를 사용하여 개별 요소와 Omniscript 자체의 스타일을 정의합니다.
모범 사례에는 다음이 포함됩니다.
- 전역 스타일을 적용합니다. 자세한 내용은 Omniscript의 사용자 정의 스타일을 참조하십시오.
액세스 가능성
접근성 모범 사례에는 다음이 포함됩니다.
- 현재 Omniscript의 테이블 모드에 구성된 편집 블록은 화면 판독기와 호환되지 않습니다. 화면 판독기를 사용하는 경우 Omniscript 대신 FlexCard를 사용하는 것이 좋습니다. FlexCard에서는 화면 판독기와 호환되는 데이터 테이블 또는 Lightning 데이터 테이블을 사용할 수 있습니다. Flexcard 테이블의 테이블에 데이터 표시를 및 Lightning 웹 구성 요소 – 데이터 참조하십시오.
보안
데이터 보안 모범 사례에는 다음이 포함됩니다.
-
데이터 보안을 보장하고 Salesforce 암호화 액세스 제어 규정을 준수하려면 암호화된 필드의 해독된 값을 표시하거나 처리하기 전에 항상 사용자에게 암호화된 데이터 보기 권한이 있는지 확인하십시오.
사용자 환경 설계 원칙
UX 설계 원칙에는 다음이 포함됩니다.
- 컨텍스트 데이터를 사용하여 필드를 미리 채워 사용자가 정보를 입력해야 하는 필드 수를 줄입니다. 자세한 내용은 Omniscript에서 값 설정을 참조하십시오.
- 인지 부하를 방지하려면 프로세스를 분리하는 방법을 주의 깊게 고려하십시오. 요소 수가 최소한에 불과한 너무 짧은 단계는 여러 요소를 사용하는 대규모 단계만큼 쉽게 사용자를 압도할 수 있습니다.
- 상황별 도움말 텍스트를 만들고 입력 필드를 논리적으로 정렬하여 사용자를 안내합니다.
- Omniscript 내의 반복 중첩 블록이 10개를 초과하지 않는지 확인합니다.
성과 요소
클라이언트 측 성능과 서버 측 성능 모두에 대한 일련의 모범 사례가 있습니다.
클라이언트측 모범 사례에는 다음이 포함됩니다.
- 가능한 경우 조건부 보기, 병합 필드, 수식을 줄입니다.
- 응답 JSON을 자르면 응답을 빠르게 적용할 수 있습니다. 자세한 내용은 전송/응답 변환 속성으로 JSON 조작을 참조하십시오.
- 요소 이름에서 공백을 제거하여 Omniscript의 로드 시간을 향상합니다.
- 스크립트의 요소 수를 줄입니다. 단일 Omniscript를 최대 750개의 요소로 제한하십시오.
- 가능한 경우 서버에서 논리를 실행합니다(예: 통합 절차의 조건부 논리 및 데이터 매퍼의 수식).
- 250KB를 초과하는 PDF는 느리게 생성됩니다. 1MB보다 큰 PDF는 생성하는 데 몇 분 정도 걸릴 수 있으며 시간이 초과되는 경우도 있습니다.
서버측 모범 사례에는 다음이 포함됩니다.
- JSON 요청을 자르면 요청의 페이로드 크기를 줄일 수 있습니다. 자세한 내용은 전송/응답 변환 속성으로 JSON 조작을 참조하십시오.
- Lightning 웹 구성 요소가 4MB보다 큰 Omniscripts를 만들지 마십시오. 미리 보기에서 4MB보다 큰 Omniscript에 Omniscript가 비활성 상태이거나 배포되지 않았음을 나타내는 오류가 표시됩니다. Omniscript LWC를 다운로드하여 크기를 확인합니다.
- 단계 사이에 여러 작업이 있을 때마다 통합 절차를 사용하여 서버 반복 시간을 줄입니다. Fire and forget 속성을 활성화하여 통합 절차를 비동기식으로 실행합니다.
- 데이터 매퍼 추출 출력을 잘라내 불필요한 데이터를 제거합니다.
- Omnistudio로 기능을 구축할 때 Apex 총괄자 제한에 유의하십시오. 이러한 제한은 단일 프로세스에서 공유 자원을 제어하지 않도록 합니다. 개발 도중 디버그 로그를 사용하여 총괄자 제한을 추적 및 관리하여 개발이 효율적이고 실행 도중 Salesforce 제한을 초과하지 않도록 합니다. Apex 총괄자 제한을 참조하십시오.
실행 중에 Omnistudio 구성 요소에서 총괄자 제한이 사용되는 방식을 모니터링하려면 거래에 대한 Apex 디버그 로그를 수집합니다(예: Omniscript 활성화, FlexCard 시작 또는 Omniscript의 단계 실행). Apex 디버그 로그를 수집하려면 추적 플래그를 만들고 Omnistudio 프로세스를 실행하는 사용자에 대해 설정합니다. 디버그 로깅 설정을 참조하십시오.
OmniScript, 통합 절차 또는 데이터 매퍼를 실행하면 디버그 로그가 모든 트랜잭션을 수집하고 총괄자 제한 사용량에 대한 인사이트를 제공합니다.
구현 사용 사례
- Flexcard Datatable에서 선택한 레코드를 Omniscript에 저장합니다.
- FlexCard를 만들고 Datatable 요소를 추가합니다.
- Flexcard 설정에서 이벤트 수신기 구성:
- 다음 설정을 사용하여 입력 매개 변수를 추가합니다.
- 키: 선택한 레코드에 적절한 JSON 태그를 선택합니다.
- 값: {action.result}
이 구성을 통해 레코드가 선택되었는지 여부(true 또는 false)를 나타내는 선택행 변수와 함께 전체 데이터 행이 포함됩니다.
- 필요한 경우 조건을 추가합니다. 예를 들어 action.result.selectrow를 사용하여 레코드를 추가하거나 제거할지 여부를 결정합니다.
이 조건은 선택 사항입니다. 선택한 레코드와 선택 취소된 레코드에 대해 다른 작업이 필요한 경우 각 사례에 대해 서로 다른 조건을 가진 두 개의 이벤트 수신기를 만들 수 있습니다. 워크플로의 요구 사항을 기반으로 더 많은 조건을 추가하여 논리를 추가로 사용자 정의할 수 있습니다.
구성
특정 구성으로 OmniScript를 설계하면 포함할 사이트에서 의도하지 않은 동작이 발생할 수 있습니다. OmniScript의 설계 방식 또는 Omnistudio 범위를 벗어나는 요소의 조합으로 인해 발생할 수 있습니다. 몇 가지 알려진 문제 및 관련 모범 사례는 여기에 설명되어 있습니다.
구성 모범 사례에는 다음이 포함됩니다.
- 작업, 값 설정 또는 데이터 매퍼 요소를 사용하여 Omniscript 내의 블록 편집에 데이터를 채우는 경우 저장 옵션 섹션에서 저장된 데이터 JSON을 업데이트된 버전으로 병합 확인란을 선택하고 사용자가 저장된 세션을 다시 시작하는 경우 데이터 중복이 발생할 수 있습니다. 이를 방지하려면 플래그를 추가하여 작업, 데이터 매퍼 또는 값 설정 요소의 실행을 추적하고 플래그가 false인 경우에만 진행되는 조건을 조건부 보기 섹션에 포함합니다. 예를 들어, 표시된 대로 데이터 중복을 방지하기 위해 값 설정 요소와 함께 플래그를 사용할 수 있습니다.
- 테이블은 텍스트 블록 내에서 지원되지 않습니다.
