(Usage) Data use analytics

Registered by Lars Helge Øverland on 2015-08-29

Add statistics for system and data analysis usage. This should include at least:

- number of favorites (report tables, charts, maps, event reports, event charts) + per user
- number of dashboards + per user
- number of indicators + per data elements

- no of favorite views per user

This can be retrieved with SQL. The relevant tables are reporttable, chart, map, eventreport, eventchart, dashboard.

This requires an object "StatisticsEvent" with properties: EventType, timestamp, user. This objected must be persisted with Hibernate.

A snapshot of the statistics should be saved every day. Storing of events should be as async.

Every day a snapshot of the statistics should be saved. This requires an object "DataStatistics" with properties EventType, count. The statistics business logic should be placed in the service layer.

The cron statistics job should be configurable under data administration > scheduling.

The statistics should be exposed in the Web API as a resource "dataStatistics".

The data should be available as table and line chart.

Summary of required objects:

DataStatistics (extend BaseIdentifiableObject)
DataStatisticsEvent
DataStatisticsStore (interface)
HibernateDataStatisticsStore (extend HibernateGenericStore)
DataStatisticsTask (runnable)

Task must be added to ScheduleTasksAction.

Blueprint information

Status:
Complete
Approver:
Lars Helge Øverland
Priority:
Medium
Drafter:
Lars Helge Øverland
Direction:
Approved
Assignee:
None
Definition:
New
Series goal:
Accepted for trunk
Implementation:
Implemented
Milestone target:
milestone icon 2.23
Started by
Lars Helge Øverland on 2016-02-04
Completed by
Lars Helge Øverland on 2016-04-25

Related branches

Sprints

Whiteboard

(?)

Work Items

Work items:
Retrieve data from ReportTable: DONE
BACKEND: DONE
APP: INPROGRESS

This blueprint contains Public information 
Everyone can see this information.