The following illustration shows the architecture that supports the recently viewed products functionality:
This diagram shows both the process for updating the recently viewed list and the process for retrieving and rendering the Recently Viewed panel on the product detail page.
When updating the recently viewed list, the following happens:
The customer views a product on the product detail page, thereby generating a request for the
store.war/browse/gadgets/productLookupForDisplay.jsp
gadget.The
productLookupforDisplay.jsp
gadget calls theProductBrowsed
component. This component dispatches a JMSViewItem
message.The
RecentlyViewedHistoryCollector
receives theViewItem
message, extracts the product, and calls theRecentlyViewedTools
component, passing it the product.The
RecentlyViewedTools
component updates theRecentlyViewedProducts
list for the current customer.For detailed information on this process, see Adding Products to the Recently Viewed List.
When rendering the Recently Viewed panel on the product detail page, the following happens:
The product detail page includes the
store.war/browse/gadgets/recentlyViewed.jsp
gadget.The
recentlyViewed.jsp
gadget calls theRecentlyViewedFilterDroplet
to initiate filtering. TheRecentlyViewedFilterDroplet
calls theRecentlyViewedFilter
to filter the list of recently viewed products.RecentlyViewedFilter
invokes someRecentlyViewedTools
methods to remove any non-existent or expired products from the recently viewed list, and then filters any remaining products in the list based on the site context and site scope.RecentlyViewedFilter
returns the filtered list toRecentlyViewedFilterDroplet
for rendering in the Recently Viewed panel.For detailed information on this process, see Filtering Products in the Recently Viewed List.