'touchUiDialogPath' property invalid or missing on /etc/workflow/dialogs/DateTimePicker | Community
Skip to main content
chintan97
June 5, 2020
Solved

'touchUiDialogPath' property invalid or missing on /etc/workflow/dialogs/DateTimePicker

  • June 5, 2020
  • 1 reply
  • 5742 views

I am trying to set dialog in dynamic participant step. I assigned participant dynamically and chose dialog path but it is giving me this error when I try to complete action assigned.

 

I followed steps of 'DIALOG PARTICIPANT STEP - TOUCH-OPTIMIZED UI' from https://helpx.adobe.com/ca/experience-manager/6-3/sites/developing/using/workflows-step-ref.html#ParticipantStepsandChoosers but still getting this error. The structure of the dialog looks like this. 

 

The path to dialog I am providing is '/etc/workflow/dialogs/DateTimePicker'. As per the error, I assume that I need to have touchUiDialogPath somewhere in the new DateTimePicker component. If yes, where should I add and what should be the value for the touchUiDialogPath? I want to provide datepicker from granite/ui/components/coral/foundation/form/datepicker. If I directly add 'granite/ui/components/coral/foundation/form/datepicker' path in dialog path of the dynamic participant step, I see same error.

 

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by Vijayalakshmi_S

Hi @chintan97,

We should locate the cq:dialog node to the dialog path property. In this case, add "/etc/workflow/dialogs/DateTimePicker/cq:dialog" which should help solve the issue. 

Regarding other related queries,

  • In order to have a segregation of code from OOB paths (/libs, /etc) , we can create within /apps
    • Something like "/apps/your project/workflow/dialogs/any meaningful name/cq:dialog"
  • OOB Datepicker:
    • OOB datepicker resource (/libs/granite/ui/components/coral/foundation/form/datepicker) holds the logic responsible for rendering date picker. In particular it has <coral-datepicker> to render the picker widget and its related attributes.
    • It will not have dialog. Instead, it is used for creating and hence rendering dialog fields

1 reply

Vijayalakshmi_S
Vijayalakshmi_SAccepted solution
June 6, 2020

Hi @chintan97,

We should locate the cq:dialog node to the dialog path property. In this case, add "/etc/workflow/dialogs/DateTimePicker/cq:dialog" which should help solve the issue. 

Regarding other related queries,

  • In order to have a segregation of code from OOB paths (/libs, /etc) , we can create within /apps
    • Something like "/apps/your project/workflow/dialogs/any meaningful name/cq:dialog"
  • OOB Datepicker:
    • OOB datepicker resource (/libs/granite/ui/components/coral/foundation/form/datepicker) holds the logic responsible for rendering date picker. In particular it has <coral-datepicker> to render the picker widget and its related attributes.
    • It will not have dialog. Instead, it is used for creating and hence rendering dialog fields
chintan97
chintan97Author
June 8, 2020

Thanks @vijayalakshmi_s , The datepicker is being shown now to the assignee. However, can you please mention where the data for that datepicker is saved. I tried following https://helpx.adobe.com/ca/experience-manager/6-3/sites/developing/using/workflows-step-ref.html#ParticipantStepsandChoosers and added name as './datetimepicker'. But I don't see any data associated with the datepicker for the instance under /var/workflow/instances. I do see other data for the instance like assignee, model, comment and all. The code for cq:dialog is as below. Also, the datepicker goes away as soon as I select date or click somewhere else. I assume it is because the data is not being saved anywhere.

<?xml version="1.0" encoding="UTF-8"?>
<jcr:root
jcr:primaryType="nt:unstructured"
jcr:title="Date Time Picker Component Component"
sling:resourceType="cq/gui/components/authoring/dialog">

<content jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/foundation/container">
<layout jcr:primaryType="nt:unstructured"
margin="false"
sling:resourceType="granite/ui/components/foundation/layouts/fixedcolumns"
/>
<items jcr:primaryType="nt:unstructured">
<column jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/foundation/container">
<items jcr:primaryType="nt:unstructured">
<date jcr:primaryType="nt:unstructured"
fieldLabel="Date Time Picker"
name="datetimepicker"
sling:resourceType="granite/ui/components/coral/foundation/form/datepicker"
/>
</items>
</column>
</items>
</content>

</jcr:root>