Synthesis of Analytics requirements
A session is when a user comes in from an origin, performs a bunch of actions, and then "leaves". While performing these actions, the user is in various user states. A session is a collection of user states ordered based on what the user did.
User history is a collection of sessions a user has, grouped by either username or cookie.
A user-state has properties, such as
- membership to a particular wiki project
- geographic location
- various 'bucket' settings
- user settings
- eg installed tools, user groups
A page/page group is a history of edits. They have page events that happen over a series of time, such as
- being protected/unprotected
- being viewed
- being edited
- being reverted
Each of these is done by a user in a given user state.
What we have entirely
- Page "events" other than page views
What we need
- Page views for all pages of interest that can be broken down by user-states
- Creation of user-states, saving/ascertaining information about a user as it changes over time
- Sessions, session tracking
Rather than having a user history, we can approximate events of the 'recent past' with a user's current settings/classification