Commit Graph

28 Commits

Author SHA1 Message Date
sam marshall a938e4096c MDL-60174 core_dml: fix miscellaneous incorrect recordset usage
The new recordset support for Postgres requires transactions and
will cause errors if recordsets are not closed correctly. This
commit fixes problems that were identified during unit tests, and
via some basic code analysis, across all core code. Most of these
are incorrect usage of recordset (forgetting to close them).
2017-11-27 11:10:33 +00:00
David Monllao 6e98bca0ba MDL-60388 analytics: Any write action looking at all contexts below course 2017-10-20 13:20:46 +02:00
Andrew Nicols 0b53be9056 Merge branch 'MDL-59987_master' of git://github.com/dmonllao/moodle 2017-10-17 12:00:51 +08:00
David Monllao e08c74f5bc MDL-59630 analytics: Unit tests fixes 2017-10-05 17:38:17 +02:00
David Monllao 0328f12b07 MDL-59987 analytics: Add extra indicators for students at risk 2017-10-03 19:42:03 +02:00
David Monllao 0927604f8c MDL-59987 analytics: Add no students indicator to no teaching
Sneaking in a bug fix ;) (thanks in advance)
2017-10-03 19:41:43 +02:00
David Monllao f9222c4953 MDL-59630 analytics: New clean up task 2017-10-03 10:34:43 +02:00
David Monllao 0690a271c3 MDL-59067 analytics: Store indicator calculations
This was supposed to be split into multiple commits to make it easier to understand
but I failed to do it properly. So this is the list of changes:

- New analytics_indicator_calc db table to store indicators calculations
- Reuse previous calculations during prediction/training; other models
  previous calculations should also be reused as long as they belong to
  the same sample (sampleid depends on sampleorigin), time range and indicator
- Allow bulk inserting of these calculations as this can hurt database performance
- Block the same analysable to be analysed for training and for prediction
- Use a new instance of the target and use it for is_valid_* functions
  as using ::is_valid_sample can lead to problems if people
  uses it to cache stuff
2017-08-22 22:28:04 +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 4a210b0688 MDL-57791 analytics: Predictions deleted context management 2017-07-26 09:17:58 +02: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 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 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 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 b0c2492906 MDL-59057 analytics: Standarize indicators and targets ids
Part of MDL-57791 epic.
2017-07-24 08:36:43 +02:00
David Monllao b94dbb5561 MDL-57791 analytics: Remove references to project inspire 2017-07-24 08:36:20 +02:00
David Monllao 369389c9a6 MDL-58859 analytics: Analytics API added to core
Part of MDL-57791 epic.
2017-07-24 07:53:03 +02:00