AEM 6.4 Touch UI Customization of inbox items

manasid69383774

27-06-2019

We have a requirement to customize the list of items in the inbox. We have a business logic to identify / build the list of items.

When I tried to customize /libs/cq/workflow/components/inbox/list/json.jsp, I am able to see the data reflecting when called the URL explicitly http://localhost:4504/libs/cq/workflow/content/inbox/list.json .

Also, when I check on Custom UI i.e. http://localhost:4504/inbox the changes reflect for example logs.

However, these changes do not reflect on Touch UI i.e. http://localhost:4504/aem/inbox . Touch UI is still showing all the items assigned to the logged in user only. There is no log registered that was added to json.jsp.

Please guide on which file is fetching and rendering the inbox list for Touch UI. 

Accepted Solutions (1)

Accepted Solutions (1)

vijkumar

30-06-2019

The logic to fetch or create data for TouchUI inbox is not at the front end as in case of classicUI but at the Java side. below is the basic flow:

A request to '/aem/inbox' resolves to path '/libs/cq/inbox/content/inbox'

This renders data per [1] which creates the html page per [2]

At the same time [1] triggers a get request to fetch the data for the inbox page [3] which is handled by a servlet [4] and used by [2] to create the complete inbox page

Further on logic goes to [5] and [6] to fetch the data per the logic

[1] /libs/cq/inbox/content/inbox/jcr:content/views/list/datasource

[2] /libs/cq/inbox/gui/components/inbox/inboxitem/list/list.html

[3] cq/inbox/gui/components/inbox/datasource/itemsdatasource

[4] com.adobe.cq.inbox.impl.servlet.ItemsDataSourceServlet.java

[5] com.adobe.granite.workflow.core.WorkflowSessionImpl.java

[6] com.adobe.granite.workflow.core.jcr.WorkItemManager.java