Task #13162

Overhaul how Full-width treevieew page updates are implemented when a new node is selected

Added by Dan Gillean about 2 years ago. Updated about 2 years ago.

Status:NewStart date:08/27/2019
Priority:MediumDue date:
Assignee:-% Done:

0%

Category:Treeview
Target version:-
Google Code Legacy ID: Tested version:2.5
Sponsored:No Requires documentation:

Description

In issue #6375, we first added the full-width treeview to AtoM. Unlike the sidebar treeview, the full-width version uses an Ajax request to update certain elements of the description view page to be updated when a new node is selected. However, this approach has had some negative consequences for maintenance, such as:

  • we regularly discover additional page elements that need updates, but are not currently part of the page refresh, leading to increased bug reports
  • because the page footer is not updated, it is likely that analytics tools such as Google Analytics are not tracking page views once a user starts clicking around a hierarchy using the treeview

In light of these issues, we should revisit how we refresh the page when a new treeview node is selected.

Rather than trying to keep track of all elements that require an update call, we should instead consider simply picking the treeview from the current page, and then refreshing all other page elements. This means less time spend selecting a subset of many smaller components to refresh from the ajax call. This may or may not solve the analytics issue on its own - we may also need to find a way to trigger the JS code after it is replaced, if possible.

Note that it's also possible we could exclude the header from the call, as this is unlikely to require an update between node selections.

History

#1 Updated by Dan Gillean about 2 years ago

  • Description updated (diff)

#2 Updated by Dan Gillean about 2 years ago

  • Description updated (diff)

#3 Updated by Mike Cantelon about 2 years ago

This may or may not solve the analytics issue on its own - we may also need to find a way to trigger the JS code after it is replaced, if possible.

The GA issue should be easy to deal with. IIRC there's a way to just call GA in JavaScript to have it register register a page view.

Also available in: Atom PDF