I have a requirement to sort aem 6.5 inbox based on custom column.
OOTB availability, steps-
1. Navigate to /aem/inbox
2. Select settings from right panel and opt sort
3. It opens a dialog which shows the fields which could be sorted (populated via /libs/cq/inbox/content/inbox/dialogs/inboxsettingsdialog/items/inboxsettingsform)
Now ,in the above dropdown I want my custom column name to be added and available for sorting.
I was able to achieve adding the new column in the dropdown. However the sort is not working as expected.
On click of save of this dialog it saves the data to /libs/cq/inbox/gui/components/inbox/preferences.json and the submitted json looks like below-
On submit of Inbox Settings dialog (after selecting sort property and sort order), this preference is saved to user node via a POST call to user path/preferences
(Eg: http://localhost:4502/home/users/8/8knGQKO0VU9chrDmTnwz/preferences - Cross check your preferences node in CRXDE after saving settings dialog, you should see the property named cq.inbox.settings )
This preferences are considered for Filtering while rendering the Active Inbox items and the implementation is hidden.
High level detail of OOTB flow for Inbox items display.
Customization in this case is like rewriting whole of the implementation.