Bug 30004 - Representation of system notifications
Representation of system notifications
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: UMC (Generic)
UCS 3.0
Other Linux
: P4 enhancement (vote)
: UCS 3.2
Assigned To: Alexander Kläser
Florian Best
: interim-3
: 10326 24491 24532 30713 (view as bug list)
Depends on: 32972
Blocks: 32987
  Show dependency treegraph
 
Reported: 2013-01-11 11:18 CET by Alexander Kläser
Modified: 2013-11-19 06:43 CET (History)
5 users (show)

See Also:
What kind of report is it?: ---
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional): Design, Further conceptual development, Usability
Max CVSS v3 score:


Attachments
UMC with notifications sketch (96.58 KB, image/png)
2013-01-11 11:18 CET, Alexander Kläser
Details
Sketch of a different idea for system notifications with i-Button in the toolbar. (67.30 KB, image/png)
2013-06-17 13:48 CEST, Alexander Kläser
Details
View with three notifications (51.66 KB, image/png)
2013-07-19 17:11 CEST, Alexander Kläser
Details
screenshot login failure (24.33 KB, image/png)
2013-10-31 13:25 CET, Florian Best
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Alexander Kläser univentionstaff 2013-01-11 11:18:51 CET
Created attachment 4975 [details]
UMC with notifications sketch

Currently, important system notifications are displayed on the UMC overview
page. Attached is a sketch of how system notifications could be displayed. The
number in the UMC menu bar indicates how many notifications are unread
(displayed in red if >0). By clicking on the number, the sketched popup window
would be displayed. Already seen notifications would be marked with a darker
background.
Comment 1 Sönke Schwardt-Krummrich univentionstaff 2013-01-11 11:32:58 CET
To give new users a hint what this number will represent, something like a mail icon or a text like "system messages" should be added.
Comment 2 Dirk Wiesenthal univentionstaff 2013-01-11 12:25:39 CET
Cool. One would have to support notifications without links for those like "Your browser is outdated" (or link to http://www.mozilla.org/de/firefox/fx/ ...) and it should interoperate with dialog.notify(), as the currently used toaster is buggy (notifying during the animation breaks it).

dialog.notify("Your session expired") would have to go into the LoginDialog, though.

Notifications should be removable from the list (at least those that have been seen).
Comment 3 Alexander Kläser univentionstaff 2013-01-24 11:02:51 CET
*** Bug 24532 has been marked as a duplicate of this bug. ***
Comment 4 Alexander Kläser univentionstaff 2013-01-24 11:02:58 CET
*** Bug 24491 has been marked as a duplicate of this bug. ***
Comment 5 Alexander Kläser univentionstaff 2013-01-24 11:03:08 CET
*** Bug 10326 has been marked as a duplicate of this bug. ***
Comment 6 Jascha Geerds univentionstaff 2013-03-07 12:42:39 CET
*** Bug 30713 has been marked as a duplicate of this bug. ***
Comment 7 Alexander Kläser univentionstaff 2013-06-17 13:48:03 CEST
Created attachment 5276 [details]
Sketch of a different idea for system notifications with i-Button in the toolbar.
Comment 8 Alexander Kläser univentionstaff 2013-07-19 17:11:51 CEST
Created attachment 5334 [details]
View with three notifications

This is the current view with only 3 notifications...
Comment 9 Alexander Kläser univentionstaff 2013-10-23 14:32:40 CEST
The first bit has been implemented:

 univention-management-console-frontend (3.0.118-1) unstable; urgency=low
 .
   * Bug #30004: added new system notifications, refactored some CSS code into
     correct files, moved LoginDialog into umc/dialog/, added login messages
     into login Form
Comment 10 Alexander Kläser univentionstaff 2013-10-23 15:06:54 CEST
 univention-management-console-frontend (3.0.119-1) unstable; urgency=low
 .
   * Bug #30004: adjusted mouseover/click/touch behaviour of the notifications,
     added missing translations
Comment 11 Dirk Wiesenthal univentionstaff 2013-10-23 16:16:54 CEST
When a notification is added at 16:06 the panel says "16:6"
Comment 12 Dirk Wiesenthal univentionstaff 2013-10-23 16:22:10 CEST
A timeout is added when the "i" is clicked and the notifications disappear unless you do not hover over the area.

I would order them the other way around: Latest notification at the bottom
Comment 13 Alexander Kläser univentionstaff 2013-10-23 17:34:57 CEST
Two new generic methods have been added to faciliate the integration of the new notification framework in other modules:

  mymodule.addNotification()
  mymodule.addWarning()

Both methods re-use the module's tab title as component information in the notification message (→ r45526).

 univention-management-console-frontend (3.0.120-1) unstable; urgency=low
 .
   * Bug #30004: provide addNotification() and addWarning() as Module functions


Adjustment for other modules...

> services/univention-ad-connector/umc/js/adconnector.js
→ r45525
 univention-ad-connector (8.0.9-1) unstable; urgency=low
 .
   * Bug #30004: adjusted handling of notifications
→ r45541
 univention-ad-connector (8.0.10-1) unstable; urgency=low
 .
   * Bug #30004: fixed scope handling for notifications

> management/univention-management-console-module-top/umc/js/top.js
→ 45527
 univention-management-console-module-top (3.0.2-1) unstable; urgency=low
 .
   * Bug #30004: adjustements for new notifications

> management/univention-management-console-frontend/umc/tools.js
> management/univention-management-console-frontend/umc/app.js
> management/univention-management-console-frontend/umc/widgets/_ModuleMixin.js
nothing to do
> management/univention-management-console-frontend/umc/widgets/Page.js
adjusted  deprecated Page.addNote() method.
> management/univention-management-console-frontend/umc/widgets/Form.js
adjusted call to dialog.notify()
(→ r45530)
 univention-management-console-frontend (3.0.121-1) unstable; urgency=low
 .
   * Bug #30004: adjustements for new notifications

> management/univention-join/umc/js/join.js
→ r45531
 univention-join (6.0.14-1) unstable; urgency=low
 .
   * Bug #30004: adjustements for new notifications

> base/univention-system-setup/umc/js/setup/SoftwarePage.js
> base/univention-system-setup/umc/js/setup/CertificatePage.js
> base/univention-system-setup/umc/js/setup/NetworkPage.js
> base/univention-system-setup/umc/js/setup/BasisPage.js
> base/univention-system-setup/umc/js/setup.js
→ r45538
 univention-system-setup (7.0.55-1) unstable; urgency=low
 .
   * Bug #30004: adjustements for new notifications, make sure changes on
     interfaces are only shown once
→ and also r45542
 univention-management-console-frontend (3.0.122-1) unstable; urgency=low
 .
   * Bug #30004: clean up old notification handling in Page, minor CSS fix,
     add property 'standingBy' to StandbyMixin (for Basic settings module)

@QA: Please also check the appliance mode!

> base/univention-updater/umc/js/updater.js
→ r45539
 univention-updater (9.0.26-1) unstable; urgency=low
 .
   * Bug #30004: adjustements for new notifications

> virtualization/univention-virtual-machine-manager-daemon/umc/js/uvmm/DomainPage.js
→ r45540
 univention-virtual-machine-manager-daemon (3.0.14-1) unstable; urgency=low
 .
   * Bug #30004: adjustements for new notifications
Comment 14 Alexander Kläser univentionstaff 2013-10-23 18:45:14 CEST
(In reply to Dirk Wiesenthal from comment #11)
> When a notification is added at 16:06 the panel says "16:6"

I checked the notifications on IE and tablets, removed some debug comments, and fixed the time representation in the notifications. I needed to fix Bug 32972 to make iPad work.

 univention-management-console-frontend (3.0.123-1) unstable; urgency=low
 .
   * Bug #30004: removed comments, changed console.log() to console.warn(),
     fixed time representation in notifications


(In reply to Dirk Wiesenthal from comment #12)
> A timeout is added when the "i" is clicked and the notifications disappear
> unless you do not hover over the area.
> 
> I would order them the other way around: Latest notification at the bottom

I would rather leave it like that, it felt strange the other way round.
Comment 15 Dirk Wiesenthal univentionstaff 2013-10-23 22:54:12 CEST
When startup dialogue is shown, overview notifications are not clickable (e.g. "New updates"). I guess this is correct, they should be shown.

But they are not marked as unread.
Comment 16 Alexander Kläser univentionstaff 2013-10-24 12:28:42 CEST
(In reply to Dirk Wiesenthal from comment #15)
> When startup dialogue is shown, overview notifications are not clickable
> (e.g. "New updates"). I guess this is correct, they should be shown.

This is meant to be like that due to the overlay of the dialogue.

> But they are not marked as unread.

Oh yes. This would happen when the UCRV update/available=yes is set. Initially the message is not indicated with the red bubble.

I also observed that once the notifications are opened by clicking on "i", they hide themselves automatically.

The menu icon for notifications ("i") needed also to be converted from a font to a path. The corresponding font did not exist on the build server.

 univention-management-console-frontend (3.0.125-1) unstable; urgency=low
 .
   * Bug #30004: make sure that initial notifications are shown with the red
     bubble, remove automatic closing when clicking on "i" button, convert menu
     icon for notifications to path
Comment 17 Dirk Wiesenthal univentionstaff 2013-10-24 13:33:12 CEST
When clicking on the "i" when there are no (and never have been any) notifications for the very first time, a red empty bubble is shown. Normally it contains the number of new notifications but here it is just empty.
Comment 18 Florian Best univentionstaff 2013-10-25 12:35:34 CEST
Some strange error:
this._createNotificationMaster(); is undefined in dialog.notify

reproducable when directly jumping into "&module=udm&flavor=dhcp/dhcp"
In that case "this.declaredClass" is "umc.widgets.Page".
Perhaps this has something to do with a missing or wrong lang.hitch(this, …)

I don't understand why the mixin is required "dialog = lang.mixin({}, {…})" in umc.dialog.

(The mesage when this occurs is "Sie haben mehr Managed-Client-Konten, als Ihre Lizenz erlaubt. Während dieser Sitzung ist das Hinzufügen und Bearbeiten von Objekten nicht möglich.")
Comment 19 Alexander Kläser univentionstaff 2013-10-25 14:15:23 CEST
(In reply to Florian Best from comment #18)
> Some strange error:
> this._createNotificationMaster(); is undefined in dialog.notify
> 
> reproducable when directly jumping into "&module=udm&flavor=dhcp/dhcp"
> In that case "this.declaredClass" is "umc.widgets.Page".
> Perhaps this has something to do with a missing or wrong lang.hitch(this, …)
> 
> I don't understand why the mixin is required "dialog = lang.mixin({}, {…})"
> in umc.dialog.
> 
> (The mesage when this occurs is "Sie haben mehr Managed-Client-Konten, als
> Ihre Lizenz erlaubt. Während dieser Sitzung ist das Hinzufügen und
> Bearbeiten von Objekten nicht möglich.")

Ah... missing lang.hitch(). Thanks for the hint. Fixed.

 univention-management-console-frontend (3.0.130-1) unstable; urgency=low
 .
   * Bug #30004: fixed scoping problem with addNotification in umc/widgets/Page
   * Bug #30004: make sure that "your session has expired" is not shown when
     initially loading UMC
   * Bug #32218: changed order of buttons in logout dialogue
   * Bug #32218: remove margin-rigth from "add" button in MultiInput
Comment 20 Alexander Kläser univentionstaff 2013-10-25 14:41:38 CEST
(In reply to Dirk Wiesenthal from comment #17)
> When clicking on the "i" when there are no (and never have been any)
> notifications for the very first time, a red empty bubble is shown. Normally
> it contains the number of new notifications but here it is just empty.

Correct. I fixed the handling of the red notification bubble.

 univention-management-console-frontend (3.0.131-1) unstable; urgency=low
 .
   * Bug #30004: fixed initial handling of the red notification bubble
Comment 21 Florian Best univentionstaff 2013-10-28 11:35:06 CET
base/univention-updater/umc/js/updater.js
423:                                            dialog.notify(_('The update process was successful.'));
Comment 22 Florian Best univentionstaff 2013-10-28 11:40:27 CET
virtualization/univention-virtual-machine-manager-daemon/umc/js/uvmm/DomainPage.js
83:             addNotification: dialog.notify,

services/univention-ad-connector/umc/js/adconnector.js
58:             addNotification: dialog.notify,
246:            addNotification: dialog.notify,

→ lang.hitch(dialog, 'notify') ?
Comment 23 Florian Best univentionstaff 2013-10-28 17:02:36 CET
When opening a domain in UVMM a notification is displayed and immediately get hidden. This does not look very well.
Comment 24 Florian Best univentionstaff 2013-10-29 09:36:20 CET
a running domain*

in updater.js there is also an dialog.alert which would be better fit as notification:
175 »   »   »   »   »   »   dialog.alert(_('In order to complete the recently executed action, it is required to reboot the system.'))
Comment 25 Dirk Wiesenthal univentionstaff 2013-10-29 10:38:55 CET
If clicking on the link in "An update is available, please open the Software update module", the notification disappears but it is marked unread.
Comment 26 Dirk Wiesenthal univentionstaff 2013-10-29 10:40:27 CET
(In reply to Dirk Wiesenthal from comment #25)
> If clicking on the link in "An update is available, please open the Software
> update module", the notification disappears but it is marked unread.

Oh, clarification: If clicking on that link in the first seconds of UMC startup.
Comment 27 Florian Best univentionstaff 2013-10-31 13:25:40 CET
Created attachment 5545 [details]
screenshot login failure
Comment 28 Alexander Kläser univentionstaff 2013-10-31 17:51:01 CET
(In reply to Florian Best from comment #21)
> base/univention-updater/umc/js/updater.js
> 423:                                            dialog.notify(_('The update
> process was successful.'));

Hm… could not find any dialog.notify() in the updater package.

(In reply to Florian Best from comment #22)
> virtualization/univention-virtual-machine-manager-daemon/umc/js/uvmm/
> DomainPage.js
> 83:             addNotification: dialog.notify,
>
> services/univention-ad-connector/umc/js/adconnector.js
> 58:             addNotification: dialog.notify,
> 246:            addNotification: dialog.notify,
> 
> → lang.hitch(dialog, 'notify') ?

Both cases are fine as addNotification is overwritten during instantiation, e.g., the first one:

> this._domainPage = new DomainPage({
>    ...
>    addNotification: lang.hitch(this, 'addNotification'),
>    ...
> });

(In reply to Florian Best from comment #23)
> When opening a domain in UVMM a notification is displayed and immediately
> get hidden. This does not look very well.

Fixed: Good point, I changed it such that notification is only closed when it has been visible for at least 0.5 sec. This works fine for the "updates available" link (→ notifications get closed) and avoids the problems you described (also jumping immediately into a module via query string).

(In reply to Florian Best from comment #24)
> a running domain*
> 
> in updater.js there is also an dialog.alert which would be better fit as
> notification:
> 175 »   »   »   »   »   »   dialog.alert(_('In order to complete the
> recently executed action, it is required to reboot the system.'))

Not scope of this bug, should go into a usability enhancement for UVMM.

(In reply to Dirk Wiesenthal from comment #26)
> (In reply to Dirk Wiesenthal from comment #25)
> > If clicking on the link in "An update is available, please open the Software
> > update module", the notification disappears but it is marked unread.
> 
> Oh, clarification: If clicking on that link in the first seconds of UMC
> startup.

Fixed: Clicking on a link in the notifications will mark them as read.

(In reply to Florian Best from comment #27)
> Created attachment 5545 [details]
> screenshot login failure

Fixed: The notification during polling has been replaced with a status message on the login dialogue.


 univention-management-console-frontend (3.0.142-1) unstable; urgency=low
 .
   * Bug #30004: added delay to auto closing of notifications, mark
     notifications as read when clicking on a link, adjust 411 error
     notification during long polling
Comment 29 Florian Best univentionstaff 2013-11-01 11:22:41 CET
OK
Comment 30 Stefan Gohmann univentionstaff 2013-11-19 06:43:45 CET
UCS 3.2 has been released:
 http://docs.univention.de/release-notes-3.2-en.html
 http://docs.univention.de/release-notes-3.2-de.html

If this error occurs again, please use "Clone This Bug".