Expand my Community achievements bar.

Migrate existing forms from Third Party form platform to AEM forms.

Avatar

Level 6

I've a number of forms in a third party form platform, which I would like to migrate to AEM Forms. I can get the JSON structure of the form from the third party service.
How can I programmatically create forms in AEM form based on this JSON?

8 Replies

Avatar

Employee

@jezwn If you've created a JSON according to the following specification, please note that we haven't exposed a public API to create an adaptive form inside AEM using this JSON. We can collaborate to develop this API based on your requirements. Could you please open a GitHub issue for this? We can then work together to develop an API that meets your use case.

Avatar

Level 6

Thanks @rismehta
 What I've done so far is converted the form data exposed by the third party in JSON format, to JSON schema, which I then uploaded to AEM DAM and created an Adaptive Form based on that. Noting that all this activity was done manual from converting the JSON to JSON schema, uploading to DAM and creating a form.
I'm yet to check on creating an Adaptive Form based on JSON schema programmatically. Is that possible? I think you addressed this in your previous response.
How I was envisioning this was,
- Create the JSON schema from form JSON programmatically
- Upload the schema to DAM using AEM APIs
- Create the adaptive form programmatically using the JSON schema as form model

Is the above feasible?

I believe I could create the form nodes programmatically with Java as a second option. Is that advisable?
Additionally I would like to explore alternate options for this migration. How can I effectively migrate forms from a third party service to AEM Forms? What does Adobe offers for that? 
Also, when it comes to logic sections for form fields being migrated from third party to AEM Forms, how do we effectively handle that? 

I would like to get your thoughts on these.
Thank you!

Avatar

Employee

- Create the adaptive form programmatically using the JSON schema as form model

 

Do you need to generate a JSON schema? Do you have a backend system that follows this schema when processing form submissions? If not, we could directly generate headless form JSON as outlined in this specification. Subsequently, we could expose a public JAVA API to create an adaptive form within AEM using this headless form JSON.

 

> Also, when it comes to logic sections for form fields being migrated from third party to AEM Forms, how do we effectively handle that? 

Arranging form fields into groups pertains to layout design, a task typically carried out by practitioners using the authoring UI.

However, in this case, as a developer if you possess the layout specifics, you could incorporate this layout-related information directly into the headless form JSON. This implies that practitioners wouldn't need to utilize the authoring UI for layout-related tasks, as the headless form JSON automatically incorporates the layout specifics when creating the form.

Avatar

Level 6

@rismehta Thanks for that. I do not have any specific requirements to create a JSON schema. My plan was to generate the schema for the purpose of creating forms and setup backend to handle submissions. And from what I understood from you, APIs are currently not available to create adaptive forms.

One question still remains:
Additionally I would like to explore alternate options for this migration. How can I effectively migrate forms from a third party service to AEM Forms? What does Adobe offers for that? 

How does current migrations happen to AEM forms form other services? Is it manual authoring? And what is the feasibility of doing the below:
- Upload the schema to DAM using AEM APIs
- Create the adaptive form programmatically using the JSON schema as form model

Avatar

Level 6

And one thing I'm not clear from the documentation of JSON schema is the handling of radio buttons and dropdown lists. The below schema creates a dropdown list instead of radio button. Any thoughts on what am I missing here?

 

 

"purpose_of_current_charitable_funding_request": {
"type": "string",
"title": "Sample Title:",
"description": "",
"fieldType": "radio-group",
"enum": [
"New Project",
"Existing Project"
],
"enumNames": [
"New Project",
"Existing Project"
],
"label": {
"value": "Sample Value:"
}
}

 

Avatar

Employee

How did you render this JSON? Could you share the UI layer that took this JSON as input?

Avatar

Employee

Additionally I would like to explore alternate options for this migration. How can I effectively migrate forms from a third party service to AEM Forms? What does Adobe offers for that? 

 

We have developed a migration tool which is part of early adopter, that can generate headless form JSON from an external (DIY) form. Basically, input to the tool is HTML and the output is headless form JSON. This JSON can then be used with the JAVA API to create a form inside AEM. I see that you have created a GitHub issue. I will share the details on how to use this tool in that issue.

 

How does current migrations happen to AEM forms form other services? 

Most customers possess a data schema, such as XSD or JSON, which they utilize to create adaptive forms.

Avatar

Administrator

@jezwn Did you find the suggestion helpful? Please let us know if you require more information. Otherwise, please mark the answer as correct for posterity. If you've discovered a solution yourself, we would appreciate it if you could share it with the community. Thank you!



Kautuk Sahni