Developer Area/Plugins/Third party: Difference between revisions
From Mahara Wiki
< Developer Area | Plugins
No edit summary |
No edit summary |
||
(14 intermediate revisions by the same user not shown) | |||
Line 27: | Line 27: | ||
*'''Mahara version''' = the <code>README.Mahara</code> file for the library | [https://nodejs.dev/learn/semantic-versioning-using-npm SemVer Info] - explaining the symbols in the Mahara version column | *'''Mahara version''' = the <code>README.Mahara</code> file for the library | [https://nodejs.dev/learn/semantic-versioning-using-npm SemVer Info] - explaining the symbols in the Mahara version column | ||
*'''Latest version''' = the most recent available version | *'''Latest version''' = the most recent available version | ||
*''' | *'''Update type''' = what upgrades are available for this plugin, i.e. major, minor, patch, or security? | ||
*'''Support''' = Is there a community supporting this library? When was the last release year if not in active support | |||
*'''Support''' = Is there a community supporting this library? | |||
**Active: There is ongoing work being put into the library | **Active: There is ongoing work being put into the library | ||
**Inactive: Maintained but not actively making releases | **Inactive: Maintained but not actively making releases | ||
**Archived: Not being maintained | **Archived: Not being maintained | ||
**Deprecated (officially): All maintainers have left, and site may not exist in extreme cases. | **Deprecated (officially): All maintainers have left, and site may not exist in extreme cases. | ||
*'''License''' = software license for the library | *'''License''' = software license for the library | ||
*''' | *'''Notes''' = extra information, e.g. resources, notes, and new | ||
* | *'''Composer''' = check if the library is managed by Composer | ||
'''PHP versions in support''' https://www.php.net/supported-versions.php | *'''NPM''' = check if the library is managed by NPM | ||
'''PHP versions in support''' https://www.php.net/supported-versions.php<nowiki/> – 14 LTS - Ends security support in 30 Apr 2023, go to 16 LTS soon | |||
💡 A new idea is being proposed to better handle customisations on updating third party libraries lives here → https://reviews.mahara.org/c/mahara/+/13780 | 💡 A new idea is being proposed to better handle customisations on updating third party libraries lives here → https://reviews.mahara.org/c/mahara/+/13780 | ||
Line 46: | Line 44: | ||
https://eusonlito.github.io/php-changes-cheatsheet/deprecated.html | https://eusonlito.github.io/php-changes-cheatsheet/deprecated.html | ||
Libraries are managed by Composer. See <code>composer.json</code> | Libraries are managed by Composer. See <code>composer.json</code> | ||
Run <code>composer show</code> to get a quick summary of library versions managed by Composer. | |||
Run <code>composer outdated</code> to get a list of outdated libraries. | |||
🟡 Libraries yet to be moved to Composer: SimpleSAMLPHP - currently lives in <code>htdocs/auth/saml/extlib</code> and the version is managed in Makefile by curl. | 🟡 Libraries yet to be moved to Composer: SimpleSAMLPHP - currently lives in <code>htdocs/auth/saml/extlib</code> and the version is managed in Makefile by curl. | ||
Line 53: | Line 55: | ||
!'''Name''' | !'''Name''' | ||
!'''Mahara <br />version''' | !'''Mahara <br />version''' | ||
!'''Update type''' | !'''Update type''' | ||
!'''Support''' | !'''Support''' | ||
Line 61: | Line 61: | ||
!'''Composer''' | !'''Composer''' | ||
|- | |- | ||
| style="font-weight:bold;" |ADODB | | style="font-weight:bold;" |'''ADODB''' | ||
|5.22.6 | |5.22.6 | ||
|Up to date | |Up to date | ||
|Active | |Active | ||
|BSD 3-Clause<br />LGPL | |BSD 3-Clause<br />LGPL | ||
Line 71: | Line 69: | ||
|✅ | |✅ | ||
|- | |- | ||
| style="font-weight:bold;" |CSS Tidy | | style="font-weight:bold;" |'''CSS Tidy''' | ||
|2.0 | |2.1.0 | ||
|Up to date | |Up to date | ||
|Active | |Active | ||
|LGPL | |LGPL | ||
Line 81: | Line 77: | ||
|✅ | |✅ | ||
|- | |- | ||
| style="font-weight:bold;" |Elasticsearch | | style="font-weight:bold;" |'''Elasticsearch PHP''' | ||
| style="color:#333;" |7.17.2 | | style="color:#333;" |7.17.2 | ||
|8. | |Major, 8.10.0 | ||
|Active | |Active | ||
|Apache v2.0 LGPL v2.1 | |Apache v2.0 LGPL v2.1 | ||
|[https://github.com/elastic/elasticsearch-php GitHub]<nowiki> | </nowiki>[https://github.com/elastic/elasticsearch-php/blob/master/CHANGELOG.md Changelog] | |[https://github.com/elastic/elasticsearch-php GitHub]<nowiki> | </nowiki>[https://github.com/elastic/elasticsearch-php/blob/master/CHANGELOG.md Changelog] | ||
Move to OpenSearch | |||
|✅ | |✅ | ||
|- | |- | ||
| style="font-weight:bold;" |HTML Purifier | | style="font-weight:bold;" |'''HTML Purifier''' | ||
|4. | |4.16.0 | ||
|Up to date | |Up to date | ||
| | |2022 | ||
|LGPL v2.1+ | |LGPL v2.1+ | ||
|[http://www.htmlpurifier.org/ HTML Purifier]<nowiki> | </nowiki>[https://github.com/ezyang/htmlpurifier/ GitHub] | |[http://www.htmlpurifier.org/ HTML Purifier]<nowiki> | </nowiki>[https://github.com/ezyang/htmlpurifier/ GitHub] | ||
|✅ | |✅ | ||
|- | |- | ||
| style="font-weight:bold;" |PHPMailer | | style="font-weight:bold;" |'''PHPMailer''' | ||
|6.8.1 | |6.8.1 | ||
|Up to date | |Up to date | ||
|Active | |Active | ||
|LGPL | |LGPL | ||
Line 116: | Line 103: | ||
|✅ | |✅ | ||
|- | |- | ||
| style="font-weight:bold;" |ReCaptcha | | style="font-weight:bold;" |'''ReCaptcha''' | ||
|1.2.4 | |1.2.4 | ||
|1. | |Minor, 1.3.0 | ||
|Active | |Active | ||
|BSD-3 | |BSD-3 | ||
|[https://github.com/google/recaptcha GitHub] | |[https://github.com/google/recaptcha GitHub] | ||
|✅ | |✅ | ||
|- | |- | ||
| style="font-weight:bold;" |simplesamlphp | | style="font-weight:bold;" |'''simplesamlphp''' | ||
|2.0.4 | |2.0.4 | ||
|2.0.6 | |Minor, 2.0.6 | ||
|Active | |Active | ||
|GPL 2.1 | |GPL 2.1 | ||
|[https://github.com/simplesamlphp/simplesamlphp GitHub] | |[https://github.com/simplesamlphp/simplesamlphp GitHub] | ||
Optional library - called in Makefile | |||
|❌ | |❌ | ||
|} | |} | ||
Line 150: | Line 127: | ||
Goal: to move libraries to be managed by NPM | Goal: to move libraries to be managed by NPM | ||
==== NPM-managed JS libraries ==== | |||
{| class="wikitable sortable" style="vertical-align:middle;" | {| class="wikitable sortable" style="vertical-align:middle;" | ||
|- style="font-weight:bold; text-align:center;" | |- style="font-weight:bold; text-align:center;" | ||
!'''Name''' | !'''Name''' | ||
!'''Mahara <br />version''' | !'''Mahara <br />version''' | ||
!'''Update type''' | !'''Update type''' | ||
!'''Support''' | !'''Support''' | ||
!'''License''' | !'''License''' | ||
!''' | !'''Notes''' | ||
|- | |- | ||
| style="font-weight:bold;" | | | style="font-weight:bold;" |'''yargs''' | ||
|5.0.2 | |5.0.2 | ||
|5. | |Minor, 5.3.2 | ||
|Active | |Active | ||
|MIT | |MIT | ||
| | | | ||
|- | |- | ||
| style="font-weight:bold;" | | style="font-weight:bold;" |'''Chart.js''' | ||
|3.9.1 | |||
|Major, 4.4.0 | |||
|''' | |Active | ||
| | |||
| | |||
|Active | |||
|MIT | |MIT | ||
|[https:// | |[https://www.chartjs.org/docs/latest/migration/v4-migration.html Migration to v4] | ||
|- | |- | ||
| style="font-weight:bold;" | | style="font-weight:bold;" |'''Clipboard js''' | ||
|2.0.11 | |||
|''' | |Up to date | ||
| | |||
| | |||
|Active | |Active | ||
|MIT | |MIT | ||
| | |version # is tagged | ||
|- | |- | ||
| style="font-weight:bold;" | | style="font-weight:bold;" |'''Dragon-drop''' | ||
|3.6.1 | |||
|''' | |Up to date | ||
| | |2020 | ||
| | |||
| | |||
|MIT | |MIT | ||
| | | | ||
|- | |- | ||
| style="font-weight:bold;" | | | style="font-weight:bold;" |'''Dropzone''' | ||
|5.9.3 | |||
|Patch, 5.9.3 | |||
| | |2021 | ||
| | |||
| | |||
|MIT | |MIT | ||
| | | | ||
|- | |- | ||
| style="font-weight:bold;" | | style="font-weight:bold;" |'''jQuery''' | ||
|3.7.1 | |||
|''' | |Up to date | ||
| | |||
| | |||
|Active | |Active | ||
|MIT | |MIT | ||
|[https:// | |[https://forum.jquery.com/ Forum] | ||
|- | |- | ||
| style="font-weight:bold;" | | style="font-weight:bold;" |'''jQuery UI''' | ||
|1.13.2 | |||
|''' | |Up to date | ||
| | |Active | ||
| | |||
| | |||
|MIT | |MIT | ||
| | | | ||
| | |- | ||
| style="font-weight:bold;" |'''JS Color''' | |||
|2.5.1 | |||
|Up to date | |||
|Inactive,2022 | |||
|GPL 3 | |||
| | |||
|- | |- | ||
| style="font-weight:bold;" | | style="font-weight:bold;" |'''Marked''' | ||
|4.3.0 | |||
|''' | |Minor, 4.3.0 | ||
Major 9.1.0 | |||
|Active | |Active | ||
|MIT | |MIT | ||
| | | | ||
|- | |- | ||
| style="font-weight:bold;" | | style="font-weight:bold;" |'''Moment.js''' | ||
|2.29.4 | |||
|''' | |Up to date | ||
| | |||
| | |||
|Active | |Active | ||
|MIT | |MIT | ||
|[http:// | |[http://momentjs.com/ Moment JS] 🆕 [https://moment.github.io/luxon/#/ Luxon GitHub] | ||
|- | |- | ||
| style="font-weight:bold;" | | style="font-weight:bold;" |'''Popper''' | ||
|2.11.8 | |||
|''' | |Up to date | ||
| | |||
| | |||
|Active | |Active | ||
|MIT | |MIT | ||
|[ | |[https://github.com/twbs/bootstrap/issues/31451 GitHub issue]<nowiki> | </nowiki>[https://dev.to/fezvrasta/smarter-tooltips-and -popovers-with-popper-2-44bh tooltips] | ||
| | '''Floating UI''' | ||
|- | |||
| style="font-weight:bold;" |'''Fontawesome''' | |||
|6.4.2 | |||
|Up to date | |||
|Active | |||
|SIL OFL 1.1 | |||
|[https://fontawesome.com/docs/web/setup/upgrade/ Upgrade steps]<nowiki> | </nowiki>[https://fontawesome.com/docs/changelog/ Changelog] | |||
|- | |- | ||
| style="font-weight:bold;" | | | style="font-weight:bold;" |'''TinyMCE''' | ||
| | |5.10.7 | ||
| | |Major, 6.7.0 | ||
| | |Active | ||
| | |LGPL 2.1 | ||
| | |[https://www.tiny.cloud/get-tiny/self-hosted Downloads]<nowiki> | </nowiki>[https://www.tiny.cloud/docs/changelog/ Changelog] | ||
📲 Test mobile | |||
|- | |- | ||
| style="font-weight:bold;" | | style="font-weight:bold;" |'''Video.js''' | ||
|7.21.5 | |||
|''' | |Major, 8.5.2 | ||
| | |||
| | |||
|Active | |Active | ||
|<small>.../js/ | |Apache License 2.0 | ||
|[http://videojs.com/ Video JS] | |||
|} | |||
==== Manually managed JS libraries ==== | |||
{| class="wikitable sortable" style="vertical-align:middle;" | |||
|- style="font-weight:bold; text-align:center;" | |||
!'''Name''' | |||
!'''Mahara <br />version''' | |||
!'''Update type''' | |||
!'''Support''' | |||
!'''Location<br />'''<code><small>(./htdocs/...)</small></code> | |||
!'''License''' | |||
!'''Notes''' | |||
!'''NPM''' | |||
|- | |||
| style="font-weight:bold;" |'''Date time''' | |||
'''picker''' | |||
|4.17.47 | |||
|Major 6.17.16 | |||
|Active - v6 | |||
|<small>.../js/bootstrap-datetimepicker/</small> | |||
|MIT | |MIT | ||
|[https:// | |[https://getdatepicker.com/6/change-log.html Changelog] | ||
| | |||
Latest release: rewrite (beta) | |||
|❌ | |||
|- | |- | ||
| style="font-weight:bold;" | | style="font-weight:bold;" |'''Datatables''' | ||
|1.11.4 | |||
|''' | |Minor | ||
| | |||
| | |||
|Active | |Active | ||
|<small>.../js/ | |<small>.../js/DataTables/</small> | ||
|MIT | |MIT | ||
|[https:// | |[https://datatables.net/download/index Download] | ||
| | [https://cdn.datatables.net/ Release notes CDN] | ||
|❌ Need to use web builder | |||
|- | |- | ||
| style="font-weight:bold;" | | style="font-weight:bold;" |'''Gridstack''' | ||
|4.4.1 | |||
|''' | |Major | ||
|Active | |Active | ||
|<small>.../js/ | |<small>.../js/gridstack/</small> | ||
|MIT | |MIT | ||
|[ | |[Demos](<nowiki>https://gridstackjs.com/demo/</nowiki>) | ||
https://github.com/gridstack/gridstack.js/tree/master/doc | |||
|🚧 | |🚧 | ||
|- | |- | ||
| style="font-weight:bold;" | | style="font-weight:bold;" |'''Json editor''' | ||
|2.6.1 | |||
|''' | |Minor | ||
| | |||
| | |||
|Active | |Active | ||
|<small>.../js/jsoneditor/</small> | |||
|<small>.../js/ | |||
|MIT | |MIT | ||
| | |[https://github.com/json-editor/json-editor/blob/master/CHANGELOG.md Changelog] | ||
|🚧 | |🚧 | ||
|- | |- | ||
| style="font-weight:bold;" | | | style="font-weight:bold;" |'''PDFjs''' | ||
| | |3.10.111 | ||
| | |Minor 🚧 | ||
|Active | |Active | ||
|<small>.../artefact/file/blocktype/pdf/js/pdfjs/</small> | |||
|Apache License 2 | |||
|[http://mozilla.github.io/pdf.js/getting_started/#download Getting started] | |||
The Firefox dist version different to NPM package | |||
|❌ | |||
|<small>.../artefact/file/blocktype/ | |||
|Apache License 2 | |||
|[http:// | |||
| | |||
|} | |} | ||
Line 398: | Line 311: | ||
!'''Name''' | !'''Name''' | ||
!'''Mahara <br />version''' | !'''Mahara <br />version''' | ||
!'''Latest<br />version''' | |||
!'''Latest<br />version | !'''Support''' | ||
!'''Location<br />'''<code><small>(./htdocs/...)</small></code> | |||
!''' | |||
!''' | |||
!'''License''' | !'''License''' | ||
!'''URL''' | !'''URL''' | ||
!'''Next action''' | !'''Next action''' | ||
|- | |- | ||
| style="font-weight:bold;" | | | style="font-weight:bold;" |'''Dwoo''' | ||
|1.3.7 | |1.3.7 | ||
|1.3.7 | |1.3.7 | ||
|'''Archived, 2020''' | |'''Archived, 2020''' | ||
|<small>.../lib/dwoo/</small> | |<small>.../lib/dwoo/</small> | ||
Line 420: | Line 328: | ||
| | | | ||
|- | |- | ||
| style="font-weight:bold;" |Javascript <br />templates | | style="font-weight:bold;" |'''Javascript <br />templates''' | ||
|3.20.0 | |3.20.0 | ||
|3.20.0 | |3.20.0 | ||
|'''Archived, 2021''' | |'''Archived, 2021''' | ||
|<small>.../js/javascript-templates/</small> | |<small>.../js/javascript-templates/</small> | ||
Line 430: | Line 337: | ||
| | | | ||
|- | |- | ||
| style="font-weight:bold;" |jQuery mobile | | style="font-weight:bold;" |'''jQuery mobile''' | ||
|1.5.0-alpha.1 | |1.5.0-alpha.1 | ||
|1.5.0-rc1 | |1.5.0-rc1 | ||
|'''Deprecated''' | |'''Deprecated''' | ||
|<small>.../js/jquery/jquery-mobile/</small> | |<small>.../js/jquery/jquery-mobile/</small> | ||
|MIT | |MIT | ||
|[http://jquerymobile.com Website] <br /><small>🚨 ''"transition(ed) ... under the jQuery project umbrella, jQuery UI"''</small> | |[http://jquerymobile.com Website] <br /><small>🚨 ''"transition(ed) ...''</small> <small>''under the jQuery project umbrella, jQuery UI"''</small> | ||
|Remove and test | |Remove and test | ||
|- | |- | ||
| style="font-weight:bold;" |jQuery UI plugin <br />touch-punch | | style="font-weight:bold;" |'''jQuery UI plugin <br />touch-punch''' | ||
|0.2.3 | |0.2.3 | ||
|0.2.3 | |0.2.3 | ||
|'''Deprecated''' | |'''Deprecated''' | ||
|<small>.../js/jquery/jquery-ui/<br />jquery-ui-touch-punch.min.js</small> | |<small>.../js/jquery/jquery-ui/<br />jquery-ui-touch-punch.min.js</small> | ||
Line 452: | Line 357: | ||
|[https://github.com/RWAP/jquery-ui-touch-punch Use a fork?] | |[https://github.com/RWAP/jquery-ui-touch-punch Use a fork?] | ||
|- | |- | ||
| style="font-weight:bold;" |jTLine | | style="font-weight:bold;" |'''jTLine''' | ||
|1.0 | |1.0 | ||
|1.0 | |1.0 | ||
|'''Inactive, 2018''' | |'''Inactive, 2018''' | ||
|<small>.../js/jTLine/</small> | |<small>.../js/jTLine/</small> | ||
Line 465: | Line 369: | ||
| | | | ||
|- | |- | ||
| style="font-weight:bold;" |Masonry | | style="font-weight:bold;" |'''Masonry''' | ||
|4.2.2 | |4.2.2 | ||
|4.2.2 | |4.2.2 | ||
|'''Inactive, 2018''' | |'''Inactive, 2018''' | ||
|<small>.../js/masonry/</small> | |<small>.../js/masonry/</small> | ||
Line 476: | Line 379: | ||
| | | | ||
|- | |- | ||
| style="font-weight:bold;" |TinyMCE<br />Mathslate | | style="font-weight:bold;" |'''TinyMCE<br />Mathslate''' | ||
|1.1 | |1.1 | ||
|1.1 | |1.1 | ||
|'''Forked, 2015''' | |'''Forked, 2015''' | ||
|<small>.../js/tinymce/plugins/mathslate/</small> | |<small>.../js/tinymce/plugins/mathslate/</small> | ||
Line 486: | Line 388: | ||
| | | | ||
|- | |- | ||
| style="font-weight:bold;" |Oauth PHP | | style="font-weight:bold;" |'''Oauth PHP''' | ||
|175 | |175 | ||
|175 | |175 | ||
|'''Archived, 2010''' | |'''Archived, 2010''' | ||
|<small>.../webservice/libs/oauth-php/</small> | |<small>.../webservice/libs/oauth-php/</small> | ||
|MIT | |MIT | ||
|[https://code.google.com/archive/p/oauth-php/ Code] | |[https://code.google.com/archive/p/oauth-php/ Code] | ||
|<small>Replace with an [https://oauth.net/code/php oauth2 php library] | |<small>Replace with an</small> <small>[https://oauth.net/code/php oauth2 php library] see what Moodle does (old comment)</small> | ||
|- | |- | ||
| style="font-weight:bold;" |zxcvbn | | style="font-weight:bold;" |'''zxcvbn''' | ||
|4.4.2 | |4.4.2 | ||
|4.4.2 | |4.4.2 | ||
|'''Inactive, 2017''' | |'''Inactive, 2017''' | ||
|<small>.../js/zxcvbn/</small> | |<small>.../js/zxcvbn/</small> | ||
Line 506: | Line 406: | ||
| | | | ||
|- | |- | ||
|Cookie consent | |'''Cookie consent''' | ||
|3.1.1 | |3.1.1 | ||
|4.0 | |4.0 | ||
|'''No open source updates''' | |'''No open source updates''' | ||
|<small>.../js/cookieconsent/</small> | |<small>.../js/cookieconsent/</small> | ||
Line 518: | Line 417: | ||
| | | | ||
|- | |- | ||
|Select2 | |'''Select2''' | ||
|4.0.13 | |4.0.13 | ||
|4.0.13 | |4.0.13 | ||
|'''Inactive, 2020''' | |'''Inactive, 2020''' | ||
|<small>.../js/select2/</small> | |<small>.../js/select2/</small> | ||
Line 535: | Line 433: | ||
!'''Mahara <br />version''' | !'''Mahara <br />version''' | ||
!'''Latest<br />version''' | !'''Latest<br />version''' | ||
!'''Status''' | !'''Status''' | ||
!'''README location<br />'''<code>(./htdocs/...)</code> | !'''README location<br />'''<code>(./htdocs/...)</code> | ||
Line 542: | Line 438: | ||
!'''URL/Notes''' | !'''URL/Notes''' | ||
|- | |- | ||
| style="font-weight:bold;" |Aurulent Sans <br />(font) | | style="font-weight:bold;" |'''Aurulent Sans <br />(font)''' | ||
|2007.05.04 | |2007.05.04 | ||
|2007.05.04 | |2007.05.04 | ||
|n/a | |n/a | ||
|<small>.../lib/fonts/</small> | |<small>.../lib/fonts/</small> | ||
Line 552: | Line 446: | ||
|[https://www.fontsquirrel.com/fonts/aurulent-sans Font Squirrel Aurulent Sans] | |[https://www.fontsquirrel.com/fonts/aurulent-sans Font Squirrel Aurulent Sans] | ||
|- | |- | ||
| style="font-weight:bold;" |Deja Vu Sans <br />(font) | | style="font-weight:bold;" |'''Deja Vu Sans <br />(font)''' | ||
|2.37 | |2.37 | ||
|2.37 | |2.37 | ||
|n/a | |n/a | ||
|<small>.../lib/fonts/</small> | |<small>.../lib/fonts/</small> | ||
Line 562: | Line 454: | ||
|[http://www.fontsquirrel.com/fonts/DejaVu-Sans Font Squirrel Deja Vu Sans] | |[http://www.fontsquirrel.com/fonts/DejaVu-Sans Font Squirrel Deja Vu Sans] | ||
|- | |- | ||
| style="font-weight:bold;" |Open Sans <br />(font) | | style="font-weight:bold;" |'''Open Sans <br />(font)''' | ||
|1.10 | |1.10 | ||
|1.10 | |1.10 | ||
|Unknown | |Unknown | ||
|<small>.../theme/raw/fonts/</small> | |<small>.../theme/raw/fonts/</small> | ||
Line 572: | Line 462: | ||
|[https://www.google.com/fonts/specimen/Open+Sans Google Fonts Open Sans] | |[https://www.google.com/fonts/specimen/Open+Sans Google Fonts Open Sans] | ||
|- | |- | ||
| style="font-weight:bold;" |Roboto Slab <br />(font) | | style="font-weight:bold;" |'''Roboto Slab <br />(font)''' | ||
|1.100263 | |1.100263 | ||
|1.100263 | |1.100263 | ||
|Unknown | |Unknown | ||
|<small>.../theme/raw/fonts/</small> | |<small>.../theme/raw/fonts/</small> | ||
Line 582: | Line 470: | ||
|[https://www.google.com/fonts/specimen/Roboto+Slab Google Fonts Roboto] | |[https://www.google.com/fonts/specimen/Roboto+Slab Google Fonts Roboto] | ||
|- | |- | ||
|Charis SIL <br />(fonts) | |'''Charis SIL <br />(fonts)''' | ||
|6.001 | |6.001 | ||
|6.001 | |6.001 | ||
|Active | |Active | ||
|<small>.././lib/fonts/</small> | |<small>.././lib/fonts/</small> |
Latest revision as of 16:18, 4 Ocak 2024
A list of the third-party plugins within Mahara.
Composer commands
For available versions, e.g. composer show phpro/grumphp-shim 1.14.* --all
For our composer dependencies: composer show --tree
For checking the dependencies of a library version, e.g. composer show elasticsearch/elasticsearch 7.17.* --tree
Check if there are any outdated libraries (according to the version syntax in composer.json
) composer outdated
Checking the .Mahara
files
To check the versions in the .Mahara
files, 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.
Syncing the list in 'Country' dropdowns
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
Third-party libraries (PHP and JS)
Legend
- Mahara version = the
README.Mahara
file for the library | SemVer Info - explaining the symbols in the Mahara version column - Latest version = the most recent available version
- Update type = what upgrades are available for this plugin, i.e. major, minor, patch, or security?
- Support = Is there a community supporting this library? When was the last release year if not in active support
- Active: There is ongoing work being put into the library
- Inactive: Maintained but not actively making releases
- Archived: Not being maintained
- Deprecated (officially): All maintainers have left, and site may not exist in extreme cases.
- License = software license for the library
- Notes = extra information, e.g. resources, notes, and new
- Composer = check if the library is managed by Composer
- NPM = check if the library is managed by NPM
PHP versions in support https://www.php.net/supported-versions.php – 14 LTS - Ends security support in 30 Apr 2023, go to 16 LTS soon
💡 A new idea is being proposed to better handle customisations on updating third party libraries lives here → https://reviews.mahara.org/c/mahara/+/13780
PHP libraries (excluding external)
https://eusonlito.github.io/php-changes-cheatsheet/deprecated.html
Libraries are managed by Composer. See composer.json
Run composer show
to get a quick summary of library versions managed by Composer.
Run composer outdated
to get a list of outdated libraries.
🟡 Libraries yet to be moved to Composer: SimpleSAMLPHP - currently lives in htdocs/auth/saml/extlib
and the version is managed in Makefile by curl.
Name | Mahara version |
Update type | Support | License | URL/Notes | Composer |
---|---|---|---|---|---|---|
ADODB | 5.22.6 | Up to date | Active | BSD 3-Clause LGPL |
Official site | GitHub | Twitter Wish-list: extract $SESSION |
✅ |
CSS Tidy | 2.1.0 | Up to date | Active | LGPL | GitHub | ✅ |
Elasticsearch PHP | 7.17.2 | Major, 8.10.0 | Active | Apache v2.0 LGPL v2.1 | GitHub | Changelog
Move to OpenSearch |
✅ |
HTML Purifier | 4.16.0 | Up to date | 2022 | LGPL v2.1+ | HTML Purifier | GitHub | ✅ |
PHPMailer | 6.8.1 | Up to date | Active | LGPL | GitHub | ✅ |
ReCaptcha | 1.2.4 | Minor, 1.3.0 | Active | BSD-3 | GitHub | ✅ |
simplesamlphp | 2.0.4 | Minor, 2.0.6 | Active | GPL 2.1 | GitHub
Optional library - called in Makefile |
❌ |
JavaScript and jQuery libraries
🟡 Check that our Node version is still in support https://endoflife.date/nodejs node| https://nodejs.org/en/download/releases/ ➡ Update the .nvmrc
file with the supported version.
Run npm list
to get a quick list of the versions and libraries managed by NPM
Goal: to move libraries to be managed by NPM
NPM-managed JS libraries
Name | Mahara version |
Update type | Support | License | Notes |
---|---|---|---|---|---|
yargs | 5.0.2 | Minor, 5.3.2 | Active | MIT | |
Chart.js | 3.9.1 | Major, 4.4.0 | Active | MIT | Migration to v4 |
Clipboard js | 2.0.11 | Up to date | Active | MIT | version # is tagged |
Dragon-drop | 3.6.1 | Up to date | 2020 | MIT | |
Dropzone | 5.9.3 | Patch, 5.9.3 | 2021 | MIT | |
jQuery | 3.7.1 | Up to date | Active | MIT | Forum |
jQuery UI | 1.13.2 | Up to date | Active | MIT | |
JS Color | 2.5.1 | Up to date | Inactive,2022 | GPL 3 | |
Marked | 4.3.0 | Minor, 4.3.0
Major 9.1.0 |
Active | MIT | |
Moment.js | 2.29.4 | Up to date | Active | MIT | Moment JS 🆕 Luxon GitHub |
Popper | 2.11.8 | Up to date | Active | MIT | GitHub issue | tooltips
Floating UI |
Fontawesome | 6.4.2 | Up to date | Active | SIL OFL 1.1 | Upgrade steps | Changelog |
TinyMCE | 5.10.7 | Major, 6.7.0 | Active | LGPL 2.1 | Downloads | Changelog
📲 Test mobile |
Video.js | 7.21.5 | Major, 8.5.2 | Active | Apache License 2.0 | Video JS |
Manually managed JS libraries
Name | Mahara version |
Update type | Support | Location(./htdocs/...)
|
License | Notes | NPM |
---|---|---|---|---|---|---|---|
Date time
picker |
4.17.47 | Major 6.17.16 | Active - v6 | .../js/bootstrap-datetimepicker/ | MIT | Changelog
Latest release: rewrite (beta) |
❌ |
Datatables | 1.11.4 | Minor | Active | .../js/DataTables/ | MIT | Download | ❌ Need to use web builder |
Gridstack | 4.4.1 | Major | Active | .../js/gridstack/ | MIT | [Demos](https://gridstackjs.com/demo/) | 🚧 |
Json editor | 2.6.1 | Minor | Active | .../js/jsoneditor/ | MIT | Changelog | 🚧 |
PDFjs | 3.10.111 | Minor 🚧 | Active | .../artefact/file/blocktype/pdf/js/pdfjs/ | Apache License 2 | Getting started
The Firefox dist version different to NPM package |
❌ |
Forked/stale/deprecated libraries
Name | Mahara version |
Latest version |
Support | Location(./htdocs/...)
|
License | URL | Next action |
---|---|---|---|---|---|---|---|
Dwoo | 1.3.7 | 1.3.7 | Archived, 2020 | .../lib/dwoo/ | LGPL | Dead site? | |
Javascript templates |
3.20.0 | 3.20.0 | Archived, 2021 | .../js/javascript-templates/ | MIT | GitHub | |
jQuery mobile | 1.5.0-alpha.1 | 1.5.0-rc1 | Deprecated | .../js/jquery/jquery-mobile/ | MIT | Website 🚨 "transition(ed) ... under the jQuery project umbrella, jQuery UI" |
Remove and test |
jQuery UI plugin touch-punch |
0.2.3 | 0.2.3 | Deprecated | .../js/jquery/jquery-ui/ jquery-ui-touch-punch.min.js |
MIT or GPL Version 2 |
GitHub
🚨 external to JQuery UI |
Use a fork? |
jTLine | 1.0 | 1.0 | Inactive, 2018 | .../js/jTLine/ | MIT | GitHub | |
Masonry | 4.2.2 | 4.2.2 | Inactive, 2018 | .../js/masonry/ | MIT | Masonry | |
TinyMCE Mathslate |
1.1 | 1.1 | Forked, 2015 | .../js/tinymce/plugins/mathslate/ | GPL 3 | Our version is forked. to work with Tinymce 5 |
|
Oauth PHP | 175 | 175 | Archived, 2010 | .../webservice/libs/oauth-php/ | MIT | Code | Replace with an oauth2 php library see what Moodle does (old comment) |
zxcvbn | 4.4.2 | 4.4.2 | Inactive, 2017 | .../js/zxcvbn/ | MIT | GitHub | |
Cookie consent | 3.1.1 | 4.0 | No open source updates | .../js/cookieconsent/ | MIT | Download GitHub
Open source version is not updated. 🚨 |
|
Select2 | 4.0.13 | 4.0.13 | Inactive, 2020 | .../js/select2/ | MIT | Select2 | Releases
RC 4.1 |
Fonts
Name | Mahara version |
Latest version |
Status | README location(./htdocs/...)
|
License | URL/Notes |
---|---|---|---|---|---|---|
Aurulent Sans (font) |
2007.05.04 | 2007.05.04 | n/a | .../lib/fonts/ | SIL OFL v1.10 | Font Squirrel Aurulent Sans |
Deja Vu Sans (font) |
2.37 | 2.37 | n/a | .../lib/fonts/ | DejaVu Fonts | Font Squirrel Deja Vu Sans |
Open Sans (font) |
1.10 | 1.10 | Unknown | .../theme/raw/fonts/ | Apache License | Google Fonts Open Sans |
Roboto Slab (font) |
1.100263 | 1.100263 | Unknown | .../theme/raw/fonts/ | MIT | Google Fonts Roboto |
Charis SIL (fonts) |
6.001 | 6.001 | Active | .././lib/fonts/ | SIL OFL | About font | Download |
Composer.json dependencies
Resources: https://git.mahara.org | /mahara/mahara/-/blob/
| mahara/external/composer.json
Run composer outdated
to check for updates.