Developer Area/Plugins/Third party: Difference between revisions
From Mahara Wiki
< Developer Area | Plugins
No edit summary |
|||
Line 24: | Line 24: | ||
== Third-party libraries (PHP and JS) == | == Third-party libraries (PHP and JS) == | ||
===Legend=== | === Legend === | ||
*'''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 | ||
Line 40: | Line 39: | ||
*'''URL/Notes''' = extra information, e.g. resources, notes, and news | *'''URL/Notes''' = extra information, e.g. resources, notes, and news | ||
*🚧 Work in progress - data needs to be updated | *🚧 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 | '''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 | ||
Line 58: | Line 53: | ||
!'''Update type''' | !'''Update type''' | ||
!'''Composer''' | !'''Composer''' | ||
!'''PHP8 | !'''PHP8 compatibility''' | ||
!'''Support''' | !'''Support''' | ||
!'''README location<br />'''<code>(./htdocs/...)</code> | !'''README location<br />'''<code>(./htdocs/...)</code> | ||
Line 161: | Line 156: | ||
|} | |} | ||
=== Javascript | === 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 <code>.nvmrc</code> file with the supported version. | |||
{| 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;" | ||
Line 170: | Line 166: | ||
!'''Security''' | !'''Security''' | ||
!'''Update type''' | !'''Update type''' | ||
!'''Support''' | !'''Support''' | ||
!'''README location<br />'''<code>(./htdocs/...)</code> | !'''README location<br />'''<code>(./htdocs/...)</code> | ||
Line 182: | Line 177: | ||
|No | |No | ||
|Minor | |Minor | ||
|Active | |Active | ||
|.../lib/bootstrap/assets/javascripts/<br /> | |.../lib/bootstrap/assets/javascripts/<br /> | ||
Line 196: | Line 190: | ||
|No | |No | ||
|Major | |Major | ||
|Active - v6 | |Active - v6 | ||
|.../js/bootstrap-datetimepicker/ | |.../js/bootstrap-datetimepicker/ | ||
Line 211: | Line 204: | ||
|No | |No | ||
|<nowiki>Minor|Major</nowiki> | |<nowiki>Minor|Major</nowiki> | ||
|Active | |Active | ||
|.../js/chartjs/ | |.../js/chartjs/ | ||
Line 224: | Line 216: | ||
|No | |No | ||
|Patch | |Patch | ||
|Active | |Active | ||
|.../js/clipboard/ | |.../js/clipboard/ | ||
Line 236: | Line 227: | ||
|No | |No | ||
|Minor | |Minor | ||
|Active | |Active | ||
Line 250: | Line 240: | ||
|No | |No | ||
|Minor | |Minor | ||
|Active | |Active | ||
|.../js/DataTables/ | |.../js/DataTables/ | ||
Line 263: | Line 252: | ||
|No | |No | ||
|Minor | |Minor | ||
|Inactive, 2021 | |Inactive, 2021 | ||
|.../js/dropzone/ | |.../js/dropzone/ | ||
Line 278: | Line 266: | ||
|No | |No | ||
|<nowiki>Patch|Minor|Major</nowiki> | |<nowiki>Patch|Minor|Major</nowiki> | ||
|Active | |Active | ||
|.../js/gridstack/ | |.../js/gridstack/ | ||
Line 290: | Line 277: | ||
|No | |No | ||
|Minor | |Minor | ||
|Active | |Active | ||
|.../js/jquery/ | |.../js/jquery/ | ||
Line 302: | Line 288: | ||
|No | |No | ||
|Patch | |Patch | ||
|Active | |Active | ||
|.../js/jquery/jquery-ui/ | |.../js/jquery/jquery-ui/ | ||
Line 314: | Line 299: | ||
|No | |No | ||
|Minor | |Minor | ||
|Active | |Active | ||
|.../js/jscolor/ | |.../js/jscolor/ | ||
Line 326: | Line 310: | ||
|No | |No | ||
|Minor | |Minor | ||
|Active | |Active | ||
|.../js/jsoneditor/ | |.../js/jsoneditor/ | ||
Line 338: | Line 321: | ||
|No | |No | ||
|Minor | |Minor | ||
|Active | |Active | ||
|.../js/marked/ | |.../js/marked/ | ||
Line 351: | Line 333: | ||
|No | |No | ||
|<nowiki>Minor|Major</nowiki> | |<nowiki>Minor|Major</nowiki> | ||
|Active | |Active | ||
|.../js/momentjs/ | |.../js/momentjs/ | ||
Line 365: | Line 346: | ||
|No | |No | ||
|<nowiki>Minor|Major</nowiki> | |<nowiki>Minor|Major</nowiki> | ||
|Active | |Active | ||
|.../artefact/file/blocktype/pdf/js/pdfjs/ | |.../artefact/file/blocktype/pdf/js/pdfjs/ | ||
Line 377: | Line 357: | ||
|No | |No | ||
|Minor | |Minor | ||
|Active | |Active | ||
|.../js/popper/ | |.../js/popper/ | ||
Line 389: | Line 368: | ||
|No | |No | ||
|None | |None | ||
|Inactive, 2020 | |Inactive, 2020 | ||
|.../js/select2/ | |.../js/select2/ | ||
Line 402: | Line 380: | ||
|No | |No | ||
|Minor | |Minor | ||
|Active | |Active | ||
|.../theme/raw/sass/lib/font-awesome/ | |.../theme/raw/sass/lib/font-awesome/ | ||
Line 414: | Line 391: | ||
|No | |No | ||
|Patch | |Patch | ||
|Active | |Active | ||
|.../js/tinymce/ | |.../js/tinymce/ | ||
Line 428: | Line 404: | ||
|No | |No | ||
|<nowiki>Minor|Major</nowiki> | |<nowiki>Minor|Major</nowiki> | ||
|Active | |Active | ||
|.../artefact/file/blocktype/<br />internalmedia/videojs/ | |.../artefact/file/blocktype/<br />internalmedia/videojs/ | ||
Line 436: | Line 411: | ||
=== Forked/stale/deprecated libraries === | === Forked/stale/deprecated libraries === | ||
{| class="wikitable sortable" style="vertical-align:middle;" | {| class="wikitable sortable mw-collapsible mw-collapsed" style="vertical-align:middle;" | ||
|- style="font-weight:bold; text-align:center;" | |- style="font-weight:bold; text-align:center;" | ||
!'''Name''' | !'''Name''' | ||
Line 442: | Line 417: | ||
🚧 | 🚧 | ||
!'''Latest<br />version<br />🚧''' | !'''Latest<br />version<br />🚧''' | ||
!'''Security''' | !'''Security''' | ||
🚧 | 🚧 | ||
!'''Update type''' | !'''Update type''' | ||
🚧 | 🚧 | ||
!'''Status''' | !'''Status''' | ||
🚧 | 🚧 | ||
Line 458: | Line 430: | ||
|1.3.7 | |1.3.7 | ||
|1.3.7 | |1.3.7 | ||
|n/a | |n/a | ||
|Replace | |Replace | ||
|Deprecated | |Deprecated | ||
|.../lib/dwoo/ | |.../lib/dwoo/ | ||
Line 470: | Line 440: | ||
|3.20.0 | |3.20.0 | ||
|3.20.0 | |3.20.0 | ||
|n/a | |n/a | ||
|n/a | |n/a | ||
Line 482: | Line 450: | ||
|1.5.0-alpha.1 | |1.5.0-alpha.1 | ||
|1.5.0-rc1 | |1.5.0-rc1 | ||
|n/a | |n/a | ||
|n/a | |n/a | ||
Line 496: | Line 462: | ||
|0.2.3 | |0.2.3 | ||
|0.2.3 | |0.2.3 | ||
|n/a | |n/a | ||
|n/a | |n/a | ||
Line 510: | Line 474: | ||
|1.0 | |1.0 | ||
|1.0 | |1.0 | ||
|n/a | |n/a | ||
|n/a | |n/a | ||
Line 522: | Line 484: | ||
|4.2.2 | |4.2.2 | ||
|4.2.2 | |4.2.2 | ||
|n/a | |n/a | ||
|n/a | |n/a | ||
Line 534: | Line 494: | ||
|1.1 | |1.1 | ||
|1.1 | |1.1 | ||
|n/a | |n/a | ||
|n/a | |n/a | ||
Line 546: | Line 504: | ||
|175 | |175 | ||
|175 | |175 | ||
|n/a | |n/a | ||
|Replace | |Replace | ||
|Archived, 2010 | |Archived, 2010 | ||
|.../webservice/libs/oauth-php/ | |.../webservice/libs/oauth-php/ | ||
Line 558: | Line 514: | ||
|4.4.2 | |4.4.2 | ||
|4.4.2 | |4.4.2 | ||
|n/a | |n/a | ||
|n/a | |n/a | ||
Line 570: | Line 524: | ||
|3.1.1 | |3.1.1 | ||
|4.0 | |4.0 | ||
|No | |No | ||
| | | | ||
|OS version not supported | |OS version not supported | ||
|.../js/cookieconsent/ | |.../js/cookieconsent/ |
Revision as of 12:22, 3 March 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
Name | Mahara version |
Available versions (manual) |
23.04 | Security | Update type | Composer | PHP8 compatibility | Support | README location(./htdocs/...)
|
License | URL/Notes |
---|---|---|---|---|---|---|---|---|---|---|---|
ADODB | 5.22.0 | 5.22.4 | TBC | TBC | Patch | Yes | Yes 8.1 | Active | .../lib/adodb/ | BSD 3-Clause LGPL |
Official site | GitHub | Twitter Wish-list: extract $SESSION |
CSS Tidy | 2.0.1 | 2.0.3 | https://reviews.mahara.org/c/mahara/+/13825 | No | Patch | Yes | Yes | Active | .../lib/csstidy/ | LGPL | GitHub |
Elastic Search | 7.17.1 | v8 - 8.6.1
v7.17.1 |
https://reviews.mahara.org/c/mahara/+/13796 | n/a | Minor|Major | Yes | No | Active | .../lib/elasticsearch/ | Apache v2.0 LGPL v2.1 | GitHub | Changelog
PHP 8 milestone 83% |
HTML Purifier | 4.14.0 | 4.16.0 | https://reviews.mahara.org/c/mahara/+/13826 | No | Minor | Yes | Yes | Active | .../lib/htmlpurifier/ | LGPL v2.1+ | HTML Purifier | GitHub |
PHPMailer | 6.7.1 | 6.7.1 | https://reviews.mahara.org/c/mahara/+/13790 | No | Minor | Yes | Yes | Active | .../lib/phpmailer/ | LGPL | GitHub
6.7.1 supports PHP 8.2 |
ReCaptcha | 1.2.4 | 1.2.4 | https://reviews.mahara.org/c/mahara/+/13832 | No | None | Yes | WIP | Inactive, 2020 | .../lib/recaptcha/ | BSD-3 | GitHub
This client supports both v2 and v3. PHP 8 support branch |
simplesamlphp | 1.19.7 | final 1.19.7
v2 - RC |
TBC | No | Minor | ? | Yes | Active | ../auth/saml/extlib/modules | GPL 2.1 | GitHub RC for 2.0.0 has PHP 8. Sounds like it should work on 1.19.1 though. |
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.
Name | Mahara version |
Available versions (manual) |
23.04 | Security | Update type | Support | README location(./htdocs/...)
|
License | URL/Notes |
---|---|---|---|---|---|---|---|---|---|
Bootstrap | 5.0.1 | 5.3.X | https://reviews.mahara.org/c/mahara/+/13787 | No | Minor | Active | .../lib/bootstrap/assets/javascripts/ |
MIT | Releases | GitHub |
Date time
picker |
4.17.47 | 6.2.10 | TBC | No | Major | Active - v6 | .../js/bootstrap-datetimepicker/ | MIT | GitHub | Get Date Picker
Latest release: rewrite (beta) |
Chart.js | 3.7.1 | 4.2.1
v3.9.1 final |
TBC | No | Minor|Major | Active | .../js/chartjs/ | MIT | Chart JS | GitHub |
Clipboard js | 2.0.10 | 2.0.11 | TBC | No | Patch | Active | .../js/clipboard/ | MIT | Clipboard JS | GitHub version # is tagged |
Dragon-drop | 3.2.1 | 3.6.1 | TBC | No | Minor | Active
2021 |
..../js/dragondrop/ | MIT | GitHub |
Datatables | 1.11.4 | 1.13.2 | TBC | No | Minor | Active | .../js/DataTables/ | MIT | Data Tables |Download |
Dropzone | 5.7.6 | 5.9.3 | TBC | No | Minor | Inactive, 2021 | .../js/dropzone/ | MIT | GitHub releases 6.0.0 in beta |
Gridstack | 4.4.1 | v7.2.3,
v6.0.3, v5.1.1 v4.4.1 |
https://reviews.mahara.org/c/mahara/+/13788/1 | No | Patch|Minor|Major | Active | .../js/gridstack/ | MIT | GitHub | Website |
jQuery | 3.6.3 | 3.6.3 | https://reviews.mahara.org/c/mahara/+/13789/1 | No | Minor | Active | .../js/jquery/ | MIT | Website | GitHub | Blog post Forum | Twitter |
jQuery UI | 1.13.1 | 1.13.2 | TBC | No | Patch | Active | .../js/jquery/jquery-ui/ | MIT | jQuery UI Security and compatibility fixes |
JS Color | 2.4.7 | 2.5.1 | TBC | No | Minor | Active | .../js/jscolor/ | GPL 3 | http://jscolor.com/ - click download for # |
Json editor | 2.6.1 | 2.8.0 | TBC | No | Minor | Active | .../js/jsoneditor/ | MIT | GitHub |Changelog |
Marked | 4.0.12 | 4.2.12 | TBC | No | Minor | Active | .../js/marked/ | MIT | GitHub |
Moment.js | 2.29.1 | 2.5.2
3.2.1 |
TBC | No | Minor|Major | Active | .../js/momentjs/ | MIT | Moment JS 🆕 Luxon GitHub
Connected to jquery date-picker |
PDFjs | 3.3.122 | 3.3.122 | https://reviews.mahara.org/c/mahara/+/13792 | No | Minor|Major | Active | .../artefact/file/blocktype/pdf/js/pdfjs/ | Apache License 2 | Getting started | GitHub |
Popper | 2.10.2 | 2.11.6 | TBC | No | Minor | Active | .../js/popper/ | MIT | https://popper.js.org/ GitHub issue | tooltips |
Select2 | 4.0.13 | 4.0.13 | TBC | No | None | Inactive, 2020 | .../js/select2/ | MIT | Select2 | Releases
RC 4.1 |
Fontawesome | 6.1.1 | 6.30 | https://reviews.mahara.org/c/mahara/+/13793/2 | No | Minor | Active | .../theme/raw/sass/lib/font-awesome/ | SIL OFL 1.1 | Font Awesome | GitHub | Upgrade steps | Changelog |
TinyMCE | 5.10.2 | 5.10.7 | https://reviews.mahara.org/c/mahara/+/13798 | No | Patch | Active | .../js/tinymce/ | LGPL 2.1 | Tiny Cloud | Downloads | Changelog |News
📲 Test on mobile |
Video.js | 7.17.0 | 7.21.1
8.0.4 |
https://reviews.mahara.org/c/mahara/+/13799 | 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 🚧 |
Security
🚧 |
Update type
🚧 |
Status
🚧 |
README location(./htdocs/...)
|
License | URL/Notes |
---|---|---|---|---|---|---|---|---|
Dwoo🟡 | 1.3.7 | 1.3.7 | n/a | Replace | Deprecated | .../lib/dwoo/ | LGPL | Dead site | GitHub project |
Javascript templates |
3.20.0 | 3.20.0 | n/a | n/a | Archived, 2021 | .../js/javascript-templates/ | MIT | GitHub |
jQuery mobile | 1.5.0-alpha.1 | 1.5.0-rc1 | n/a | n/a | Deprecated | .../js/jquery/jquery-mobile/ | MIT | http://jquerymobile.com
https://blog.jquerymobile.com |
jQuery UI plugin touch-punch |
0.2.3 | 0.2.3 | n/a | n/a | Deprecated | .../js/jquery/jquery-ui/ jquery-ui-touch-punch.min.js |
MIT or GPL Version 2 |
Touch Punch | GitHub
🚨 Is it merged into jQuery? |
jTLine | 1.0 | 1.0 | n/a | n/a | Inactive, 2018 | .../js/jTLine/ | MIT | GitHub | Twitter |
Masonry | 4.2.2 | 4.2.2 | n/a | n/a | Inactive, 2018 | .../js/masonry/ | MIT | Masonry |GitHub |
TinyMCE Mathslate |
1.1 | 1.1 | n/a | n/a | Forked, 2015 | .../js/tinymce/plugins/mathslate/ | GPL 3 | Our version is forked. make it work with Tinymce 5 |
Oauth PHP | 175 | 175 | n/a | Replace | Archived, 2010 | .../webservice/libs/oauth-php/ | MIT | Code - We should replace with an oauth2 php library checkout what Moodle does (old comment) |
zxcvbn | 4.4.2 | 4.4.2 | n/a | n/a | Inactive, 2017 | .../js/zxcvbn/ | MIT | GitHub |
Cookie consent | 3.1.1 | 4.0 | No | OS version not supported | .../js/cookieconsent/ | MIT | Download | GitHub
Open source version is not updated. 🚨 |
Fonts
Aurulent Sans (font) |
2007.05.04 | 2007.05.04 | n/a | n/a | n/a | n/a | n/a | .../lib/fonts/ | SIL OFL v1.10 | Font Squirrel Aurulent Sans |
Deja Vu Sans (font) |
2.37 | 2.37 | n/a | n/a | n/a | n/a | n/a | .../lib/fonts/ | DejaVu Fonts | Font Squirrel Deja Vu Sans |
Open Sans (font) |
1.10 | 1.10 | n/a | n/a | n/a | n/a | Unknown | .../theme/raw/fonts/ | Apache License | Google Fonts Open Sans |
Roboto Slab (font) |
1.100263 | 1.100263 | n/a | n/a | n/a | n/a | Unknown | .../theme/raw/fonts/ | MIT | Google Fonts Roboto |
Charis SIL (fonts) |
6.001 | 6.001 | n/a | n/a | n/a | n/a | 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.