6fc3618bd5
Unfortunately the babel minify-mangle plugin seems to be abandoned and in certain circumstances can be very buggy. The only safe options are to disable it, or to switch to a different minification library. Not minifying our javascript is not ideal, so this commit updates the javascript tasks to use a rollup, combined with babel, and terser. Babel still converts code from ES/UMD/AMD to AMD modules with the relevant browser support, whilst terser minifies the code. The rollup bundler handles tracking and creation of sourcemaps, and supports better parallelisation of the tasks. Since the upgrade to Node LTS/Gallium requires an upgrade to @babel/core and eslint, which change the built files anyway, this seems like the ideal time to make this change.
ACTIVITY MODULES
----------------
These are main modules in Moodle, allowing various activities.
Each of these modules contains a number of expected components:
mod_form.php: a form to setup/update a module instance
version.php: defines some meta-info and provides upgrading code
pix/icon.gif: a 16x16 icon for the module
db/install.xml: an SQL dump of all the required db tables and data
index.php: a page to list all instances in a course
view.php: a page to view a particular instance
lib.php: any/all functions defined by the module should be in here.
constants should be defined using MODULENAME_xxxxxx
functions should be defined using modulename_xxxxxx
There are a number of standard functions:
modulename_add_instance()
modulename_update_instance()
modulename_delete_instance()
modulename_user_complete()
modulename_user_outline()
modulename_cron()
modulename_print_recent_activity()
If you are a developer and interested in developing new Modules see:
Moodle Documentation: http://moodle.org/doc
Moodle Community: http://moodle.org/community