diff options
Diffstat (limited to 'docs')
-rw-r--r-- | docs/config.markdown | 13 | ||||
-rw-r--r-- | docs/faq.markdown | 19 | ||||
-rw-r--r-- | docs/github-authentication.markdown | 127 | ||||
-rw-r--r-- | docs/gitlab-webhooks.markdown | 14 | ||||
-rw-r--r-- | docs/google-authentication.markdown | 29 | ||||
-rw-r--r-- | docs/index.markdown | 4 | ||||
-rw-r--r-- | docs/ldap-authentication.markdown | 18 | ||||
-rw-r--r-- | docs/nice-urls.markdown | 36 | ||||
-rw-r--r-- | docs/recommended-configuration.markdown | 36 | ||||
-rw-r--r-- | docs/search.markdown | 9 | ||||
-rw-r--r-- | docs/user-management.markdown | 16 |
11 files changed, 215 insertions, 106 deletions
diff --git a/docs/config.markdown b/docs/config.markdown index 081f9c71..45ba7a91 100644 --- a/docs/config.markdown +++ b/docs/config.markdown @@ -32,6 +32,13 @@ define('FILES_DIR', 'data/files/'); Don't forget the trailing slash. +Enable/disable url rewrite +-------------------------- + +```php +define('ENABLE_URL_REWRITE', false); +``` + Email configuration ------------------- @@ -128,6 +135,9 @@ define('LDAP_ACCOUNT_ID', 'samaccountname'); // By default Kanboard lowercase the ldap username to avoid duplicate users (the database is case sensitive) // Set to true if you want to preserve the case define('LDAP_USERNAME_CASE_SENSITIVE', false); + +// Automatically create user account +define('LDAP_ACCOUNT_CREATION', true); ``` Google Authentication settings @@ -195,4 +205,7 @@ define('MARKDOWN_ESCAPE_HTML', true); // API alternative authentication header, the default is HTTP Basic Authentication defined in RFC2617 define('API_AUTHENTICATION_HEADER', ''); + +// Hide login form, useful if all your users use Google/Github/ReverseProxy authentication +define('HIDE_LOGIN_FORM', false); ``` diff --git a/docs/faq.markdown b/docs/faq.markdown index b4cf9148..3d542a30 100644 --- a/docs/faq.markdown +++ b/docs/faq.markdown @@ -10,25 +10,6 @@ Kanboard works well with any great VPS hosting provider such as [Digital Ocean]( To have the best performances, choose a provider with fast disk I/O because Kanboard use Sqlite by default. Avoid hosting providers that use a shared NFS mount point. - -Which web browsers are supported? ---------------------------------- - -Kanboard have been tested on the following devices: - -### Desktop - -- Mozilla Firefox -- Safari -- Google Chrome -- Internet Explorer 11 - -### Tablets - -- iPad (iOS) -- Nexus 7 (Android/Chrome) - - I get a blank page after installing or upgrading Kanboard --------------------------------------------------------- diff --git a/docs/github-authentication.markdown b/docs/github-authentication.markdown index d6c1e1e8..8c3b622d 100644 --- a/docs/github-authentication.markdown +++ b/docs/github-authentication.markdown @@ -1,64 +1,63 @@ -GitHub Authentication
-=====================
-
-Requirements
-------------
-
-- OAuth GitHub API credentials (available in your [Settings > Applications > Developer applications](https://github.com/settings/applications))
-
-How does this work?
--------------------
-
-The GitHub authentication in Kanboard uses the [OAuth 2.0](http://oauth.net/2/) protocol, so any user of Kanboard can be linked to a GitHub account.
-
-When that is done, they no longer need to manually login with their Kanboard account, but can simply automatically login with their GitHub account.
-
-How to link a GitHub account
-----------------------------------
-
-1. Login to Kanboard with the desired user
-2. Go to the **Edit user** page and click on the link **Link my GitHub Account**
-3. You are redirected to the GitHub **Authorize application** form, authorize Kanboard by clicking on the button **Accept**
-4. Finally, you are redirected to Kanboard and now your user account is linked to your GitHub account
-5. During the process, Kanboard has updated your full name and your email address based on your GitHub profile, if either of those are publically available
-6. Log out of Kanboard and you should be able to login directly with GitHub by clicking on the link **Login with my GitHub Account**
-
-Installation instructions
--------------------------
-
-### Setting up OAuth 2.0
-
-On Github, go to the page ["Register a new OAuth application"](https://github.com/settings/applications/new).
-
-Just follow the [official GitHub documentation](https://developer.github.com/guides/basics-of-authentication/#registering-your-app):
-
-- Open your [Settings](https://github.com/settings), select [Applications](https://github.com/settings/applications) from the sidebar and click on [Register new application](https://github.com/settings/applications/new) on the top, next to where it says **Developer applications**
-- Fill out the form with whatever values you like, the **Authorization callback URL** _must_ be: **http://YOUR_SERVER/?controller=user&action=gitHub**
-
-### Setting up Kanboard
-
-Either create a new `config.php` file or rename the `config.default.php` file and set the following values:
-
-```php
-// Enable/disable GitHub authentication
-define('GITHUB_AUTH', true);
-
-// GitHub client id (Copy it from your settings -> Applications -> Developer applications)
-define('GITHUB_CLIENT_ID', 'YOUR_GITHUB_CLIENT_ID');
-
-// GitHub client secret key (Copy it from your settings -> Applications -> Developer applications)
-define('GITHUB_CLIENT_SECRET', 'YOUR_GITHUB_CLIENT_SECRET');
-
-```
-
-Notes
------
-**Important:** _*Never*_ store your GITHUB_CLIENT_ID or GITHUB_CLIENT_SECRET in GitHub or somewhere with full public access in general!
-
-Kanboard uses these information from your public GitHub profile:
-
-- Full name
-- Public email address
-- GitHub unique id
-
-The GitHub unique id is used to link the local user account and the GitHub account.
+Github Authentication +===================== + +Requirements +------------ + +OAuth Github API credentials (available in your [Settings > Applications > Developer applications](https://github.com/settings/applications)) + +How does this work? +------------------- + +The Github authentication in Kanboard uses the [OAuth 2.0](http://oauth.net/2/) protocol, so any user of Kanboard can be linked to a Github account. + +When that is done, they no longer need to manually login with their Kanboard account, but can simply automatically login with their Github account. + +How to link a Github account +---------------------------- + +1. Go to your user profile +2. Click on **External accounts** +3. Click on the link **Link my Github Account** +4. You are redirected to the **Github Authorize application form** +5. Authorize Kanboard by clicking on the button **Accept** +6. Your account is now linked + +Now, on the login page you can be authenticated in one click with the link **Login with my Github Account**. + +Your name and email are automatically updated from your Github Account if defined. + +Installation instructions +------------------------- + +### Setting up OAuth 2.0 + +- On Github, go to the page [Register a new OAuth application](https://github.com/settings/applications/new) +- Just follow the [official Github documentation](https://developer.github.com/guides/basics-of-authentication/#registering-your-app) +- In Kanboard, you can get the **callback url** in **Settings > Integrations > Github Authentication** + +### Setting up Kanboard + +Either create a new `config.php` file or rename the `config.default.php` file and set the following values: + +```php +// Enable/disable Github authentication +define('GITHUB_AUTH', true); + +// Github client id (Copy it from your settings -> Applications -> Developer applications) +define('GITHUB_CLIENT_ID', 'YOUR_GITHUB_CLIENT_ID'); + +// Github client secret key (Copy it from your settings -> Applications -> Developer applications) +define('GITHUB_CLIENT_SECRET', 'YOUR_GITHUB_CLIENT_SECRET'); +``` + +Notes +----- + +Kanboard uses these information from your public Github profile: + +- Full name +- Public email address +- Github unique id + +The Github unique id is used to link the local user account and the Github account. diff --git a/docs/gitlab-webhooks.markdown b/docs/gitlab-webhooks.markdown index 9ef73f97..9d9ecaf5 100644 --- a/docs/gitlab-webhooks.markdown +++ b/docs/gitlab-webhooks.markdown @@ -9,22 +9,24 @@ List of supported events - Gitlab commit received - Gitlab issue opened - Gitlab issue closed +- Gitlab issue comment created List of supported actions ------------------------- - Create a task from an external provider - Close a task +- Create a comment from an external provider Configuration ------------- -![Github configuration](http://kanboard.net/screenshots/documentation/gitlab-webhooks.png) +![Gitlab configuration](http://kanboard.net/screenshots/documentation/gitlab-webhooks.png) 1. On Kanboard, go to the project settings and choose the section **Integrations** 2. Copy the Gitlab webhook url 3. On Gitlab, go to the project settings and go to the section **Webhooks** -4. Check the boxes **Push Events** and **Issues Events** +4. Check the boxes **Push Events**, **Comments** and **Issues Events** 5. Paste the url and save Examples @@ -53,3 +55,11 @@ When a task is created from a Gitlab issue, the link to the issue is added to th - Choose the event: **Gitlab issue closed** - Choose the action: **Close the task** + +### Create a comment on Kanboard when an issue is commented on Gitlab + +- Choose the event: **Gitlab issue comment created** +- Choose the action: **Create a comment from an external provider** + +If the username is the same between Gitlab and Kanboard the comment author will be assigned, otherwise there is no author. +The user also have to be member of the project in Kanboard.
\ No newline at end of file diff --git a/docs/google-authentication.markdown b/docs/google-authentication.markdown index 033cf4bb..0f4f3ec1 100644 --- a/docs/google-authentication.markdown +++ b/docs/google-authentication.markdown @@ -4,7 +4,7 @@ Google Authentication Requirements ------------ -- OAuth Google API credentials (available in the Google Developer Console) +OAuth Google API credentials (available in the Google Developer Console) How does this work? ------------------- @@ -16,24 +16,24 @@ How does this work? Procedure to link a Google Account ---------------------------------- -1. The first step is to link an existing user account to a Google Account -2. Login with the desired user -3. Go to the **Edit user** page and click on the link **Link my Google Account** -4. You are redirected to the **Google Consent screen**, authorize Kanboard by clicking on the button **Accept** -5. Finally, you are redirected to Kanboard and now your user account is linked to your Google account -6. During the process, Kanboard have updated your full name and your email address based on your Google profile -7. Log out and you should be able to login directly with Google by clicking on the link **Login with my Google Account** +1. Go to your user profile +2. Click on **External accounts** +3. Click on the link **Link my Google Account** +4. You are redirected to the **Google Consent screen** +5. Authorize Kanboard by clicking on the button **Accept** +6. Your account is now linked + +Now, on the login page you can be authenticated in one click with the link **Login with my Google Account**. + +Your name and email are automatically updated from your Google Account. Installation instructions ------------------------- -### Setting up OAuth 2.0 +### Setting up OAuth 2.0 in Google Developer Console -Follow the [official Google documentation](https://developers.google.com/accounts/docs/OAuth2Login#appsetup), in summary: - -- Go to the [Developer Console](https://console.developers.google.com) -- On the sidebar, click on **Credentials** and choose **Create a new Client Id** -- Fill the form, the redirect URL must be: **http://YOUR_SERVER/?controller=user&action=google** +- Follow the [official Google documentation](https://developers.google.com/accounts/docs/OAuth2Login#appsetup) to create a new application +- In Kanboard, you can get the **redirect url** in **Settings > Integrations > Google Authentication** ### Setting up Kanboad @@ -50,7 +50,6 @@ define('GOOGLE_CLIENT_ID', 'YOUR_CLIENT_ID'); // Google client secret key (Get this value from the Google developer console) define('GOOGLE_CLIENT_SECRET', 'YOUR_CLIENT_SECRET'); - ``` Notes diff --git a/docs/index.markdown b/docs/index.markdown index 410cc402..9277ea9b 100644 --- a/docs/index.markdown +++ b/docs/index.markdown @@ -82,6 +82,7 @@ Technical details ### Installation +- [Recommended configuration](recommended-configuration.markdown) - [Installation instructions](installation.markdown) - [Upgrade Kanboard to a new version](update.markdown) - [Installation on Ubuntu](ubuntu-installation.markdown) @@ -97,6 +98,7 @@ Technical details ### Configuration - [Email configuration](email-configuration.markdown) +- [URL rewriting](nice-urls.markdown) ### Database @@ -108,7 +110,7 @@ Technical details - [LDAP authentication](ldap-authentication.markdown) - [Google authentication](google-authentication.markdown) -- [GitHub authentication](github-authentication.markdown) +- [Github authentication](github-authentication.markdown) - [Reverse proxy authentication](reverse-proxy-authentication.markdown) ### Contributors diff --git a/docs/ldap-authentication.markdown b/docs/ldap-authentication.markdown index 2428194d..8c7e5ff5 100644 --- a/docs/ldap-authentication.markdown +++ b/docs/ldap-authentication.markdown @@ -17,7 +17,7 @@ When the LDAP authentication is activated, the login process work like that: 1. Try first to authenticate the user by using the database 2. If the user is not found inside the database, a LDAP authentication is performed -3. If the LDAP authentication is successful, a local user is created automatically with no password and marked as LDAP user. +3. If the LDAP authentication is successful, by default a local user is created automatically with no password and marked as LDAP user. ### Differences between a local user and a LDAP user are the following: @@ -85,6 +85,22 @@ define('LDAP_ACCOUNT_ID', 'samaccountname'); // By default Kanboard lowercase the ldap username to avoid duplicate users (the database is case sensitive) // Set to true if you want to preserve the case define('LDAP_USERNAME_CASE_SENSITIVE', false); + +// Automatically create user account +define('LDAP_ACCOUNT_CREATION', true); +``` + +### Disable automatic account creation + +By default, Kanboard will create automatically a user account if nothing is found. + +You can disable this behavior if you prefer to create user accounts manually to restrict Kanboard to only some people. + +Just change the value of `LDAP_ACCOUNT_CREATION` to `false`: + +```php +// Automatically create user account +define('LDAP_ACCOUNT_CREATION', false); ``` ### LDAP bind type diff --git a/docs/nice-urls.markdown b/docs/nice-urls.markdown new file mode 100644 index 00000000..38f7c41d --- /dev/null +++ b/docs/nice-urls.markdown @@ -0,0 +1,36 @@ +URL rewriting +============= + +Kanboard is able to work indifferently with url rewriting enabled or not. + +- Example of URL rewritten: `/board/123` +- Otherwise: `?controller=board&action=show&project_id=123` + +If you use Kanboard with Apache and with the mode rewrite enabled, nice urls will be used automatically. + +URL Shortcuts +------------- + +- Go to the task #123: **/t/123** +- Go to the board of the project #2: **/b/2** +- Go to the project calendar #5: **/c/5** +- Go to the list view of the project #8: **/l/8** +- Go to the project settings for the project id #42: **/p/42** + +Configuration +------------- + +By default, Kanboard will check if the Apache mode rewrite is enabled. + +To avoid the automatic detection of url rewriting from the web server, you can enable this feature in your config file: + +``` +define('ENABLE_URL_REWRITE', true); +``` + +When this constant is at `true`: + +- URLs generated from command line tools will be also converted +- If you use another web server than Apache, by example Nginx or Microsoft IIS, you have to configure yourself the url rewriting + +Note: Kanboard always fallback to old school urls when it's not configured, this configuration is optional. diff --git a/docs/recommended-configuration.markdown b/docs/recommended-configuration.markdown new file mode 100644 index 00000000..93b49723 --- /dev/null +++ b/docs/recommended-configuration.markdown @@ -0,0 +1,36 @@ +Recommended Configuration +========================= + +Server side +----------- + +- Modern Linux/Unix operating system: **Ubuntu/Debian or FreeBSD** +- Most recent version of PHP and Apache +- Use the Sqlite database only when you have a disk with fast I/O (SSD disks) otherwise use Mysql or Postgresql + +Client side +----------- + +- Use a modern browser: **Mozilla Firefox or Google Chrome or Safari** + +Tested configurations +--------------------- + +The following configurations are tested with Kanboard but that doesn't mean all features are available: + +### Server + +- Ubuntu 14.04 LTS +- Debian 6, 7 and 8 +- Centos 6.5 and 7.0 +- Windows 2012 Server +- Windows 2008 Server + +### Desktops + +- Last version of Mozilla Firefox, Safari and Google Chrome +- Microsoft Internet Explorer 11 + +### Tablets + +- iPad mini 3 diff --git a/docs/search.markdown b/docs/search.markdown index 3d00b158..d0e71203 100644 --- a/docs/search.markdown +++ b/docs/search.markdown @@ -151,6 +151,15 @@ Attribute: **column** - Find tasks by column name: `column:"Work in progress"` - Find tasks for several columns: `column:"Backlog" column:ready` +Search by swimlane +------------------ + +Attribute: **swimlane** + +- Find tasks by swimlane: `swimlane:"Version 42"` +- Find tasks in the default swimlane: `swimlane:default` +- Find tasks into several swimlanes: `swimlane:"Version 1.2" swimlane:"Version 1.3"` + Search by external reference ---------------------------- diff --git a/docs/user-management.markdown b/docs/user-management.markdown index bd9cdb17..98691ddd 100644 --- a/docs/user-management.markdown +++ b/docs/user-management.markdown @@ -1,8 +1,8 @@ User management =============== -Type of users -------------- +Group of users +-------------- Kanboard use a basic permission system, there is two kind of users: @@ -18,22 +18,30 @@ There is also permissions defined at the project level, users can be seen as: Project managers have more privileges than a simple user member. +Local and remote users +---------------------- + +- A local user is an account that use the database to store credentials. Local users use the login form for the authentication. +- A remote user is an account that use an external system to store credentials. By example, it can be LDAP, Github or Google accounts. Authentication of these users can be done through the login form or not. + Add a new user -------------- To add a new user, you must be administrator. 1. From the dashboard, go to the menu **User Management** -2. On the top, you have a link **New user** +2. On the top, you have a link **New local user** or **New remote user** 3. Fill the form and save ![New user](http://kanboard.net/screenshots/documentation/new-user.png) -When you create a new user, you have to specify at least those values: +When you create a **local user**, you have to specify at least those values: - **username**: This is the unique identifier of your user (login) - **password**: The password of your user must have at least 6 characters +For **remote users**, only the username is mandatory. You can also pre-link Github or Google accounts if you already know their unique id. + Edit users ---------- |