Locally extendable metrics

Summary

Jira Issue: Not yet assigned
Priority: high
Work Estimate: medium

Task Description

Institutions should be able to locally add and configure additional metrics and statistics in an extensible manner, without modifying or forking (and locally maintaining) uPortal framework code.

The most flexible implentation would likely be an event-publish & subscribe mechanism allowing the portal framework to notify interested parties when particular events have occured. Event subscription and routing then becomes a matter of local configuration, allowing implementors to define policy to collect statistics or record additional statistics to those provided out of the box by creating additional event types, and registering to recieve those events. The event reciever can then choose to log, count, analyze, or handle an event. This would also enable flexibly implementing multiple actions per given event, while keeping the event handling code simple and focused.

Implementation Notes

A proposal for a Spring based stats recorder has been made: http://www.ja-sig.org/wiki/display/UPC/Proposal+to+Deprecate+IStatsRecorder