Actions

Developer Area/Plugins/Third party

From Mahara Wiki

< Developer Area‎ | Plugins
Revision as of 22:05, 19 August 2021 by Doristam (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 18 Feb 2021.

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

Name Readme file URL License Current version Latest version Min support Maj|Min Security Req. of latest version Notes Estimated upgrade time Notifications
ADODB ./htdocs/lib/adodb/ - https://adodb.org/dokuwiki/doku.php
- https://github.com/ADOdb/ADOdb
- https://github.com/ADOdb/ADOdb/blob/v5.21.0/docs/changelog.md
- BSD 3-Clause
- GNU Lesser General Public Licence
5.20.20
5.21.1 5.20.20 Security - 5.21.0 incl.5.21.0-beta.1 - 2020-12-20
- adodb: prevent SQL injection in SelectLimit()
- session: add 'httponly' flag to cookie

Minor
- Deprecation
- mysqli: Deprecate $optionFlags property in favor
of standard setConnectionParameter() method
Yes - Compatible with all PHP versions ADOB release all news on current releases + important bug fixes on https://twitter.com/ADOdb_announce first.
Bootstrap htdocs/lib/bootstrap/assets/javascripts/
- https://getbootstrap.com/
- https://github.com/twbs/release
MIT License 4.6.0 5.1.0 4.x (LTS) - 01 Nov 2022 Major Bootstrap has an RSS feed: https://blog.getbootstrap.com/feed.xml
and a twitter account: https://twitter.com/getbootstrap
Bootstrap
Datetimepicker
./htdocs/js/bootstrap-datetimepicker/ - https://getdatepicker.com/
- https://github.com/tempusdominus/bootstrap-4
MIT License 4.17.47 5.39.0 Developer has stopped
working on the project.
None runs using bootstrap and moment.js
Version 4 is not maintained anymore.
There is a version 5 but not finished.

n/a
Chart.js ./htdocs/js/chartjs/ http://www.chartjs.org MIT License 2.9.3 3.5.1 2.x - 2.9.4
3.x - 3.0.0 rel Apr 21
Minor - 2.9.4: bug fixes

Major - 3.0.0 breaking changes
- https://www.chartjs.org/docs/next/getting-started/v3-migration
- https://www.npmjs.com/package/chart.js
- https://www.chartjs.org/docs/next/typedoc/
- https://www.chartjs.org/samples/next/
- https://www.chartjs.org/docs/next/

Minor - 3.0.1 bug fixes
n/a
Clipboard js ./htdocs/js/clipboard/ https://clipboardjs.com/ MIT License 2.0.6 2.0.8 Patch fix n/a
Cookie consent ./htdocs/js/cookieconsent/ - https://www.osano.com/cookieconsent
- https://github.com/osano/cookieconsent
MIT License 3.1.1 3.1.1 New updates are
proprietary.
None Looks like the opensource version is not maintained - last update two years ago.
The site talks about new versions 2021.6 and 2021.2.3 which are not available. on GitHub.
n/a
CSS Tidy ./htdocs/lib/csstidy/ https://github.com/Cerdic/CSSTidy LGPL 1.7.1 1.7.3 Not maintained, 2020 None - n/a
Dragon-drop ./htdocs/js/dragondrop/ https://github.com/schne324/dragon-drop MIT License 3.2.1 3.6.1 Minor - changelog not available. Current as of 2021-02-18
last updated August 2019
n/a
Datatables https://datatables.net/
https://datatables.net/download/index
MIT License 1.10.20 1.10.25 Patch
Dropzone ./htdocs/js/dropzone/ https://github.com/dropzone/dropzone/release


MIT License 5.7.6 5.9.2 Minor
- switched to yarn
- moved the ./src/options.js previewTemplate in its own
preview-template.html file
- Dropzone triggers custom events on DOM using dropzone:
Released 2021-02-09
last updated July 2020
n/a
Dwoo ./htdocs/lib/dwoo/ http://dwoo.org/, https://github.com/dwoo-project/dwoo GNU Lesser General Public License 1.3.7 1.3.7 PHP 5.3+ Current as of 2021-02-18. Last updated July 2018PHP 5.3+ NB: This library is no longer maintained n/a
We will soon look at replacing this library
Elastic Search ./htdocs/lib/elasticsearch/ https://github.com/elastic/elasticsearch-php Apache v2.0
LGPL v2.1
6.1.0 7.11.0 - look in the bug report 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)
- 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
signed up to mailing list
fancybox3 ./htdocs/js/fancybox/ https://fancyapps.com/fancybox/3/ GPL 3.0 3.5.6 3.5.7 no significant changes Make their announcements via twitter
https://twitter.com/thefancyapps
gridstack ./htdocs/js/gridstack/ https://github.com/gridstack/gridstack.js MIT License 0.4.0 3.3.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?)
Change log: https://github.com/gridstack/gridstack.js/blob/develop/doc/CHANGES.md
questions can be posted in their slack channel
slack channel
HTML Purifier ./htdocs/lib/htmlpurifier/ http://www.htmlpurifier.org/ LGPL v2.1+ 4.13.0 4.13.0 PHP >5.3 New version supports PHP 7.4 updates via the 'NEWS' section on github README
https://github.com/ezyang/htmlpurifier/blob/v4.13.0/NEWS
Javascript templates ./htdocs/js/javascript-templates/ https://github.com/blueimp/JavaScript-Templates MIT License 3.11.0 3.19.0 node.js They made some formatting changes, but no real changes. We don't need to upgrade n/a n/a
jQuery ./htdocs/js/jquery/ http://jquery.com/ MIT License 3.5.1 3.5.1 Twitter: https://twitter.com/jquery
QA: https://forum.jquery.com/
IRC https://irc.jquery.org/Looks like Bug #1840101 has started looking into this.
jQuery mobile ./htdocs/js/jquery/jquery-mobile/ http://jquerymobile.com MIT License 1.5.0-alpha.1 1.5.0-rc1 released Sept 2018, last updated Jun 14, 2019
touch.js last updated June 2016 (https://github.com/jquery/jquery-mobile/blob/master/js/events/touch.js)
No significant changes QA: https://forum.jquery.com/jquery-mobile/
jQuery UI ./htdocs/js/jquery/jquery-ui/ http://jqueryui.com/ MIT License 1.12.1 1.12.1 jQuery 1.7+ last updated July 2020 n/a jQuery Accessibility jquery a11y forum
jQuery UI plugin
touch-punch
./htdocs/js/jquery/jquery-ui/
jquery-ui-touch-punch.min.js
http://touchpunch.furf.com/
https://github.com/furf/jquery-ui-touch-punch
MIT or GPL Version 2 licenses 0.2.3 0.2.3 jquery, jquery-ui is not currently being maintained - update: the site no longer exists n/a n/a
JS Color ./htdocs/js/jscolor/README.Mahara http://jscolor.com/ GPL 3 2.3.3 2.4.5 bug fixes, extended features, performance tweaks we have no customisations, hopefull straight forward upgrade n/a
Json editor ./htdocs/js/jsoneditor/README.Mahara https://github.com/json-editor/json-editor MIT License 1.3.0 2.5.1 There are a number of changes, not sure how it will affect us Investigation needed n/a
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 Twitter: https://twitter.com/naadydev
Lodash ./htdocs/js/lodash/README.Mahara https://github.com/lodash/lodash MIT License 4.17.15 4.17.20 - n/a?? Lodash was brought in with gridstack- gridstack v0.5.0 no longer have it as a requirement,
if we upgrade gridstack we can probably let lodash go?
n/a - after we upgrade gridstack Lodash will be gone
Marked ./htdocs/js/marked/README.Mahara https://github.com/markedjs/marked MIT License 1.1.1 2.0.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 n/a
Masonry ./htdocs/js/masonry/README.Mahara https://masonry.desandro.com/ MIT License 4.2.2 4.2.2 Current as of 2021-02-18. Last updated Jul 2018 n/a n/a
Mobile detect ./htdocs/lib/mobile_detect/ http://mobiledetect.net/ MIT License 2.8.34 2.8.36 Supported devices have been updated Updating effort looks small n/a
Moment.js ./htdocs/js/momentjs/ http://momentjs.com/ MIT License 2.24.0 2.29.1 used in conjunction with the bootstrap datetimepicker. 2 releases have come out, looks like bug fixes
change log: https://gist.github.com/marwahaha
probably a small upgrade effort
n/a
Oauth PHP ./htdocs/webservice/libs/oauth-php/ 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 n/a
PDFjs ./htdocs/artefact/file/blocktype/pdf/js/pdfjs/ http://mozilla.github.io/pdf.js/getting_started/#download Apache License 2 2.2.228 2.6.347 change log:https://github.com/mozilla/pdf.js/releases Medium to large upgrade, depending on if structure changes. Investigation needed n/a
PHPMailer ./htdocs/lib/phpmailer/ https://github.com/PHPMailer/PHPMailer LGPL 6.1.5 6.2.0 Security update as well as compatibility for PHP 8 in latest version. In progress <-- is there a patch for this? The latest version is now 6.1.7 (maintenance release) n/a
Popper ./htdocs/lib/popper/ https://popper.js.org/ MIT License 1.16.0 2.7.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.
https://github.com/twbs/bootstrap/pull/31178
n/a
ReCaptcha ./htdocs/lib/recaptcha/ https://github.com/google/recaptcha BSD-3 1.2.1 1.2.4 5.5+ Changes are to documentation, not code, so no need to update n/a n/a
Select2 ./htdocs/js/select2/ 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 n/a
simplesamlphp /htdocs/auth/saml/extlib/simplesamlphp/ https://github.com/simplesamlphp/simplesamlphp GPL 2.1 1.18.7 1.18.8 We have joined the mailing list
https://simplesamlphp.org/lists
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 n/a
System fonts - ./htdocs/theme/raw/fonts/
- ./htdocs/theme/raw/sass/lib/font-awesome/
- 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.14.0
- 1
- 1
- 1.9
changes to unicode for fontawesome
- https://github.com/FortAwesome/Font-Awesome/blob/master/UPGRADING.md
medium effort to upgrade due to needing to check for issues. n/a
Current at July 2020
TinyMCE ./htdocs/js/tinymce/README.Mahara https://www.tiny.cloud/ LGPL 5.0.13 5.7.0 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.
Blog: https://www.tiny.cloud/blog/category/news-and-updates/
TinyMCE - Mathslate ./htdocs/js/tinymce/plugins/mathslate/ 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 n/a
Video.js ./htdocs/artefact/file/blocktype/internalmedia/
videojs/
http://videojs.com/ Apache License 2.0 7.6.5 7.11.4 Some bug fixes. Looks mostly minor changes
https://github.com/videojs/video.js/releases
Needs investigation. Probably small to medium we have signed up to their mailing list
zxcvbn ./htdocs/js/zxcvbn/ https://github.com/dropbox/zxcvbn MIT License 4.4.2 4.4.2 Current as of 2021-02-18
Last updated Feb 2017
Should we change to a maintained library, eg https://github.com/bjeavons/zxcvCurrent at July 2020bn-php?
Yes we should but is that one just a port of the js version or is it an updated / more robust system?
composer.json https://git.mahara.org/mahara/mahara/
-/blob/master/external/composer.json
There is a list of libraries that Mahara uses sitting in this file which also need updating too