Update documentation

This commit is contained in:
Frédéric Guillot 2014-08-15 21:13:37 -07:00
parent 9eeded33f6
commit 498408d507
6 changed files with 140 additions and 48 deletions

View File

@ -21,11 +21,13 @@ Features
- Multiple boards/projects
- Boards customization, rename/add/remove columns
- Tasks with different colors, categories, sub-tasks, attachments, Markdown support for the description
- Tasks with different colors, categories, sub-tasks, attachments, comments and Markdown support for the description
- Automatic actions based on events
- Users management with a basic privileges separation (administrator or regular user)
- External authentication: Google and GitHub accounts as well as LDAP/ActiveDirectory
- Email notifications
- External authentication: Google, GitHub, LDAP/ActiveDirectory and Reverse-Proxy
- Webhooks to create tasks from an external software
- A basic command line interface
- Host anywhere (shared hosting, VPS, Raspberry Pi or localhost)
- No external dependencies
- **Super easy setup**, copy and paste files and you are done!
@ -41,43 +43,6 @@ License
GNU Affero General Public License version 3: <http://www.gnu.org/licenses/agpl-3.0.txt>
Authors
-------
Original author: [Frédéric Guillot](http://fredericguillot.com/)
Contributors:
- Alex Butum: https://github.com/dZkF9RWJT6wN8ux
- Claudio Lobo
- Cmer: https://github.com/chncsu
- Floaltvater: https://github.com/floaltvater
- Gavlepeter: https://github.com/gavlepeter
- Janne Mäntyharju: https://github.com/JanneMantyharju
- Jesusaplsoft: https://github.com/jesusaplsoft
- Kiswa: https://github.com/kiswa
- Kralo: https://github.com/kralo
- Levlaz: https://github.com/levlaz
- Mathgl67: https://github.com/mathgl67
- Matthieu Keller: https://github.com/maggick
- Maxime: https://github.com/EpocDotFr
- Moraxy: https://github.com/moraxy
- Nala Ginrut: https://github.com/NalaGinrut
- Nekohayo: https://github.com/nekohayo
- Olivier Maridat: https://github.com/oliviermaridat
- Poikilotherm: https://github.com/poikilotherm
- Rafaelrossa: https://github.com/rafaelrossa
- Raphaël Doursenaud: https://github.com/rdoursenaud
- Rzeka: https://github.com/rzeka
- Sebastien pacilly: https://github.com/spacilly
- Sylvain Veyrié: https://github.com/turb
- Toomyem: https://github.com/Toomyem
- Troloo: https://github.com/troloo
- Typz: https://github.com/Typz
- Ybarc: https://github.com/ybarc
There is also many people who have reported bugs or proposed awesome ideas.
Documentation
-------------
@ -114,6 +79,7 @@ Documentation
#### Developers and sysadmins
- [Email configuration](docs/email-configuration.markdown)
- [Command line interface](docs/cli.markdown)
- [Json-RPC API](docs/api-json-rpc.markdown)
- [Webhooks](docs/webhooks.markdown)
@ -126,3 +92,40 @@ FAQ
---
Go to the official website: <http://kanboard.net/faq>
Authors
-------
Original author: [Frédéric Guillot](http://fredericguillot.com/)
Contributors:
- Alex Butum: https://github.com/dZkF9RWJT6wN8ux
- Claudio Lobo
- Cmer: https://github.com/chncsu
- Floaltvater: https://github.com/floaltvater
- Gavlepeter: https://github.com/gavlepeter
- Janne Mäntyharju: https://github.com/JanneMantyharju
- Jesusaplsoft: https://github.com/jesusaplsoft
- Kiswa: https://github.com/kiswa
- Kralo: https://github.com/kralo
- Levlaz: https://github.com/levlaz
- Mathgl67: https://github.com/mathgl67
- Matthieu Keller: https://github.com/maggick
- Maxime: https://github.com/EpocDotFr
- Moraxy: https://github.com/moraxy
- Nala Ginrut: https://github.com/NalaGinrut
- Nekohayo: https://github.com/nekohayo
- Olivier Maridat: https://github.com/oliviermaridat
- Poikilotherm: https://github.com/poikilotherm
- Rafaelrossa: https://github.com/rafaelrossa
- Raphaël Doursenaud: https://github.com/rdoursenaud
- Rzeka: https://github.com/rzeka
- Sebastien pacilly: https://github.com/spacilly
- Sylvain Veyrié: https://github.com/turb
- Toomyem: https://github.com/Toomyem
- Troloo: https://github.com/troloo
- Typz: https://github.com/Typz
- Ybarc: https://github.com/ybarc
There is also many people who have reported bugs or proposed awesome ideas.

View File

@ -2,11 +2,10 @@ Command Line Interface
======================
Kanboard provide a simple command line interface that can be used from any Unix terminal.
This tool can be used only on the local machine.
This feature is useful to run commands outside the web server by example a huge report.
Actually there is only one command, more stuff will be added later.
Usage
-----
@ -19,6 +18,7 @@ Kanboard command line interface
===============================
- Task export to stdout (CSV format): ./kanboard export-csv <project_id> <start_date> <end_date>
- Send notifications for due tasks: ./kanboard send-notifications-due-tasks
```
Available commands
@ -37,3 +37,18 @@ Example:
```bash
./kanboard export-csv 1 2014-07-14 2014-07-20 > /tmp/my_custom_export.csv
```
### Send notifications for due tasks
Emails will be sent to all users with notifications enabled.
```bash
./kanboard send-notifications-due-tasks
```
Cronjob example:
```bash
# Everyday at 8am we check for due tasks
0 8 * * * cd /path/to/kanboard && ./kanboard send-notifications-due-tasks >/dev/null 2>&1
```

View File

@ -0,0 +1,74 @@
Email configuration
===================
User settings
-------------
To receive email notifications, users of Kanboard must have:
- Activated notifications in the settings page
- Have a valid email address in their profile
Server settings
---------------
By default, Kanboard will use the bundled PHP mail function to send emails.
Usually that require no configuration if your server can already send emails.
However, it's possible to use other methods, the SMTP protocol and Sendmail.
### SMTP configuration
Create a blank `config.php` file or use the template `config.default.php` and set those values:
```php
// We choose "smtp" as mail transport
define('MAIL_TRANSPORT', 'smtp');
// We define our server settings
define('MAIL_SMTP_HOSTNAME', 'mail.example.com');
define('MAIL_SMTP_PORT', 25);
// Credentials for authentication on the SMTP server (not mandatory)
define('MAIL_SMTP_USERNAME', 'username');
define('MAIL_SMTP_PASSWORD', 'super password');
```
### Sendmail configuration
By default the sendmail command will be `/usr/sbin/sendmail -bs` but you can customize that in your config file.
Example:
```php
// We choose "sendmail" as mail transport
define('MAIL_TRANSPORT', 'sendmail');
// If you need to change the sendmail command, replace the value
define('MAIL_SENDMAIL_COMMAND', '/usr/sbin/sendmail -bs');
```
### The sender email address
By default, emails will use the sender address `notifications@kanboard.net`.
It's not possible to reply to this address.
You can customize this address by changing the value of the constant `MAIL_FROM` in your config file.
```php
define('MAIL_FROM', 'notifications@kanboard.net');
```
That can be useful if your SMTP server configuration doesn't accept the default address.
### Check for due tasks
Every day, Kanboard can check for due tasks, to do that you have to setup a cronjob on your server and use the Kanboard command line interface.
Here a example:
```bash
# Everyday at 8am we check for due tasks
0 8 * * * cd /path/to/kanboard && ./kanboard send-notifications-due-tasks >/dev/null 2>&1
```

View File

@ -1,5 +1,5 @@
Manage users
============
Users management
================
Type of users
-------------

View File

@ -13,8 +13,8 @@ How does this work?
- If it is the same web server that runs Kanboard, the CGI spec specifies this header to be REMOTE_USER (see [RFC 3875](http://www.ietf.org/rfc/rfc3875) §4.1.11). For example, Apache adds REMOTE_USER by default if `Require valid-user` is set. Note this header is only set for CGI (like PHP), and not if Apache is a reverse proxy to another Apache running Kanboard. It works the same with IIS and nginx according to their documentation.
- If it is a real reverse proxy, the HTTP ICAP extension draft spec proposes the header to be X-Authenticated-User (see [IETF draft spec §3.4](http://tools.ietf.org/html/draft-stecher-icap-subid-00#section-3.4)). This de-facto standart has been adopted by a number of tools.
- Kanboard retrieves the value of the specified HTTP header, and:
- if the user does not exist yet, creates it (it also checks if it is the default admin).
- authenticates the given user without any prompt, assuming it is valid (so it does NOT prompt the login page).
- If the user does not exist yet, creates it (it also checks if it is the default admin).
- **Authenticates the given user without any prompt, assuming it's valid (so it does NOT prompt the login page)**.
Installation instructions
@ -24,7 +24,7 @@ Installation instructions
This is not in the scope of this documentation. You should check that the user login is sent by the reverse proxy using a HTTP header, and find which one.
### Setting up Kanboad
### Setting up Kanboard
Create a custom `config.php` file or copy the `config.default.php` file:

View File

@ -26,7 +26,7 @@ $cli = new Cli;
$cli->register('help', function() {
echo 'Kanboard command line interface'.PHP_EOL.'==============================='.PHP_EOL.PHP_EOL;
echo '- Task export to stdout (CSV format): '.$GLOBALS['argv'][0].' export-csv <project_id> <start_date> <end_date>'.PHP_EOL;
echo '- Send notifications for tasks due: '.$GLOBALS['argv'][0].' send-notifications-tasks-due'.PHP_EOL;
echo '- Send notifications for due tasks: '.$GLOBALS['argv'][0].' send-notifications-due-tasks'.PHP_EOL;
});
// CSV Export
@ -51,7 +51,7 @@ $cli->register('export-csv', function() use ($cli, $registry) {
});
// Send notification for tasks due
$cli->register('send-notifications-tasks-due', function() use ($cli, $registry) {
$cli->register('send-notifications-due-tasks', function() use ($cli, $registry) {
$notificationModel = new Notification($registry);
$taskModel = new Task($registry);