적응형 양식을 위한 권장 데이터 소스 기반 미리 채우기 및 제출 워크플로우 recommended-data-source-btased-prefill-and-submit-workflows-for-adaptive-forms
AFCS(Automated forms conversion 서비스)를 사용하여 변환된 적응형 양식에 다음 데이터 소스를 사용할 수 있습니다.
- 양식 데이터 모델, OData 또는 기타 타사 서비스
- JSON 스키마
- XSD 스키마
데이터 소스를 기반으로 데이터 모델이 있거나 없는 적응형 양식을 생성하도록 선택할 수 있습니다.
이 문서에서는 데이터 소스를 선택하고 전환 서비스를 사용하여 적응형 양식을 생성한 후 필드 값과 제출 옵션을 미리 채우는 권장 워크플로우에 대해 설명합니다.
AFCS(Automated forms conversion 서비스)에 대한 자세한 내용은 다음 문서를 참조하십시오.
이 글에서 제공하는 정보는 이를 읽는 누구나 적응형 양식 개념에 대한 기본 지식을 가지고 있다는 가정을 기반으로 한다.
전제 조건 pre-requisites
- AEM 작성자 인스턴스 구성
- AEM 작성자 인스턴스에서 AFCS(Automated forms conversion 서비스) 구성
샘플 적응형 양식 sample-adaptive-form
사용 사례를 실행하여 적응형 양식의 필드 값을 미리 채워 데이터 소스에 제출하려면 다음 샘플 PDF 파일을 다운로드하십시오.
샘플 대출 신청서 양식
PDF 파일은 Automated forms conversion 서비스(AFCS)에 대한 입력 역할을 합니다. 이 서비스는 이 파일을 적응형 양식으로 전환합니다. 다음 이미지는 PDF 형식의 샘플 대출 신청을 보여 줍니다.
양식 모델을 위한 데이터 준비 prepare-data-for-form-model
AEM Forms 데이터 통합을 사용하면 서로 다른 데이터 소스를 구성하고 연결할 수 있습니다. 전환 프로세스를 사용하여 적응형 양식을 생성한 후 양식 데이터 모델, XSD 또는 JSON 스키마를 기반으로 양식 모델을 정의할 수 있습니다. 데이터베이스, Microsoft Dynamics 또는 기타 서드파티 서비스를 사용하여 양식 데이터 모델을 만들 수 있습니다.
이 자습서에서는 MySQL 데이터베이스를 소스로 사용하여 양식 데이터 모델을 만듭니다. 데이터베이스에 loanapplication 스키마를 만들고 적응형 양식에서 사용할 수 있는 필드를 기반으로 스키마에 applant 테이블을 추가하십시오.
다음 DDL 문을 사용하여 데이터베이스에서 plentor 테이블을 만들 수 있습니다.
CREATE TABLE `applicant` (
`name` varchar(45) DEFAULT NULL,
`address` varchar(45) DEFAULT NULL,
`phonenumber` int(11) NOT NULL,
`email` varchar(45) DEFAULT NULL,
`occupation` varchar(45) DEFAULT NULL,
`annualsalary` varchar(45) DEFAULT NULL,
`familymembers` int(11) DEFAULT NULL,
PRIMARY KEY (`phonenumber`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
XSD 스키마를 양식 모델로 사용하여 사용 사례를 실행하는 경우 다음 텍스트가 포함된 XSD 파일을 생성합니다.
<?xml version="1.0" encoding="utf-8" ?>
<xs:schema targetNamespace="http://adobe.com/sample.xsd"
xmlns="http://adobe.com/sample.xsd"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="sample" type="SampleType"/>
<xs:complexType name="SampleType">
<xs:sequence>
<xs:element name="name" type="xs:string"/>
<xs:element name="address" type="xs:string"/>
<xs:element name="phonenumber" type="xs:int"/>
<xs:element name="email" type="xs:string"/>
<xs:element name="occupation" type="xs:string"/>
<xs:element name="annualsalary" type="xs:string"/>
<xs:element name="familymembers" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
또는 XSD 스키마를 로컬 파일 시스템에 다운로드합니다.
샘플 대출 애플리케이션 XSD 스키마
적응형 양식에서 XSD 스키마를 양식 모델로 사용하는 방법에 대한 자세한 내용은 XML 스키마를 사용하여 적응형 양식 만들기를 참조하십시오.
양식 모델로 JSON 스키마를 사용하여 사용 사례를 실행하는 경우 다음 텍스트가 포함된 JSON 파일을 만듭니다.
{
"$schema": "http://json-schema.org/draft-04/schema#",
"definitions": {
"loanapplication": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"address": {
"type": "string"
},
"phonenumber": {
"type": "number"
},
"email": {
"type": "string"
},
"occupation": {
"type": "string"
},
"annualsalary": {
"type": "string"
},
"familymembers": {
"type": "number"
}
}
}
},
"type": "object",
"properties": {
"employee": {
"$ref": "#/definitions/loanapplication"
}
}
}
또는 로컬 파일 시스템에 JSON 스키마를 다운로드합니다.
샘플 대출 애플리케이션 JSON 스키마
적응형 양식에서 JSON 스키마를 양식 모델로 사용하는 방법에 대한 자세한 내용은 JSON 스키마를 사용하여 적응형 양식 만들기를 참조하십시오.
데이터 바인딩 없이 적응형 양식 생성 generate-adaptive-forms-with-no-data-binding
🔗Automated forms conversion 서비스를 사용하여 샘플 대출 응용 프로그램 양식을(를) 데이터 바인딩이 없는 적응형 양식으로 변환할 수 있습니다. 데이터 바인딩 없이 적응형 양식을 생성하려면 Generate adaptive form(s) without data bindings 확인란을 선택해야 합니다.
데이터 바인딩이 없는 적응형 양식을 생성한 후 적응형 양식에 대한 데이터 소스를 선택합니다.
데이터베이스, OData 또는 서드파티 서비스를 데이터 소스로 사용 sqldatasource
사용 사례: Automated forms conversion 서비스(AFCS)를 사용하여 데이터 바인딩 없이 적응형 양식을 생성하고 MYSQL 데이터베이스를 데이터 소스로 구성합니다. 적응형 양식 필드를 양식 데이터 모델 엔터티에 수동으로 바인딩하고 Form Data Model Prefill Service 옵션을 사용하여 필드 값을 미리 채웁니다. Submit using Form Data Model 옵션을 사용하여 적응형 양식을 제출합니다.
사용 사례를 실행하기 전에:
사용 사례에 따라 loanapplication 양식 데이터 모델을 만들고 읽기 서비스 인수를 Literal 값에 바인딩합니다. 전화 번호 리터럴 값은 MySQL 데이터베이스의 appeline 스키마에 구성된 레코드 중 하나여야 합니다. 서비스는 값을 인수로 사용하여 데이터 소스에서 세부 정보를 가져옵니다. Binding To 드롭다운 목록에서 사용자 프로필 속성 또는 요청 속성을 선택할 수도 있습니다
다음 단계를 실행합니다.
-
output 폴더에서 사용 가능한 전환된 샘플 대출 신청 양식 을 선택하고 Properties 을(를) 누릅니다.
-
Form Model 탭을 탭하고 Select From 드롭다운 목록에서 Form Data Model 을(를) 선택한 다음 Select Form Data Model 을(를) 탭하여 loanapplication 양식 데이터 모델을 선택합니다. 양식을 저장하려면 Save & Close 을(를) 탭하세요.
-
샘플 대출 신청서 양식 을 선택하고 Edit 을(를) 탭하세요.
-
Content 탭에서 구성 아이콘을 탭합니다.
-
Basic 섹션의 Prefill Service 드롭다운 목록에서 Form Data Model Prefill service 을(를) 선택합니다.
-
Submission 섹션의 Submit Action 드롭다운 목록에서 Submit using Form Data Model 을(를) 선택합니다.
-
Data Model to submit 필드를 사용하여 데이터 모델을 선택하십시오.
-
속성을 저장하려면
-
-
지원자 이름 텍스트 상자를 누르고
- 바인드 참조 필드에서 지원자 > 이름 을 선택하고
- 바인드 참조 필드에서 지원자 > 이름 을 선택하고
-
미리 채워진 적응형 양식 필드 값을 보려면 Preview 을(를) 탭하세요.
-
필요한 경우 필드 값을 수정하고 적응형 양식을 제출합니다. 필드 값이 MySQL 데이터베이스에 제출됩니다. 데이터베이스의 신청자 테이블을 새로 고쳐 테이블에서 업데이트된 값을 볼 수 있습니다.
사용 사례: AFCS(Automated forms conversion 서비스)를 사용하여 데이터 바인딩이 없는 적응형 양식을 생성하고 MYSQL 데이터베이스를 데이터 소스로 구성합니다. 규칙 편집기를 사용하여 적응형 양식 필드를 바인딩하여 필드 값을 미리 채웁니다. 필요한 경우 필드 값을 수정하고 crx-repository에 데이터를 전송합니다.
다음 단계를 실행하여 규칙 편집기를 사용하여 양식 데이터 모델 서비스를 호출하여 적응형 양식의 필드를 바인딩하고 값을 미리 채우십시오.
-
output 폴더에서 샘플 대출 신청 양식 을 선택하고 Edit 을(를) 누릅니다.
-
Content 탭에서 구성 아이콘을 탭합니다.
Basic 섹션의 Prefill Service 드롭다운 목록에서 Form Data Model Prefill service 을(를) 선택합니다.
-
Applicant Name 텍스트 상자를 누르고 Edit Rules 을 누릅니다.
-
규칙 편집기 페이지에서 Create 을(를) 탭합니다.
-
Rule Editor 페이지에서:
-
지원자명 텍스트 상자의 상태를 선택합니다. 예를 들어 is initialized 이(가) Preview 모드에서 양식을 렌더링할 때 Then 조건이 실행됩니다.
-
Then 섹션의 Select Action 드롭다운 목록에서 Invoke Service 을(를) 선택합니다. Forms 인스턴스의 모든 서비스가 드롭다운 목록에 표시됩니다.
-
양식 데이터 모델을 나열하는 섹션에서 Get 서비스를 선택하십시오. 입력 필드에 지원자 데이터 모델에 대해 정의된 기본 키인 phonenumber 이(가) 표시됩니다. 시스템은 이 필드를 기반으로 출력 섹션의 필드에 대한 적응형 양식의 값을 검색하고 미리 채웁니다.
-
출력 섹션을 사용하여 양식 데이터 모델 엔티티와 함께 적응형 양식 필드에 대한 바인딩을 만듭니다. 예를 들어 Applicant Name 적응형 양식 필드를 name 엔터티로 바인딩하십시오.
-
Done 을 누릅니다. 규칙 편집기 페이지에서 Done 을(를) 다시 탭합니다.
-
-
미리 채워진 적응형 양식 필드 값을 보려면 Preview 을(를) 탭하세요.
note note NOTE 적응형 양식과 연결된 양식 데이터 모델에서 get 서비스 속성에 대해 Return Array 속성이 OFF로 설정되어 있는지 확인하십시오. -
필요한 경우 필드 값을 수정하고 적응형 양식을 제출합니다. 제출된 데이터는 crx 저장소의 다음 위치에서 사용할 수 있습니다.
http://host name:port/crx/de/index.jsp#/content/forms/fp/admin/submit/data/latest file available in the folder
JSON 스키마를 데이터 소스로 사용 jsondatasource
사용 사례: AFCS(Automated forms conversion 서비스)를 사용하여 데이터 바인딩이 없는 적응형 양식을 생성하고 JSON 스키마를 데이터 소스로 구성합니다. 적응형 양식 필드를 JSON 스키마에 수동으로 바인딩하고 데이터로 미리 보기 옵션을 사용하여 필드 값을 미리 채웁니다. 필요한 경우 필드 값을 수정하고 crx-repository에 데이터를 전송합니다.
사용 사례를 실행하기 전에 다음을 확인하십시오.
다음 단계를 실행합니다.
-
output 폴더에서 사용할 수 있는 변환된 샘플 대출 신청 양식 을 선택하고 Properties 을(를) 탭합니다.
-
Form Model 탭을 탭하고 Select From 드롭다운 목록에서 Schema 을(를) 선택한 다음 Select Schema 을(를) 탭하여 로컬 파일 시스템에 저장된 demo.schema JSON 스키마를 업로드합니다. 양식을 저장하려면 Save & Close 을(를) 탭하세요.
-
샘플 대출 신청서 양식 을 선택하고 Edit 을(를) 탭하세요.
-
지원자 이름 텍스트 상자를 누르고
바인드 참조 필드에서 지원자 > 이름 을 선택하고
-
output 폴더에서 사용 가능한 전환된 샘플 대출 신청 양식 을 다시 선택하고 Preview > Preview with Data 을(를) 선택합니다.
샘플 데이터 파일
다운로드 -
필요한 경우 필드 값을 수정하고 적응형 양식을 제출합니다. 제출된 데이터는 crx 저장소의 다음 위치에서 사용할 수 있습니다.
http://host name:port/crx/de/index.jsp#/content/forms/fp/admin/submit/data/latest file available in the folder
XSD 스키마를 데이터 소스로 사용 xsddatasource
사용 사례: AFCS(Automated forms conversion 서비스)를 사용하여 데이터 바인딩이 없는 적응형 양식을 생성하고 XSD 스키마를 데이터 소스로 구성합니다. 적응형 양식 필드를 XSD 스키마에 수동으로 바인딩하고 데이터로 미리 보기 를 사용하여 필드 값을 미리 채웁니다. 필요한 경우 필드 값을 수정하고 crx-repository에 데이터를 전송합니다.
사용 사례를 실행하기 전에 다음을 확인하십시오.
다음 단계를 실행합니다.
-
output 폴더에서 사용 가능한 전환된 샘플 대출 신청 양식 을 선택하고 Properties 을(를) 누릅니다.
-
Form Model 탭을 탭하고 Select From 드롭다운 목록에서 Schema 을(를) 선택한 다음 Select Schema 을(를) 탭하여 로컬 파일 시스템에 저장된 loanapplication XSD 스키마를 업로드합니다. XSD 스키마에 대한 루트 요소를 선택하고 Save & Close 을(를) 탭하여 양식을 저장합니다.
-
샘플 대출 신청서 양식 을 선택하고 Edit 을(를) 탭하세요.
-
지원자 이름 텍스트 상자를 누르고
바인드 참조 필드에서 지원자 > 이름 을 선택하고 -
output 폴더에서 사용할 수 있는 변환된 샘플 대출 신청 양식 을 다시 선택하고 Preview > Preview with Data 을(를) 선택합니다.
샘플 데이터 파일
다운로드 -
필요한 경우 필드 값을 수정하고 적응형 양식을 제출합니다. 제출된 데이터는 crx 저장소의 다음 위치에서 사용할 수 있습니다.
http://host name:port/crx/de/index.jsp#/content/forms/fp/admin/submit/data/latest file available in the folder
JSON 바인딩을 사용하여 적응형 양식 생성 generate-adaptive-forms-with-json-binding
🔗Automated forms conversion 서비스(AFCS)를 사용하여 샘플 대출 응용 프로그램 양식을(를) 데이터 바인딩이 있는 적응형 양식으로 변환합니다. 적응형 양식을 생성하는 동안 Generate adaptive form(s) without data bindings 확인란을 선택하지 마십시오.
JSON 스키마를 데이터 소스로 사용 jsonwithdatabinding
사용 사례: AFCS(Automated forms conversion 서비스)를 사용하여 JSON 데이터 바인딩이 있는 적응형 양식을 생성했습니다. 미리 채우기 서비스와 양식 제출이 원활하게 작동합니다. 구성 단계는 필요하지 않습니다.
사용 사례를 실행하기 전에 데이터 바인딩이 있는 적응형 양식이 있는지 확인하십시오.
다음 단계를 실행합니다.
-
output 폴더에서 사용 가능한 전환된 샘플 대출 신청 양식 을 다시 선택하고 Preview > Preview with Data 을(를) 선택합니다.
샘플 데이터 파일
다운로드 -
필요한 경우 필드 값을 수정하고 적응형 양식을 제출합니다. 제출된 데이터는 crx 저장소의 다음 위치에서 사용할 수 있습니다.
http://host name:port/crx/de/index.jsp#/content/forms/fp/admin/submit/data/latest file available in the folder
제출된 적응형 양식 JSON 데이터를 XML 형식으로 변환 convert-submitted-adaptive-form-data-to-xml
적응형 양식 필드에 값을 입력하고 제출하면 crx-repository에서 JSON 형식으로 데이터를 사용할 수 있습니다. org.apache.sling.commons.json.xml API 또는 다음 샘플 코드를 사용하여 JSON 데이터 형식을 XML로 변환할 수 있습니다.
import org.apache.sling.commons.json.JSONException;
import org.apache.sling.commons.json.JSONObject;
import org.apache.sling.commons.json.xml.XML;
public class ConversionUtils {
public static String jsonToXML(String jsonString) throws JSONException {
//https://sling.apache.org/apidocs/sling5/org/apache/sling/commons/json/xml/XML.html#toString(java.lang.Object)
//jar - http://maven.ibiblio.org/maven2/org/apache/sling/org.apache.sling.commons.json/2.0.18/
//Note: Need to extract boundData part before converting to XML
return XML.toString(new JSONObject(jsonString));
}
}