Note:

If you want to create a new page for developers, you should create it on the Moodle Developer Resource site.

Plugin with third party libraries: Difference between revisions

From MoodleDocs
m (Protected "Plugin with third party libraries": Developer Docs Migration ([Edit=Allow only administrators] (indefinite)))
 
(7 intermediate revisions by 3 users not shown)
Line 1: Line 1:
This page describes the correct way to include third party libraries with your plugin.
{{Template:Migrated|newDocId=/general/community/plugincontribution/thirdpartylibraries}}
 
A third party library refers to any library where the latest version of the code is not maintained and hosted by Moodle. An example is "Mustache.php". Following this process means that all third party libraries are correctly listed in the page "Site administration -> Development -> Third party libraries", they can be tracked and kept up to date - and we will not introduce conflicting versions of the same library in different places.
 
== Instructions ==
 
The process for including a third party library is the same for core code as it is for a plugin - there are a number of steps to follow.
 
# Check the license. Moodle can only use libraries that use a GPL compatible license. https://en.wikipedia.org/wiki/License_compatibility#GPL_compatibility
# Check the library is not already shipped by core - we don't want multiple versions of the same library.
# Download the latest stable release of the code.
# Perform any build steps required to get a distributable version of the library. This will vary depending on the library - but an example is running less to generate minified css files.
# Put that library into a sub folder in your plugin. It is best to NOT use version numbers in the foldername ("jquery" not "jquery-1.7.3").
# Create or update the "lib/thirdpartylibs.xml" file for your plugin. https://docs.moodle.org/dev/Plugin_files#thirdpartylibs.xml describes this file.
# Create a readme_moodle.txt file in the new third party library folder containing detailed instructions on how to complete steps 3-6 above. This should list download urls, build instructions etc.
# Note any creation, update or deletion of third party libraries in your plugins upgrade.txt
# Run `grunt ignorefiles` to regenerate ignored files path
 
== Exceptions: ==
 
=== Javascript AMD modules ===
Javascript AMD modules cannot exist in a sub-folder - they must exist in a single .js file in the amd/src folder for your plugin. So - the process for AMD files is the same as above, except that the license and readme_moodle.txt file contents must be added as a javascript comment to the top of the libraries .js file.

Latest revision as of 05:13, 11 August 2023

Important:

This content of this page has been updated and migrated to the new Moodle Developer Resources. The information contained on the page should no longer be seen up-to-date.

Why not view this page on the new site and help us to migrate more content to the new site!