diff options
author | Frédéric Guillot <fred@kanboard.net> | 2014-08-15 21:13:37 -0700 |
---|---|---|
committer | Frédéric Guillot <fred@kanboard.net> | 2014-08-15 21:13:37 -0700 |
commit | 498408d5075cf0060e0f53e58261e6537e0f6080 (patch) | |
tree | 46f187f95dfe70a54d601406c5eb68f94979960a | |
parent | 9eeded33f68872515954a2fc177fcb47a9273ae9 (diff) |
Update documentation
-rw-r--r-- | README.markdown | 81 | ||||
-rw-r--r-- | docs/cli.markdown | 19 | ||||
-rw-r--r-- | docs/email-configuration.markdown | 74 | ||||
-rw-r--r-- | docs/manage-users.markdown | 4 | ||||
-rw-r--r-- | docs/reverse-proxy-authentication.markdown | 6 | ||||
-rwxr-xr-x | kanboard | 4 |
6 files changed, 140 insertions, 48 deletions
diff --git a/README.markdown b/README.markdown index 404ae933..32841b69 100644 --- a/README.markdown +++ b/README.markdown @@ -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. diff --git a/docs/cli.markdown b/docs/cli.markdown index 7f923db0..4c4913e8 100644 --- a/docs/cli.markdown +++ b/docs/cli.markdown @@ -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 +``` diff --git a/docs/email-configuration.markdown b/docs/email-configuration.markdown new file mode 100644 index 00000000..eced715d --- /dev/null +++ b/docs/email-configuration.markdown @@ -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 +``` diff --git a/docs/manage-users.markdown b/docs/manage-users.markdown index 13a975bf..fac70c71 100644 --- a/docs/manage-users.markdown +++ b/docs/manage-users.markdown @@ -1,5 +1,5 @@ -Manage users -============ +Users management +================ Type of users ------------- diff --git a/docs/reverse-proxy-authentication.markdown b/docs/reverse-proxy-authentication.markdown index 0976590f..c3243208 100644 --- a/docs/reverse-proxy-authentication.markdown +++ b/docs/reverse-proxy-authentication.markdown @@ -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: @@ -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); |