summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.markdown81
-rw-r--r--docs/cli.markdown19
-rw-r--r--docs/email-configuration.markdown74
-rw-r--r--docs/manage-users.markdown4
-rw-r--r--docs/reverse-proxy-authentication.markdown6
-rwxr-xr-xkanboard4
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:
diff --git a/kanboard b/kanboard
index 34e183e4..45666262 100755
--- a/kanboard
+++ b/kanboard
@@ -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);