259 Commits

Author SHA1 Message Date
David Monllao
d126f83806 MDL-59661 analytics: Export models training data 2017-08-17 20:51:56 +02:00
David Monllao
56d4981e03 MDL-59661 analytics: Filearea passed as an argument to dataset_manager 2017-08-17 20:51:56 +02:00
David Monllao
88777c570c MDL-59774 analytics: Fix sql_compare_text usage
Replace a distinct + join by an exists, which suits better what we need to do.
2017-08-14 07:56:06 +02:00
David Monllao
fbc889a268 MDL-59779 analytics: Reduce community of inquiry indicators db queries 2017-08-10 11:07:23 +02:00
David Monllao
05c3727674 MDL-59779 analytics: Request cache for student and teacher archetypes 2017-08-10 11:07:13 +02:00
Andrew Nicols
ba07a8e7da Merge branch 'MDL-59638_master-fix' of git://github.com/dmonllao/moodle 2017-08-09 13:41:29 +08:00
David Monllao
42d67f95cd MDL-59638 analytics: Prevent start time to be higher than end time
Other related changes:

- core_analytics\site get_start and get_end returning always integer values
- Defer intval call in define_ranges to refine some seconds
2017-08-08 14:38:11 +02:00
David Monllao
e4584b8110 MDL-59116 analytics: Replace wrong sorting 2017-08-08 14:04:52 +02:00
Eloy Lafuente (stronk7)
d4c8235f87 Merge branch 'MDL-59638_master' of git://github.com/dmonllao/moodle 2017-08-07 19:48:17 +02:00
David Monllao
00da1e6010 MDL-59116 analytics: Multiple predictions for each analysable time range
Now we only predict using the most recent range available, this means
that if someone upgrades to moodle 3.4 at three quarters of a course
we will only calculate the latest range, previous ranges were not
displayed anyway once more recent predictions were available.

This commit deletes all previous predictions :) this shouldn't be a
problem in master as we don't provide any guarantee, the alternative
(retrive sampleids from mdl_files) would have been slow and a waste of
time as well as require horrible code in an upgrade step (text fields
do not accept defaults nor we can use NOTNULL).
2017-08-07 06:56:11 +02:00
David Monllao
5c140ac4c0 MDL-59307 analytics: Easy enable / disable 2017-07-27 12:25:23 +02:00
David Monllao
8f5a52b484 MDL-59638 analytics: Advance time splitting start instead of delay end 2017-07-27 12:03:21 +02:00
David Monllao
cbf4c391c2 MDL-57791 analytics: Fix error message for no evaluation models 2017-07-27 08:15:02 +02:00
David Monllao
4a210b0688 MDL-57791 analytics: Predictions deleted context management 2017-07-26 09:17:58 +02:00
Jake Dallimore
0eb594401d MDL-57791 analytics: fix for in_array 2017-07-26 13:25:37 +08:00
David Monllao
85e50ba405 MDL-57791 analytics: Set logstore during install
get_analytics_logstore updated to fix an edge case.
2017-07-25 11:05:03 +02:00
David Monllao
466f683aa6 MDL-57791 analytics: Compatibility with oracle
Also moved predictions test to analytics/tests/prediction_test.php
2017-07-24 17:49:09 +02:00
David Monllao
382a089052 MDL-57791 tests: Restore logstores pre-test state 2017-07-24 10:43:04 +02:00
David Monllao
e10b29ed0c MDL-57791 tool_analytics: From tool_models to tool_analytics 2017-07-24 08:37:03 +02:00
David Monllao
690ad8759d MDL-57791 analytics: Fixes during integration review
This commit includes the following changes:
- cibot complains fixes
- removed randomly failing test
- fixed course_dropout return
- other minor fixes
2017-07-24 08:37:03 +02:00
David Monllao
e709e54435 MDL-57791 analytics: Add builtin models during upgrade 2017-07-24 08:37:01 +02:00
David Monllao
08015e1895 MDL-57791 analytics: Add missing 'new' to throw
Also other code refinements. Credit to Mark Nelson.
2017-07-24 08:37:01 +02:00
David Monllao
2db6e9811b MDL-59212 analytics: Core indicators tests
Part of MDL-57791 epic.
2017-07-24 08:37:01 +02:00
David Monllao
206d7aa9ad MDL-59212 analytics: Move API uses out of analytics dir
Part of MDL-57791 epic.
2017-07-24 08:37:00 +02:00
David Monllao
21d4ae9353 MDL-59060 analytics: Allow all predictions to be retrieved
Part of MDL-57791 epic.
2017-07-24 08:37:00 +02:00
David Monllao
fbc18acda0 MDL-59212 analytics: Abstract equal parts and accum time splittings
Part of MDL-57791 epic.
2017-07-24 08:37:00 +02:00
David Monllao
f67bd6af70 MDL-59212 analytics: Expand unit test coverage
Part of MDL-57791 epic.
2017-07-24 08:36:59 +02:00
Damyon Wiese
68bfe1de40 MDL-59060 analytics: Add paging to insights report
Part of MDL-57791 epic.
2017-07-24 08:36:59 +02:00
David Monllao
b3d6879489 MDL-59212 analytics: Analyser and static methods tests
Part of MDL-57791 epic.
2017-07-24 08:36:59 +02:00
David Monllao
3a396286b1 MDL-57791 analytics: Always absolute full class names
Some extra tiny changes as well.
2017-07-24 08:36:50 +02:00
David Monllao
1cc2b4bac3 MDL-57791 analytics: Second review round 2017-07-24 08:36:50 +02:00
David Monllao
413f19bc49 MDL-59211 analytics: Make cibot happy
Part of MDL-57791 epic.
2017-07-24 08:36:49 +02:00
David Monllao
1611308b58 MDL-57791 analytics: Changes after review
- Split model::predict in parts
- JS promises updated according to eslint-plugin-promise
- New API methods replacing direct DB queries
- Reduce insights nav link display cost
- Increase time limit as well as memory for big processes
- Move prediction action event to core
- Dataset write locking and others
- Refine last time range end time
- Removed dodgy splitting method id to int
- Replace admin_setting_predictor output_html overwrite for write_setting overwrite
- New APIs for access control
- Discard invalid samples also during prediction
2017-07-24 08:36:49 +02:00
David Monllao
584ffa4ffc MDL-57791 analytics: Replace sql queries for API calls 2017-07-24 08:36:49 +02:00
David Monllao
27ae9af4ba MDL-57791 analytics: No UI in calculables APIs 2017-07-24 08:36:48 +02:00
David Monllao
3a217fc394 MDL-57791 analytics: Replace settings by get_archetype_roles 2017-07-24 08:36:48 +02:00
Ankit Agarwal
f39cebbb3c MDL-59119 analytics: Fix references to wrong var
Part of MDL-57791 epic.
2017-07-24 08:36:47 +02:00
David Monllao
cad362520f MDL-59010 analytics: Logstores initialised during tests
Part of MDL-57791 epic.
2017-07-24 08:36:47 +02:00
David Monllao
f67f35f324 MDL-59010 analytics: Direct db calls to logging API
Part of MDL-57791 epic.
2017-07-24 08:36:46 +02:00
David Monllao
8970ff91bb MDL-59174 analytics: Analyser queries to enrollib
Part of MDL-57791 epic.
2017-07-24 08:36:46 +02:00
David Monllao
bd164083eb MDL-59057 analytics: Unit test fixes
Updating tests according to courses - site_courses analysers change.

Part of MDL-57791 epic.
2017-07-24 08:36:45 +02:00
David Monllao
20b77f9b63 MDL-59057 analytics: Split up course analyser in 2
One at course level so teachers can get insights and another
one at system level so the insights go to the site admin.

Part of MDL-57791 epic.
2017-07-24 08:36:45 +02:00
David Monllao
5d7f06f4c8 MDL-59057 analytics: Get rid of week_before_course_start
It is useless at site level. It can be useful at course level but
I removed it in favour of single_range + is_valid_*

Part of MDL-57791 epic.
2017-07-24 08:36:45 +02:00
David Monllao
d8327b60b0 MDL-57791 analytics: Delete should be an instance method 2017-07-24 08:36:44 +02:00
David Monllao
f9e7447f42 MDL-57791 insights: Clarify insights-prediction boundaries 2017-07-24 08:36:44 +02:00
David Monllao
b0c2492906 MDL-59057 analytics: Standarize indicators and targets ids
Part of MDL-57791 epic.
2017-07-24 08:36:43 +02:00
David Monllao
e499074f39 MDL-59057 analytics: Adapt tests to static models API changes
Part of MDL-57791 epic.
2017-07-24 08:36:43 +02:00
David Monllao
a40952d384 MDL-59057 analytics: Introduce static models
Part of MDL-57791 epic.
2017-07-24 08:36:32 +02:00
David Monllao
d16cf374eb MDL-59162 tool_models: Remove dependant models on uninstall
Part of MDL-57791 epic.
2017-07-24 08:36:21 +02:00
Ankit Agarwal
5846c72c4d MDL-59117 core_analytics: Move all indicators to respective modules
Part of MDL-57791 epic.
2017-07-24 08:36:21 +02:00