Actions

Developer Area/Plugins/Third party: Difference between revisions

From Mahara Wiki

< Developer Area‎ | Plugins
No edit summary
Line 1: Line 1:
A list of the third party plugins within Mahara.
A list of the third-party plugins within Mahara.


A helpful way to update this list is to go:
A helpful way to update this list is to go:
   find ./htdocs -type f -iname "README.Mahara" -exec grep 'Version' -B1 {} \; -print
   <code>find ./htdocs -type f -iname "README.Mahara" -exec grep 'Version' -B1 {} \; -print</code>
on the current codebase.
... 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
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())'
<code>perl -MLocale::Country -le 'print join("\n", sort map { country2code($_) . " => " . country2code($_, LOCALE_CODE_ALPHA_3) . ", // " . $_ } all_country_names())'</code>
and check the results against htdocs/lib/country.php and htdocs/lang/en.utf8/mahara.php files
and check the results against <code>htdocs/lib/country.php</code> and <code>htdocs/lang/en.utf8/mahara.php</code> files
For any confusion you can also check against https://www.iso.org
For any confusion you can also check against https://www.iso.org


Line 14: Line 14:
*'''PHP8''' = is the latest version of this plugin compatible with PHP8?
*'''PHP8''' = is the latest version of this plugin compatible with PHP8?
*'''Upgrades''' = what upgrades are available for this plugin?
*'''Upgrades''' = what upgrades are available for this plugin?
*'''Support''' = notes on end of support | Active | Inactive | Deprecated (officially)
*'''Security''' = is there a new security patch available?
*'''Security''' = is there a new security patch available?
*'''22.04''' column: Yes = will need to be updated for this version
*'''22.04''' = Will this need to be updated for this version?
*[https://nodejs.dev/learn/semantic-versioning-using-npm SemVer Info] - explaining the symbols in the Mahara version column
*[https://nodejs.dev/learn/semantic-versioning-using-npm SemVer Info] - explaining the symbols in the Mahara version column
*Inactive: Maintained but not actively making releases
*Inactive: Maintained but not actively making releases
*Deprecated: All maintainers have left and site may not exist in extreme cases.
*Deprecated: All maintainers have left and site may not exist in extreme cases.
*🚧: In progress/there is a working patch in gerrit
*🚧: In progress/there is a working patch in Gerrit


{| class="wikitable sortable" style="vertical-align:middle;"
{| class="wikitable sortable" style="vertical-align:middle;"
Line 26: Line 27:
!'''Mahara <br />version'''
!'''Mahara <br />version'''
!'''Latest<br />version<br />'''
!'''Latest<br />version<br />'''
!'''22.04'''
!'''22.10'''
!'''PHP8'''
!'''PHP8'''
!'''Upgrades'''
!'''Upgrades/Updates'''
!'''Support'''
!'''Support'''
!'''Security'''
!'''Security'''
Line 38: Line 39:
| style="font-weight:bold;" |ADODB
| style="font-weight:bold;" |ADODB
|5.22.0
|5.22.0
|5.22.0
|5.22.3
|Done✅
|🚧
|Yes 8.1
|Yes 8.1
| style="color:#333;" |Security - 5.21.4<br />- pgsql: authentication bypass in connect <br />functions (CVE-2021-3850)
| style="color:#333;" |Patch
|End 5.20.20
-remove support for legacy SQL drivers
|Yes
 
-PHP 8 support
|Active
|No
|News: https://twitter.com/ADOdb_announce first.<br />Wishlist: [https://bugs.launchpad.net/mahara/+bug/1945264 extract our $SESSION]<br />php 8.0 ready.
|News: https://twitter.com/ADOdb_announce first.<br />Wishlist: [https://bugs.launchpad.net/mahara/+bug/1945264 extract our $SESSION]<br />php 8.0 ready.
|.../lib/adodb/
|.../lib/adodb/
| - https://adodb.org/dokuwiki/doku.php<br />- https://github.com/ADOdb/ADOdb
| - [https://adodb.org/dokuwiki/doku.php Official site]<br />- [https://github.com/ADOdb/ADOdb GitHub]
|BSD 3-Clause<br />LGPL
|BSD 3-Clause<br />LGPL
|-
|-
| style="font-weight:bold;" |Bootstrap
| style="font-weight:bold;" |Bootstrap
|~4.6.0
|5.0.1
|5.1.3
|5.2.2
|
|
|n/a
|n/a
|Major e.g. 5.1.2 Updated JS Sanitizer to add <br />sms in the SAFE_URL_PATTERN
|Minor
|Ends 4.x (LTS) <br />- 01 Nov 2022
|Active LTS
|
|No
|
|
|.../lib/bootstrap/assets/javascripts/<br />
|.../lib/bootstrap/assets/javascripts/<br />
| - https://getbootstrap.com/<br />- https://github.com/twbs/release
| - [https://github.com/twbs/release GitHub releases]
- [https://github.com/twbs/bootstrap GitHub project]
 
- [https://getbootstrap.com/docs/versions/ bootstrap versions]
|MIT License
|MIT License
|-
|-
| style="font-weight:bold;" |Bootstrap <br />Datetimepicker
| style="font-weight:bold;" |Bootstrap <br />Datetimepicker
|=4.17.47
|=4.17.47
|4.17.49<br /><br />
|6.2.4
|
|
|n/a
|n/a
|Has pivoted to no longer require Bootstrap<br />v6.0.0-beta2https://github.com/Eonasdan/tempus-dominus<br />
|Major (beta)
|v4 not maintained<br />v5/6 active<br />
|Active - 6
|
Inactive - 4
|v4 runs using bootstrap and moment.js
|N/A
|Rewrite
|.../js/bootstrap-datetimepicker/
|.../js/bootstrap-datetimepicker/
|https://getdatepicker.com/<br />https://github.com/tempusdominus/<br />bootstrap-4
|<nowiki>- </nowiki>[https://getdatepicker.com/ GitHub]<br />[https://getdatepicker.com/6/change-log.html https://getdatepicker.com/]
|MIT License
|MIT License
|-
|-
| style="font-weight:bold;" |Chart.js
| style="font-weight:bold;" |Chart.js
|3.7.1
|3.7.1
|3.7.1
|3.9.1
|Done✅
|🚧
|n/a
|n/a
|
|Minor
|
|Active
|
|No
|
|
|.../js/chartjs/
|.../js/chartjs/
|http://www.chartjs.org
| - http://www.chartjs.org
- [https://github.com/chartjs/Chart.js GitHub]
|MIT License
|MIT License
|-
|-
| style="font-weight:bold;" |Clipboard js
| style="font-weight:bold;" |Clipboard js 🌸 Doris stopped here 🌸
|^2.0.8
|^2.0.8
|2.0.10
|2.0.10
|Done✅
|🚧
|n/a
|n/a
|Patch fix
|Patch fix
Line 99: Line 108:
|.../js/clipboard/
|.../js/clipboard/
|https://clipboardjs.com/
|https://clipboardjs.com/
[https://github.com/zenorocha/clipboard.js GitHub]
|MIT License
|MIT License
|-
|-
Line 117: Line 127:
|~1.7.3
|~1.7.3
|2.0.1
|2.0.1
|Done✅
|🚧
|Yes
|Yes
|2.0.1 released 22 Feb 2022<br />PHP8 compatible
|2.0.1 released 22 Feb 2022<br />PHP8 compatible
Line 143: Line 153:
|^1.10.20
|^1.10.20
|1.11.4
|1.11.4
|Done✅
|🚧
|n/a
|n/a
|Patch fix
|Patch fix
Line 156: Line 166:
|^5.7.6
|^5.7.6
|5.9.3
|5.9.3
|Done✅
|🚧
|n/a
|n/a
|Minor
|Minor
Line 221: Line 231:
|=4.13.0
|=4.13.0
|4.14.0
|4.14.0
|Yes🚧
|🚧
|Yes
|Yes
|None
|None
Line 234: Line 244:
|=3.19.0
|=3.19.0
|3.20.0
|3.20.0
|Done✅
|🚧
|n/a
|n/a
|Minor
|Minor
Line 273: Line 283:
|1.13.1
|1.13.1
|1.13.1
|1.13.1
|Done✅
|🚧
|n/a
|n/a
|In maintenance state<br />Only security and compatibility fixes
|In maintenance state<br />Only security and compatibility fixes
Line 299: Line 309:
|2.4.7
|2.4.7
|2.4.7
|2.4.7
|Done✅
|🚧
|n/a
|n/a
|None
|None
Line 352: Line 362:
|^2.1.3
|^2.1.3
|4.0.12
|4.0.12
|Yes 🚧
|🚧
|n/a
|n/a
|Minor - v2.1.1, v2.1.2, v2.1.3<br />Major 3.x - breaking changes<br />4.0.0 Major security fixes
|Minor - v2.1.1, v2.1.2, v2.1.3<br />Major 3.x - breaking changes<br />4.0.0 Major security fixes
Line 378: Line 388:
|1.1
|1.1
|1.1
|1.1
|Done✅
|🚧
|n/a
|n/a
|None
|None
Line 418: Line 428:
|^2.9.359
|^2.9.359
|2.12.313<br />
|2.12.313<br />
|Done✅
|🚧
|n/a
|n/a
|Minor
|Minor
Line 431: Line 441:
|^6.5.1
|^6.5.1
|6.5.4
|6.5.4
|Done✅
|🚧
|Yes
|Yes
|Minor 6.5.0 - security release<br />Minor 6.5.1 - maintenance release<br />PHP8 support
|Minor 6.5.0 - security release<br />Minor 6.5.1 - maintenance release<br />PHP8 support
Line 473: Line 483:
|^1.18.7
|^1.18.7
|1.19.5
|1.19.5
|Yes 🚧
|🚧
|Yes 8.1
|Yes 8.1
|
|
Line 591: Line 601:
|5.10.2
|5.10.2
|5.10.2
|5.10.2
|Done✅
|🚧
|n/a
|n/a
|Major security patch - XSS
|Major security patch - XSS
Line 604: Line 614:
|7.17.0
|7.17.0
|7.17.0
|7.17.0
|Done✅
|🚧
|n/a
|n/a
|
|

Revision as of 19:32, 4 October 2022

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

Legend

  • PHP8 = is the latest version of this plugin compatible with PHP8?
  • Upgrades = what upgrades are available for this plugin?
  • Support = notes on end of support | Active | Inactive | Deprecated (officially)
  • Security = is there a new security patch available?
  • 22.04 = Will this need to be updated for this version?
  • SemVer Info - explaining the symbols in the Mahara version column
  • Inactive: Maintained but not actively making releases
  • Deprecated: All maintainers have left and site may not exist in extreme cases.
  • 🚧: In progress/there is a working patch in Gerrit
Name Mahara
version
Latest
version
22.10 PHP8 Upgrades/Updates Support Security Notes README.Mahara
(./htdocs/...)
URL License
ADODB 5.22.0 5.22.3 🚧 Yes 8.1 Patch

-remove support for legacy SQL drivers

-PHP 8 support

Active No News: https://twitter.com/ADOdb_announce first.
Wishlist: extract our $SESSION
php 8.0 ready.
.../lib/adodb/ - Official site
- GitHub
BSD 3-Clause
LGPL
Bootstrap 5.0.1 5.2.2 n/a Minor Active LTS No .../lib/bootstrap/assets/javascripts/
- GitHub releases

- GitHub project

- bootstrap versions

MIT License
Bootstrap
Datetimepicker
=4.17.47 6.2.4 n/a Major (beta) Active - 6

Inactive - 4

N/A Rewrite .../js/bootstrap-datetimepicker/ - GitHub
https://getdatepicker.com/
MIT License
Chart.js 3.7.1 3.9.1 🚧 n/a Minor Active No .../js/chartjs/ - http://www.chartjs.org

- GitHub

MIT License
Clipboard js 🌸 Doris stopped here 🌸 ^2.0.8 2.0.10 🚧 n/a Patch fix Active .../js/clipboard/ https://clipboardjs.com/

GitHub

MIT License
Cookie
consent
=3.1.1 4.0 n/a None New updates are
proprietary.
Site talks about versions 2021.6 and 2021.2.3
which are not available on GitHub.
💡Check if we should keep using this - licences.
.../js/cookieconsent/ - https://www.osano.com/cookieconsent
- https://github.com/osano/cookieconsent
MIT License
CSS Tidy ~1.7.3 2.0.1 🚧 Yes 2.0.1 released 22 Feb 2022
PHP8 compatible
.../lib/csstidy/ https://github.com/Cerdic/CSSTidy LGPL
Dragon-drop ^3.2.1 3.2.1 n/a None
Pre-release minor
changelog not available.
Active 3.6.1 in the making but in pre-release stages. ..../js/dragondrop/ https://github.com/schne324/dragon-drop MIT License
Datatables ^1.10.20 1.11.4 🚧 n/a Patch fix Active
.../js/DataTables/ https://datatables.net/
https://datatables.net/download/index
MIT License
Dropzone ^5.7.6 5.9.3 🚧 n/a Minor Active 6.0.0 in beta .../js/dropzone/ https://github.com/dropzone/dropzone/releases MIT License
Dwoo =1.3.7 1.3.7 No Replace Deprecated
.../lib/dwoo/ http://dwoo.org/
https://github.com/dwoo-project/dwoo
LGPL
Elastic Search >6.1.0 7.17.0 No WIP - Gold Active
PHP 8 has a milestone. .../lib/elasticsearch/ https://github.com/elastic/elasticsearch-php Apache v2.0
LGPL v2.1
fancybox3 3.5.7 4.0.26 n/a Removed from Mahara 11/2021 Inactive
- v3 deprecated
- v4 in beta stage
Only exists in branch versions 20.10, 21.04, 21.10
Only backport security fixes
.../js/fancybox/ https://github.com/fancyapps/ui - in BETA stage
https://fancyapps.com/docs/ui/installation
https://fancyapps.com/next/
Notifications: https://twitter.com/thefancyapps
CC BY-SA 4.0
gridstack >0.6.4 5.0.0 n/a WIP - Robert
Active https://gridstackjs.com .../js/gridstack/ https://github.com/gridstack/gridstack.js MIT License
HTML Purifier =4.13.0 4.14.0 🚧 Yes None 4.14 includes PHP8 support https://github.com/ezyang/htmlpurifier/ .../lib/htmlpurifier/ http://www.htmlpurifier.org/ LGPL v2.1+
Javascript
templates
=3.19.0 3.20.0 🚧 n/a Minor Archived, 2021 .../js/javascript-templates/ https://github.com/blueimp/
JavaScript-Templates
MIT License
jQuery ^3.6.0 3.6.0 n/a Minor Active https://blog.jquery.com/2021/03/02/
jquery-3-6-0-released/
News: - QA: https://forum.jquery.com/
Twitter: https://twitter.com/jquery
.../js/jquery/ http://jquery.com/
https://github.com/jquery/jquery
MIT License
jQuery mobile =1.5.0-alpha.1 1.5.0-rc1 n/a None Inactive, 2017 https://blog.jquerymobile.com
- lack of resources but wish to maintain.
❗Find out if we are still using this.
.../js/jquery/jquery-mobile/ http://jquerymobile.com MIT License
jQuery UI 1.13.1 1.13.1 🚧 n/a In maintenance state
Only security and compatibility fixes
https://blog.jqueryui.com/2022/01/jquery-ui-1-13-1-released/ .../js/jquery/jquery-ui/ http://jqueryui.com/ MIT License
jQuery UI plugin
touch-punch
=0.2.3 0.2.3 n/a None Deprecated ❗Do we still need it - is it merged into jquery .../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
JS Color 2.4.7 2.4.7 🚧 n/a None Active .../js/jscolor/ http://jscolor.com/ GPL 3
Json editor >=1.3.5 2.6.1 n/a Major 2.x Active - Patch started, including child patch with Mahara customisations: https://bugs.launchpad.net/mahara/+bug/1962219

- Issue with select field dropdowns in SmartEvidence editor: possibly related to select2 plugin - leave for 22.10

.../js/jsoneditor/ https://github.com/json-editor/json-editor MIT License
jTLine =1.0 1.0 n/a None Inactive, 2018 https://twitter.com/naadydev .../js/jTLine/ https://naadydev.github.io/jTLine/ MIT License
Lodash ^4.17.15 4.17.21 n/a Patch fix Active - Lodash was brought in with gridstack v0.5.0
- Will be removed when gridstack 4+ gets merged.
.../js/lodash/ https://github.com/lodash/lodash MIT License
Marked ^2.1.3 4.0.12 🚧 n/a Minor - v2.1.1, v2.1.2, v2.1.3
Major 3.x - breaking changes
4.0.0 Major security fixes
Active Yes .../js/marked/ https://github.com/markedjs/marked MIT License
Masonry =4.2.2 4.2.2 n/a None Inactive, 2018 .../js/masonry/ https://masonry.desandro.com/
https://github.com/desandro/masonry
MIT License
TinyMCE
Mathslate
1.1 1.1 🚧 n/a None Forked version, 2015 Our version is now forked to keep
make it work with Tinymce 5
.../js/tinymce/plugins/mathslate/ https://github.com/dthies/tinymce4-mathslate GPL 3
Moment.js ^2.29.1 2.29.1 n/a None Inactive, 2020 Succeeded by Luxon: https://moment.github.io/luxon/#/

Connected with jquery date-picker

.../js/momentjs/ http://momentjs.com/ MIT License
Oauth PHP =175 175 No Replace Archived, 2010 We should replace with an oauth2 php library
https://oauth.net/code/php
checkout what Moodle does (old comment)
.../webservice/libs/oauth-php/ https://code.google.com/archive/p/oauth-php/ MIT License
PDFjs ^2.9.359 2.12.313
🚧 n/a Minor Active .../artefact/file/blocktype/pdf/js/pdfjs/ http://mozilla.github.io/pdf.js/
getting_started/#download
https://github.com/mozilla/pdf.js
Apache License 2
PHPMailer ^6.5.1 6.5.4 🚧 Yes Minor 6.5.0 - security release
Minor 6.5.1 - maintenance release
PHP8 support
Active
Yes .../lib/phpmailer/ https://github.com/PHPMailer/PHPMailer LGPL
Popper ^1.16.1 LTS 2.11.2 n/a Major 2.x upgrade is available, but Bootstrap 5 is required for v2.x, so on hold until we have Bootstrap 5 (should be in by 22.10) Active v2
LTS 1.16.1
w/o warnings
https://github.com/twbs/bootstrap/issues/31451


https://dev.to/fezvrasta/smarter-tooltips-and
-popovers-with-popper-2-44bh

.../js/popper/ https://popper.js.org/ MIT License
ReCaptcha ^1.2.4 1.2.4 In progress Patch Active This client supports both v2 and v3.
https://github.com/google/recaptcha/tree/php8-support
.../lib/recaptcha/ https://github.com/google/recaptcha BSD-3
simplesamlphp ^1.18.7 1.19.5 🚧 Yes 8.1 Active /htdocs/auth/saml/extlib/
- Make a README.Mahara file
PHP 8 coming in v2.x. Sounds like it should work on 1.19.1 though.
../auth/saml/extlib/simplesamlphp/ https://github.com/simplesamlphp/
simplesamlphp
GPL 2.1
Select2 ^4.0.13 4.0.13 n/a Patch Active .../js/select2/ https://select2.org/ MIT License
Aurulent Sans
(font)
^2007.05.04 2007.05.04 n/a None Unknown .../lib/fonts/ http://www.fontsquirrel.com/fonts/
Aurulent-Sans
SIL OFL v1.10
Deja Vu Sans
(font)
^2.37 2.37 n/a Patch Unknown .../lib/fonts/ http://www.fontsquirrel.com/fonts/
DejaVu-Sans
DejaVu Fonts
License v1.00
Open Sans
(font)
^1.10 1.10 n/a None Unknown .../theme/raw/fonts/ https://www.google.com/fonts/
specimen/Open+Sans
Apache License
version 2.0
Roboto Slab
(font)
^1.9 1.100263 n/a Minor Unknown .../theme/raw/fonts/ https://www.google.com/fonts/
specimen/Roboto+Slab
MIT License
Fontawesome ^5.8.1 6.0.0 n/a Major 6.0.0 Active Patch in progress here: https://reviews.mahara.org/#/c/12463/ (on hold for 22.10)

https://fontawesome.com/docs/web/setup/upgrade/

.../theme/raw/sass/lib/font-awesome/ http://fontawesome.io
https://github.com/FortAwesome/Font-Awesome
SIL OFL 1.1
Ghostscript
fonts
^8.11 9.54.0 n/a Major Active ❗What do we use it for? .../theme/raw/fonts/ - http://sourceforge.net/projects/gs-fonts/
- https://www.ghostscript.com/releases.html
AGPL
Charis SIL
(fonts)
^5.000 6.001 n/a Major Active .././lib/fonts/ - http://scripts.sil.org/cms/scripts/page.php
?item_id=CharisSIL
- https://software.sil.org/charis/download/
SIL OFL
TinyMCE 5.10.2 5.10.2 🚧 n/a Major security patch - XSS Active Yes https://www.tiny.cloud/docs/changelog/
📲 Test on mobile when updating
https://www.tiny.cloud/blog/category/
news-and-updates/
.../js/tinymce/ https://www.tiny.cloud/
https://www.tiny.cloud/get-tiny/self-hosted
LGPL 2.1
Video.js 7.17.0 7.17.0 🚧 n/a Active Pre-released 7.18.1 Feb 2022 .../artefact/file/blocktype/
internalmedia/videojs/
http://videojs.com/
https://github.com/videojs/video.js
Apache License 2.0
zxcvbn =4.4.2 4.4.2 n/a None Inactive, 2017 .../js/zxcvbn/ https://github.com/dropbox/zxcvbn MIT License
composer.json
dependencies
https://git.mahara.org
/mahara/mahara/-/blob/
master/external/composer.json
Check for updates in the .json file.