Project

General

Profile

Feature #3373

Develop a statistical registration system

Added by Yannick Warnier almost 8 years ago. Updated about 3 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
-
Target version:
Start date:
06/05/2011
Due date:
% Done:

0%

Estimated time:
4.00 h
Complexity:
Challenging
SCRUM pts - complexity:
8

Description

Due to the high volume of tracking data, it becomes impractical (and sometimes very very slow) to generate statistical data (usage by day, week, month, year) on the original data.

As we started in 1.8.8 to really develop some kind of structured cron system, we should take this as an opportunity to trigger daily statistical-collection activities.

To allow for cron to be run at any frequency, we should save the "last cron run" in a table.

For example, a first implementation (and the idea behind this task) would be to implement a cron_run table:

CREATE TABLE cron_run (
 id int PRIMARY KEY not null AUTO_INCREMENT,
 last_run datetime,
 output text
);

One of the cron tasks should actually go through the track_e_access and collect the total connection times, day by day since the last cron run, of all students, and store it into a resume table:

CREATE TABLE stats_daily_user_connect(
 id int not null PRIMARY KEY AUTO_INCREMENT,
 ending datetime, -- time of ending the day, should be the same for all users the same day
 time_spent int, -- time in seconds
 cron_run_id int
);

This table could later be queried to generate charts much quicker to know how long a user has been connected in the next 12 months or so.

History

#1

Updated by Yannick Warnier almost 7 years ago

  • Target version changed from 1.9 Stable to 1.9.2
#2

Updated by Yannick Warnier over 6 years ago

  • Tracker changed from Bug to Feature
#3

Updated by Yannick Warnier over 6 years ago

  • Target version changed from 1.9.2 to 2.0
#4

Updated by Yannick Warnier about 3 years ago

  • Target version changed from 2.0 to 3.0

Also available in: Atom PDF