Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
BedrockMission!

Learn more

View all

Sign in to view all badges

SOLVED

AEM 6.4 Touch UI Customization of inbox items

manasid69383774
Level 1
Level 1

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. 

1 Accepted Solution
vijkumar
Correct answer by
Level 3
Level 3

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

View solution in original post

4 Replies
shunnar
Employee
Employee

/libs/cq/inbox/content/inbox

is a good starting point for touch UI customizations

manasi0411
Level 1
Level 1

@shunnar, @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
Correct answer by
Level 3
Level 3

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

View solution in original post

manasid69383774
Level 1
Level 1

Thanks @vijkumar for your response.

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