Actions

Developer Area/Plugins/Third party: Difference between revisions

From Mahara Wiki

< Developer Area‎ | Plugins
No edit summary
No edit summary
Line 249: Line 249:
|MIT
|MIT
|[https://github.com/dropzone/dropzone/releases GitHub releases] 6.0.0 in beta
|[https://github.com/dropzone/dropzone/releases GitHub releases] 6.0.0 in beta
|
|🚧
|-
|-
| style="font-weight:bold;" |Gridstack
| style="font-weight:bold;" |Gridstack
Line 275: Line 275:
|MIT
|MIT
|[http://jquery.com/ Website]<nowiki> | </nowiki>[https://github.com/jquery/jquery GitHub]<nowiki> | </nowiki>[https://blog.jquery.com/2021/03/02/ Blog post]<br />[https://forum.jquery.com/ Forum]<nowiki> | </nowiki>[https://twitter.com/jquery Twitter]
|[http://jquery.com/ Website]<nowiki> | </nowiki>[https://github.com/jquery/jquery GitHub]<nowiki> | </nowiki>[https://blog.jquery.com/2021/03/02/ Blog post]<br />[https://forum.jquery.com/ Forum]<nowiki> | </nowiki>[https://twitter.com/jquery Twitter]
|
|🚧
|-
|-
| style="font-weight:bold;" |jQuery UI
| style="font-weight:bold;" |jQuery UI
Line 286: Line 286:
|MIT
|MIT
|[http://jqueryui.com/ jQuery UI] Security and compatibility fixes
|[http://jqueryui.com/ jQuery UI] Security and compatibility fixes
|
|🚧
|-
|-
| style="font-weight:bold;" |JS Color
| style="font-weight:bold;" |JS Color
Line 297: Line 297:
|GPL 3
|GPL 3
|http://jscolor.com/ - click download for #
|http://jscolor.com/ - click download for #
|
|🚧
|-
|-
| style="font-weight:bold;" |Json editor
| style="font-weight:bold;" |Json editor
Line 308: Line 308:
|MIT
|MIT
|[https://github.com/json-editor/json-editor GitHub]<nowiki> |</nowiki>[https://github.com/json-editor/json-editor/blob/master/CHANGELOG.md Changelog]
|[https://github.com/json-editor/json-editor GitHub]<nowiki> |</nowiki>[https://github.com/json-editor/json-editor/blob/master/CHANGELOG.md Changelog]
|
|🚧
|-
|-
| style="font-weight:bold;" |Marked
| style="font-weight:bold;" |Marked
Line 319: Line 319:
|MIT
|MIT
|[https://github.com/markedjs/marked GitHub]
|[https://github.com/markedjs/marked GitHub]
|
|🚧
|-
|-
| style="font-weight:bold;" |Moment.js
| style="font-weight:bold;" |Moment.js
Line 333: Line 333:


Connected to jquery date-picker
Connected to jquery date-picker
|
|🚧
|-
|-
| style="font-weight:bold;" |PDFjs
| style="font-weight:bold;" |PDFjs

Revision as of 16:38, 18 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.

🟡 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 Minor Active BSD-3 GitHub

This client supports both v2 and v3. PHP 8 support branch


Missing PHP 8 compatibility

simplesamlphp 2.0.4 2.0.6 N/A Minor Active GPL 2.1 GitHub

Location:

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 (manual)
Security Update type Support README location
(./htdocs/...)
License URL/Notes NPM
Bootstrap 5.0.2 5.1

5.2

5.3

No Minor|Major Active .../lib/bootstrap/assets/javascripts/
MIT Releases | GitHub

bootstrap versions

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

Migration to v4

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

Release notes CDN

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 Patch|Minor|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.3.122 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

🟡 CDN
Floating UI (Popper) 2.10.2 Yes No Minor Active .../js/popper/ MIT https://popper.js.org/
GitHub issue | tooltips
Select2 4.0.13 4.0.13 No Up to date Inactive, 2020 .../js/select2/ MIT Select2 | Releases

RC 4.1

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
🚧
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
🚨 Are we still using this?

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 No open source updates .../js/cookieconsent/ MIT Download | GitHub

Open source version is not updated. 🚨

Fonts

Name Mahara
version
Latest
version
Security Update Status README location
(./htdocs/...)
License URL/Notes
Aurulent Sans
(font)
2007.05.04 2007.05.04 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 .../lib/fonts/ DejaVu Fonts Font Squirrel Deja Vu Sans
Open Sans
(font)
1.10 1.10 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 Unknown .../theme/raw/fonts/ MIT Google Fonts Roboto
Charis SIL
(fonts)
6.001 6.001 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.