Expand my Community achievements bar.

Dive into Adobe Summit 2024! Explore curated list of AEM sessions & labs, register, connect with experts, ask questions, engage, and share insights. Don't miss the excitement.

Classic UI dialogs are still required for Touch UI dialogs to be rendered in AEM6.1 SP1

Avatar

Level 3

As odd as it may look, for some reason you still need to create a classic UI dialog structure even if you choose to only provide Touch UI dialogs for your components. I know you must be thinking that you wish to put this to a test, so sure, go ahead and test, let me help with that too. Here's a very good tutorial to get you started with touch UI dialogs:  https://helpx.adobe.com/experience-manager/using/creating-touchui-component.html.   Once you've downloaded and installed the package you can test http://localhost:4502/editor.html/content/TouchUIPage0.html and get the following page:

Now take a look at the nodes installed by the package and you'll see that /apps/mywebsite2/components/herotext2/dialog node has been created in the repository, and you know this node provides the structure for a classic UI dialog. Should you remove this node, and please do for the sake of this test, you'll see that your touch UI dialog will stop showing, why? well, it looks look the "<cq:include />" tag we use to include components (or "data-sly-resource" in case of Sightly) some how looks for a node named "dialog" prior to rendering proper HTML for dialogs, even for Touch UI. I know you must be thinking that Touch UI dialogs are rendered on the server-side as opposed to classic which are rendered on the client-side, but the thing is that Touch UI dialogs still need to be "called" (via AJAX) from the client so the server can response with the <form> for the dialog, it is this initial HTML that will place the call back to the server that's not rendered (<cq data-config="{"path":"/content/touchui-dialog/...) when a node named "dialog" is not included in the component.

Bottom line: You must also create a "dialog" node for your touch dialogs to work even if you're not considering to create classic dialogs for your webapp.

AEM 6.2: AEM6.2 does not need a "dialog" node for touch UI dialogs to work!  WayToGo DevTeam! smiley

0 Replies