[MKTAUT-36] Support JsonPath in FormParser Created: 02/Oct/19  Updated: 25/Nov/19  Resolved: 11/Nov/19

Status: Closed
Project: Marketing Automation
Component/s: None
Affects Version/s: None
Fix Version/s: 1.0

Type: Story Priority: Neutral
Reporter: Ilgun Ilgun Assignee: Chuong Doan Huy
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: 0d
Time Spent: 5d 1h
Original Estimate: Not Specified

Attachments: File config.yaml    
Issue Links:
dependency
is depended upon by MKTAUT-41 DOC: how to map fields from external ... Closed
supersession
supersedes MKTAUT-37 Improve fields mapping mechanism of M... Closed
Template:
Acceptance criteria:
Empty
Task DoD:
[ ]* Doc/release notes changes? Comment present?
[ ]* Downstream builds green?
[ ]* Solution information and context easily available?
[ ]* Tests
[ ]* FixVersion filled and not yet released
[ ]  Architecture Decision Record (ADR)
Documentation update required:
Yes
Date of First Response:
Epic Link: Forms export
Sprint: Add-Ons 23, Add-Ons 24
Story Points: 8

 Description   

AC

  • Move the logic from Java to JsonPath
  • The parser should just merely read jsonPath configuration and parse
  • One parser in that case should be enough for all implementations


 Comments   
Comment by Chuong Doan Huy [ 12/Nov/19 ]

Hi jlegendre,

Here is a brief explanation about how to config fields mapping between providers (Marketo, Salesforce...) and our system.

------

fieldsMappingConfiguration: <--- required

  dataTypeField: <--- required, config which field store field type in JsonPath format, e.g "$.dataType" mean get field dataType.

  fieldsMapping: <--- required

    leftValue: rightValue <--- leftValue : data type returned from provider, rightValue: map to html field type, e.g "string: text" mean field type "string" from provider will represent as "text" field in browser. We can have as many as possible.

With complex html fields like select, checkboxes, which need extra value, label and defaultValue, we can config as below :

 

    select: <--- field type returned by provider

      name: <--- required, config html field type, e.g "select"

      value: <--- required, value for option property of select, checkbox, radio...configured in JsonPath format, e.g  $.fieldMetaData.values[*].value

      label:  <--- required, label for option property of select, checkbox, radio...configured in JsonPath format, e.g  $.fieldMetaData.values[*].label

      defaultValue: <--- required, config which property store default value, e.g "$.defaultValue"

------

Full working config file is also attached for reference. If you have any questions, feel free to ping me, thanks.

Comment by Julie Legendre [ 12/Nov/19 ]

Thank you very much Chuong, that's very helpful. :awesome:

Generated at Mon Feb 12 10:11:40 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.