summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/api-authentication.markdown3
-rw-r--r--doc/api-json-rpc.markdown1
-rw-r--r--doc/cli.markdown55
-rw-r--r--doc/config.markdown14
-rw-r--r--doc/cronjob.markdown2
-rwxr-xr-xdoc/es_ES/cli.markdown56
-rwxr-xr-xdoc/es_ES/cronjob.markdown6
-rw-r--r--doc/es_ES/installation.markdown1
-rw-r--r--doc/es_ES/translations.markdown4
-rw-r--r--doc/fr_FR/index.markdown1
-rw-r--r--doc/fr_FR/installation.markdown1
-rw-r--r--doc/fr_FR/update.markdown21
-rw-r--r--doc/fr_FR/user-mentions.markdown13
-rw-r--r--doc/index.markdown2
-rw-r--r--doc/installation.markdown14
-rw-r--r--doc/nitrous.markdown10
-rw-r--r--doc/plugin-registration.markdown22
-rw-r--r--doc/postgresql-configuration.markdown8
-rw-r--r--doc/ru_RU/cli.markdown278
-rw-r--r--doc/ru_RU/cronjob.markdown15
-rw-r--r--doc/ru_RU/index.markdown1
-rw-r--r--doc/ru_RU/installation.markdown1
-rw-r--r--doc/ru_RU/translations.markdown87
-rw-r--r--doc/screenshots/mention-autocomplete.pngbin3066 -> 0 bytes
-rw-r--r--doc/screenshots/user-mentions.pngbin0 -> 5228 bytes
-rw-r--r--doc/solving-session-issue-windows-iis-ie.markdown19
-rw-r--r--doc/translations.markdown4
-rw-r--r--doc/update.markdown22
-rw-r--r--doc/user-mentions.markdown2
-rw-r--r--doc/worker.markdown4
30 files changed, 270 insertions, 397 deletions
diff --git a/doc/api-authentication.markdown b/doc/api-authentication.markdown
index 3ba1e8f5..be536be3 100644
--- a/doc/api-authentication.markdown
+++ b/doc/api-authentication.markdown
@@ -17,7 +17,8 @@ Default method (HTTP Basic)
### User credentials
-- Use the real username and password
+- Username: username
+- Password: user password or personal access token
The API use the [HTTP Basic Authentication Scheme described in the RFC2617](http://www.ietf.org/rfc/rfc2617.txt).
diff --git a/doc/api-json-rpc.markdown b/doc/api-json-rpc.markdown
index ab1056f0..fc612682 100644
--- a/doc/api-json-rpc.markdown
+++ b/doc/api-json-rpc.markdown
@@ -18,6 +18,7 @@ There are two types of API access:
### User API
- Access to the API with the user credentials (username and password)
+- You can also generate a personal access token instead of your password
- Application role and project permissions are checked for each procedure
- A user session is created on the server
- Example of possible clients: native mobile/desktop application, command line utility, etc...
diff --git a/doc/cli.markdown b/doc/cli.markdown
index 37cc7ee8..8bd5bde5 100644
--- a/doc/cli.markdown
+++ b/doc/cli.markdown
@@ -10,7 +10,7 @@ Usage
-----
- Open a terminal and go to your Kanboard directory (example: `cd /var/www/kanboard`)
-- Run the command `./kanboard`
+- Run the command `./cli` or `php cli`
```bash
Kanboard version master
@@ -32,6 +32,9 @@ Available commands:
help Displays help for a command
list Lists commands
worker Execute queue worker
+ db
+ db:migrate Execute SQL migrations
+ db:version Show database schema version
export
export:daily-project-column-stats Daily project column stats CSV export (number of tasks per column and per day)
export:subtasks Subtasks CSV export
@@ -63,13 +66,13 @@ Available commands
Usage:
```bash
-./kanboard export:tasks <project_id> <start_date> <end_date>
+./cli export:tasks <project_id> <start_date> <end_date>
```
Example:
```bash
-./kanboard export:tasks 1 2014-10-01 2014-11-30 > /tmp/my_custom_export.csv
+./cli export:tasks 1 2014-10-01 2014-11-30 > /tmp/my_custom_export.csv
```
CSV data are sent to `stdout`.
@@ -79,13 +82,13 @@ CSV data are sent to `stdout`.
Usage:
```bash
-./kanboard export:subtasks <project_id> <start_date> <end_date>
+./cli export:subtasks <project_id> <start_date> <end_date>
```
Example:
```bash
-./kanboard export:subtasks 1 2014-10-01 2014-11-30 > /tmp/my_custom_export.csv
+./cli export:subtasks 1 2014-10-01 2014-11-30 > /tmp/my_custom_export.csv
```
### Task transitions CSV export
@@ -93,13 +96,13 @@ Example:
Usage:
```bash
-./kanboard export:transitions <project_id> <start_date> <end_date>
+./cli export:transitions <project_id> <start_date> <end_date>
```
Example:
```bash
-./kanboard export:transitions 1 2014-10-01 2014-11-30 > /tmp/my_custom_export.csv
+./cli export:transitions 1 2014-10-01 2014-11-30 > /tmp/my_custom_export.csv
```
### Export daily summaries data in CSV
@@ -107,13 +110,13 @@ Example:
The exported data will be printed on the standard output:
```bash
-./kanboard export:daily-project-column-stats <project_id> <start_date> <end_date>
+./cli export:daily-project-column-stats <project_id> <start_date> <end_date>
```
Example:
```bash
-./kanboard export:daily-project-column-stats 1 2014-10-01 2014-11-30 > /tmp/my_custom_export.csv
+./cli export:daily-project-column-stats 1 2014-10-01 2014-11-30 > /tmp/my_custom_export.csv
```
### Send notifications for overdue tasks
@@ -121,7 +124,7 @@ Example:
Emails will be sent to all users with notifications enabled.
```bash
-./kanboard notification:overdue-tasks
+./cli notification:overdue-tasks
```
Optional parameters:
@@ -147,7 +150,7 @@ You can also display the overdue tasks with the flag `--show`:
This command calculate the statistics of each project:
```bash
-./kanboard projects:daily-stats
+./cli projects:daily-stats
Run calculation for Project #0
Run calculation for Project #1
Run calculation for Project #10
@@ -158,14 +161,14 @@ Run calculation for Project #10
This command send a "daily cronjob event" to all open tasks of each project.
```bash
-./kanboard trigger:tasks
+./cli trigger:tasks
Trigger task event: project_id=2, nb_tasks=1
```
### Reset user password
```bash
-./kanboard user:reset-password my_user
+./cli user:reset-password my_user
```
You will be prompted for a password and confirmation. Characters are not printed to the screen.
@@ -173,13 +176,13 @@ You will be prompted for a password and confirmation. Characters are not printed
### Remove two-factor authentication for a user
```bash
-./kanboard user:reset-2fa my_user
+./cli 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
+./cli 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
@@ -187,13 +190,13 @@ Note: Installed files will have the same permissions as the current user
### Remove a plugin
```bash
-./kanboard plugin:uninstall Budget
+./cli plugin:uninstall Budget
```
### Upgrade all plugins
```bash
-./kanboard plugin:upgrade
+./cli plugin:upgrade
* Updating plugin: Budget Planning
* Plugin up to date: Github Authentication
```
@@ -201,5 +204,21 @@ Note: Installed files will have the same permissions as the current user
### Run Background worker
```bash
-./kanboard worker
+./cli worker
+```
+
+### Execute database migrations
+
+If the parameter `DB_RUN_MIGRATIONS` is set to `false`, you have run the database migrations manually:
+
+```bash
+./cli db:migrate
+```
+
+### Check database schema version
+
+```bash
+./cli db:version
+Current version: 95
+Last version: 96
```
diff --git a/doc/config.markdown b/doc/config.markdown
index 853fa6f2..a2046989 100644
--- a/doc/config.markdown
+++ b/doc/config.markdown
@@ -30,6 +30,12 @@ Enable/disable plugin installation from the user interface:
define('PLUGIN_INSTALLER', true); // Default is true
```
+Change default plugin directory URL:
+
+```php
+define('PLUGIN_API_URL', 'https://kanboard.net/plugins.json');
+```
+
Folder for uploaded files
-------------------------
@@ -80,6 +86,11 @@ Database settings
-----------------
```php
+// Run automatically database migrations
+// If set to false, you will have to run manually the SQL migrations from the CLI during the next Kanboard upgrade
+// Do not run the migrations from multiple processes at the same time (example: web page + background worker)
+define('DB_RUN_MIGRATIONS', true);
+
// Database driver: sqlite, mysql or postgres (sqlite by default)
define('DB_DRIVER', 'sqlite');
@@ -315,4 +326,7 @@ define('DISABLE_LOGOUT', false);
// Override API token stored in the database, useful for automated tests
define('API_AUTHENTICATION_TOKEN', 'My unique API Token');
+
+// TOTP (2FA) issuer name
+define('TOTP_ISSUER', 'Kanboard');
```
diff --git a/doc/cronjob.markdown b/doc/cronjob.markdown
index 780f0025..743aac95 100644
--- a/doc/cronjob.markdown
+++ b/doc/cronjob.markdown
@@ -25,7 +25,7 @@ sudo crontab -u www-data -e
Example to execute the daily cronjob at 8am:
```bash
-0 8 * * * cd /path/to/kanboard && ./kanboard cronjob >/dev/null 2>&1
+0 8 * * * cd /path/to/kanboard && ./cli cronjob >/dev/null 2>&1
```
Note: the cronjob process must have write access to the database in case you are using Sqlite.
diff --git a/doc/es_ES/cli.markdown b/doc/es_ES/cli.markdown
index 3f19b39d..ec46bdd6 100755
--- a/doc/es_ES/cli.markdown
+++ b/doc/es_ES/cli.markdown
@@ -10,7 +10,7 @@ Uso
-----
- Abre una terminal y ve a tu directorio de kanboard (ejemplo : `cd /var/www/kanboard`)
-- Corre el comando `./kanboard`
+- Corre el comando `./cli` / `php cli`
```bash
Kanboard version master
@@ -33,10 +33,10 @@ Available commands:
list Lista de comandos
worker Execute queue worker
export
- export:daily-project-column-stats Diariamente estadsticas de exportacin de CSV (nmero de tareas por columna y por da )
+ export:daily-project-column-stats Diariamente estad�sticas de exportaci�n de CSV (n�mero de tareas por columna y por d�a )
export:subtasks Exportar a CSV las subtareas
export:tasks Exportar a CSV las tareas
- export:transitions Exportar a CSV tareas de transicin
+ export:transitions Exportar a CSV tareas de transici�n
locale
locale:compare Comparar aplicacion de traducciones con el locale fr_FR
locale:sync Sincronizar todas las traducciones basadas en el locale fr_FR
@@ -51,7 +51,7 @@ Available commands:
trigger
trigger:tasks Disparadores de eventos calendarizados para todas las tareas
user
- user:reset-2fa Eliminar la autenticacin two-factor para un usuario
+ user:reset-2fa Eliminar la autenticaci�n two-factor para un usuario
user:reset-password Cambiar el passwor del usuario
```
@@ -63,13 +63,13 @@ Comandos disponibles
Uso:
```bash
-./kanboard export:tasks <project_id> <start_date> <end_date>
+./cli export:tasks <project_id> <start_date> <end_date>
```
Ejemplo:
```bash
-./kanboard export:tasks 1 2014-10-01 2014-11-30 > /tmp/my_custom_export.csv
+./cli export:tasks 1 2014-10-01 2014-11-30 > /tmp/my_custom_export.csv
```
CSV los datos son enviados a `stdout`.
@@ -79,41 +79,41 @@ CSV los datos son enviados a `stdout`.
Uso:
```bash
-./kanboard export:subtasks <project_id> <start_date> <end_date>
+./cli export:subtasks <project_id> <start_date> <end_date>
```
Ejemplo:
```bash
-./kanboard export:subtasks 1 2014-10-01 2014-11-30 > /tmp/my_custom_export.csv
+./cli export:subtasks 1 2014-10-01 2014-11-30 > /tmp/my_custom_export.csv
```
-### Exportacin a CSV de tareas de transicin
+### Exportaci�n a CSV de tareas de transici�n
Uso:
```bash
-./kanboard export:transitions <project_id> <start_date> <end_date>
+./cli export:transitions <project_id> <start_date> <end_date>
```
Ejemplo:
```bash
-./kanboard export:transitions 1 2014-10-01 2014-11-30 > /tmp/my_custom_export.csv
+./cli export:transitions 1 2014-10-01 2014-11-30 > /tmp/my_custom_export.csv
```
### Exportar diariamente resumenes de datos en CSV
-Los datos exportados se pueden imprimir en la salida estndar:
+Los datos exportados se pueden imprimir en la salida est�ndar:
```bash
-./kanboard export:daily-project-column-stats <project_id> <start_date> <end_date>
+./cli export:daily-project-column-stats <project_id> <start_date> <end_date>
```
Ejemplo:
```bash
-./kanboard export:daily-project-column-stats 1 2014-10-01 2014-11-30 > /tmp/my_custom_export.csv
+./cli export:daily-project-column-stats 1 2014-10-01 2014-11-30 > /tmp/my_custom_export.csv
```
### Envio de notificaciones para tareas atrasadas
@@ -121,7 +121,7 @@ Ejemplo:
Los Emails se enviaran a todos los usuarios con las notificaciones habilitadas.
```bash
-./kanboard notification:overdue-tasks
+./cli notification:overdue-tasks
```
Parametros opcionales:
@@ -130,10 +130,10 @@ Parametros opcionales:
- `--group`: Grupo tareas atrasadas todo para un usuario (desde todos los proyectos) en un email
- `--manager`: Enviar todas las tareas atrasadas a un project manager(s) en un email
-Tambin puede mostrar las tareas atrasadas con la bandera `--show`:
+Tambi�n puede mostrar las tareas atrasadas con la bandera `--show`:
```bash
-./kanboard notification:overdue-tasks --show
+./cli notification:overdue-tasks --show
+-----+---------+------------+------------+--------------+----------+
| Id | Title | Due date | Project Id | Project name | Assignee |
+-----+---------+------------+------------+--------------+----------+
@@ -147,7 +147,7 @@ Tambin puede mostrar las tareas atrasadas con la bandera `--show`:
Este comando calcula las estadisticas por cada proyecto:
```bash
-./kanboard projects:daily-stats
+./cli projects:daily-stats
Run calculation for Project #0
Run calculation for Project #1
Run calculation for Project #10
@@ -158,42 +158,42 @@ Run calculation for Project #10
Este comando envia a "daily cronjob event" a todas las tareas abiertas de cada proyecto.
```bash
-./kanboard trigger:tasks
+./cli trigger:tasks
Trigger task event: project_id=2, nb_tasks=1
```
### Resetear el password del usuario
```bash
-./kanboard user:reset-password my_user
+./cli user:reset-password my_user
```
-Se le pedir una contrasea y la confirmacin. Los caracteres no se imprimen en la pantalla.
+Se le pedir� una contrase�a y la confirmaci�n. Los caracteres no se imprimen en la pantalla.
-### Eliminar la autenticacin two-factor para un usuario
+### Eliminar la autenticaci�n two-factor para un usuario
```bash
-./kanboard user:reset-2fa my_user
+./cli user:reset-2fa my_user
```
### Instalar un plugin
```bash
-./kanboard plugin:install https://github.com/kanboard/plugin-github-auth/releases/download/v1.0.1/GithubAuth-1.0.1.zip
+./cli plugin:install https://github.com/kanboard/plugin-github-auth/releases/download/v1.0.1/GithubAuth-1.0.1.zip
```
-Nota: Los archivos instalados tendrn los mismos permisos que el usuario actual
+Nota: Los archivos instalados tendr�n los mismos permisos que el usuario actual
### Eliminar un usuario
```bash
-./kanboard plugin:uninstall Budget
+./cli plugin:uninstall Budget
```
### Upgrade todos los plugins
```bash
-./kanboard plugin:upgrade
+./cli plugin:upgrade
* Updating plugin: Budget Planning
* Plugin up to date: Github Authentication
```
@@ -201,5 +201,5 @@ Nota: Los archivos instalados tendrn los mismos permisos que el usuario actual
### Run Background worker
```bash
-./kanboard worker
+./cli worker
```
diff --git a/doc/es_ES/cronjob.markdown b/doc/es_ES/cronjob.markdown
index f8f9ebc8..b7dc5cee 100755
--- a/doc/es_ES/cronjob.markdown
+++ b/doc/es_ES/cronjob.markdown
@@ -1,4 +1,4 @@
-Programacin de Jobs en background
+Programaci�n de Jobs en background
==================================
Para trabajar correctamente,Kanboard requiere que se corra un job en background diariamente.
@@ -10,7 +10,7 @@ Este job es necesario para estas caracteristicas:
- Enviar notificaciones de tareas atrasadas.
- Ejecutar automaticamente acciones conectadas a el evento "Daily background job for tasks"
-Configuracin de plataformas Unix y Linux
+Configuraci�n de plataformas Unix y Linux
-----------------------------------------
Hay varias maneras de definir una tarea programada en sistemas operativos Unix/Linux , este ejemplo es para Ubuntu 14.04 .
@@ -25,7 +25,7 @@ sudo crontab -u www-data -e
Ejemplo para ejecutar diariamente cronjob a las 8am:
```bash
-0 8 * * * cd /path/to/kanboard && ./kanboard cronjob >/dev/null 2>&1
+0 8 * * * cd /path/to/kanboard && ./cli cronjob >/dev/null 2>&1
```
Nota : El proceso del cronjob debe tener acceso a escritura de la base de datos en caso de usar Sqlite.
diff --git a/doc/es_ES/installation.markdown b/doc/es_ES/installation.markdown
index 9491d591..f3dfc495 100644
--- a/doc/es_ES/installation.markdown
+++ b/doc/es_ES/installation.markdown
@@ -44,6 +44,7 @@ Si desea instalar Kanboard fuera de la raíz de documentos del servidor web, es
```bash
.
├── assets -> ../kanboard/assets
+├── cli -> ../kanboard/cli
├── doc -> ../kanboard/doc
├── favicon.ico -> ../kanboard/favicon.ico
├── index.php -> ../kanboard/index.php
diff --git a/doc/es_ES/translations.markdown b/doc/es_ES/translations.markdown
index 074d9ae3..66fd2a4c 100644
--- a/doc/es_ES/translations.markdown
+++ b/doc/es_ES/translations.markdown
@@ -50,7 +50,7 @@ How to find missing translations in the applications?
From a terminal, run the following command:
```bash
-./kanboard locale:compare
+./cli locale:compare
```
All missing and unused translations are displayed on the screen.
@@ -62,7 +62,7 @@ How to synchronize translation files?
From a Unix shell run this command:
```bash
-./kanboard locale:sync
+./cli locale:sync
```
The French translation is used a reference to other locales.
diff --git a/doc/fr_FR/index.markdown b/doc/fr_FR/index.markdown
index d48c94ca..b33baf85 100644
--- a/doc/fr_FR/index.markdown
+++ b/doc/fr_FR/index.markdown
@@ -46,6 +46,7 @@ Utiliser Kanboard
- [Créer des tâches par email](create-tasks-by-email.markdown)
- [Sous-tâches](subtasks.markdown)
- [Analytique des tâches](analytics-tasks.markdown)
+- [Mentionner les utilisateurs](user-mentions.markdown)
### Travailler avec les utilisateurs
diff --git a/doc/fr_FR/installation.markdown b/doc/fr_FR/installation.markdown
index 4f7569ab..9e4cb47a 100644
--- a/doc/fr_FR/installation.markdown
+++ b/doc/fr_FR/installation.markdown
@@ -42,6 +42,7 @@ Si vous souhaitez installer Kanboard en dehors du document root de votre serveur
```bash
.
├── assets -> ../kanboard/assets
+├── cli -> ../kanboard/cli
├── doc -> ../kanboard/doc
├── favicon.ico -> ../kanboard/favicon.ico
├── index.php -> ../kanboard/index.php
diff --git a/doc/fr_FR/update.markdown b/doc/fr_FR/update.markdown
index 508f729d..68468e50 100644
--- a/doc/fr_FR/update.markdown
+++ b/doc/fr_FR/update.markdown
@@ -12,7 +12,8 @@ Choses importantes à faire avant la mise à jour
- **Vérifiez que votre sauvegarde est valide !**
- Vérifiez encore
- Toujours lire la [liste des changements](https://github.com/kanboard/kanboard/blob/master/ChangeLog) pour vérifier sil y a des opérations manuelles à faire
-- Toujours fermer les sessions des utilisateurs sur le serveur
+- Stoppez le _worker_
+- Mettez le serveur web en mode maintenance pour éviter que les gens utilisent l'application pendant la mise à jour
Depuis l'archive (version stable)
---------------------------------
@@ -33,3 +34,21 @@ Depuis le dépôt git (version de développement)
3. Testez que tout fonctionne correctement
Cette méthode va installer **la version en cours de développement**, utilisez là à vos risques.
+
+Appliquer les migrations SQL manuellement
+-----------------------------------------
+
+Par défaut, les migrations SQL sont exécutées automatiquement.
+La version du schéma est vérifiée à chaque requête.
+De cette manière, les changements de base de données sont appliqués automatiquement.
+
+Vous pouvez désactiver ce comportement si vous le souhaitez en fonction de votre configuration.
+Par exemple, si plusieurs processus essaient de mettre à jour le schéma en même temps, il se peut que vous ayez des problèmes même si chaque opération se fait dans une transaction.
+
+Pour désactiver cette fonctionnalité, mettez le paramètre `DB_RUN_MIGRATIONS` à `false` dans votre fichier de [configuration](config.markdown).
+
+Lorsque vous allez mettre à jour Kanboard, exécutez cette commande :
+
+```bash
+./cli db:migrate
+```
diff --git a/doc/fr_FR/user-mentions.markdown b/doc/fr_FR/user-mentions.markdown
new file mode 100644
index 00000000..af322bb8
--- /dev/null
+++ b/doc/fr_FR/user-mentions.markdown
@@ -0,0 +1,13 @@
+Mentionner les utilisateurs
+===========================
+
+Kanboard offre la possibilité d'envoyer des notifications lorsque quelqu'un est mentionné.
+
+Si vous avez besoin d'obtenir l'attention de quelqu'un dans un commentaire ou une tâche, utilisez le symbole @ suivi de l'identifiant de l'utilisateur.
+Kanboard va automatiquement suggérer une liste d'utilisateurs :
+
+![Mentions](screenshots/user-mentions.png)
+
+- Pour le moment, cette fonctionnalité est activée uniquement pour la description des tâches et les commentaires
+- Cela fonctionne seulement lors de la création des tâches ou commentaires
+- Pour être mentionné, les utilisateurs doivent être membres du projet
diff --git a/doc/index.markdown b/doc/index.markdown
index 54010d0c..09b39d9f 100644
--- a/doc/index.markdown
+++ b/doc/index.markdown
@@ -89,6 +89,7 @@ Using Kanboard
- [Solving database migration issues](solving-database-migration-issues.markdown)
- [Blank page after upgrading](solving-blank-page-issue.markdown)
+- [Unable to open a session on Windows IIS and Internet Explorer](solving-session-issue-windows-iis-ie.markdown)
- [Performances](performances.markdown)
Technical details
@@ -110,7 +111,6 @@ Technical details
- [Run Kanboard with Docker](docker.markdown)
- [Run Kanboard with Vagrant](vagrant.markdown)
- [Run Kanboard on Cloudron](cloudron.markdown)
-- [Run Kanboard on Nitrous](nitrous.markdown)
### Configuration
diff --git a/doc/installation.markdown b/doc/installation.markdown
index 67b010a9..518282be 100644
--- a/doc/installation.markdown
+++ b/doc/installation.markdown
@@ -21,7 +21,7 @@ The `data` folder is used to store:
- Uploaded files: `files/*`
- Image thumbnails: `files/thumbnails/*`
-People who are using a remote database (Mysql/Postgresql) and a remote file storage (Aws S3 or similar) don't necessarily need to have a persistent local data folder or to change the permission.
+People who are using a remote database (Mysql/Postgresql) and a remote object storage (Aws S3 or similar) don't necessarily need to have a persistent local data folder or to change the permission.
From the git repository (development version)
---------------------------------------------
@@ -42,6 +42,7 @@ If you would like to install Kanboard outside of the web server document root, y
```bash
.
├── assets -> ../kanboard/assets
+├── cli -> ../kanboard/cli
├── doc -> ../kanboard/doc
├── favicon.ico -> ../kanboard/favicon.ico
├── index.php -> ../kanboard/index.php
@@ -53,7 +54,16 @@ The `.htaccess` is optional because its content can be included directly in the
You can also define a custom location for the plugins and files folders by changing the [config file](config.markdown).
-Optional installation
+
+Other Database Types
+--------------------
+
+Kanboard supports Mysql and Postgres as alternative to Sqlite.
+
+- [Mysql configuration](mysql-configuration.markdown]
+- [Postgres configuration](postgresql-configuration.markdown)
+
+Optional Installation
---------------------
- Some features of Kanboard require that you run [a daily background job](cronjob.markdown) (Reports and analytics)
diff --git a/doc/nitrous.markdown b/doc/nitrous.markdown
deleted file mode 100644
index daaedcef..00000000
--- a/doc/nitrous.markdown
+++ /dev/null
@@ -1,10 +0,0 @@
-Nitrous Quickstart
-==================
-
-Create a free development environment for this Kanboard project in the cloud on [Nitrous.io](https://www.nitrous.io) by clicking the button below.
-
-<a href="https://www.nitrous.io/quickstart">
- <img src="https://nitrous-image-icons.s3.amazonaws.com/quickstart.png" alt="Nitrous Quickstart" width=142 height=34>
-</a>
-
-Simply access your site via the `Preview > 3000` link in the IDE.
diff --git a/doc/plugin-registration.markdown b/doc/plugin-registration.markdown
index a9273e1d..2c80aab3 100644
--- a/doc/plugin-registration.markdown
+++ b/doc/plugin-registration.markdown
@@ -1,6 +1,28 @@
Plugin Registration
===================
+Project skeleton generator
+--------------------------
+
+You can use `cookiecutter` to create the project structure of your plugin automatically.
+
+Install Cookiecutter:
+
+```bash
+pip install -U cookiecutter
+```
+
+Run Kanboard cookiecutter:
+
+```bash
+cookiecutter gh:kanboard/cookiecutter-plugin
+plugin_name [My Plugin]: Some Plugin
+plugin_namespace [MyPlugin]: SomePlugin
+plugin_author [Plugin Author]: Me
+plugin_description [My plugin is awesome]:
+plugin_homepage [https://github.com/kanboard/plugin-myplugin]:
+```
+
Directory structure
-------------------
diff --git a/doc/postgresql-configuration.markdown b/doc/postgresql-configuration.markdown
index 627e2ded..bab15313 100644
--- a/doc/postgresql-configuration.markdown
+++ b/doc/postgresql-configuration.markdown
@@ -6,11 +6,9 @@ By default, Kanboard use Sqlite to store its data but it's also possible to use
Requirements
------------
-- Postgresql server already installed and configured
+- Postgresql >= 9.3
- The PHP extension `pdo_pgsql` installed (Debian/Ubuntu: `apt-get install php5-pgsql`)
-Note: Kanboard is tested with **Postgresql 9.3 and 9.4**
-
Configuration
-------------
@@ -43,10 +41,10 @@ Note: You can also rename the template file `config.default.php` to `config.php`
For the first time, Kanboard will run one by one each database migration and this process can take some time according to your configuration.
-To avoid any issues or potential timeouts you can initialize the database directly by importing the SQL schema:
+To avoid any issues or potential timeouts, you can initialize the database directly by importing the SQL schema:
```bash
psql -U postgres my_database < app/Schema/Sql/postgres.sql
```
-The file `app/Schema/Sql/postgres.sql` is a sql dump that represents the last version of the database.
+The file `app/Schema/Sql/postgres.sql` is a SQL dump that represents the last version of the database.
diff --git a/doc/ru_RU/cli.markdown b/doc/ru_RU/cli.markdown
index 9c7b56a7..5ac2b4ec 100644
--- a/doc/ru_RU/cli.markdown
+++ b/doc/ru_RU/cli.markdown
@@ -1,236 +1,125 @@
Интерфейс командной строки
==========================
-
-
Канборд обеспечивает простой интерфейс командной строки, которым можно воспользоваться только из Unix терминала. Эта возможность доступна только с локальной машины.
-
-
Интерфейс командной строки полезен для выполнения команд вне процессов веб сервера.
-
-
Использование[¶](#usage "Ссылка на этот заголовок")
---------------------------------------------------
-
-
- Откройте терминал и перейдите в директорию Канборд (например: `cd /var/www/kanboard`)
+- Выполните команду `./cli`
+```bash
+Kanboard version master
-- Выполните команду `./kanboard`
-
-
-
-<!-- -->
-
-
-
- Kanboard version master
-
-
-
- Usage:
-
- command [options] [arguments]
-
-
-
- Options:
-
- -h, --help Display this help message
-
- -q, --quiet Do not output any message
-
- -V, --version Display this application version
-
- --ansi Force ANSI output
-
- --no-ansi Disable ANSI output
-
- -n, --no-interaction Do not ask any interactive question
-
- -v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
-
-
-
- Available commands:
-
- cronjob Execute daily cronjob
-
- help Displays help for a command
-
- list Lists commands
-
- export
-
- export:daily-project-column-stats Daily project column stats CSV export (number of tasks per column and per day)
-
- export:subtasks Subtasks CSV export
-
- export:tasks Tasks CSV export
-
- export:transitions Task transitions CSV export
-
- locale
-
- locale:compare Compare application translations with the fr_FR locale
-
- 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
-
- trigger:tasks Trigger scheduler event for all tasks
-
- user
-
- user:reset-2fa Remove two-factor authentication for a user
+Usage:
+ command [options] [arguments]
- user:reset-password Change user password
+Options:
+ -h, --help Display this help message
+ -q, --quiet Do not output any message
+ -V, --version Display this application version
+ --ansi Force ANSI output
+ --no-ansi Disable ANSI output
+ -n, --no-interaction Do not ask any interactive question
+ -v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
+Available commands:
+ cronjob Execute daily cronjob
+ help Displays help for a command
+ list Lists commands
+ worker Execute queue worker
+ db
+ db:migrate Execute SQL migrations
+ db:version Show database schema version
+ export
+ export:daily-project-column-stats Daily project column stats CSV export (number of tasks per column and per day)
+ export:subtasks Subtasks CSV export
+ export:tasks Tasks CSV export
+ export:transitions Task transitions CSV export
+ locale
+ locale:compare Compare application translations with the fr_FR locale
+ 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
+ trigger:tasks Trigger scheduler event for all tasks
+ user
+ user:reset-2fa Remove two-factor authentication for a user
+ user:reset-password Change user password
+```
Доступные команды[¶](#available-commands "Ссылка на этот заголовок")
--------------------------------------------------------------------
-
-
### Экспорт задач в формате CSV[¶](#tasks-csv-export "Ссылка на этот заголовок")
-
-
Применение:
-
-
- ./kanboard export:tasks <project_id> <start_date> <end_date>
-
-
+ ./cli export:tasks <project_id> <start_date> <end_date>
Пример:
-
-
- ./kanboard export:tasks 1 2014-10-01 2014-11-30 > /tmp/my_custom_export.csv
-
-
+ ./cli export:tasks 1 2014-10-01 2014-11-30 > /tmp/my_custom_export.csv
Данные CSV передаются в `stdout`.
-
-
### Экспорт подзадач в формате CSV[¶](#subtasks-csv-export "Ссылка на этот заголовок")
-
-
Применение:
-
-
- ./kanboard export:subtasks <project_id> <start_date> <end_date>
-
-
+ ./cli export:subtasks <project_id> <start_date> <end_date>
Пример:
-
-
- ./kanboard export:subtasks 1 2014-10-01 2014-11-30 > /tmp/my_custom_export.csv
-
-
+ ./cli export:subtasks 1 2014-10-01 2014-11-30 > /tmp/my_custom_export.csv
### Экспорт перемещения задач в формате CSV[¶](#task-transitions-csv-export "Ссылка на этот заголовок")
-
-
Применение:
-
-
- ./kanboard export:transitions <project_id> <start_date> <end_date>
-
-
+ ./cli export:transitions <project_id> <start_date> <end_date>
Пример:
-
-
- ./kanboard export:transitions 1 2014-10-01 2014-11-30 > /tmp/my_custom_export.csv
-
-
+ ./cli export:transitions 1 2014-10-01 2014-11-30 > /tmp/my_custom_export.csv
### Экспорт ежедневных сведений в формате CSV[¶](#export-daily-summaries-data-in-csv "Ссылка на этот заголовок")
-
-
Экспортированные данные будут выведены в стандартный вывод:
-
-
- ./kanboard export:daily-project-column-stats <project_id> <start_date> <end_date>
-
-
+ ./cli export:daily-project-column-stats <project_id> <start_date> <end_date>
Пример:
-
-
- ./kanboard export:daily-project-column-stats 1 2014-10-01 2014-11-30 > /tmp/my_custom_export.csv
-
-
+ ./cli export:daily-project-column-stats 1 2014-10-01 2014-11-30 > /tmp/my_custom_export.csv
### Отправка уведомлений для просроченных задач[¶](#send-notifications-for-overdue-tasks "Ссылка на этот заголовок")
-
-
Email сообщения будут отправлены всем пользователям, у которых включено оповещение.
-
-
- ./kanboard notification:overdue-tasks
-
-
+ ./cli notification:overdue-tasks
Необязательные параметры:
-
-
- `--show`: Показывать отправку уведомлений
-
-
-
- `--group`: Группировать все просроченные задачи для одного пользователя (со всех проектов) на один email
-
-
-
- `--manager`: Посылать все просроченные задачи менеджеру (менеджерам) проекта в одном email сообщении
-
-
Вы можете просмотреть просроченные задачи с помощью параметра `--show`:
-
-
```bash
-./kanboard notification:overdue-tasks --show
+./cli notification:overdue-tasks --show
+-----+---------+------------+------------+--------------+----------+
| Id | Title | Due date | Project Id | Project name | Assignee |
+-----+---------+------------+------------+--------------+----------+
@@ -239,93 +128,46 @@ Email сообщения будут отправлены всем пользов
+-----+---------+------------+------------+--------------+----------+
```
-
### Запуск ежедневной калькуляции статистики[¶](#run-daily-project-stats-calculation "Ссылка на этот заголовок")
-
-
Эта команда считает статистику для каждого проекта:
-
-
- ./kanboard projects:daily-stats
-
+ ./cli projects:daily-stats
Run calculation for Project #0
-
Run calculation for Project #1
-
Run calculation for Project #10
-
-
### Триггеры для задач[¶](#trigger-for-tasks)
-
-
Эта команда посылает “событие для ежедневных фоновых заданий” для всех открытых задач в каждом проекте.
-
-
- ./kanboard trigger:tasks
-
+ ./cli trigger:tasks
Trigger task event: project_id=2, nb_tasks=1
-
-
### Сброс пароля пользователя[¶](#reset-user-password "Ссылка на этот заголовок")
-
-
- ./kanboard user:reset-password my_user
-
-
+ ./cli user:reset-password my_user
Будет запрошен пароль и подтверждение. Символы не отображаются на экране.
-
-
### Удаление двухуровневой аутентификации для пользователя[¶](#remove-two-factor-authentication-for-a-user "Ссылка на этот заголовок")
-
-
- ./kanboard user:reset-2fa my_user
-
-
+ ./cli user:reset-2fa my_user
### Установка плагина[¶](#install-a-plugin "Ссылка на этот заголовок")
-
-
- ./kanboard plugin:install https://github.com/kanboard/plugin-github-auth/releases/download/v1.0.1/GithubAuth-1.0.1.zip
-
-
+ ./cli plugin:install https://github.com/kanboard/plugin-github-auth/releases/download/v1.0.1/GithubAuth-1.0.1.zip
Заметка: Установленные файлы будут иметь теже права, что и у текущего пользователя
-
-
### Удаление плагина[¶](#remove-a-plugin "Ссылка на этот заголовок")
-
-
- ./kanboard plugin:uninstall Budget
-
-
+ ./cli plugin:uninstall Budget
### Обновление всех плагинов[¶](#upgrade-all-plugins "Ссылка на этот заголовок")
-
-
- ./kanboard plugin:upgrade
-
+ ./cli plugin:upgrade
* Updating plugin: Budget Planning
-
* Plugin up to date: Github Authentication
-
-
-
-
-
[Русская документация Kanboard](http://kanboard.ru/doc/)
-
diff --git a/doc/ru_RU/cronjob.markdown b/doc/ru_RU/cronjob.markdown
index 62f8e886..f6d3a2af 100644
--- a/doc/ru_RU/cronjob.markdown
+++ b/doc/ru_RU/cronjob.markdown
@@ -1,7 +1,6 @@
Ежедневные фоновые задачи
=========================
-
Для корректной работы, Канборд должен запускать ежедневные фоновые задачи. На Unix платформах этот процесс выполнятся в `cron`.
Фоновые задачи необходимы для следующих возможностей:
@@ -16,26 +15,14 @@
Для создания фоновых задач под операционной системой Unix/Linux используются разные решения. Здесь приведен пример для Ubuntu 14.04. Для других систем процедура похожа.
-
Отредактируйте crontab под пользователем вашего веб сервера:
-
sudo crontab -u www-data -e
-
Пример запуска ежедневной фоновой задачи в 8 утра:
-
- 0 8 * * * cd /path/to/kanboard && ./kanboard cronjob >/dev/null 2>&1
-
+ 0 8 * * * cd /path/to/kanboard && ./cli cronjob >/dev/null 2>&1
Примечание: процес выполнения фоновых задач должен иметь права доступа к вашей базе данных в случае если вы используете Sqlite. Обычно, достаточно запускать фоновую задачу под пользователем веб сервера.
-
-
-
-
-
-
[Русская документация Kanboard](http://kanboard.ru/doc/)
-
diff --git a/doc/ru_RU/index.markdown b/doc/ru_RU/index.markdown
index c4a12d52..88467206 100644
--- a/doc/ru_RU/index.markdown
+++ b/doc/ru_RU/index.markdown
@@ -178,7 +178,6 @@
- [Запуск Kanboard на Cloudron](cloudron.markdown)
-- [Запуск Kanboard на Nitrous](nitrous.markdown)
### Настройка[¶](#configuration "Ссылка на этот заголовок")
diff --git a/doc/ru_RU/installation.markdown b/doc/ru_RU/installation.markdown
index e59e43d2..ff989b19 100644
--- a/doc/ru_RU/installation.markdown
+++ b/doc/ru_RU/installation.markdown
@@ -75,6 +75,7 @@
├── assets -> ../kanboard/assets
├── doc -> ../kanboard/doc
+ ├── cli -> ../kanboard/cli
├── favicon.ico -> ../kanboard/favicon.ico
├── index.php -> ../kanboard/index.php
├── jsonrpc.php -> ../kanboard/jsonrpc.php
diff --git a/doc/ru_RU/translations.markdown b/doc/ru_RU/translations.markdown
index f4bcafc0..0b9c6752 100644
--- a/doc/ru_RU/translations.markdown
+++ b/doc/ru_RU/translations.markdown
@@ -1,61 +1,25 @@
Переводы на другие языки (локализация)
======================================
-
-
Как перевести Канборд на новый язык?[¶](#how-to-translate-kanboard-to-a-new-language "Ссылка на этот заголовок")
----------------------------------------------------------------------------------------------------------------
-
-
- Переводы хранятся в директории `app/Locale`
-
-
-
- В этой директории есть поддиректории для разных языков, например, для русского имеется `ru_RU`, для французского - `fr_FR` и т.д.
-
-
-
- Переводы находятся в PHP файле, который возвращает массив с парой ключ-значение
-
-
-
- Ключ - оригинальный текст на английском и значение - перевод на соответсвующем языке
-
-
-
- **Французские переводы всегда в актуальном состоянии**
-
-
-
- Всегда используйте последнюю версию (branch master)
-
-
### Создание нового перевода[¶](#create-a-new-translation "Ссылка на этот заголовок")
1. Создайте новую директорию: `app/Locale/xx_XX`, например `app/Locale/fr_CA` для канадского фрацузского
-
-
-
2. Создайте новый файл для перевода: `app/Locale/xx_XX/translations.php`
-
-
-
3. Используйте как образец содержимое французского перевода (локализации) и замените значения
-
-
-
4. Внесите изменения в файл `app/Model/Language.php`
-
-
-
5. Проверьте добавленный язык на локальной версии Канборда
-
-
-
6. Пошлите [pull-request на Github](https://help.github.com/articles/using-pull-requests/)
@@ -63,93 +27,46 @@
Как обновить имеющийся перевод?[¶](#how-to-update-an-existing-translation "Ссылка на этот заголовок")
-----------------------------------------------------------------------------------------------------
-
-
1. Откройте файл перевода `app/Locale/xx_XX/translations.php`
-
-
-
2. Отсутсвующие переводы закоментированы - `//` и значения пустые, нужно заполнить значения и удалить коментарий
-
-
-
3. Проверьте внесенные изменения на локальной версии Канборда и пошлите [pull-request](https://help.github.com/articles/using-pull-requests/)
-
Как добавить новый текст перевода в приложение?[¶](#how-to-add-new-translated-text-in-the-application "Ссылка на этот заголовок")
---------------------------------------------------------------------------------------------------------------------------------
-
-
Переводы отображаются с помощью функций в исходном коде:
-
- `t()`: показывает текст с HTML escaping
-
-
-
- `e()`: показывает текст без HTML escaping
-
Всегда используйте английскую версию исходного кода.
-
-
-
Текстовые строки используют функцию `sprintf()` для замены элементов:
-
-
- `%s` используется для замены строки
-
-
-
- `%d` используется для замены цифры
-
Ознакомится с доступными форматами вы можете в [документации PHP](http://php.net/sprintf).
-
-
Как найти отсутствующие переводы в приложении?[¶](#how-to-find-missing-translations-in-the-applications "Ссылка на этот заголовок")
-----------------------------------------------------------------------------------------------------------------------------------
-
-
Из терминала запустите следующую команду:
-
-
- ./kanboard locale:compare
-
-
+ ./cli locale:compare
Все отсутствующие и неиспользуемые переводы будут показаны на экране. Добавьте их во французскую локализацию и синхронизируйте с другими локализациями (смотрите ниже)
-
-
Как синхронизировать файлы переводов?[¶](#how-to-synchronize-translation-files "Ссылка на этот заголовок")
----------------------------------------------------------------------------------------------------------
-
-
В оболочке Unix запустите следующую команду:
-
-
- ./kanboard locale:sync
-
-
+ ./cli locale:sync
Французский перевод используется для ссылки на другие локализации.
-
-
-
-
-
[Русская документация Kanboard](http://kanboard.ru/doc/)
-
diff --git a/doc/screenshots/mention-autocomplete.png b/doc/screenshots/mention-autocomplete.png
deleted file mode 100644
index f23fb6d1..00000000
--- a/doc/screenshots/mention-autocomplete.png
+++ /dev/null
Binary files differ
diff --git a/doc/screenshots/user-mentions.png b/doc/screenshots/user-mentions.png
new file mode 100644
index 00000000..d5f7bcc6
--- /dev/null
+++ b/doc/screenshots/user-mentions.png
Binary files differ
diff --git a/doc/solving-session-issue-windows-iis-ie.markdown b/doc/solving-session-issue-windows-iis-ie.markdown
new file mode 100644
index 00000000..1ad3124b
--- /dev/null
+++ b/doc/solving-session-issue-windows-iis-ie.markdown
@@ -0,0 +1,19 @@
+I'm not able to login with Internet Explorer and Microsoft IIS
+==============================================================
+
+If you are not able to login and always get the error **"Username or password required"** even if you have entered the right credentials,
+that means there is a problem with the session.
+
+For example, this is a known issue if you meet these criteria:
+
+- You are using a domain name with an underscore: `kanboard_something.mycompany.tld`
+- You are using Microsoft Windows Server and IIS
+- Your browser is Internet Explorer
+
+Solution: **Do not use underscore in the domain name because this is not a valid domain name**.
+
+Explanation: Internet Explorer doesn't accept cookies with a domain name with underscores because it's not valid.
+
+Reference:
+
+- https://support.microsoft.com/en-us/kb/316112
diff --git a/doc/translations.markdown b/doc/translations.markdown
index 074d9ae3..66fd2a4c 100644
--- a/doc/translations.markdown
+++ b/doc/translations.markdown
@@ -50,7 +50,7 @@ How to find missing translations in the applications?
From a terminal, run the following command:
```bash
-./kanboard locale:compare
+./cli locale:compare
```
All missing and unused translations are displayed on the screen.
@@ -62,7 +62,7 @@ How to synchronize translation files?
From a Unix shell run this command:
```bash
-./kanboard locale:sync
+./cli locale:sync
```
The French translation is used a reference to other locales.
diff --git a/doc/update.markdown b/doc/update.markdown
index fca0d7d4..76cac27a 100644
--- a/doc/update.markdown
+++ b/doc/update.markdown
@@ -11,8 +11,9 @@ Important things to do before updating
- **Always make a backup of your data before upgrading**
- **Check that your backup is valid!**
- Check again
-- Always read the [change log](https://github.com/kanboard/kanboard/blob/master/ChangeLog) to check for breaking changes
-- Always close all user sessions (flush all sessions on the server)
+- Always read the [change history](https://github.com/kanboard/kanboard/blob/master/ChangeLog) to check for breaking changes
+- Stop the worker if you use it
+- Put the web server in maintenance mode to avoid people use the software while upgrading
From the archive (stable version)
---------------------------------
@@ -33,3 +34,20 @@ From the repository (development version)
3. Login and check if everything is ok
Note: This method will install the **current development version**, use at your own risk.
+
+Running SQL migrations manually
+-------------------------------
+
+By default, SQL migrations are executed automatically. The schema version is checked at each request.
+In this way, when you upgrade Kanboard to another version, the database schema is updated for you.
+
+You may want to disable this behaviour is case you have a specific configuration.
+For example, if multiple processes try to apply the migrations in the same time you might have some concurrency problems even if each operation is executed inside a transaction.
+
+To disable this feature, set the parameter `DB_RUN_MIGRATIONS` at `false` in your [config file](config.markdown).
+
+When you will have to upgrade Kanboard, run this command:
+
+```bash
+./cli db:migrate
+```
diff --git a/doc/user-mentions.markdown b/doc/user-mentions.markdown
index 156456d6..4ce47054 100644
--- a/doc/user-mentions.markdown
+++ b/doc/user-mentions.markdown
@@ -6,7 +6,7 @@ Kanboard offers the possibility to send notifications when someone is mentioned.
If you need to get the attention of someone in a comment or in a task, use the @ symbol followed by their username.
Kanboard will automatically suggest a list of users:
-![User Mention](screenshots/mention-autocomplete.png)
+![User Mention](screenshots/user-mentions.png)
- At the moment, only the task description and the comment text area have this feature enabled.
- The user mentions works only during tasks and comments creation.
diff --git a/doc/worker.markdown b/doc/worker.markdown
index 8516068b..89becacd 100644
--- a/doc/worker.markdown
+++ b/doc/worker.markdown
@@ -19,7 +19,7 @@ This feature is optional and require the installation of a queue daemon on your
- To install Beanstalk, you can simply use the package manager of your Linux distribution
- Install the [Kanboard plugin for Beanstalk](https://kanboard.net/plugin/beanstalk)
-- Start the worker with the Kanboard command line tool: `./kanboard worker`
+- Start the worker with the Kanboard command line tool: `./cli worker`
### RabbitMQ
@@ -27,7 +27,7 @@ This feature is optional and require the installation of a queue daemon on your
- Follow the official documentation of RabbitMQ for the installation and the configuration
- Install the [Kanboard plugin for RabbitMQ](https://kanboard.net/plugin/rabbitmq)
-- Start the worker with the Kanboard command line tool: `./kanboard worker`
+- Start the worker with the Kanboard command line tool: `./cli worker`
### Notes