양식 데이터 모델을 사용한 작업

데이터 통합

양식 데이터 모델 편집기는 양식 데이터 모델을 편집하고 구성하기 위한 직관적인 유저 인터페이스와 도구를 제공합니다. 편집기를 사용하여 양식 데이터 모델의 관련 데이터 소스에서 데이터 모델 개체, 속성 및 서비스를 추가하고 구성할 수 있습니다. 또한 데이터 소스 없이 데이터 모델 개체 및 속성을 만들고 나중에 해당 데이터 모델 개체 및 속성과 바인딩할 수 있습니다. 미리 보는 동안 적응형 양식 및 인터랙티브한 커뮤니케이션을 미리 채우기 위해 사용할 수 있는 데이터 모델 객체 속성에 대한 샘플 데이터를 생성하고 편집할 수도 있습니다. 양식 데이터 모델에서 구성된 데이터 모델 개체 및 서비스를 테스트하여 데이터 소스와 제대로 통합되었는지 확인할 수 있습니다.

Forms 데이터 통합을 처음 사용하고 데이터 소스를 구성하거나 양식 데이터 모델을 만들지 않은 경우 다음 항목을 참조하십시오.

양식 데이터 모델 편집기를 사용하여 수행할 수 있는 다양한 작업 및 구성에 대한 자세한 내용은 을 참조하십시오.

노트

양식 데이터 모델을 만들고 사용할 수 있으려면 fdm-authorforms-user 그룹 모두의 구성원이어야 합니다. 해당 그룹의 구성원이 되려면 AEM 관리자에게 문의하십시오.

데이터 모델 개체 및 서비스 추가

데이터 소스를 사용하여 양식 데이터 모델을 만든 경우, 양식 데이터 모델 편집기를 사용하여 데이터 모델 개체 및 서비스를 추가하고, 해당 속성을 구성하고, 데이터 모델 개체 간의 연결을 만들고, 양식 데이터 모델 및 서비스를 테스트할 수 있습니다.

데이터 모델의 사용 가능한 데이터 소스에서 데이터 모델 개체 및 서비스를 추가할 수 있습니다. 추가된 데이터 모델 개체는 모델 탭에 나타나며 추가된 서비스는 서비스 탭에 표시됩니다.

데이터 모델 개체 및 서비스를 추가하려면:

  1. AEM 작성자 인스턴스에 로그인하고 Forms > 데이터 통합으로​이동한 다음 데이터 모델 개체를 추가할 양식 데이터 모델을 엽니다.

  2. 데이터 소스 창에서 데이터 소스를 확장하여 사용 가능한 데이터 모델 개체 및 서비스를 봅니다.

  3. 양식 데이터 모델에 추가할 데이터 모델 개체 및 서비스를 선택하고 선택한 항목 추가를 누릅니다.

    selected-objects

    선택한 데이터 모델 개체 및 서비스

    모델(Model) 탭에는 모든 데이터 모델 개체 및 양식 데이터 모델에 추가된 속성의 그래픽 표현이 표시됩니다. 각 데이터 모델 개체는 양식 데이터 모델의 상자로 표현됩니다.

    model-tab

    모델 탭에 추가된 데이터 모델 개체가 표시됩니다.

    노트

    데이터 모델 개체 상자를 길게 끌거나 드래그하여 컨텐츠 영역에서 구성할 수 있습니다. 양식 데이터 모델에 추가된 모든 데이터 모델 개체는 데이터 소스 창에서 회색으로 표시됩니다.

    서비스 탭에는 추가된 서비스가 나열됩니다.

    services-tab

    서비스 탭에는 데이터 모델 서비스가 표시됩니다.

    노트

    데이터 모델 개체 및 서비스 외에도 OData 서비스 메타데이터 문서에는 두 데이터 모델 개체 간의 연결을 정의하는 탐색 속성이 포함되어 있습니다. 자세한 내용은 OData 서비스의 탐색 속성을 사용한 작업을 참조하십시오.

  4. 저장 눌러 양식 모델 개체를 저장합니다.

    노트

    적응형 양식 규칙을 사용하여 양식 데이터 모델의 서비스 탭에서 구성한 서비스를 호출할 수 있습니다. 구성된 서비스는 규칙 편집기의 호출 서비스 작업에서 사용할 수 있습니다. 이러한 서비스를 적응형 양식 규칙에서 사용하는 방법에 대한 자세한 내용은 규칙 편집기에서 서비스 호출 및 규칙 값 설정을 참조하십시오.

데이터 모델 개체 및 하위 속성 만들기

데이터 모델 개체 만들기

구성된 데이터 소스에서 데이터 모델 개체를 추가할 수 있지만 데이터 소스 없이 데이터 모델 개체나 개체를 만들 수도 있습니다. 양식 데이터 모델에서 데이터 소스를 구성하지 않은 경우 특히 유용합니다.

데이터 소스 없이 데이터 모델 개체를 만들려면

  1. AEM 작성자 인스턴스에 로그인하고 Forms > 데이터 통합으로​이동한 다음 데이터 모델 개체 또는 개체를 만들 양식 데이터 모델을 엽니다.

  2. 엔티티 만들기를 누릅니다.

  3. 데이터 모델 만들기 대화 상자에서 데이터 모델 개체의 이름을 지정하고 추가를 누릅니다. 데이터 모델 개체가 양식 데이터 모델에 추가됩니다. 새로 추가된 데이터 모델 개체는 데이터 소스에 바인딩되지 않으며 다음 이미지에 표시된 것처럼 속성이 없습니다.

    new-entity

다음으로 언바운드 데이터 모델 개체에 하위 속성을 추가할 수 있습니다.

하위 속성 추가

양식 데이터 모델 편집기를 사용하면 데이터 모델 개체에서 하위 속성을 만들 수 있습니다. 만들 때의 속성은 데이터 소스의 속성에 바인딩되지 않습니다. 나중에 하위 속성을 포함하는 데이터 모델 개체의 다른 속성과 바인딩할 수 있습니다.

자식 속성을 만들려면:

  1. 양식 데이터 모델에서 데이터 모델 개체를 선택하고 하위 속성 만들기를 누릅니다.

  2. 하위 속성 만들기 대화 상자에서 이름유형 필드에 속성의 이름 및 데이터 유형을 각각지정합니다. 속성에 대한 제목과 설명을 선택적으로 지정할 수 있습니다.

  3. 속성이 계산된 속성이면 계산됨을 활성화합니다. 계산된 속성의 값은 규칙이나 식을 기반으로 평가됩니다. 자세한 내용은 속성 편집을 참조하십시오.

  4. 데이터 모델 개체가 데이터 소스에 바인딩되면 추가된 자식 속성이 동일한 이름과 데이터 형식이 있는 부모 데이터 모델 개체의 속성에 자동으로 바인딩됩니다.

    데이터 모델 개체 속성으로 자식 속성을 수동으로 바인딩하려면 [참조 바인딩] 필드 옆에 있는 찾아보기 아이콘을 누릅니다. 객체 선택 대화 상자에는 상위 데이터 모델 객체의 모든 속성이 나열됩니다. 바인딩할 속성을 선택하고 눈금 아이콘을 누릅니다. 자식 속성과 동일한 데이터 유형의 속성만 선택할 수 있습니다.

  5. 완료를 눌러 하위 속성을 저장하고 저장을 눌러 양식 데이터 모델을 저장합니다. 이제 자식 속성이 데이터 모델 개체에 추가됩니다.

데이터 모델 개체 및 속성을 만든 후 양식 데이터 모델을 기반으로 적응형 양식 및 대화형 통신을 계속 만들 수 있습니다. 나중에 데이터 소스를 사용 가능하게 만들고 구성한 경우 양식 데이터 모델을 데이터 소스와 바인딩할 수 있습니다. 바인딩은 관련 적응형 양식 및 인터랙티브한 커뮤니케이션에서 자동으로 업데이트됩니다. 양식 데이터 모델을 사용하여 적응형 양식 및 대화형 통신을 만드는 방법에 대한 자세한 내용은 양식 데이터 모델 사용을 참조하십시오.

데이터 모델 개체 및 속성 바인딩

양식 데이터 모델과 통합하려는 데이터 소스를 사용할 수 있으면 데이터 소스 업데이트에 설명된 대로 양식 데이터 모델에 추가할 수 있습니다. 그런 다음 언바운드 데이터 모델 개체 및 속성을 바인딩하려면 다음을 수행합니다.

  1. 양식 데이터 모델에서 데이터 소스와 연결할 언바운드 데이터 소스를 선택합니다.

  2. 속성 편집을 누릅니다.

  3. 속성 편집 창에서 바인딩 필드 옆에 있는 찾아보기 아이콘을 누릅니다. 양식 데이터 모델에 추가된 데이터 소스를 나열하는 객체 선택 대화 상자가 열립니다.

    select-object

  4. 데이터 소스 트리를 확장하고 바인딩할 데이터 모델 개체를 선택하고 눈금 아이콘을 누릅니다.

  5. 완료를 눌러 속성을 저장한 다음 저장을 눌러 양식 데이터 모델을 저장합니다. 이제 데이터 모델 개체가 데이터 원본과 바인딩됩니다. 데이터 모델 개체가 더 이상 언바운드로 표시되지 않습니다.

    bound-model-object

서비스 구성

데이터 모델 개체에 대한 데이터를 읽고 쓰려면 다음을 수행하여 읽기 및 쓰기 서비스를 구성합니다.

  1. 데이터 모델 개체 상단에 있는 확인란을 선택하여 선택하고 속성 편집을 누릅니다.

    edit-properties

    속성을 편집하여 데이터 모델 개체에 대한 읽기 및 쓰기 서비스 구성

    속성 편집 대화 상자가 열립니다.

    edit-properties-2

    속성 편집 대화 상자

    노트

    데이터 모델 개체 및 서비스 외에도 OData 서비스 메타데이터 문서에는 두 데이터 모델 개체 간의 연결을 정의하는 탐색 속성이 포함되어 있습니다. 양식 데이터 모델에 OData 서비스 데이터 소스를 추가하면 데이터 모델 개체의 모든 탐색 속성에 대해 양식 데이터 모델에서 사용할 수 있는 서비스가 있습니다. 이 서비스를 사용하여 해당 데이터 모델 개체의 탐색 속성을 읽을 수 있습니다.

    서비스 사용에 대한 자세한 내용은 OData 서비스의 탐색 속성을 사용한 작업을 참조하십시오.

  2. 최상위 수준 개체 전환을 사용하여 데이터 모델 개체가 최상위 모델 개체인지 지정합니다.

    양식 데이터 모델로 구성된 데이터 모델 개체는 양식 데이터 모델을 기반으로 하는 응용 양식의 컨텐츠 브라우저의 데이터 모델 개체 탭에서 사용할 수 있습니다. 두 데이터 모델 개체 간의 연결을 추가하면 연결하려는 데이터 모델 개체가 데이터 모델 개체 탭의 연결 데이터 모델 개체 아래에 중첩됩니다. 중첩된 데이터 모델이 최상위 개체인 경우 데이터 모델 개체 탭에도 별도로 나타납니다. 따라서 중첩 계층 구조 내부와 외부, 양식 작성자를 혼동시킬 수 있는 두 개의 항목이 표시됩니다. 연결된 데이터 모델 개체가 중첩된 계층에만 표시되도록 하려면 최상위 수준 개체 속성을 비활성화하십시오.

  3. 선택한 데이터 모델 개체에 대해 읽기 및 쓰기 서비스를 선택합니다. 서비스에 대한 인수가 나타납니다.

    읽기-쓰기 서비스

    직원 데이터 소스에 대해 구성된 읽기 및 쓰기 서비스

  4. 읽기 서비스 인수 에 대해 aem_6_3_edit 을 탭하여 사용자 프로필 속성, 요청 특성 또는 리터럴 값에 인수를 바인딩하고 바인딩 값을 지정합니다.

  5. 완료 눌러 인수 저장하고 완료를 눌러 속성을 저장한 다음저장을 눌러 양식 데이터 모델을 저장합니다.

바인딩 읽기 서비스 인수

바인딩 값을 기반으로 사용자 프로필 속성, 요청 속성 또는 리터럴 값에 읽기 서비스 인수를 바인딩합니다. 이 값은 데이터 소스에서 지정된 값과 관련된 세부 사항을 가져오기 위한 인수로 서비스에 전달됩니다.

Literal value

바인딩 대상 드롭다운 메뉴 에서 리터럴을 선택하고 바인딩 값 필드에 값을입력합니다. 값과 연관된 세부 사항은 데이터 소스에서 검색됩니다. 정적 값과 연결된 세부 사항을 검색하려면 이 옵션을 사용합니다.

이 예에서 인수 값으로 4367655678​과 연관된 세부 사항은 데이터 소스에서 mobilenum 검색됩니다. 모바일 번호 인수에 대한 값을 전달하는 경우 관련 세부 사항에는 고객 이름, 고객 주소 및 구/군/시와 같은 속성이 포함될 수 있습니다.

리터럴 값

사용자 프로필 속성

바인딩 대상 드롭다운 메뉴에서 ​사용자 프로필 속성을 선택하고 바인딩 값필드에 속성 이름을입력합니다. AEM 인스턴스에 로그인한 사용자의 세부 정보는 속성 이름을 기반으로 데이터 소스에서 검색됩니다.

바인딩 값 필드에 지정된 속성 이름 사용자의 속성 이름이 될 때까지 전체 바인딩 경로를 포함해야 합니다. 다음 URL을 열어 CRXDE의 사용자 세부 정보에 액세스합니다.

https://[server-name]:[port]/crx/de/index.jsp#/home/users/

사용자 프로필

이 예에서 사용자 profile.empid바인딩 값 필드에 grios 지정합니다.

인수 편집

id 인수는 사용자 프로필의 empid 특성 값을 가져와서 읽기 서비스에 인수로 전달합니다. 로그인한 사용자와 관련된 직원 데이터 모델 개체에서 연결된 속성의 값을 읽고 empid 반환합니다.

요청 속성

요청 속성을 사용하여 데이터 소스에서 관련 속성을 검색합니다.

  1. 바인딩 대상 드롭다운 메뉴에서 요청 속성​선택하고바인딩 값필드에 속성 이름을입력합니다.

  2. head.jsp용 오버레이를 만듭니다. 오버레이를 만들려면 CRX DE를 열고 https://<server-name>:<port number>/crx/de/index.jsp#/libs/fd/af/components/page2/afStaticTemplatePage/head.jsp 파일을 https://<server-name>:<port number>/crx/de/index.jsp#/apps/fd/af/components/page2/afStaticTemplatePage/head.jsp

    노트
    • 정적 템플릿을 사용하는 경우 다음 위치에 head.jsp를 오버레이합니다.
      /libs/fd/af/components/page2/afStaticTemplatePage/head.jsp
    • 편집 가능한 템플릿을 사용하는 경우 다음 위치에서 aftetemplatedpage.jsp를 오버레이합니다.
      /libs/fd/af/components/page2/aftemplatedpage/aftemplatedpage.jsp
  3. 요청 속성 paramMap 에 대해 설정합니다. 예를 들어, apps 폴더의 .jsp 파일에 다음 코드를 포함합니다.

    <%Map paraMap = new HashMap();
     paraMap.put("<request_attribute>",request.getParameter("<request_attribute>"));
     request.setAttribute("paramMap",paraMap);
    

    예를 들어 아래 코드를 사용하여 데이터 소스에서 전송된 값을 검색합니다.

    <%Map paraMap = new HashMap();
    paraMap.put("petId",request.getParameter("petId"));
    request.setAttribute("paramMap",paraMap);%>
    

세부 사항은 요청에 지정된 속성 이름을 기준으로 데이터 소스에서 검색됩니다.

예를 들어 요청에 속성을 지정하면 데이터 소스 petid=100 에서 속성 값과 연결된 속성이 검색됩니다.

연결 추가

일반적으로 데이터 소스의 데이터 모델 개체 간에 연결된 관계가 있습니다. 이러한 연결은 일대일 또는 일대다 관계가 될 수 있습니다. 예를 들어, 직원과 연관된 여러 개의 종속 항목이 있을 수 있습니다. 이를 일 대 다 연결이라고 하며 관련 데이터 모델 개체를 연결하는 선 1:n 에 표시합니다. 하지만, 한 협회가 특정 직원 ID에 대한 고유한 직원 이름을 반환하는 경우 이를 1대1 연결이라고 합니다.

데이터 소스의 관련 데이터 모델 객체를 양식 데이터 모델에 추가하면 해당 연관성이 유지되고 화살표 라인별로 연결된 것처럼 표시됩니다. 양식 데이터 모델에서 서로 다른 데이터 소스에 걸쳐 데이터 모델 개체 간의 연결을 추가할 수 있습니다.

노트

JDBC 데이터 소스의 사전 정의된 연결은 양식 데이터 모델에서 유지되지 않습니다. 수동으로 만들어야 합니다.

연결을 추가하려면:

  1. 데이터 모델 개체 상단에 있는 확인란을 선택하여 선택하고 연결 추가를 누릅니다. 연결 추가 대화 상자가 열립니다.

    add-association

    노트

    데이터 모델 개체 및 서비스 외에도 OData 서비스 메타데이터 문서에는 두 데이터 모델 개체 간의 연결을 정의하는 탐색 속성이 포함되어 있습니다. 양식 데이터 모델에서 연결을 추가할 때 이러한 탐색 속성을 사용할 수 있습니다. 자세한 내용은 OData 서비스의 탐색 속성을 사용한 작업을 참조하십시오.

    연결 추가 대화 상자가 열립니다.

    add-association-2

    연결 추가 대화 상자

  2. 연결 추가 창에서:

    • 연결의 제목을 지정합니다.
    • 연결 유형(하나 대1 또는 하나 대 다)을 선택합니다.
    • 연결할 데이터 모델 개체를 선택합니다.
    • 선택한 모델 개체에서 데이터를 읽을 읽기 서비스를 선택합니다. 읽기 서비스 인수가 나타납니다. 필요에 따라 인수를 변경하려면 편집하고 연결할 데이터 모델 개체의 속성에 바인딩합니다.

    다음 예에서 종속 데이터 모델 개체의 읽기 서비스에 대한 기본 인수는 입니다 dependentid.

    add-association-example

    종속 항목 읽기 서비스에 대한 기본 인수는 종속됩니다.

    하지만 이 예제에서 이 인수는 연결된 데이터 모델 개체 간의 공통 속성이어야 합니다 Employeeid. 따라서 인수 Employeeid 는 종속 데이터 모델 객체에서 관련 종속 세부 사항을 가져오기 위해 직원 데이터 모델 객체의 id 속성에 바인딩되어야 합니다.

    add-association-example-2

    인수 및 바인딩 업데이트

    완료를 눌러 인수를 저장합니다.

  3. 완료를 눌러 연결을 저장한 다음 저장을 눌러 양식 데이터 모델을 저장합니다.

  4. 필요에 따라 연결을 더 만들려면 단계를 반복합니다.

노트

추가된 연결은 지정된 제목과 연결된 데이터 모델 개체를 연결하는 선이 있는 데이터 모델 개체 상자에 나타납니다.

연결을 편집하려면 확인란을 선택하고 연결 편집을 누릅니다.

추가

속성 편집

양식 데이터 모델에 추가된 데이터 모델 개체, 속성 및 서비스의 속성을 편집할 수 있습니다.

속성을 편집하려면:

  1. 양식 데이터 모델의 데이터 모델 개체, 속성 또는 서비스 옆에 있는 확인란을 선택합니다.

  2. 속성 편집을 누릅니다. 선택한 모델 개체, 속성 또는 서비스에 대한 속성 편집 창이 열립니다.

    • 데이터 모델 개체:읽기 및 쓰기 서비스를 지정하고 인수를 편집합니다.
    • 속성:속성의 유형, 하위 유형 및 형식을 지정합니다. 선택한 속성이 데이터 모델 개체의 기본 키인지 여부를 지정할 수도 있습니다.
    • 서비스:서비스에 대한 입력 모델 개체, 출력 유형 및 인수를 지정합니다. Get 서비스의 경우 배열을 반환할지 여부를 지정할 수 있습니다.

    edit-properties-service

    가져오기 서비스의 속성 편집 대화 상자

  3. 완료를 눌러 속성을 저장한 다음 저장을 눌러 양식 데이터 모델을 저장합니다.

계산된 속성 만들기

계산된 속성은 규칙이나 식을 기반으로 값이 계산되는 속성입니다. 규칙을 사용하여 계산된 속성의 값을 문자 문자열, 숫자, 수학 표현식의 결과 또는 양식 데이터 모델에서 다른 속성의 값으로 설정할 수 있습니다.

예를 들어, 값이 기존 FirstName LastName 속성을 연결한 결과인 계산된 속성 FullName을 만들 수 있습니다. 이렇게 하려면:

  1. 데이터 유형이 String인 이름 FullName 으로 새 속성을 만듭니다.

  2. 계산된 을 활성화하고 완료를 눌러 속성을 만듭니다.

    계산

    FullName 계산 속성이 만들어집니다. 속성 옆에 있는 아이콘이 계산된 속성을 나타냅니다.

    computed-prop

  3. FullName 속성을 선택하고 규칙 편집을 누릅니다. 규칙 편집기 창이 열립니다.

  4. 규칙 편집기 창에서 만들기를 누릅니다. 값 설정 규칙 창이 열립니다.

    옵션 선택 드롭다운에서 수학 표현식을 선택합니다. 기타 사용 가능한 옵션은 양식 데이터 모델 개체문자열입니다.

  5. 수학 표현식에서 첫 번째 및 두 번째 개체 에서 FirstName과 LastName을 각각 선택합니다 . 더하기 연산자로 선택합니다.

    완료를 누른 다음 닫기를 눌러 규칙 편집기 창을 닫습니다. 규칙은 다음과 비슷합니다.

    규칙

  6. 양식 데이터 모델에서 저장을 누릅니다. 계산된 속성이 구성됩니다.

OData 서비스의 탐색 속성 사용

OData 서비스에서 탐색 속성은 두 데이터 모델 개체 간의 연결을 정의하는 데 사용됩니다. 이러한 속성은 엔티티 유형 또는 복합 유형에 대해 정의됩니다. 예를 들어 샘플 TripPin OData 샘플 서비스의 메타데이터 파일에서 추출되는 사람 엔터티에는 친구, BestFriend 및 Trips의 3가지 탐색 속성이 포함됩니다.

탐색 속성에 대한 자세한 내용은 OData 설명서를 참조하십시오.

<edmx:Edmx xmlns:edmx="https://docs.oasis-open.org/odata/ns/edmx" Version="4.0">
<script/>
<edmx:DataServices>
<Schema xmlns="https://docs.oasis-open.org/odata/ns/edm" Namespace="Microsoft.OData.Service.Sample.TrippinInMemory.Models">
<EntityType Name="Person">
<Key>
<PropertyRef Name="UserName"/>
</Key>
<Property Name="UserName" Type="Edm.String" Nullable="false"/>
<Property Name="FirstName" Type="Edm.String" Nullable="false"/>
<Property Name="LastName" Type="Edm.String"/>
<Property Name="MiddleName" Type="Edm.String"/>
<Property Name="Gender" Type="Microsoft.OData.Service.Sample.TrippinInMemory.Models.PersonGender" Nullable="false"/>
<Property Name="Age" Type="Edm.Int64"/>
<Property Name="Emails" Type="Collection(Edm.String)"/>
<Property Name="AddressInfo" Type="Collection(Microsoft.OData.Service.Sample.TrippinInMemory.Models.Location)"/>
<Property Name="HomeAddress" Type="Microsoft.OData.Service.Sample.TrippinInMemory.Models.Location"/>
<Property Name="FavoriteFeature" Type="Microsoft.OData.Service.Sample.TrippinInMemory.Models.Feature" Nullable="false"/>
<Property Name="Features" Type="Collection(Microsoft.OData.Service.Sample.TrippinInMemory.Models.Feature)" Nullable="false"/>
<NavigationProperty Name="Friends" Type="Collection(Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person)"/>
<NavigationProperty Name="BestFriend" Type="Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person"/>
<NavigationProperty Name="Trips" Type="Collection(Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip)"/>
</EntityType>

양식 데이터 모델에서 OData 서비스를 구성할 때 엔티티 컨테이너의 모든 탐색 속성은 양식 데이터 모델의 서비스를 통해 사용할 수 있게 됩니다. TripPin OData 서비스의 이 예에서, 양식 데이터 모델에서 하나의 서비스를 사용하여 개체 컨테이너의 3개 탐색 속성을 읽을 수 Person GET LINK 있습니다.

다음은 TripPin OData 서비스 엔티티의 3개 탐색 속성에 대한 결합된 서비스인 양식 데이터 모델의 GET LINK of Person /People Person 서비스를 강조 표시합니다.

nav-prop-service

양식 데이터 모델의 서비스 탭에 GET LINK 서비스를 추가하면 속성을 편집하여 출력 모델 객체와 서비스에 사용할 탐색 속성을 선택할 수 있습니다. 예를 들어 다음 예제의 다음 GET LINK of Person /People 서비스는 Trip을 출력 모델 개체로 사용하고 탐색 속성을 Trips로 사용합니다.

edit-prop-nav-prop

노트

NavigationPropertyName 인수의 기본값 필드에서 사용할 수 있는 값은 Return 배열 상태에 따라 다릅니다. 전환 단추. 활성화되면 컬렉션 유형의 탐색 속성이 표시됩니다.

이 예에서는 출력 모델 개체를 Person으로 선택하고 탐색 속성 인수를 Friends 또는 BestFriend로 선택할 수도 있습니다( 반환 배열 여부에 따라 다름). 이 활성화되어 있거나 비활성화되어 있습니다.)

edit-prop-nav-prop2

마찬가지로, 양식 데이터 모델에서 연결을 추가할 때 GET LINK 서비스를 선택하고 해당 탐색 속성을 구성할 수 있습니다. 그러나 탐색 속성을 선택하려면 [바인딩 대상] 필드 Literal로 설정되어 있는지 확인하십시오.

add-association-nav-prop

샘플 데이터 생성 및 편집

양식 데이터 모델 편집기를 사용하면 계산된 속성을 비롯한 모든 데이터 모델 개체 속성에 대한 샘플 데이터를 양식 데이터 모델에서 생성할 수 있습니다. 각 속성에 대해 구성된 데이터 유형을 준수하는 임의 값 집합입니다. 샘플 데이터를 다시 생성해도 그대로 유지되는 데이터를 편집하고 저장할 수도 있습니다.

샘플 데이터를 생성하고 편집하려면 다음을 수행합니다.

  1. 양식 데이터 모델을 열고 샘플 데이터 편집을 누릅니다. 샘플 데이터 편집 창에서 샘플 데이터를 생성하고 표시합니다.

    샘플 데이터 생성

  2. [ 샘플 데이터 편집] 창에서 필요에 따라 데이터를 편집하고 저장을 탭합니다.

그런 다음 샘플 데이터를 사용하여 양식 데이터 모델에 따라 인터랙티브 커뮤니케이션을 미리 채우고 테스트할 수 있습니다. 자세한 내용은 양식 데이터 모델 사용을 참조하십시오.

데이터 모델 개체 및 서비스 테스트

양식 데이터 모델은 구성되지만 사용하기 전에 구성된 데이터 모델 개체 및 서비스가 예상대로 작동하는지 테스트할 수 있습니다. 데이터 모델 개체 및 서비스를 테스트하려면

  1. 양식 데이터 모델에서 데이터 모델 개체 또는 서비스를 선택하고 테스트 모델 개체 또는 테스트 서비스​를 각각 누릅니다.

    양식 데이터 모델 테스트 창이 열립니다.

    test-data-model

  2. 양식 데이터 모델 테스트 창의 입력 창에서 테스트할 데이터 모델 개체 또는 서비스를 선택합니다.

  3. 테스트 코드에서 인수 값을 지정하고 테스트를 누릅니다. 테스트를 성공적으로 수행하면 출력 창에 출력이 반환됩니다.

    테스트 결과

마찬가지로 양식 데이터 모델에서 다른 데이터 모델 개체 및 서비스를 테스트할 수 있습니다.

입력 데이터의 자동화된 유효성 검사

양식 데이터 모델은 DermisBridge API를 호출하는 동안 입력으로 받은 데이터의 유효성을 검사합니다(양식 데이터 모델에서 사용할 수 있는 유효성 검사 기준). 유효성 검사는 API를 호출하는 데 사용되는 쿼리 개체에 설정된 ValidationOptions 플래그를 기반으로 합니다.

플래그는 다음 값 중 하나로 설정할 수 있습니다.

  • 전체:FDM은 모든 제한을 기준으로 유효성 검사를 수행합니다.
  • 해제:유효성 검사 없음
  • 기본:FDM은 '필수' 및 'nullable' 제약 조건을 기반으로 유효성 검사를 수행합니다.

플래그에 대해 값이 설정되지 않은 ValidationOptions경우 입력 데이터에 대해 BASIC유효성 검사가 수행됩니다.

다음은 유효성 검사 플래그를 FULL로 설정하는 예입니다.

operationOptions.setValidationOptions(ValidationOptions.FULL);
노트

입력 데이터의 속성에 대해 제공하는 값은 메타데이터 문서의 속성에 대해 정의된 데이터 유형과 일치해야 합니다.
값이 속성에 대해 정의된 데이터 유형과 일치하지 않는 경우 DermisBridge API는 플래그 값에 관계없이 예외를 ValidationOptions 표시합니다. 로그 수준이 디버그로 설정된 경우 오류가 error.log 파일에 기록됩니다.

양식 데이터 모델은 데이터 유형 제한 목록을 기반으로 입력 데이터를 검증합니다. 입력 데이터의 제한 목록은 데이터 소스에 따라 다를 수 있습니다.

다음 표에는 데이터 소스를 기반으로 입력 데이터의 제한 사항이 나와 있습니다.

제한 설명 입력 데이터 소스
required true이면 매개 변수를 입력 데이터에 포함해야 합니다. Swagger, WSDL 및 데이터베이스
nullable true이면 입력 데이터에서 매개 변수의 값을 Null로 설정할 수 있습니다. WSDL, 데이터 및 데이터베이스
최대 숫자 값에 대한 상한을 지정합니다. 상한 값으로 지정된 최대 값을 입력 데이터의 매개 변수에 할당할 수도 있습니다. Swagger 및 WSDL
최소 숫자 값의 하한 값을 지정합니다. 하한값으로 지정된 최소값을 입력 데이터의 매개 변수에 할당할 수도 있습니다. Swagger 및 WSDL
exclusiveMaximum 숫자 값에 대한 상한을 지정합니다. 상한 값으로 지정된 최대값은 입력 데이터의 매개 변수에 할당되어서는 안 됩니다. Swagger 및 WSDL
exclusiveMinimum 숫자 값의 하한 값을 지정합니다. 하한값으로 지정된 최소값은 입력 데이터의 매개 변수에 할당할 수 없습니다. Swagger 및 WSDL
minLength 문자열에 포함된 문자 수에 대한 하한 값을 지정합니다. 하한값으로 지정된 최소값을 입력 데이터의 매개 변수에 할당할 수도 있습니다. Swagger 및 WSDL
maxLength 문자열에 포함된 문자 수의 상한을 지정합니다. 상한 값으로 지정된 최대 값을 입력 데이터의 매개 변수에 할당할 수도 있습니다. Swagger, WSDL, Odata 및 데이터베이스
패턴 고정 문자 시퀀스를 지정합니다. 입력 문자열은 문자가 지정된 패턴에 맞는 경우에만 유효성이 확인됩니다. 스웨거
minItems 배열에 있는 최소 항목 수를 지정합니다. 하한값으로 지정된 최소값을 입력 데이터의 매개 변수에 할당할 수도 있습니다. Swagger 및 WSDL
maxItems 배열의 최대 항목 수를 지정합니다. 상한 값으로 지정된 최대 값을 입력 데이터의 매개 변수에 할당할 수도 있습니다. Swagger 및 WSDL
uniqueItems true이면 배열의 모든 요소가 입력 데이터에서 고유해야 합니다. 스웨거
enum(문자열)

입력 데이터의 매개 변수 값을 고정 문자열 값 세트로 제한합니다. 각 요소가 고유한 요소가 하나 이상 있는 배열이어야 합니다. Swagger, WSDL 및 Odata
enum(숫자)

입력 데이터의 매개 변수 값을 고정된 숫자 값 세트로 제한합니다. 각 요소가 고유한 요소가 하나 이상 있는 배열이어야 합니다. WSDL

이 예에서 입력 데이터는 Swagger 파일에 정의된 최대, 최소 및 필수 제한 사항을 기반으로 검증됩니다. 입력 데이터는 주문 ID가 있고 해당 값이 1과 10 사이인 경우에만 검증 기준을 충족합니다.

   parameters: [
   {
   name: "orderId",
   in: "path",
   description: "ID of pet that needs to be fetched",
   required: true,
   type: "integer",
   maximum: 10,
   minimum: 1,
   format: "int64"
   }
   ]

입력 데이터가 유효성 검사 기준을 충족하지 않을 경우 예외가 표시됩니다. 로그 수준이 디버그로​설정된 경우 오류가 error.log 파일에 기록됩니다. 예,

21.01.2019 17:26:37.411 *ERROR* com.adobe.aem.dermis.core.validation.JsonSchemaValidator {"errorCode":"AEM-FDM-001-044","errorMessage":"Input validations failed during operation execution.","violations":{"/orderId":["numeric instance is greater than the required maximum (maximum: 10, found: 16)"]}}

다음 단계

적응형 양식 및 인터랙티브한 커뮤니케이션 워크플로우에서 사용할 수 있는 작업 양식 데이터 모델이 있습니다. 자세한 내용은 양식 데이터 모델 사용을 참조하십시오.

이 페이지에서는