Show Menu
화제×

Tutorial: Create form data model

이 자습서는 첫 번째 적응형 양식 만들기 시리즈의 한 단계입니다 . 전체 자습서 사용 사례를 이해하고, 실행하고, 시연하려면 연순의 순서로 시리즈를 따르는 것이 좋습니다.

자습서 정보

AEM Forms 데이터 통합 모듈을 사용하면 AEM 사용자 프로필, RESTful 웹 서비스, SOAP 기반 웹 서비스, OData 서비스 및 관계형 데이터베이스와 같은 서로 다른 백엔드 데이터 소스에서 양식 데이터 모델을 만들 수 있습니다. 데이터 모델 개체 및 서비스를 양식 데이터 모델에서 구성하고 이를 응용 양식과 연결할 수 있습니다. 응용 양식 필드는 데이터 모델 개체 속성에 바인딩됩니다. 서비스를 사용하면 응용 양식을 미리 채우고 제출된 양식 데이터를 다시 데이터 모델 개체에 쓸 수 있습니다.
양식 데이터 통합 및 양식 데이터 모델에 대한 자세한 내용은 AEM Forms 데이터 통합을 참조하십시오 .
이 자습서에서는 양식 데이터 모델을 준비, 생성, 구성 및 적응형 양식과 연결하는 단계를 안내합니다. 이 튜토리얼의 끝에서 다음 작업을 수행할 수 있습니다.
양식 데이터 모델은 다음과 비슷합니다.
A. Data sources B. 데이터 소스 스키마 C. 사용 가능한 서비스 D. ​Data model objectsE.구성된 서비스

전제 조건

시작하기 전에 다음을 확인하십시오.
  • MySQL 첫 번째 적응형 양식 만들기 섹션의 전제 조건 섹션에 명시된 샘플 데이터가 있는 데이터베이스
  • JDBC 데이터베이스 드라이버 번들링을 MySQL 통해 설명한 대로 JDBC 드라이버용 OSGi 번들
  • 첫 번째 튜토리얼에서 설명한 적응형 양식 만들기

1단계:MySQL 데이터베이스를 데이터 소스로 구성

양식 데이터 모델을 만들도록 여러 유형의 데이터 소스를 구성할 수 있습니다. 이 자습서의 경우 샘플 데이터로 구성되고 채워진 MySQL 데이터베이스를 구성합니다. 지원되는 다른 데이터 소스 및 구성 방법에 대한 자세한 내용은 AEM Forms 데이터 통합을 참조하십시오 .
데이터베이스를 구성하려면 다음을 MySQL 수행합니다.
  1. OSGi 번들로 MySQL 데이터베이스의 JDBC 드라이버를 설치합니다.
    1. AEM 작성자 Forms 인스턴스에 관리자로 로그인하고 AEM 웹 콘솔 번들로 이동합니다. 기본 URL은 https://localhost:4502/system/console/bundles 입니다 .
    2. 설치/ 업데이트를 누릅니다 . # 대화 상자가 나타납니다.
    3. 파일 선택을 눌러 JDBC 드라이버 OSGi 번들을 찾아 선택합니다 MySQL . ## **​선택하고 설치 또는 업데이트 ​를 누릅니다. 에 대한 Oracle Corporation's JDBC 드라이버가 MySQL 활성화되어 있는지 확인합니다. 드라이버가 설치되어 있습니다.
  2. 데이터 소스로 MySQL 데이터베이스 구성:
    1. AEM 웹 콘솔(https://localhost:4502/system/console/configMgr)으로 이동합니다 .
    2. Apache Sling 연결 풀링된 DataSource 구성을 찾습니다. 을 눌러 편집 모드에서 구성을 엽니다.
    3. 구성 대화 상자에서 다음 세부 정보를 지정합니다.
      • 데이터 소스 이름: 원하는 이름을 지정할 수 있습니다. 예를 들어 WeRetailMySQL을 지정합니다 .
      • DataSource 서비스 속성 이름 :DataSource 이름을 포함하는 서비스 속성의 이름을 지정합니다. 데이터 소스 인스턴스를 OSGi 서비스로 등록하는 동안 지정됩니다. 예: datasource.name .
      • JDBC 드라이버 클래스 :JDBC 드라이버의 Java 클래스 이름을 지정합니다. 데이터베이스의 경우 MySQL com.mysql.jdbc.Driver를 지정합니다 .
      • JDBC 연결 URI :데이터베이스의 연결 URL을 지정합니다. 포트 3306 및 스키마 웹 소매에서 실행되는 MySQL 데이터베이스의 경우 URL은 다음과 같습니다. jdbc:mysql://'server':3306/weretail?autoReconnect=true&useUnicode=true&characterEncoding=utf-8
      • 사용자 이름: 데이터베이스의 사용자 이름입니다. 데이터베이스와의 연결을 설정하려면 JDBC 드라이버를 활성화해야 합니다.
      • 암호: 데이터베이스의 암호입니다. 데이터베이스와의 연결을 설정하려면 JDBC 드라이버를 활성화해야 합니다.
      • 차입 시 테스트: 차입 시 테스트 옵션을 활성화합니다.
      • 반환 시 테스트: 반품시 테스트 옵션을 활성화합니다.
      • 유효성 검사 쿼리: 풀의 연결을 확인할 SQL SELECT 쿼리를 지정합니다. 쿼리는 하나 이상의 행을 반환해야 합니다. 예를 들어 고객 세부 정보에서 *를 선택합니다 .
      • 트랜잭션 격리 :값을 READ_ COMMITTED로 설정합니다 .
        다른 속성에 기본값 지정하고 저장을 탭합니다 .
        다음과 유사한 구성이 만들어집니다.

Step 2: Create form data model

AEM Forms 는 구성된 데이터 소스에서 양식 데이터 모델을 만들 수 있는 직관적인 사용자 인터페이스를 제공합니다. 양식 데이터 모델에서 여러 데이터 소스를 사용할 수 있습니다. 사용 사례를 위해 구성된 MySQL 데이터 소스를 사용합니다.
양식 데이터 모델을 만들려면 다음을 수행합니다.
  1. AEM 작성 인스턴스에서 Forms > 데이터 통합으로 이동합니다 .
  2. Tap Create > Form Data Model .
  3. 양식 데이터 모델 만들기 대화 상자에서 양식 데이터 모델의 이름을 지정합니다. 예를 들어 고객 배송 청구 세부 정보 . 다음을 누릅니다 .
  4. 데이터 소스 선택 화면에는 구성된 모든 데이터 소스가 나열됩니다. WeRetail MySQL 데이터 소스를 선택하고 만들기를 누릅니다 .
고객 배송 청구 세부 정보 양식 데이터 모델이 생성됩니다.

3단계:양식 데이터 모델 구성

양식 데이터 모델 구성에는 다음이 포함됩니다.
  • 데이터 모델 개체 및 서비스 추가
  • 데이터 모델 개체에 대한 읽기 및 쓰기 서비스 구성
양식 데이터 모델을 구성하려면 다음을 수행합니다.
  1. AEM 작성자 인스턴스의 경우 Forms > 데이터 통합으로 이동합니다 . 기본 URL은 https://localhost:4502/aem/forms.html/content/dam/formsanddocuments-fdm 입니다 .
  2. 이전에 만든 고객 발송 청구 세부 정보 양식 데이터 모델은 여기에 나와 있습니다. 편집 모드에서 엽니다.
    선택한 데이터 원본 WeRetailMySQL이 양식 데이터 모델에서 구성됩니다.
  3. WeRailMySQL 데이터 소스 트리를 확장합니다. 웹 소매 > 고객 세부 정보 스키마에서 데이터 모델을 형성할 데이터 모델 개체 및 서비스를 선택합니다.
    • 데이터 모델 개체 :
      • id
      • 이름
      • shippingAddress
      • 도시
      • 상태
      • 우편 번호
    • 서비스:
      • get
      • 업데이트
    선택한 데이터 모델 개체 및 서비스를 양식 데이터 모델에 추가하려면 선택 항목 추가를 누릅니다.
    JDBC 데이터 소스에 대한 기본 get, update 및 insert 서비스는 양식 데이터 모델과 함께 즉시 제공됩니다.
  4. 데이터 모델 개체에 대한 읽기 및 쓰기 서비스를 구성합니다.
    1. 사용자 지정 세부 데이터 모델 개체를 선택하고 속성 편집을 누릅니다 .
    2. 서비스 읽기 드롭다운에서 가져오기를 선택합니다. customerdetails 데이터 모델 개체의 기본 키인 id 인수가 자동으로 추가됩니다. aem_ 을 누르고 다음과 같이 인수를 구성합니다.
    3. 마찬가지로 쓰기 서비스로 업데이트를 선택합니다. customerdetails 개체는 인수로 자동으로 추가됩니다. 인수는 다음과 같이 구성됩니다.
      다음과 같이 id 인수를 추가하고 구성합니다.
    4. 완료를 눌러 데이터 모델 개체 속성을 저장합니다. 그런 다음 저장을 눌러 양식 데이터 모델을 저장합니다.
      get and update ​services는 데이터 모델 개체에 대한 기본 서비스로 추가됩니다.
  5. 서비스 탭으로 이동하여 서비스 가져오고업데이트합니다.
    1. 서비스 가져오기를 선택하고 속성 편집을 누릅니다 . 속성 대화 상자가 열립니다.
    2. 속성 편집 대화 상자에서 다음을 지정합니다.
      • 제목 :서비스의 제목을 지정합니다. 예:배송 주소 검색을 참조하십시오.
      • 설명 :서비스의 세부 기능이 포함된 설명을 지정합니다. 예:
        이 서비스는 MySQL 데이터베이스에서 배송 주소와 기타 고객 세부 사항을 검색합니다.
      • 출력 모델 개체 :고객 데이터가 포함된 스키마를 선택하십시오. 예:
        사용자 정의 세부 스키마
      • 반환 배열 :Return array 옵션을 비활성화합니다.
      • 인수 :ID라는 인수 를 선택합니다 .
      Done ​을 누릅니다. MySQL 데이터베이스에서 고객 세부 사항을 검색하는 서비스가 구성되어 있습니다.
    3. 업데이트 서비스를 선택하고 속성 편집을 누릅니다 . 속성 대화 상자가 열립니다.
    4. 속성 편집 대화 상자에서 다음을 지정합니다.
      • 제목 :서비스의 제목을 지정합니다. 예: 배송 주소 업데이트.
      • 설명 :서비스의 세부 기능이 포함된 설명을 지정합니다. 예:
        이 서비스는 MySQL 데이터베이스의 배송 주소 및 관련 필드를 업데이트합니다.
      • 입력 모델 개체 :고객 데이터가 포함된 스키마를 선택하십시오. 예:
        사용자 정의 세부 스키마
      • 출력 유형 :BOOLEAN을 선택합니다 .
      • 인수 :ID 와 사용자 지정 세부 사항이라는 인수를 선택합니다 .
      Done ​을 누릅니다. 데이터베이스의 고객 세부 사항을 업데이트하기 위한 업데이트 서비스가 MySQL 구성됩니다.
양식 데이터 모델의 데이터 모델 개체 및 서비스가 구성됩니다. 이제 양식 데이터 모델을 테스트할 수 있습니다.

Step 4: Test form data model

데이터 모델 개체 및 서비스를 테스트하여 양식 데이터 모델이 제대로 구성되어 있는지 확인할 수 있습니다.
테스트를 실행하려면 다음을 수행합니다.
  1. 모델 탭으로 가서 사용자 지정 세부 데이터 모델 개체를 선택한 다음 모델 개체 ​테스트를 누릅니다.
  2. 모델 /서비스 테스트 창의 모델 선택 드롭다운에서 모델 개체 읽기를선택합니다.
  3. 사용자 지정 세부 정보 섹션에서 구성된 데이터베이스에 있는 id MySQL 인수 값을 지정하고 테스트를 ​누릅니다.
    지정된 ID와 연결된 고객 세부 사항을 가져와서 아래와 같이 출력 섹션에 표시됩니다.
  4. 마찬가지로 Write 모델 개체 및 서비스를 테스트할 수 있습니다.
    다음 예에서 업데이트 서비스는 데이터베이스의 ID 7102715에 대한 주소 세부 사항을 성공적으로 업데이트합니다.
    이제 ID 7107215에 대해 읽기 모델 서비스를 다시 테스트하면 아래와 같이 업데이트된 고객 세부 정보를 가져와 표시합니다.