Developer Area/Plugins/Third party: Difference between revisions
From Mahara Wiki
< Developer Area | Plugins
No edit summary |
|||
Line 97: | Line 97: | ||
Check that docker is also pulling in the same version! | Check that docker is also pulling in the same version! | ||
| | |* | ||
|- | |- | ||
| style="font-weight:bold;" |HTML Purifier | | style="font-weight:bold;" |HTML Purifier | ||
Line 153: | Line 153: | ||
!'''Name''' | !'''Name''' | ||
!'''Mahara <br />version''' | !'''Mahara <br />version''' | ||
!'''Available<br />versions | !'''Available<br />versions''' | ||
!'''Security''' | !'''Security''' | ||
!'''Update type''' | !'''Update type''' | ||
!'''Support''' | !'''Support''' | ||
!''' | !'''Location<br />'''<code><small>(./htdocs/...)</small></code> | ||
!'''License''' | !'''License''' | ||
!'''URL/Notes''' | !'''URL/Notes''' | ||
Line 237: | Line 237: | ||
|[https://datatables.net/ Data Tables]<nowiki> |</nowiki>[https://datatables.net/download/index Download] | |[https://datatables.net/ Data Tables]<nowiki> |</nowiki>[https://datatables.net/download/index Download] | ||
[https://cdn.datatables.net/ Release notes CDN] | [https://cdn.datatables.net/ Release notes CDN] | ||
| | |*Web builder | ||
|- | |- | ||
| style="font-weight:bold;" |Dropzone | | style="font-weight:bold;" |Dropzone | ||
Line 344: | Line 344: | ||
|[http://mozilla.github.io/pdf.js/getting_started/#download Getting started]<nowiki> | </nowiki>[https://github.com/mozilla/pdf.js GitHub] | |[http://mozilla.github.io/pdf.js/getting_started/#download Getting started]<nowiki> | </nowiki>[https://github.com/mozilla/pdf.js GitHub] | ||
The Firefox dist version seems to be the only working one | The Firefox dist version seems to be the only working one | ||
| | |* | ||
|- | |- | ||
| style="font-weight:bold;" |Floating UI (Popper) | | style="font-weight:bold;" |Floating UI (Popper) | ||
Line 397: | Line 398: | ||
!'''Name''' | !'''Name''' | ||
!'''Mahara <br />version''' | !'''Mahara <br />version''' | ||
!'''Latest<br />version''' | |||
!'''Latest<br />version | |||
!'''Status''' | !'''Status''' | ||
!'''Location<br />'''<code><small>(./htdocs/...)</small></code> | |||
!''' | |||
!'''License''' | !'''License''' | ||
!'''URL''' | !'''URL''' | ||
Line 411: | Line 408: | ||
|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 422: | Line 418: | ||
|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 432: | Line 427: | ||
|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 | ||
|- | |- | ||
Line 442: | Line 436: | ||
|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 454: | Line 447: | ||
|1.0 | |1.0 | ||
|1.0 | |1.0 | ||
|'''Inactive, 2018''' | |'''Inactive, 2018''' | ||
|<small>.../js/jTLine/</small> | |<small>.../js/jTLine/</small> | ||
Line 467: | Line 459: | ||
|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 478: | Line 469: | ||
|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 488: | Line 478: | ||
|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 508: | Line 496: | ||
|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 520: | Line 507: | ||
|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 534: | Line 520: | ||
!'''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 544: | Line 528: | ||
|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 554: | Line 536: | ||
|2.37 | |2.37 | ||
|2.37 | |2.37 | ||
|n/a | |n/a | ||
|<small>.../lib/fonts/</small> | |<small>.../lib/fonts/</small> | ||
Line 564: | Line 544: | ||
|1.10 | |1.10 | ||
|1.10 | |1.10 | ||
|Unknown | |Unknown | ||
|<small>.../theme/raw/fonts/</small> | |<small>.../theme/raw/fonts/</small> | ||
Line 574: | Line 552: | ||
|1.100263 | |1.100263 | ||
|1.100263 | |1.100263 | ||
|Unknown | |Unknown | ||
|<small>.../theme/raw/fonts/</small> | |<small>.../theme/raw/fonts/</small> | ||
Line 584: | Line 560: | ||
|6.001 | |6.001 | ||
|6.001 | |6.001 | ||
|Active | |Active | ||
|<small>.././lib/fonts/</small> | |<small>.././lib/fonts/</small> |
Revision as of 15:31, 19 September 2023
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
- Security = is there a new security patch available?
- Upgrades/updates = what upgrades are available for this plugin?
- Support = Is there a community supporting this library?
- 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.
- PHP8 = is the latest version of this plugin compatible with PHP8?
- README location = where it can be found in Mahara
- License = software license for the library
- URL/Notes = extra information, e.g. resources, notes, and news
- 🚧 Work in progress - data needs to be updated
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 |
Available versions 🚧 |
Security | Update type | Support | License | URL/Notes | Composer |
---|---|---|---|---|---|---|---|---|
ADODB | 5.22.6 | Up to date | N/A | None | Active | BSD 3-Clause LGPL |
Official site | GitHub | Twitter Wish-list: extract $SESSION |
✅ |
CSS Tidy | 2.0.3 | Up to date | N/A | None | Active | LGPL | GitHub | ✅ |
Elasticsearch | 7.17.2 | 8.9.0 | N/A | Major | Active | Apache v2.0 LGPL v2.1 | GitHub | Changelog
PHP 8 milestone 83% Check that docker is also pulling in the same version! |
* |
HTML Purifier | 4.14.0 | Up to date | N/A | None | Inactive, 2022 | LGPL v2.1+ | HTML Purifier | GitHub | ✅ |
PHPMailer | 6.8.1 | Up to date | N/A | None | Active | LGPL | GitHub | ✅ |
ReCaptcha | 1.2.4 | 1.30 | TBC | PHP 8 support | Active | BSD-3 | GitHub | ✅ |
simplesamlphp | 2.0.4 | 2.0.6 | N/A | Minor | Active | GPL 2.1 | GitHub
Optional library - called in Makefile htdocs/auth/saml/extlib/modules |
❌ |
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
Name | Mahara version |
Available versions |
Security | Update type | Support | Location(./htdocs/...)
|
License | URL/Notes | NPM |
---|---|---|---|---|---|---|---|---|---|
Bootstrap | 5.0.2 | 5.1
5.2 5.3 |
No | Minor | Active | .../lib/bootstrap/assets/javascripts/ |
MIT | Releases | GitHub | ✅ |
Date time
picker |
4.17.47 | 6.2.10 | No | Major | Active - v6 | .../js/bootstrap-datetimepicker/ | MIT | GitHub | Get Date Picker
Latest release: rewrite (beta) |
❌ |
Chart.js | 3.7.1 | 4.4.0 | No | Major | Active | .../js/chartjs/ | MIT | Chart JS | GitHub | 🚧 |
Clipboard js | 2.0.10 | 2.0.11 | No | Patch | Active | .../js/clipboard/ | MIT | Clipboard JS | GitHub version # is tagged |
🚧 |
Dragon-drop | 3.2.1 | 3.6.1 | No | Minor | Inactive
2018 |
..../js/dragondrop/ | MIT | GitHub | 🚧 |
Datatables | 1.11.4 | 1.13.6 | No | Minor | Active | .../js/DataTables/ | MIT | Data Tables |Download | *Web builder |
Dropzone | 5.7.6 | 5.9.3 | No | Minor | Inactive, 2021 | .../js/dropzone/ | MIT | GitHub releases 6.0.0 in beta | 🚧 |
Gridstack | 4.4.1 | v9.0
v7.2.3, v6.0.3, v5.1.1 v4.4.1 |
No | Major | Active | .../js/gridstack/ | MIT | GitHub | Website | ❌ |
jQuery | 3.6.3 | 3.7.1 | No | Minor | Active | .../js/jquery/ | MIT | Website | GitHub | Blog post Forum | Twitter |
🚧 |
jQuery UI | 1.13.1 | 1.13.2 | No | Patch | Active | .../js/jquery/jquery-ui/ | MIT | jQuery UI Security and compatibility fixes | 🚧 |
JS Color | 2.4.7 | 2.5.1 | No | Minor | Inactive | .../js/jscolor/ | GPL 3 | http://jscolor.com/ - click download for # | 🚧 |
Json editor | 2.6.1 | 2.10.1 | No | Minor | Active | .../js/jsoneditor/ | MIT | GitHub |Changelog | 🚧 |
Marked | 4.0.12 | 9 | No | Major | Active | .../js/marked/ | MIT | GitHub | 🚧 |
Moment.js | 2.29.1 | 2.5.2
3.4.3 |
No | Minor|Major | Active | .../js/momentjs/ | MIT | Moment JS 🆕 Luxon GitHub
Connected to jquery date-picker |
🚧 |
PDFjs | 3.10.111 | 3.10.111 | No | Minor | Active | .../artefact/file/blocktype/pdf/js/pdfjs/ | Apache License 2 | Getting started | GitHub
The Firefox dist version seems to be the only working one |
* |
Floating UI (Popper) | 2.10.2 | Yes | No | Minor | Active | .../js/popper/ | MIT | https://popper.js.org/ GitHub issue | tooltips |
🚧 |
Fontawesome | 6.4.2 | Up to date | No | Up to date | Active | .../theme/raw/sass/lib/font-awesome/ | SIL OFL 1.1 | Font Awesome | GitHub | Upgrade steps | Changelog | ✅ |
TinyMCE | 5.10.7 | Up to date | No | Up to date | Active | .../js/tinymce/ | LGPL 2.1 | Tiny Cloud | Downloads | Changelog |News
📲 Test on mobile |
✅ |
Video.js | 7.21.5 | 8.5.2 | No | Minor|Major | Active | .../artefact/file/blocktype/ internalmedia/videojs/ |
Apache License 2.0 | Video JS | GitHub | ✅ |
Forked/stale/deprecated libraries
Name | Mahara version |
Latest version |
Status | 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.