Developer Area/Plugins/Third party

From Mahara Wiki

< Developer Area‎ | Plugins
Revision as of 14:56, 28 July 2020 by Lisaseeto (talk | contribs)

A list of the third party plugins within Mahara.

A helpful way to update this list is to go:

 find ./htdocs -type f -iname "README.Mahara" -exec grep 'Version' -B1 {} \; -print

on the current codebase.

Note: another thing to keep in sync is the country names we use for 'Country' dropdowns. To check what the current state of play is

 perl -MLocale::Country -le 'print join("\n", sort map { country2code($_) . " => " . country2code($_, LOCALE_CODE_ALPHA_3) . ", // " . $_ } all_country_names())'

and check the results against htdocs/lib/country.php and htdocs/lang/en.utf8/mahara.php files For any confusion you can also check against

Indicating what version they are on in Mahara and what they currently are on at time of publishing 09 Jan 2019:

Current versions marked in Red indicate the plugin needs updating/upgrading.

Name Readme file URL License Current version Latest version Latest branch version Requirements of latest version Note Estimated upgrade time
ADODB ./htdocs/lib/adodb/README.mahara Dual-licensed under the BSD and Lesser GPL license, with the BSD License having priority. 5.20.16 5.20.18   We need to update to version 5.21 for PHP 7.4 compatibility, but this has not been released as at July 2020 (Bug 1859528) The current roadmap is that issues related to PHP 7.3 and higher will only be fixed in ADOdb version 5.21+. Investigation needed, we could possibly want to go to 5.20.18
Bootstrap ./htdocs/lib/bootstrap/README.Mahara MIT License 4.3.1 4.5.0 Dependencies: Updated jQuery to v3.5.1 There have been 2 minor point releases since we upgraded Investigation needed (Liam?)
Bootstrap Datetimepicker ./htdocs/js/bootstrap-datetimepicker/README.mahara MIT License 4.17.47 4.17.47 runs using bootstrap and moment.js Current at July 2020 n/a
Chart.js ./htdocs/js/chartjs/README.mahara MIT License 2.7.3 2.9.3 PHP 5.3+ We're a couple of versions behind
- no security patches
In progress
Clipboard js ./htdocs/js/clipboard/README.Mahara MIT License 2.0.4 2.0.6 released March 2020 looks like a bug fix, looks like one of the smaller upgrades
Cookie consent ./htdocs/js/cookieconsent/README.mahara MIT License 3.1.1 3.1.1 Current at July 2020
NB: Has changed ownership, but there is still an OS version, which we are using
CSS Tidy ./htdocs/lib/csstidy/README.Mahara LGPL 1.7.1 1.7.1 PHP 5.4+ n/a
Dragon-drop ./htdocs/js/dragondrop/README.mahara MIT License 3.2.1 3.2.1 Up to date at July 2020
last updated August 2019
Dropzone ./htdocs/js/dropzone/README.mahara MIT License 5.5.0 5.7.0 Released Mar 10
last updated July 2020
we have no customisations, should be straight forward
Dwoo ./htdocs/lib/dwoo/README.Mahara, GNU Lesser General Public License v3.0 1.3.7 1.3.7 PHP 5.3+ Current at July 2020. Last updated July 2018 n/a
NB: This library is no longer maintained
Elastic Search ./htdocs/lib/elasticsearch/README.Mahara Apache v2.0 6.1.0 7.5 PHP 7.1
Patch in review to upgrade to 7.5, (Bug 1840101: update elasticsearch-php to 7.5) which currently works with ES server 6.8, but not 7.Note that our code needs to be upgraded so we can connect to ES server 7.6, which is a separate issue.
Investigation in process to upgrade our code.
fancybox3 ./htdocs/js/fancybox/README.Mahara GPL 3.0 3.5.6 3.5.7 no significant changes n/a
gridstack ./htdocs/js/gridstack/README.Mahara MIT License 0.4.0 1.0 A lot of activity in the past few months - looks to be significant structural changes, including removing jquery. Investigation needed, but looks like a large change (Cecilia?)
HTML Purifier ./htdocs/lib/htmlpurifier/README.Mahara LGPL v2.1+ 4.11.0 4.12.0 PHP >5.3 New version supports PHP 7.4 In progress
Javascript templates ./htdocs/js/javascript-templates/README.Mahara MIT License 3.11.0 3.13.0 node.js They made some formatting changes, but no real changes. We don't need to upgrade n/a
jQuery ./htdocs/js/jquery/README.Mahara MIT License 3.4.1 3.5.1 3.5.0 contained 2 security fixes amongst other changes, 3.5.1 fixes a regression in 3.5.0 medium to large effort
jQuery mobile ./htdocs/js/jquery/jquery-mobile/README.Mahara MIT License 1.5.0-alpha.1 1.5.0-rc1 released Sept 2018, last updated Jun 14, 2019 small? We are going from alpha to rc1, looks like minimal changes, may not need to upgrade at all
jQuery UI ./htdocs/js/jquery/jquery-ui/README.Mahara MIT License 1.12.1 1.12.1 jQuery 1.7+ last updated July 2020 n/a
jQuery UI plugin touch-punch ./htdocs/js/jquery/jquery-ui/jquery-ui-touch-punch.min.js MIT or GPL Version 2 licenses 0.2.3 0.2.3 jquery, jquery-ui is not currently being maintained n/a
JS Color ./htdocs/js/jscolor/README.Mahara GPL 3 2.0.5 2.0.5 Current at February 2020 n/a
Json editor ./htdocs/js/jsoneditor/README.Mahara MIT License 1.3.0 2.1.0 There are a number of changes, not sure how it will affect us Investigation needed
jTLine .htdocs/js/jTLine/README.Mahara MIT License 1.0 1.0 Last updated Aug 2018. Our version is forked from the original n/a
Lodash ./htdocs/js/lodash/README.Mahara MIT License 4.17.15 4.17.15 Current at February 2020 n/a
Marked ./htdocs/js/marked/README.Mahara MIT License 0.7.0 0.8.0 No security updates What we use is a min.js file, so it's hard to diff. Probably small effort to upgrade, but allow for medium due to unknown
Masonry ./htdocs/js/masonry/README.Mahara MIT License 4.2.2 4.2.2 Current at February 2020. Last updated Jul 2018 n/a
Mobile detect ./htdocs/lib/mobile_detect/README.Mahara MIT License 2.8.33 2.8.34   Supported devices have been updated Updating effort looks small
Moment.js ./htdocs/js/momentjs/README.Mahara MIT License 2.24.0 2.24.0 used in conjunction with the bootstrap datetimepicker. Current at February 2020 n/a
Oauth PHP ./htdocs/webservice/libs/oauth-php/README.Mahara MIT License 175 175 This package is not maintained and was last updated in 2010 We should replace with an oauth2 php library and / or checkout what Moodle do
PDFjs ./htdocs/artefact/file/blocktype/pdf/js/pdfjs/README.Mahara Apache License 2 2.2.228 2.3.200 A number of non-critical changes Medium to large upgrade, depending on if structure changes. Investigation needed
PHPMailer ./htdocs/lib/phpmailer/README.Mahara LGPL 6.0.6 6.1.4 Changes include compatibility fixes for PHP7.4 No security fixes In progress
Popper ./htdocs/lib/popper/README.Mahara MIT License 1.16.0 2.1.0 Very active project with a lot of releases. Used by Bootstrap. When Bootstrap updates to use popper V2x we will be able to upgrade popper.
ReCaptcha ./htdocs/lib/recaptcha/README.Mahara BSD-3 1.2.1 1.2.3   5.5+ Changes are to documentation, not code, so no need to update n/a
Select2 ./htdocs/js/select2/README.Mahara MIT License 4.0.9 4.0.13 Bug fixes and improvements, no major changes or security fixes At least medium effort to upgrade, as there are several changes in Mahara and quite a bit of testing
simplesamlphp /htdocs/auth/saml/extlib/simplesamlphp/ GPL 2.1 1.18.4 1.18.4 no changes n/a
Skin fonts /htdocs/lib/fonts/README.Mahara ,,, Multiple licenses n/a, 2.29, 5.000, 8.11 no changes n/a
System fonts ./htdocs/theme/raw/fonts/README.Mahara, ./htdocs/theme/raw/sass/lib/font-awesome/README.Mahara,,, MIT License, Apache License, version 2.0 5.8.1, 1, 1, 1.9 5.12.1, 1, 1, 1.9 minor changes to font awesome
medium effort to upgrade due to needing to check for issues.
TinyMCE ./htdocs/js/tinymce/README.Mahara LGPL 5.0.13 5.2 A number of bug fixes and improvements
Test on mobile when updating
probably only worth updating if we are affected by any of the bugs they are fixing. Need to investigate that and how long it would take.
TinyMCE - Mathslate ./htdocs/js/tinymce/plugins/mathslate/README.Mahara GPL 3 1.1 1.1 no changes
Our version is now forked to keep make it work with Tinymce 5
Video.js ./htdocs/artefact/file/blocktype/internalmedia/videojs/README.Mahara Apache License 2.0 7.6.5 7.8.4   Some bug fixes. Looks mostly minor changes
Needs investigation. Probably small to medium
zxcvbn ./htdocs/js/zxcvbn/README.Mahara MIT License 4.4.2 4.4.2 Current at February 2020
Last updated Feb 2017
Should we change to a maintained library, eg Yes we should but is that one just a port of the js version or is it an updated / more robust system?