Type: Regression Bug
Affects Version/s: 7.1.X, 7.2.X, Master
Component/s: User Notifications
The User Notifications page breaks when a widget with notifications is uninstalled. They believe that this occurs when a user has a notification with a record in the UserNotificationEvent table that has a type that does not have an associated UserNotificationHandler.
In previous fix pack versions, the Notifications page would display but notifications without a handler would display "Notification no longer applies." See attached screenshot, "Notifications_dxp-13.png".
In fix pack 7.1 dxp-16 (and Branch and Master), the Notifications page does not even show notifications from other widgets, but shows the error on the page, "Notifications is temporarily unavailable." and a NullPointerException is thrown in the logs. See attached screenshot, "Notifications_dxp-16.png" and stacktrace, "Notification_stacktrace.log".
Steps to Reproduce:
1. Create new User
2. Create new regular Role (e.g., "blogswikis")
3. Define Permissions for new Role
- Site Administration->Content->Blogs
- Give all permissions for Blogs
- Site Administration->Content->Wiki
- Give all permissions for Wiki
4. Assign this Role to the new User
5. Add Blogs widget to default page
6. Add Wiki widget to default page
7. Click Subscribe on the Blogs widget
8. Click Subscribe to Comments on the Wiki widget
9. Sign out as Admin and login as new User
10. Create a new Blog entry
11. Add a comment to the Wiki
12. Sign out as new User and login as Admin
13. Verify that 2 Notifications are displayed; one for the Blog entry and one for the Wiki comment (see attached screenshot, Notifications_before.png)
14. Uninstall Liferay Blogs Web
- Control Panel -> App Manager -> Search for Liferay Blogs -> Find Liferay Blogs in results and click it -> Locate "Liferay Blogs Web" in the list of Liferay Blogs Modules -> click the triple dot -> select Uninstall
15. Return to view the Notifications: Menu -> My Account -> Notifications
Notifications displays the Wiki notification and "Notification no longer applies." displays for the Blogs notification. See "Notifications_dxp-13.png".
"Notifications is temporarily unavailable" error displays. No notifications are displayed. NullPointerException is thrown in the logs. See "Notifications_dxp-16.png" and "Notification_stacktrace.log".