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.
Solved! Go to Solution.
Views
Replies
Total Likes
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
/libs/cq/inbox/content/inbox
is a good starting point for touch UI customizations
Views
Replies
Total Likes
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.
Views
Replies
Total Likes
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
Thanks @vijkumar for your response.
As these files can't be customized, I will reach out to business and seek a different solution.
Views
Replies
Total Likes
Views
Likes
Replies
Views
Likes
Replies