Manage plugins from the user interface and from the command line

This commit is contained in:
Frederic Guillot
2016-05-20 12:51:05 -04:00
parent cbf896e74e
commit 8d69c49da5
20 changed files with 563 additions and 61 deletions

View File

@@ -41,6 +41,10 @@ Available commands:
locale:sync Synchronize all translations based on the fr_FR locale
notification
notification:overdue-tasks Send notifications for overdue tasks
plugin
plugin:install Install a plugin from a remote Zip archive
plugin:uninstall Remove a plugin
plugin:upgrade Update all installed plugins
projects
projects:daily-stats Calculate daily statistics for all projects
trigger
@@ -170,3 +174,25 @@ You will be prompted for a password and confirmation. Characters are not printed
```bash
./kanboard user:reset-2fa my_user
```
### Install a plugin
```bash
./kanboard plugin:install https://github.com/kanboard/plugin-github-auth/releases/download/v1.0.1/GithubAuth-1.0.1.zip
```
Note: Installed files will have the same permissions as the current user
### Remove a plugin
```bash
./kanboard plugin:uninstall Budget
```
### Upgrade all plugins
```bash
./kanboard plugin:upgrade
* Updating plugin: Budget Planning
* Plugin up to date: Github Authentication
```

View File

@@ -15,14 +15,21 @@ define('LOG_DRIVER', 'file'); // Other drivers are: syslog, stdout, stderr or fi
The log driver must be defined if you enable the debug mode.
The debug mode logs all SQL queries and the time taken to generate pages.
Plugins folder
--------------
Plugins
-------
Plugin folder:
```php
// Plugin directory
define('PLUGINS_DIR', 'data/plugins');
```
Enable/disable plugin installation from the user interface:
```php
define('PLUGIN_INSTALLER', true); // Default is true
```
Folder for uploaded files
-------------------------

View File

@@ -110,6 +110,7 @@ Technical details
- [Environment variables](env.markdown)
- [Email configuration](email-configuration.markdown)
- [URL rewriting](nice-urls.markdown)
- [Plugin Directory](plugin-directory.markdown)
### Database

View File

@@ -0,0 +1,15 @@
Plugin Directory Configuration
==============================
To install, update and remove plugins from the user interface, you must have those requirements:
- The plugin directory must be writeable by the web server user
- The Zip extension must be available on your server
- The config parameter `PLUGIN_INSTALLER` must be set at `true`
To disable this feature, change the value of `PLUGIN_INSTALLER` to `false` in your config file.
You can also change the permissions of the plugin folder on the filesystem.
Only administrators are allowed to install plugins from the user interface.
By default, only plugin listed on Kanboard's website are available.