Bug 20714 - Browser history back/next buttons are not correctly integrated
Browser history back/next buttons are not correctly integrated
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: UMC (Generic)
UCS 4.0
Other Linux
: P5 enhancement (vote)
: UCS 4.0-2-errata
Assigned To: Alexander Kläser
Florian Best
:
: 7330 (view as bug list)
Depends on:
Blocks: 39033 39840
  Show dependency treegraph
 
Reported: 2010-11-18 15:56 CET by Alexander Kläser
Modified: 2015-11-10 10:16 CET (History)
4 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): External feedback, Usability
Max CVSS v3 score:


Attachments
Patch for simple integration of backward/forward browser buttons. (3.46 KB, patch)
2015-07-25 01:06 CEST, Alexander Kläser
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Alexander Kläser univentionstaff 2010-11-18 15:56:27 CET
Wird in der UMC per Browse-History (vor/zurück) zu früheren Seiten gesprungen, so wird dies nicht korrekt im Web-Interface erkannt und stattdessen eine ältere Seite als "aktuell" angesehen.

Beispiele:
a) Ein Klick auf Icon "System-Statistiken", dann History-Zurück, dann auf "Prozessübersicht" führt wieder zu "System-Statistiken"
b) Ein Klcik auf Reiter "Wizards", dann History-Zurück, dann auf "System-Statistiken" führt zu "Nagios-Konfiguration"
Comment 1 Alexander Kläser univentionstaff 2013-01-02 17:53:05 CET
In Dojo gibt es Unterstützung für solche Mechanismen, bspw.:

http://dojotoolkit.org/documentation/tutorials/1.8/hash/
http://dojotoolkit.org/reference-guide/1.7/dojo/back.html

Hier ist ein Link mit Infos wie GitHub einen ähnlichen Effekt implementiert hat:

https://github.com/blog/760-the-tree-slider
Comment 2 Alexander Kläser univentionstaff 2013-02-22 14:02:58 CET
Auch noch akut unter UCS 3.x da wir eine One-Page-Richt-Internet-Application haben.
Comment 3 Alexander Kläser univentionstaff 2013-07-31 11:17:44 CEST
*** Bug 7330 has been marked as a duplicate of this bug. ***
Comment 4 Alexander Kläser univentionstaff 2013-07-31 11:19:29 CEST
History.js is a JS module, that offers a cross browser HTML5 like API for this task:

https://github.com/browserstate/history.js/
Comment 5 Alexander Kläser univentionstaff 2015-05-20 15:45:08 CEST
See also [Ticket#2015051321000257].
Comment 6 Alexander Kläser univentionstaff 2015-07-25 01:06:32 CEST
Created attachment 7053 [details]
Patch for simple integration of backward/forward browser buttons.

This issue has been again noted during our last usability test.

I attached a little patch that implements the browser history navigation via dojo/hash in a simple manner. It even works when issuing a page reload. The patch only takes the current open module into account.
Comment 7 Alexander Kläser univentionstaff 2015-07-27 16:52:55 CEST
I added a basic functionality for the browser back/next history navigation using URL fragments (i.e., starting with "#"). The implementation also supports navigating between the same module type opened several times, category choices are respected, as well. Also, a particular module can be opened directly with a corresponding hash string.

For the future, I added the attribute "moduleState" to _ModuleMixin. This attribute allows UMC modules to mark particular module states which are stored via the URL fragment part, as well. Consequently, the browser history navigation can be also integrated into modules (e.g., searches, opening a particular user etc.).

univention-management-console-frontend (4.1.106-80):
r62433 | Bug #20714: Add support for browser back/next button
r62432 | Bug #20714: first integration of browser back/next button via dojo/hash

2015-05-28-univention-management-console-frontend.yaml:
r62434 | Bug #20714: added YAML entry


The changes have been merged to 4.1 accordingly:

univention-management-console-frontend (5.0.3-1):
r62436 | Bug #20714: Add support for browser back/next button
r62435 | Bug #20714: first integration of browser back/next button via dojo/hash
Comment 8 Florian Best univentionstaff 2015-07-27 17:18:46 CEST
* Please remove the URL encoding of the fragment. It is not necessary and doesn't look nice.
* Please map javascripts undefined to "" for the flavor
* The module search cannot be removed/emptied anymore
Comment 9 Alexander Kläser univentionstaff 2015-07-27 23:44:30 CEST
(In reply to Florian Best from comment #8)
> * Please remove the URL encoding of the fragment. It is not necessary and
> doesn't look nice.
> * Please map javascripts undefined to "" for the flavor
> * The module search cannot be removed/emptied anymore

True. I fixed these issues. The only problem I currently see is when switching very fast back/forth in the history. But this should be IMHO ok as a first step.

univention-management-console-frontend (4.1.106-81):
r62438 | Bug #20714: fixed fragment decoding, flavor mapping and live search

Cherry pick for 4.1-0:

univention-management-console-frontend (5.0.4-1):
r62439 | Bug #20714: fixed fragment decoding, flavor mapping and live search

Packages are building...
Comment 10 Alexander Kläser univentionstaff 2015-07-28 13:54:49 CEST
As discussed with Florian, I committed the integration of the history navigation for the UDM module into the 4.1 branch (Bug 39033).
Comment 11 Florian Best univentionstaff 2015-07-30 12:12:10 CEST
Fix: OK: FF, chromium, IE11
FYI: if the login dialog is shown due to session timeout the next/back buttons are still clickable.
YAML: OK
Comment 12 Janek Walkenhorst univentionstaff 2015-08-06 17:54:36 CEST
<http://errata.univention.de/ucs/4.0/266.html>