Actions

Developer Area/Plugins/Third party

From Mahara Wiki

< Developer Area‎ | Plugins
Revision as of 16:51, 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 https://www.iso.org

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 http://adodb.org/ 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 https://getbootstrap.com/ 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 https://eonasdan.github.io/bootstrap-datetimepicker/ 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 http://www.chartjs.org 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 https://clipboardjs.com/ 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 https://www.osano.com/cookieconsent 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
n/a
CSS Tidy ./htdocs/lib/csstidy/README.Mahara https://github.com/Cerdic/CSSTidy LGPL 1.7.1 1.7.1 PHP 5.4+ n/a
Dragon-drop ./htdocs/js/dragondrop/README.mahara https://github.com/schne324/dragon-drop MIT License 3.2.1 3.2.1 Up to date at July 2020
last updated August 2019
n/a
Dropzone ./htdocs/js/dropzone/README.mahara https://github.com/enyo/dropzone 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 http://dwoo.org/, https://github.com/dwoo-project/dwoo 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 https://github.com/elastic/elasticsearch-php Apache v2.0
LGPL v2.1
6.1.0 7.8.0 PHP 7.1 https://github.com/elastic/elasticsearch-php/blob/master/CHANGELOG.md
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.
---
Elastic Search PHP 7.8.0 is compatible with Elastic Search 7.8.0
fancybox3 ./htdocs/js/fancybox/README.Mahara https://fancyapps.com/fancybox/3/ GPL 3.0 3.5.6 3.5.7 no significant changes n/a
gridstack ./htdocs/js/gridstack/README.Mahara https://github.com/gridstack/gridstack.js 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 http://www.htmlpurifier.org/ 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 https://github.com/blueimp/JavaScript-Templates 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 http://jquery.com/ 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 http://jquerymobile.com 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 http://jqueryui.com/ 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 http://touchpunch.furf.com/ 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 http://jscolor.com/ GPL 3 2.0.5 2.0.5 Current at February 2020 n/a
Json editor ./htdocs/js/jsoneditor/README.Mahara https://github.com/json-editor/json-editor 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 https://naadydev.github.io/jTLine/ 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 https://github.com/lodash/lodash MIT License 4.17.15 4.17.15 Current at February 2020 n/a
Marked ./htdocs/js/marked/README.Mahara https://github.com/markedjs/marked 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 https://masonry.desandro.com/ 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 http://mobiledetect.net/ MIT License 2.8.33 2.8.34   Supported devices have been updated Updating effort looks small
Moment.js ./htdocs/js/momentjs/README.Mahara http://momentjs.com/ 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 http://code.google.com/p/oauth-php/ MIT License 175 175 This package is not maintained and was last updated in 2010 We should replace with an oauth2 php library https://oauth.net/code/php/ and / or checkout what Moodle do
PDFjs ./htdocs/artefact/file/blocktype/pdf/js/pdfjs/README.Mahara http://mozilla.github.io/pdf.js/getting_started/#download 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 https://github.com/PHPMailer/PHPMailer 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 https://popper.js.org/ 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 https://github.com/google/recaptcha 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 https://select2.org/ 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/README.md https://github.com/simplesamlphp/simplesamlphp GPL 2.1 1.18.4 1.18.4 no changes n/a
Skin fonts /htdocs/lib/fonts/README.Mahara http://www.fontsquirrel.com/fonts/Aurulent-Sans ,http://www.fontsquirrel.com/fonts/DejaVu-Sans, http://scripts.sil.org/cms/scripts/page.php?item_id=CharisSIL, http://sourceforge.net/projects/gs-fonts/ 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 http://fontawesome.io, https://www.google.com/fonts/specimen/Open+Sans, https://www.google.com/fonts/specimen/Roboto+Slab http://fontawesome.io/license, 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
https://github.com/FortAwesome/Font-Awesome/blob/master/UPGRADING.md
medium effort to upgrade due to needing to check for issues.
TinyMCE ./htdocs/js/tinymce/README.Mahara https://www.tiny.cloud/ LGPL 5.0.13 5.2 A number of bug fixes and improvements
https://www.tiny.cloud/docs/changelog/
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 https://github.com/dthies/tinymce4-mathslate GPL 3 1.1 1.1 no changes
Our version is now forked to keep make it work with Tinymce 5
n/a
Video.js ./htdocs/artefact/file/blocktype/internalmedia/videojs/README.Mahara http://videojs.com/ Apache License 2.0 7.6.5 7.8.4   Some bug fixes. Looks mostly minor changes
https://github.com/videojs/video.js/releases
Needs investigation. Probably small to medium
zxcvbn ./htdocs/js/zxcvbn/README.Mahara https://github.com/dropbox/zxcvbn MIT License 4.4.2 4.4.2 Current at February 2020
Last updated Feb 2017
Should we change to a maintained library, eg https://github.com/bjeavons/zxcvbn-php? Yes we should but is that one just a port of the js version or is it an updated / more robust system?