6.0.0-git
2019-04-25

[#9017] Ajax notifications too greedy
Summary Ajax notifications too greedy
Queue Horde Framework Packages
Queue Version Git master
Type Bug
State Resolved
Priority 2. Medium
Owners jan (at) horde (dot) org
Requester jan (at) horde (dot) org
Created 2010-05-10 (3272 days ago)
Due
Updated 2010-07-02 (3219 days ago)
Assigned
Resolved 2010-06-29 (3222 days ago)
Milestone 4
Patch No

History
2010-07-02 20:32:23 Git Commit Comment #6 Reply to this comment
Changes have been made in Git for this ticket:

Bug #9017: ajaxui parameter is intrusive; breaks URLs that normally do 
not have parameters

http://git.horde.org/diff.php/imp/templates/dimp/javascript_defs_dimp.php?rt=horde-git&r1=ce3b3ba651980f460118b2dabf46630fbae46113&r2=5e9e700df2e7b13d83f5dca834d9456fc1ec2efe
2010-07-02 20:13:16 Git Commit Comment #5 Reply to this comment
2010-06-29 16:05:48 Jan Schneider Assigned to Jan Schneider
Taken from Horde DevelopersHorde Developers
State ⇒ Resolved
 
2010-06-29 16:03:58 Git Commit Comment #4 Reply to this comment
Changes have been made in Git for this ticket:

Don't store in the session whether to hide the sidebar/menu or attach 
the ajax notification listener. Instead, do this per request and pass 
the request parameter through with Horde::url(). Fixes bug 9017.

http://git.horde.org/diff.php/ansel/templates/menu.inc?rt=horde-git&r1=45d58456f24b121efb9d4082306dbe93076b7172&r2=48360a7399b640a69bf51ea671798837b5c49780
http://git.horde.org/diff.php/beatnik/templates/menu.inc?rt=horde-git&r1=45d58456f24b121efb9d4082306dbe93076b7172&r2=48360a7399b640a69bf51ea671798837b5c49780
http://git.horde.org/diff.php/chora/templates/menu.inc?rt=horde-git&r1=45d58456f24b121efb9d4082306dbe93076b7172&r2=48360a7399b640a69bf51ea671798837b5c49780
http://git.horde.org/diff.php/crumb/templates/menu.inc?rt=horde-git&r1=45d58456f24b121efb9d4082306dbe93076b7172&r2=48360a7399b640a69bf51ea671798837b5c49780
http://git.horde.org/diff.php/fima/templates/menu.inc?rt=horde-git&r1=45d58456f24b121efb9d4082306dbe93076b7172&r2=48360a7399b640a69bf51ea671798837b5c49780
http://git.horde.org/diff.php/folks/templates/menu.inc?rt=horde-git&r1=45d58456f24b121efb9d4082306dbe93076b7172&r2=48360a7399b640a69bf51ea671798837b5c49780
http://git.horde.org/diff.php/framework/Core/lib/Horde.php?rt=horde-git&r1=5b3c495f8b85bab84d32c5f4c865ff0ded63e057&r2=48360a7399b640a69bf51ea671798837b5c49780
http://git.horde.org/diff.php/framework/Core/lib/Horde/Core/Prefs/Ui.php?rt=horde-git&r1=84a96bec34b90beb720b6a4eb90423a187add87a&r2=48360a7399b640a69bf51ea671798837b5c49780
http://git.horde.org/diff.php/framework/Core/lib/Horde/Registry.php?rt=horde-git&r1=5b3c495f8b85bab84d32c5f4c865ff0ded63e057&r2=48360a7399b640a69bf51ea671798837b5c49780
http://git.horde.org/diff.php/gollem/lib/Gollem.php?rt=horde-git&r1=45d58456f24b121efb9d4082306dbe93076b7172&r2=48360a7399b640a69bf51ea671798837b5c49780
http://git.horde.org/diff.php/hermes/templates/menu.inc?rt=horde-git&r1=45d58456f24b121efb9d4082306dbe93076b7172&r2=48360a7399b640a69bf51ea671798837b5c49780
http://git.horde.org/diff.php/horde/templates/admin/menu.inc?rt=horde-git&r1=45d58456f24b121efb9d4082306dbe93076b7172&r2=48360a7399b640a69bf51ea671798837b5c49780
http://git.horde.org/diff.php/horde/templates/menu/menu.inc?rt=horde-git&r1=45d58456f24b121efb9d4082306dbe93076b7172&r2=48360a7399b640a69bf51ea671798837b5c49780
http://git.horde.org/diff.php/imp/lib/Auth.php?rt=horde-git&r1=bb5a553250e937a8e82ecfbd57fd99cc9d777c27&r2=48360a7399b640a69bf51ea671798837b5c49780
http://git.horde.org/diff.php/imp/lib/IMP.php?rt=horde-git&r1=45d58456f24b121efb9d4082306dbe93076b7172&r2=48360a7399b640a69bf51ea671798837b5c49780
http://git.horde.org/diff.php/imp/templates/dimp/javascript_defs_dimp.php?rt=horde-git&r1=f12229826ab256b7020f754824624b088b611f44&r2=48360a7399b640a69bf51ea671798837b5c49780
http://git.horde.org/diff.php/ingo/lib/Ingo.php?rt=horde-git&r1=45d58456f24b121efb9d4082306dbe93076b7172&r2=48360a7399b640a69bf51ea671798837b5c49780
http://git.horde.org/diff.php/kastalia/templates/menu.inc?rt=horde-git&r1=45d58456f24b121efb9d4082306dbe93076b7172&r2=48360a7399b640a69bf51ea671798837b5c49780
http://git.horde.org/diff.php/kronolith/index.php?rt=horde-git&r1=f3943e8fc2471ce1a26a4818f669021c786b67a8&r2=48360a7399b640a69bf51ea671798837b5c49780
http://git.horde.org/diff.php/kronolith/lib/Kronolith.php?rt=horde-git&r1=83485e5e6d7ba0e0d32b795450bb469199a6a509&r2=48360a7399b640a69bf51ea671798837b5c49780
http://git.horde.org/diff.php/kronolith/templates/menu.inc?rt=horde-git&r1=45d58456f24b121efb9d4082306dbe93076b7172&r2=48360a7399b640a69bf51ea671798837b5c49780
http://git.horde.org/diff.php/luxor/templates/menu.inc?rt=horde-git&r1=45d58456f24b121efb9d4082306dbe93076b7172&r2=48360a7399b640a69bf51ea671798837b5c49780
http://git.horde.org/diff.php/mnemo/templates/menu.inc?rt=horde-git&r1=45d58456f24b121efb9d4082306dbe93076b7172&r2=48360a7399b640a69bf51ea671798837b5c49780
http://git.horde.org/diff.php/nag/templates/menu.inc?rt=horde-git&r1=45d58456f24b121efb9d4082306dbe93076b7172&r2=48360a7399b640a69bf51ea671798837b5c49780
http://git.horde.org/diff.php/news/templates/menu.inc?rt=horde-git&r1=45d58456f24b121efb9d4082306dbe93076b7172&r2=48360a7399b640a69bf51ea671798837b5c49780
http://git.horde.org/diff.php/operator/templates/menu.inc?rt=horde-git&r1=45d58456f24b121efb9d4082306dbe93076b7172&r2=48360a7399b640a69bf51ea671798837b5c49780
http://git.horde.org/diff.php/pastie/templates/menu.inc?rt=horde-git&r1=45d58456f24b121efb9d4082306dbe93076b7172&r2=48360a7399b640a69bf51ea671798837b5c49780
http://git.horde.org/diff.php/shout/templates/menu.inc?rt=horde-git&r1=45d58456f24b121efb9d4082306dbe93076b7172&r2=48360a7399b640a69bf51ea671798837b5c49780
http://git.horde.org/diff.php/skeleton/templates/menu.inc?rt=horde-git&r1=45d58456f24b121efb9d4082306dbe93076b7172&r2=48360a7399b640a69bf51ea671798837b5c49780
http://git.horde.org/diff.php/skoli/templates/menu.inc?rt=horde-git&r1=45d58456f24b121efb9d4082306dbe93076b7172&r2=48360a7399b640a69bf51ea671798837b5c49780
http://git.horde.org/diff.php/trean/templates/menu.inc?rt=horde-git&r1=45d58456f24b121efb9d4082306dbe93076b7172&r2=48360a7399b640a69bf51ea671798837b5c49780
http://git.horde.org/diff.php/turba/templates/menu.inc?rt=horde-git&r1=45d58456f24b121efb9d4082306dbe93076b7172&r2=48360a7399b640a69bf51ea671798837b5c49780
http://git.horde.org/diff.php/whups/templates/menu.inc?rt=horde-git&r1=f76194711c98829554a18fce96a614cb28ffd4c4&r2=48360a7399b640a69bf51ea671798837b5c49780
http://git.horde.org/diff.php/wicked/templates/menu.inc?rt=horde-git&r1=45d58456f24b121efb9d4082306dbe93076b7172&r2=48360a7399b640a69bf51ea671798837b5c49780
2010-05-10 21:24:28 Jan Schneider Comment #3 Reply to this comment
I'm not sure how this would help us. We need to keep the ajax 
handler/mode attached as long as the user navigates the traditional 
apps inside the iframe. But as soon as he navigates to the traditional 
app directly, the handler has to be removed.
The only way that comes to mind is to carry a flag around in all urls, 
as soon as we open a traditional page from the ajax iframe.
The same problem applies to the hiding of the menu in the prefs btw.
2010-05-10 21:05:18 Michael Slusarz Comment #2 Reply to this comment
The only practical way of doing this that I can see is to define, in 
each application's init() function, this pseudocode:

if ($GLOBALS['registry']->initialApp == CURRENT_APP) {
     $_SESSION['horde_notification']['override'] = ($is_ajax_view)
         ? Ajax_Display_Handler
         : null;
}

The better solution would be to abstract all notification code out of 
the framework libraries, create a Utility object that sits between the 
injector and the Notification library, and then have the initializing 
application doing something like:
$injector->getInstance('Horde_Notification')->setMode('ajax')

setMode() would do the necessary push/pop of the Notification handlers.
2010-05-10 20:32:46 Jan Schneider Comment #1
Type ⇒ Bug
State ⇒ Assigned
Priority ⇒ 2. Medium
Summary ⇒ Ajax notifications too greedy
Queue ⇒ Horde Framework Packages
Assigned to Horde DevelopersHorde Developers
Milestone ⇒ 4
Patch ⇒ No
Reply to this comment
Once an ajax interface has been loaded, any status notifications no 
longer are displayed with the traditional status handler. This has 
been done so that traditional apps running in an iframe of an ajax app 
returns notifications as ajax responses.
But for the time being we will have both kind of apps side by side, 
i.e. users will switch between them. So we need a way to get the 
traditional status back.

Saved Queries