AEM 6.4 Touch UI Customization of inbox items | Community
Skip to main content
manasid69383774
June 27, 2019
Solved

AEM 6.4 Touch UI Customization of inbox items

  • June 27, 2019
  • 3 replies
  • 4191 views

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. 

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 vijkumar

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

3 replies

Adobe Employee
June 27, 2019

/libs/cq/inbox/content/inbox

is a good starting point for touch UI customizations

manasi0411
July 22, 2020

@sssfaffaaa, @manasid69383774

I am also having same business requirement and getting my custom item list in http://localhost:4502/libs/cq/workflow/content/inbox/list.json

Can I extend / implement com.adobe.cq.inbox.ui.InboxItem to use my custom file for rendering?

If so, how? Also, how can I get which class is implementing this InboxItem interface that is being used in list.html. 

vijkumar
Adobe Employee
vijkumarAdobe EmployeeAccepted solution
Adobe Employee
June 30, 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

manasid69383774
July 1, 2019

Thanks @vijkumar for your response.

As these files can't be customized, I will reach out to business and seek a different solution.