This problem comes from the fact that we use ajax to load every content in piwik, so the URL remains the same all the time.
To fix this we can use the # in the URL, the same way Gmail does.
Currently changing the date in the calendar also changes the currently viewed section (reset to Dashboard).
Instead we should reload the same category.
See Jquery History
jQuery history plugin: It uses the hash (fragment)
method that was mentioned earlier in this thread. You essentially need to be able to store some text that encapsulates the current page state so that it can be recreated by the browser on reload; no information beyond that in the URL is maintained in any reliable way. This particular plugin also has the effect of making the "back" and "forward" buttons undo and redo page state changes, which you may or may not want.
added patch for this ticket.
This patch was tested on ie7 and FireFox on both linux and windows.
svn st: A plugins/CoreHome/templates/url_anchor.js M plugins/CoreHome/templates/menu.js M plugins/CoreHome/templates/calendar.js M plugins/CoreHome/templates/sites_selection.tpl M plugins/CoreHome/templates/js_css_includes.tpl
kpham, thanks for patch.
I think however code can be improved, especially because in the future we'd like to persist more parameters than period/date/idsite/module/action therefore it should be modular.
<a href="broadcast.changeParameter('module=Referers&action=getKeywords')">View full keywords report</ or <a href="broadcast.changeParameter('date=yesterday&period=day&module=Referers&action=getKeywords')">View full keywords report for yesterday</a>
What do you think about such a design?
Other feedback on the code
let me know what you think.
I agree with your comments. I will make those changes and re-submit another patch for this ticket. Looks like the back button doesn't work as expected. Another problem is when you're not login and use the anchor params; it doesn't work.
just to emphasize that this is an important fix: it is mighty annoying that every time you change the date it will redirect you to the dashboard and you have to go back all the way!
(In ) - Refresh and back button now work! great contribution by Khanh Pham fixed #103
it's using the jquery history plugin. period, date, idsite, module and action are persisted across requests, making Piwik much nicer and faster to use.
(In ) it should work better with the main broadcast.js file :) refs #5523