Show Menu
화제×

AEM 워크플로우를 사용하여 적응형 양식과 데이터베이스 통합

자동화된 양식 변환 서비스를 사용하면 비대화형 PDF 양식, Acro Form 또는 XFA 기반 PDF 양식을 적응형 양식으로 변환할 수 있습니다. 변환 프로세스를 시작하는 동안 데이터 바인딩을 사용하거나 사용하지 않고 적응형 양식을 생성할 수 있습니다.
데이터 바인딩 없이 적응형 양식을 생성하도록 선택하는 경우 변환 후 변환된 적응형 양식을 양식 데이터 모델, XML 스키마 또는 JSON 스키마와 통합할 수 있습니다. 양식 데이터 모델의 경우 적응형 양식 필드를 양식 데이터 모델과 수동으로 바인딩해야 합니다. 그러나 데이터 바인딩으로 응용 양식을 생성하는 경우 전환 서비스는 적응형 양식을 JSON 스키마와 자동으로 연결하고 적응형 양식과 JSON 스키마로 사용할 수 있는 필드 간에 데이터 바인딩을 만듭니다. 그런 다음 적응형 양식을 원하는 데이터베이스와 통합하고, 양식의 데이터를 채우고, 데이터베이스에 제출할 수 있습니다. 마찬가지로, 데이터베이스와 성공적으로 통합한 후 변환된 적응형 양식의 필드를 구성하여 데이터베이스에서 값을 검색하고 적응형 양식 필드를 미리 채울 수 있습니다.
다음 그림은 변환된 응용 양식을 데이터베이스와 통합하는 여러 단계를 설명합니다.
이 문서에서는 이러한 모든 통합 단계를 성공적으로 실행하기 위한 단계별 지침을 설명합니다.

전제 조건

  • AEM 6.4 또는 6.5 작성자 인스턴스 설정
  • AEM 인스턴스용 최신 서비스 팩 설치
  • 최신 버전의 AEM Forms 추가 기능 패키지
  • 데이터베이스를 설정합니다. 샘플 구현에서 사용되는 데이터베이스는 MySQL 5.6.24입니다.그러나 변환된 적응형 양식을 원하는 데이터베이스와 통합할 수 있습니다.

샘플 적응형 양식

변환된 적응형 양식을 AEM 작업 과정을 사용하여 데이터베이스와 통합하는 사용 사례를 실행하려면 다음 샘플 PDF 파일을 다운로드하십시오.
다음을 사용하여 문의 양식 샘플을 다운로드할 수 있습니다.
PDF 파일은 자동화된 양식 변환 서비스에 대한 입력으로 사용됩니다. 서비스는 이 파일을 응용 형식으로 변환합니다. 다음 이미지는 샘플 연락처 양식을 PDF 형식으로 보여 줍니다.

mysql-connector-java-5.1.39-bin.jar 파일 설치

모든 작성자 및 게시 인스턴스에 대해 다음 단계를 수행하여 mysql-connector-java-5.1.39-bin.jar 파일을 설치합니다.
  1. com.mysql.jdbc 패키지로 이동하여 http://server:port/system/console/depfinder 검색합니다.
  2. 내보내기 기준 열에서 패키지가 번들에 의해 내보내졌는지 확인합니다. 패키지를 번들에 의해 내보내지 않은 경우 계속 진행합니다.
  3. 탐색하여 http://server:port/system/console/bundles 클릭합니다 Install/Update .
  4. 을 클릭하고 Choose File 탐색하여 mysql-connector-java-5.1.39-bin.jar 파일을 선택합니다. 확인란을 Start Bundle 선택하고 Refresh Packages 선택합니다.
  5. 또는 Install Update ​클릭합니다. 완료되면 서버를 다시 시작합니다.
  6. (Windows 전용) 운영 체제의 시스템 방화벽을 해제합니다.

양식 모델에 대한 데이터 준비

AEM Forms 데이터 통합을 사용하여 서로 다른 데이터 소스를 구성하고 연결할 수 있습니다. 변환 프로세스를 사용하여 적응형 양식을 생성한 후 양식 데이터 모델, XSD 또는 JSON 스키마를 기반으로 양식 모델을 정의할 수 있습니다. 데이터베이스, Microsoft Dynamics 또는 다른 타사 서비스를 사용하여 양식 데이터 모델을 만들 수 있습니다.
이 자습서에서는 MySQL 데이터베이스를 소스로 사용하여 양식 데이터 모델을 만듭니다. 데이터베이스에 스키마를 만들고 적응형 형식으로 사용 가능한 필드를 기반으로 스키마에 동시성 테이블을 추가합니다.
다음 DDL 문을 사용하여 데이터베이스에 동시 테이블을 만들 수 있습니다.
CREATE TABLE `contactus` (
   `name` varchar(45) NOT NULL,
   `email` varchar(45) NOT NULL,
   `phonenumber` varchar(10) DEFAULT NULL,
   `issuedesc` varchar(1000) DEFAULT NULL,
   PRIMARY KEY (`email`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8

AEM 인스턴스와 데이터베이스 간의 연결 구성

AEM 인스턴스와 MYSQL 데이터베이스 간의 연결을 만들려면 다음 구성 단계를 수행하십시오.
  1. 의 AEM 웹 콘솔 구성 페이지로 http://server:port/system/console/configMgr 이동합니다.
  2. 찾기 및 클릭하여 웹 콘솔 구성에서 편집 Apache Sling Connection Pooled DataSource 모드로 엽니다. 다음 표에 설명된 대로 속성 값을 지정합니다.
    속성
    데이터 소스 이름
    데이터 소스 풀에서 드라이버를 필터링하기 위한 데이터 소스 이름입니다.
    JDBC 드라이버 클래스
    com.mysql.jdbc.Driver
    JDBC 연결 URI
    jdbc:mysql://[host]:[port]/[schema_name]
    사용자 이름
    데이터베이스 테이블에서 인증 및 작업을 수행할 사용자 이름
    암호
    사용자 이름과 연결된 암호
    트랜잭션 격리
    READ_COMMITTED
    최대 활성 연결
    1000
    최대 유휴 연결
    100
    최소 유휴 연결
    10
    초기 크기
    10
    최대 대기 시간
    100000
    대여시 테스트
    선택됨
    유휴 상태 테스트
    선택됨
    유효성 검사 쿼리
    예 값은 SELECT 1(mysql), dual(oracle), SELECT 1(MS Sql Server)(validationQuery)입니다.
    유효성 검사 쿼리 시간 초과
    10000

Create form data model

MYSQL을 데이터 소스로 구성한 후에는 다음 단계를 수행하여 양식 데이터 모델을 만듭니다.
  1. AEM 작성자 인스턴스에서 Forms >으로 이동합니다 Data Integrations .
  2. 탭하기 Create > Form Data Model .
  3. 마법사에서 Create Form Data Model workflow_submit ​를 양식 데이터 모델의 이름으로 지정합니다. 탭하기 Next .
  4. 이전 섹션에서 구성한 MYSQL 데이터 소스를 선택하고 을 Create ​누릅니다.
  5. 왼쪽 창에 나열된 데이터 소스를 Edit 탭하여 확장하여 동시 표 , get ​서비스를 선택한 다음 insert 을 탭합니다 Add Selected .
  6. 오른쪽 창에서 데이터 모델 개체를 선택하고 을 Edit Properties ​누릅니다. 및 get 드롭다운 insert 목록에서 Read Service Write Service 을 선택합니다. 읽기 서비스의 인수를 지정하고 Done ​탭합니다.
  7. 탭에서 Services 서비스를 선택하고 을 get Edit Properties ​누릅니다. 토글을 Output Model Object ​선택하고 Return array 비활성화한 다음 을 탭합니다 Done .
  8. 서비스를 Insert 선택하고 을 누릅니다 Edit Properties . 을 Input Model Object 선택하고 을 누릅니다 Done .
  9. 양식 데이터 모델을 Save 저장하려면 을 누릅니다.
다음을 사용하여 샘플 양식 데이터 모델을 다운로드할 수 있습니다.

JSON 바인딩을 사용하여 적응형 양식 생성

자동 양식 변환 서비스를 사용하여 연락처 양식을 데이터 바인딩이 있는 적응형 양식으로 변환할수 있습니다. 적응형 양식을 생성하는 동안 Generate adaptive form(s) without data bindings 확인란을 선택하지 않아야 합니다.
폴더에서 사용할 수 있는 변환된 연락처 양식을 선택하고 output Forms & Documents Edit ​누릅니다. 적응형 양식 필드를 Preview ​누르고 값을 입력한 다음 탭합니다 Submit .
crx- repository에 로그온하고 /content/forms/fp/admin/submit/data 로 이동하여 제출된 값을 JSON 형식으로 봅니다. 변환된 Contact Us 적응형 양식을 제출할 때 JSON 형식의 샘플 데이터는 다음과 같습니다.
{
  "afData": {
    "afUnboundData": {
      "data": {}
    },
    "afBoundData": {
      "data": {
        "name1": "Gloria",
        "email": "abc@xyz.com",
        "phone_number": "2346578965",
        "issue_description": "Test message"
      }
    },
    "afSubmissionInfo": {
      "computedMetaInfo": {},
      "stateOverrides": {},
      "signers": {},
      "afPath": "/content/dam/formsanddocuments/docs_conversion/output/sample_form_json",
      "afSubmissionTime": "20191204014007"
    }
  }
}

이 데이터를 처리하고 이전 섹션에서 만든 양식 데이터 모델을 사용하여 MYSQL 데이터베이스에 제출할 수 있는 워크플로우 모델을 만들어야 합니다.

JSON 데이터를 처리하는 워크플로우 모델 만들기

다음 단계를 수행하여 응용 양식 데이터를 데이터베이스에 제출하는 워크플로우 모델을 생성합니다.
  1. 워크플로우 모델 콘솔을 엽니다. 기본 URL은 https://server:port/libs/cq/workflow/admin/console/content/models.html/etc/workflow/models 입니다.
  2. Create ​선택한 다음 Create Model ​선택합니다. 대화 상자가 Add Workflow Model 나타납니다.
  3. Title Name 입력합니다(선택 사항). 예: workflow_json_submit . 을 Done 눌러 모델을 생성합니다.
  4. 워크플로우 모델을 선택하고 을 눌러 편집 모드에서 모델을 Edit 엽니다. +를 누르고 워크플로우 모델에 Invoke Form Data Model Service 단계를 추가합니다.
  5. 단계를 Invoke Form Data Model Service 누르고 구성을 .
  6. 탭에서 Form Data Model 필드에 만든 양식 데이터 모델을 선택하고 Form Data Model path 드롭다운 목록에서 insert Service 선택합니다.
  7. Input for Service 탭에서 드롭다운 목록에서 Provide input data using literal, variable, or a workflow metadata, and a JSON file 선택한 다음 Map input fields from input JSON 확인란을 선택하고 Relative to payload ​선택한 다음 data.xml Select input JSON document using 필드의 값으로 제공합니다.
  8. 섹션에서 양식 데이터 모델 인수에 대해 다음 값을 Service Arguments 제공합니다.
    양식 데이터 모델 필드(예: contactus 점 이름)는 aafData.afBoundData.data.name1 (제출된 적응형 양식의 JSON 스키마 바인딩)에 매핑됩니다.

적응형 양식 제출 구성

다음 단계를 실행하여 이전 섹션에서 만든 워크플로우 모델에 적응형 양식을 제출합니다.
  1. 에서 output 폴더에서 사용할 수 있는 변환된 연락처 양식을 Forms & Documents 선택하고 을 Edit ​누릅니다.
  2. #을 탭한 Form Container 다음 탭하여 적응형 양식 속성을 .
  3. Submission 섹션의 드롭다운 목록에서 Invoke an AEM workflow 선택한 Submit Action 다음 이전 섹션에서 만든 워크플로우 모델을 선택하고 필드에 data.xml Data File Path 을 지정합니다.
  4. 저장을 속성을 저장합니다.
  5. 적응형 양식 필드를 Preview ​누르고 값을 입력한 다음 탭합니다 Submit . 이제 제출된 값이 crx- repository ​대신 MYSQL 데이터베이스 테이블에 표시됩니다.

데이터베이스에서 값을 미리 채우도록 적응형 양식 구성

다음 단계를 수행하여 테이블에 정의된 기본 키를 기반으로 MYSQL 데이터베이스에서 값을 미리 채우도록 적응형 양식을 구성합니다(이 경우 이메일).
  1. 적응형 양식의 이메일 필드를 누르고 규칙 .
  2. 섹션의 Create 드롭다운 목록에서 is changed 을 탭하고 선택합니다 Select State When .
  3. 섹션에서 이 Then 문서의 이전 섹션에서 만든 양식 데이터 모델의 서비스로 Invoke Service 선택하고 가져옵니다 .
  4. 양식 데이터 모델의 섹션 및 필드 세 개, 이름, Input 전화번호 , Rest ​전화 번호, RestTelephone 설명 섹션 내에서 전자 메일을 Output 선택합니다. 을 Done 눌러 설정을 저장합니다.
    따라서 MYSQL 데이터베이스의 기존 전자 메일 항목을 기반으로 응용 양식 Preview 모드에서 나머지 세 필드의 값을 미리 채울 수 있습니다. 예를 들어, 전자 메일 필드(이 문서의 양식 준비 데이터 모델 섹션의 기존 데이터를 기반으로 함)에 aya.tan@xyz.com을 지정하고 필드 밖으로 탭하면 나머지 부분, 이름, 전화 번호 , 응용 프로그램 번호, 전화 번호 및 발행물 설명 양식이 자동으로 표시됩니다.
다음을 사용하여 변환된 적응형 양식 샘플을 다운로드할 수 있습니다.