catalyst / moodle-local_maillog Goto Github PK
View Code? Open in Web Editor NEWMail log plugin for Totara
Mail log plugin for Totara
Mail log plugin by Catalyst IT This plugin requires a changes to the core email_to_user function so that it will function - you will need to apply the patch file in patches/moodlelib.php against your moodle install first. * lib/moodlelib.php (see patch file in patches/moodlelib.patch) PLEASE NOTE: The Moodle version of this plugin doesn't currently provide a report that exposes the maillog data - you will need to view the data directly in the database until a report is developed.
Currently https://github.com/catalyst/moodle-local_maillog/blob/MOODLE_310_STABLE/classes/helper.php#L46
If you have a lot of emails with attachments, it tries to query a lot of rows and can fall over. For example, we had ~308k rows that this query would select, causing php to run out of memory (100mb)
Some possible improvements:
X-Moodle-Originating-Script: https://example.com => 8c037289674d:/auth/catalyst/classes/task/audit_email.php:155
This is so we can group by different classes of emails in reports
Totara 16.4 (Build: 20220826.00) command line installation program
Default exception handler: Table "config_plugins" does not exist Debug:
Error code: ddltablenotexist
* line 727 of /lib/dml/moodle_database.php: dml_exception thrown
* line 1604 of /lib/dml/moodle_database.php: call to moodle_database->where_clause()
* line 1850 of /lib/dml/moodle_database.php: call to moodle_database->get_records()
* line 1597 of /lib/moodlelib.php: call to moodle_database->get_records_menu()
* line 25 of /local/maillog/version.php: call to get_config()
* line 300 of /lib/classes/plugin_manager.php: call to include()
* line 330 of /lib/classes/plugin_manager.php: call to core_plugin_manager->load_present_plugins()
* line 230 of /lib/classes/plugininfo/base.php: call to core_plugin_manager->get_present_plugins()
* line 156 of /lib/classes/plugininfo/base.php: call to core\plugininfo\base->load_disk_version()
* line 93 of /lib/classes/plugininfo/base.php: call to core\plugininfo\base::make_plugin_instance()
* line 390 of /lib/classes/plugin_manager.php: call to core\plugininfo\base::get_plugins()
* line 350 of /lib/classes/plugin_manager.php: call to core_plugin_manager->get_plugins_of_type()
* line 741 of /lib/classes/plugin_manager.php: call to core_plugin_manager->get_plugins()
* line 188 of /admin/cli/install_database.php: call to core_plugin_manager->all_plugins_ok()
Recent changes to version.php in particular with get_config calling is causing issues on install. I believe the code should be moved to upgrade.php instead and might fix the install issue.
Just a heads up here not a change request, happy to fork.
Have some tooling that depends on version numbers being able to parsed as a u32.
The version number for Totara is not a normal version and I'm surprised Totara has allows the installation of it in the first place.
Since it's since been incremented to 001
there is no 10 char version number that can be a smooth upgrade.
Option 1)
As an email comes in split both to and from into the inbox + domain parts are store them separately. This might make it harder to report on the whole email
Option 2)
As an email comes in split the domain out and store the full email in 1 field and the domain in another. Will increase data size but probably be much nicer to work with on the reporting side
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.