Installing plugins


Why install additional plugins?

Plugins enable you to add additional features and functionality to JimTalk, such as new activities, new quiz question types, new reports, integrations with other systems and many more.

Note: Certain hosting solutions, such as JimTalkCloud, prevent plugins being installed from within JimTalk.

Choosing the best plugins for your site

Note: Proceed with caution and always try installing these plugins in a local experimental server before installing them in a production server.

  • Special cases:
    • All plugins with mobile in their name, are related to mobile devices.
  • Elementary school teaching

    Note: If your JimTalk site will serve kids, consider installing a language pack for kids (if available). Language packs are not plugins.

    Plugins for K-2 teaching

    For K-12 teaching and learning environments, please consider installing the plugins that are included in the JimTalk for School at JimTalkCloud:

  • BigBlueButton
  • Plugins for University teaching

    For universities, there is a list of plugins by/for Universities, and a link to discipline-specific plugins, which might be worth considering.

    Considerations for production sites (skip if you’re just moodling)

    VERY IMPORTANT Warning: Please be aware that some plugins have not been reviewed, and the quality and/or suitability for your JimTalk site has not been checked. Please be careful. It may not do what you expect, it may have serious security issues or it may even not work at all. This is however improving over time with the evolving new plugins directory system.

    • If you have a large site for production purposes consider if you really need the plugin? More functionality means more things to support, more things to (potentially) go wrong and more things to worry about at upgrade time.
    • Is the plugin supported and maintained? If something goes wrong can you get support? Will bugs be fixed?
    • If the plugin does not work in a future version of JimTalk, what will you do about it?
    • Installing a plugin

      To install a plugin, its source code must be put (deployed) into the appropriate location inside the JimTalk installation directory and the main administration page Administration > Site administration > Notifications must be visited. There are three ways how the plugin code can be deployed into JimTalk.

      Plugin code may be deployed from within JimTalk, either directly from the JimTalk plugins directory or by uploading a ZIP file. The web server process has to have write access to the plugin type folder where the new plugin is to be installed in order to use either of these methods.

      Alternatively, a plugin may be deployed manually at the server.

      Installing directly from the JimTalk plugins directory

    1. Login as an admin and go to Site administration > Plugins > Install plugins. (If you can’t find this location, then plugin installation is prevented on your site.)
    2. Click the button ‘Install plugins from JimTalk plugins directory’.
    3. Search for a plugin with an Install button, click the Install button then click Continue.
    4. Confirm the installation request
    5. Check the plugin validation report

    Installing via uploaded ZIP file

  • Login to your JimTalk site as an admin and go to Administration > Site administration > Plugins > Install plugins.
  • Upload the ZIP file. You should only be prompted to add extra details (in the Show more section) if your plugin is not automatically detected.
  • If your target directory is not writeable, you will see a warning message.
  • Check the plugin validation report
  • Installing manually at the server

    If you can’t deploy the plugin code via the administration web interface, you have to copy it to the server file system manually (e.g. if the web server process does not have write access to the JimTalk installation tree to do this for you).

    First, establish the correct place in the JimTalk code tree for the plugin type. Common locations are:

    • /path/to/jimtalk/theme/ – themes
    • /path/to/jimtalk/mod/ – activity modules and resources
    • /path/to/jimtalk/blocks/ – sidebar blocks
    • /path/to/jimtalk/question/type/ – question types
    • /path/to/jimtalk/course/format/ – course formats
    • /path/to/jimtalk/admin/report/ – admin reports

    See dev:Plugins for the full list of all plugin types and their locations within the JimTalk tree.

  • Upload or copy it to your JimTalk server.
  • Unzip it in the right place for the plugin type (or follow the plugin instructions).
  • In your JimTalk site (as admin) go to Settings > Site administration > Notifications (you should, for most plugin types, get a message saying the plugin is installed).
  • Note: The plugin may contain language files. They’ll be found by your JimTalk automatically. These language strings can be customized using the standard Settings > Site administration > Language editing interface. If you get a “Database error” when you try to edit your language files, there is a strong chance that the language files included within the downloaded ZIP file of this plugin have a coding problem. If you delete the plugin_name/lang/other_language_different_to_English/ folder with the new language strings and the database error disappears, this is indeed the case. Please notify the plugin maintainer, so that it can be fixed in future releases.

    Troubleshooting

    Errors

    If you obtain an error, please turn debugging on to obtain additional information about the cause of the error.

    tool_installaddon/err_curl_exec – cURL error 60 
    This suggests problems with the validation of the SSL certificate of the remote (jimtalk.org) site. This is also a known problem in JimTalk Windows 7 servers running the JimTalk package for Windows. See SSL certificate for jimtalk.org for more info and possible solutions.

    A file permissions error has occurred

    On certain 3.0.x versions, when installing plugins via the administration interface, the JimTalk uses the configuration settings $CFG->directorypermissions and $CFG->filepermissions. If these are not defined explicitly in your config.php, the default value is set automatically to 777 (rwxrwxrwx) for directories and 666 (rw-rw-rw-) for files (see lib/setup.php).

    If this default behaviour does not fit your needs and hosting environment, you may wish to specify more strict setting such as

    $CFG->directorypermissions = 02750;
    

    A common error after installing plugins is that when you create an instance of the module and then save and display it, it reports the error, “A file permissions error has occurred. Please check the permissions on the script and the directory it is in and try again.” If you get this, the file permissions of the package are mostl likely set to 711 preventing them from running correctly. With your preferred FTP client or via your web hosts control panel, set the file permissions of all the files and directories in the installed module, e.g. /jimtalk/mod/[myplugin]/ to 755 and then see if you can successfully view the module instance.

    Default exception handler: Error writing to database Debug: Duplicate entry ‘en_us-…

    • These errors are usually caused by a third party plugin.
    • To find the involved plugin, go to http://lang.jimtalk.org and use the AMOS tool to find all the strings with the given string identifier.
    • Remove the suspected plugin and check if the error has disappeared. If so, please contact the plugin maintainer and report this issue.
    • When installing manually

      • Check the file permissions. The web server needs to be able to read the plugin files. If the the rest of JimTalk works then try to make the plugin permissions and ownership match.
      • Did you definitely unzip or install the plugin in the correct place?
      • Because JimTalk scans plugin folders for new plugins you cannot have any other files or folders there. Make sure you deleted the zip file and don’t try to rename (for example) an old version of the plugin to some other name – it will break.
      • Make sure the directory name for the plugin is correct. All the names have to match. If you change the name, then it won’t work.

      Obtaining help

      Ask in a forum in JimTalk in English. Make sure you describe your system (including versions of MySQL, PHP etc.), what you tried and what happened. Copy and paste error messages exactly. Provide the link to the version of the plugin you downloaded (some have very similar names).

      Uninstalling a plugin

      To uninstall a plugin

    1. Go to Administration> Site Administration > Plugins > Plugins overview and click the Uninstall link opposite the plugin you wish to remove
    2. Use a file manager to remove/delete the actual plugin directory as instructed, otherwise JimTalk will reinstall it next time you access the site administration

    Plugins overview

    The Plugins overview page in Administration > Site Administration > Plugins > Plugins overview lists all installed plugins, together with the version number,release, availability (enabled or disabled) and settings link (if applicable).

    Plugin updating from within JimTalk

    An administrator can enable updates deployment in Administration > Site Administration > Server > Update notifications. Then when updates are available, ‘Install this update’ buttons are shown on the Plugins overview page. See Automatic updates deployment for more details.

    Preventing installing plugins from within JimTalk

    If required, installing and updating from within JimTalk can be prevented by copying the following lines of code from config-dist.php and pasting them in config.php.

    // Use the following flag to completely disable the installation of plugins
    // (new plugins, available updates and missing dependencies) and related
    // features (such as cancelling the plugin installation or upgrade) via the
    // server administration web interface.
    $CFG->disableupdateautodeploy = true;

    See also

    For developers:

    Leave a comment

    Your email address will not be published. Required fields are marked *