DokuWiki

It's better when it's simple

User Tools

Site Tools


plugin:extension

Extension Manager Plugin

Compatible with DokuWiki

(bundled)

plugin Manage and install plugins and templates (bundled with DokuWiki)

Last updated on
2023-04-04
Provides
Admin, CLI

Description

The Extension Manager plugin allows superusers to administer installed plugins and templates and install new ones as listed in the plugins and template repositories.

Usage

The Extension Manager is accessible from the admin screen (Login as superuser, click “Admin” and choose “ Extension Manager”).

Listing Installed Plugins and Templates

The Installed Plugins listing is the default action of the Extension Manager. The second tab lists the Installed templates. Each plugin or template is shown in its own row. The right hand side column contains action buttons like Disable/Enable, Install/Uninstall/Re-install and Update. Not all buttons are available in all circumstances. For example, there is no enable button for templates.

Plugins and templates with gray font are currently disabled.

Enabling/Disabling Plugins and Templates

To disable or enable a plugin, you use the Disable and Enable buttons on the right hand side.

Disabled plugins will no longer be loaded by DokuWiki, their stylesheets and JavaScript won't be loaded, and their syntax will no longer have any effect.

Templates are activated and deactivated by selecting the active template in the Configuration Manager.

Display Extension Details

Pressing the arrow button in the rightbottom corner will display some basic information about the chosen plugin read from two sources, namely

  1. DokuWiki's online repositories
  2. the local info file that is installed with an extension

The information of the repository is shown firstly, next it is completed with some info of the local info file. This local info can be outdated.

Installing Extensions

Extensions can add useful features, but please be aware that installing 3rd party code may pose a security risk.

Search and install via the manager

In the third tab “Search and Install” of the Extension manager you can search the extension repositories on dokuwiki.org for plugins and templates and install them using the “Install” button.

Manual Install

Plugins and templates not provided via the online repository or a version from a different download location can be installed via the fourth tab “Manual Install”. You can provide a url or choose an archive from your computer.

Re-Installing and Updating

Depending on the automatically gathered information about installed extensions you may see an additional button for “Re-Install” or “Update”.

:!: If you have installed an extension that shares the same name as one in the online repository but is a different one, do not use this feature for it.

You will see no such button for extensions that are not available in the online repository. This may be due to end of support, never having been added to the repository, or use of an alternative installation source. The latter especially for extensions that are installed using Git.

Re-Installing an Extension

Re-Installing may be useful if you are not sure if something may have spoiled your extension.

Updating an Extension

When you press “Update” the Extension Manager will use the Download URL as provided via the online repository for retrieving updates. The extension manager will re-download the extension and install it again, overwriting the older version.

For the update process to work properly it is necessary that the date “Last updated on” in the Dokuwiki Extension repository equals the date in the file plugin.info.txt for plugins and template.info.txt for templates in the source tarbal/zipfile. If this is not the case: the update will not take place or the “Update” signal persists.

If an extension is updated, the Extension Manager will remove all the files listed in the deleted.files file if such a file is added to the extension.

Uninstalling Extensions

Every installed extension has an “Uninstall” button.

Manual Uninstall

If the installation of a defective or conflicting extension broke the “Uninstall” button or made your whole wiki unavailable, you can delete it by removing the extension's directory (or ask your administrator to do so):

  1. enter your wiki's filesystem
  2. go to the /lib/tpl (for a template) or /lib/plugins folder
  3. find the critical extension's folder and delete it

Alternatively, if the goal is to disable temporary the plugin due to issues, you can also first try to disable the plugin by adding the following line to the local config.

/conf/plugins.local.php
$plugins['pluginname'] = 0;

Command Line Interface

The plugin also installs a command line plugin which allows to do all the actions mentioned above from the command line. This is especially useful if you want to automate the setup of your DokuWiki. Eg. using salt or ansible.

Run the following command in your DokuWiki directory for a list of commands and options:

./bin/plugin.php extension --help

File Permissions

To be able to install and modify your extensions, the webserver needs to be able to write to the lib/plugins or the lib/tpl directory and all files below. Refer to permissions for details on how set file permissions on various systems.

The extension manager will detect missing file permissions and warn you when a plugin or a template could not be installed. You have to install extensions manually in this case, by downloading and unpacking them in lib/plugins or lib/tpl yourself.

Possible Error Sources

If you try to install extensions using the automatic download and install tool and get the error message “No plugins found, or there has been an unknown problem during downloading and installing.”, then you should check:

  • whether your server has activated the zlib (and/or bzip2) extension for php. To be sure, try the following: Download an extension, extract it, and rearchive it into a .tar file (without compression). Now try to use the download and install tool on that .tar file. If it works now, it is most likely that you just need to install the php-zlib package.
  • whether your server is able to retrieve files over SSL (https://). Many extensions (correctly) use secure download links, including all those hosted on github. If your server is incorrectly setup to use SSL for file retrieval, try dropping SSL by deleting the 's' and changing the schema to 'http://'.

Development

The rewrite of DokuWiki's Plugin Manager plugin was part of Google Summer of Code 2011 with Piyush Mishra as developer. Before inclusion it was rewritten by Michitux and Andi.

Bugs/feature requests

Please refer to DokuWikis bug tracker for reporting bugs or feature requests.

plugin/extension.txt · Last modified: 2023-08-24 23:30 by Klap-in

Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki