diff options
Diffstat (limited to 'doc')
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 : + + + +- 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 Binary files differdeleted file mode 100644 index f23fb6d1..00000000 --- a/doc/screenshots/mention-autocomplete.png +++ /dev/null diff --git a/doc/screenshots/user-mentions.png b/doc/screenshots/user-mentions.png Binary files differnew file mode 100644 index 00000000..d5f7bcc6 --- /dev/null +++ b/doc/screenshots/user-mentions.png 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: - + - 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 |
