diff options
author | Frederic Guillot <fred@kanboard.net> | 2015-12-06 23:00:58 -0500 |
---|---|---|
committer | Frederic Guillot <fred@kanboard.net> | 2015-12-06 23:00:58 -0500 |
commit | 7f3bf38e8db9288d92f2864be4f66b14adf80971 (patch) | |
tree | 57c5d31876ba50c1674736493f58d9ab4e59474b /doc | |
parent | 5c84996ee7140e2cff1d8e18fb9482e8a4c020a8 (diff) |
Fix typo in documentation
Diffstat (limited to 'doc')
84 files changed, 333 insertions, 614 deletions
diff --git a/doc/2fa.markdown b/doc/2fa.markdown index 627c636a..1085f621 100644 --- a/doc/2fa.markdown +++ b/doc/2fa.markdown @@ -1,21 +1,21 @@ -Two factor authentication +Two-Factor Authentication ========================= -Each user can enable the [two factor authentication](http://en.wikipedia.org/wiki/Two_factor_authentication). -After a successful login, a one-time code (6 characters) is asked to the user to allow the access to Kanboard. +Each user can enable the [two-factor authentication](http://en.wikipedia.org/wiki/Two_factor_authentication). +After a successful login, a one-time code (6 characters) is asked to the user to allow access to Kanboard. -This code have to be provided by a compatible software generally installed on your smartphone. +This code has to be provided by a compatible software generally installed on your smartphone. Kanboard use the [Time-based One-time Password Algorithm](http://en.wikipedia.org/wiki/Time-based_One-time_Password_Algorithm) defined in the [RFC 6238](http://tools.ietf.org/html/rfc6238). There are many software compatible with the standard TOTP system. -By example, you can use these free and open source applications: +For example, you can use these free and open source applications: - [Google Authenticator](https://github.com/google/google-authenticator/) (Android, iOS, Blackberry) - [FreeOTP](https://fedorahosted.org/freeotp/) (Android, iOS) - [OATH Toolkit](http://www.nongnu.org/oath-toolkit/) (Command line utility on Unix/Linux) -This system can work offline and you don't necessary need to have a mobile phone. +This system can work offline and you don't necessarily need to have a mobile phone. Setup ----- diff --git a/doc/analytics-tasks.markdown b/doc/analytics-tasks.markdown index c5acea5f..4a49c154 100644 --- a/doc/analytics-tasks.markdown +++ b/doc/analytics-tasks.markdown @@ -1,7 +1,7 @@ Analytics for tasks =================== -Each task have an analytics section available from the left menu in the task view. +Each task has an analytics section available from the left menu in the task view. Lead and cycle time ------------------- @@ -13,12 +13,12 @@ Lead and cycle time - If the task is not closed the current time is used instead of the date of completion. - If the start date is not specified, the cycle time is not calculated. -Note: You can configure an automatic action to define automatically the start date when you move a task to the column of your choice. +Note: You can configure an automatic action to define the start date automatically when you move a task to the column of your choice. Time spent into each column --------------------------- ![Time spent into each column](http://kanboard.net/screenshots/documentation/time-into-each-column.png) -- This chart show the total time spent into each column for the task. +- This chart shows the total time spent into each column for the task. - The time spent is calculated until the task is closed. diff --git a/doc/analytics.markdown b/doc/analytics.markdown index 4ae9572f..13657b56 100644 --- a/doc/analytics.markdown +++ b/doc/analytics.markdown @@ -1,7 +1,7 @@ Analytics ========= -Each project have an analytics section. Depending how you are using Kanboard, you can see those reports: +Each project have an analytics section. Depending on how you are using Kanboard, you can see those reports: User repartition ---------------- @@ -22,21 +22,21 @@ Cumulative flow diagram ![Cumulative flow diagram](http://kanboard.net/screenshots/documentation/cfd.png) -- This chart show the number of tasks cumulatively for each column over the time. -- Everyday, the total number of tasks is recorded for each column. +- This chart shows the number of tasks cumulatively for each column over the time. +- Every day, the total number of tasks is recorded for each column. - If you would like to exclude closed tasks, change the [global project settings](project-configuration.markdown). -Note: You need to have at least 2 days of data to see the graph. +Note: You need to have at least two days of data to see the graph. -Burndown chart --------------- +Burn down chart +--------------- ![Burndown chart](http://kanboard.net/screenshots/documentation/burndown-chart.png) The [burn down chart](http://en.wikipedia.org/wiki/Burn_down_chart) is available for each project. - This chart is a graphical representation of work left to do versus time. -- Kanboard use the complexity or story point to generate this diagram. +- Kanboard use the complexity or story point to generate this diagram. - Everyday, the sum of the story points for each column is calculated. Average time spent into each column @@ -44,9 +44,9 @@ Average time spent into each column ![Average time spent into each column](http://kanboard.net/screenshots/documentation/average-time-spent-into-each-column.png) -This chart show the average time spent into each column for the last 1000 tasks. +This chart shows the average time spent into each column for the last 1000 tasks. -- Kanboard use the task transitions to calculate the data. +- Kanboard uses the task transitions to calculate the data. - The time spent is calculated until the task is closed. Average Lead and Cycle time @@ -54,17 +54,17 @@ Average Lead and Cycle time ![Average time spent into each column](http://kanboard.net/screenshots/documentation/average-lead-cycle-time.png) -This chart show the average lead and cycle time for the last 1000 tasks over the time. +This chart show the average lead and cycle time for the last 1000 tasks over time. - The lead time is the time between the task creation and the date of completion. -- The cycle time is time between the specified start date of the task to completion date. +- The cycle time is time between the specified start date of the task to the completion date. - If the task is not closed, the current time is used instead of the date of completion. -Those metrics are calculated and recorded everyday for the whole project. +Those metrics are calculated and recorded every day for the whole project. -Don't forget to run the daily job for stats calculation +Don't forget to run the daily job for statistics calculation ------------------------------------------------------- -To generate accurate analytics data, you should run the daily cronjob **project daily statistics**. +To generate accurate analytic data, you should run the daily cronjob **project daily statistics**. -[Read the documentation about Kanboard CLI](cli.markdown) +[Read the documentation of Kanboard CLI](cli.markdown) diff --git a/doc/application-configuration.markdown b/doc/application-configuration.markdown index 87929732..e3ddf6e9 100644 --- a/doc/application-configuration.markdown +++ b/doc/application-configuration.markdown @@ -11,23 +11,23 @@ Go to the menu **Settings**, then choose **Application settings** on the left. ### Application URL This parameter is used for email notifications. -The email footer will contains a link to the Kanboard task. +The email footer will contain a link to the Kanboard task. ### Language The application language can be changed at anytime. The language will be set for all users. -### Timezone +### Time zone -By default, Kanboard use UTC as timezone, but you can define your own timezone. -The list contains all supported timezones by your web server. +By default, Kanboard use UTC as time zone, but you can define your own time zone. +The list contains all supported time zones by your web server. ### Date format -Input format used for date fields, by example the due date for tasks. +Input format used for date fields, for examples the due date for tasks. -Kanboard offer 4 different formats: +Kanboard offers 4 different formats: - DD/MM/YYYY - MM/DD/YYYY (default) diff --git a/doc/automatic-actions.markdown b/doc/automatic-actions.markdown index 71dfa90a..69352d12 100644 --- a/doc/automatic-actions.markdown +++ b/doc/automatic-actions.markdown @@ -6,17 +6,17 @@ To minimize the user interaction, Kanboard support automated actions. Each automatic action is defined like that: - An event to listen -- An action linked to this event +- Action linked to this event - Eventually there is some parameters to define -Each project have a different set of automatic actions, the configuration panel is located on the project listing page, just click on the link **Automatic actions**. +Each project has a different set of automatic actions, the configuration panel is located on the project listing page, just click on the link **Automatic actions**. Add a new action ---------------- ### Choose an action -![Choose an action](http://kanboard.net/screenshots/documentation/project-automatic-action-step1.png) +![Choose action](http://kanboard.net/screenshots/documentation/project-automatic-action-step1.png) ### Choose an event @@ -66,8 +66,8 @@ List of available actions - Move the task to another project - Move the task to another column when assigned to a user - Move the task to another column when assignee is cleared -- Assign a color when the task is moved to a specific column -- Assign a color to a specific user +- Assign color when the task is moved to a specific column +- Assign color to a specific user - Assign automatically a color based on a category - Assign automatically a category based on a color - Create a comment from an external provider @@ -83,13 +83,13 @@ List of available actions Examples -------- -Here are some examples used in the real life: +Here are some examples used in real life: ### When I move a task to the column "Done", automatically close this task -- Choose the action: **Close the task** +- Choose action: **Close the task** - Choose the event: **Move a task to another column** -- Define the action parameter: **Column = Done** (this is the destination column) +- Define action parameter: **Column = Done** (this is the destination column) ### When I move a task to the column "To be validated", assign this task to a specific user @@ -99,40 +99,40 @@ Here are some examples used in the real life: ### When I move a task to the column "Work in progress", assign this task to the current user -- Choose the action: **Assign the task to the person who does the action** +- Choose action: **Assign the task to the person who does the action** - Choose the event: **Move a task to another column** -- Define the action parameter: **Column = Work in progress** +- Define action parameter: **Column = Work in progress** ### When a task is completed, duplicate this task to another project Let's say we have two projects "Customer orders" and "Production", once the order is validated, swap it to the "Production" project. -- Choose the action: **Duplicate the task to another project** +- Choose action: **Duplicate the task to another project** - Choose the event: **Closing a task** -- Define the action parameters: **Column = Validated** and **Project = Production** +- Define action parameters: **Column = Validated** and **Project = Production** ### When a task is moved to the last column, move the exact same task to another project Let's say we have two projects "Ideas" and "Development", once the idea is validated, swap it to the "Development" project. -- Choose the action: **Move the task to another project** +- Choose action: **Move the task to another project** - Choose the event: **Move a task to another column** -- Define the action parameters: **Column = Validated** and **Project = Development** +- Define action parameters: **Column = Validated** and **Project = Development** ### I want to assign automatically a color to the user Bob -- Choose the action: **Assign a color to a specific user** +- Choose action: **Assign a color to a specific user** - Choose the event: **Task assignee change** -- Define the action parameters: **Color = Green** and **Assignee = Bob** +- Define action parameters: **Color = Green** and **Assignee = Bob** -### I want to assign automatically a color to the defined category "Feature Request" +### I want to assign a color automatically to the defined category "Feature Request" -- Choose the action: **Assign automatically a color based on a category** +- Choose action: **Assign automatically a color based on a category** - Choose the event: **Task creation or modification** -- Define the action parameters: **Color = Blue** and **Category = Feature Request** +- Define action parameters: **Color = Blue** and **Category = Feature Request** ### I want to set the start date automatically when the task is moved to the column "Work in progress" -- Choose the action: **Automatically update the start date** +- Choose action: **Automatically update the start date** - Choose the event: **Move a task to another column** -- Define the action parameters: **Column = Work in progress** +- Define action parameters: **Column = Work in progress** diff --git a/doc/bitbucket-webhooks.markdown b/doc/bitbucket-webhooks.markdown index 7f59aa11..925615fa 100644 --- a/doc/bitbucket-webhooks.markdown +++ b/doc/bitbucket-webhooks.markdown @@ -28,9 +28,9 @@ Configuration ![Bitbucket configuration](http://kanboard.net/screenshots/documentation/bitbucket-webhooks.png) 1. On Kanboard, go to the project settings and choose the section **Integrations** -2. Copy the Bitbucket webhook url +2. Copy the Bitbucket webhook URL 3. On Bitbucket, go to the project settings and go to the section **Webhooks** -4. Choose a title for your webhook and paste the Kanboard url +4. Choose a title for your webhook and paste the Kanboard URL Examples -------- @@ -38,7 +38,7 @@ Examples ### Close a Kanboard task when a commit pushed to Bitbucket - Choose the event: **Bitbucket commit received** -- Choose the action: **Close the task** +- Choose action: **Close the task** When one or more commits are sent to Bitbucket, Kanboard will receive the information, each commit message with a task number included will be closed. @@ -50,6 +50,6 @@ Example: ### Add comment when a commit received - Choose the event: **Bitbucket commit received** -- Choose the action: **Create a comment from an external provider** +- Choose action: **Create a comment from an external provider** -The comment will contains the commit message and the url to the commit. +The comment will contain the commit message and the URL to the commit. diff --git a/doc/board-collapsed-expanded.markdown b/doc/board-collapsed-expanded.markdown index e094e817..594676bc 100644 --- a/doc/board-collapsed-expanded.markdown +++ b/doc/board-collapsed-expanded.markdown @@ -2,7 +2,7 @@ Collapsed and Expanded mode =========================== Tasks on the board can be displayed in collapsed or in expanded mode. -Switching from one view to another can be done with the keyboard shortcut **"s"** or by using the dropdown menu on the left. +Switching from one view to another can be done with the keyboard shortcut **"s"** or by using the drop-down menu on the left. Collapsed mode -------------- diff --git a/doc/board-configuration.markdown b/doc/board-configuration.markdown index 1c5ff51a..bdcc2463 100644 --- a/doc/board-configuration.markdown +++ b/doc/board-configuration.markdown @@ -7,7 +7,7 @@ Go to the menu **Settings**, then choose **Board settings** on the left. ### Task highlighting -This feature display a shadow around the task when a task is moved recently. +This feature displays a shadow around the task when a task is moved recently. Set the value 0 to disable this feature, 2 days by default (172800 seconds). @@ -15,10 +15,10 @@ Everything moved since 2 days will have shadow around the task. ### Refresh interval for public board -When you share a board, the page will refresh automatically every 60 seconds by default. +When you share a board, the page will refresh every 60 seconds automatically by default. ### Refresh interval for private board -When your web browser is open on a board, Kanboard check every 10 seconds if something have been changed by someone else. +When your web browser is open on a board, Kanboard checks every 10 seconds if something has been changed by someone else. Technically this process is done by Ajax polling. diff --git a/doc/board-horizontal-scrolling-and-compact-view.markdown b/doc/board-horizontal-scrolling-and-compact-view.markdown index 5dc5dcc0..323d0de5 100644 --- a/doc/board-horizontal-scrolling-and-compact-view.markdown +++ b/doc/board-horizontal-scrolling-and-compact-view.markdown @@ -1,12 +1,12 @@ Horizontal scrolling and compact mode ===================================== -When the board cannot fit on your screen, an horizontal scroll bar will appear at the bottom. +When the board cannot fit on your screen, a horizontal scroll bar will appear at the bottom. However, it's possible to switch to the compact the view to display all columns in your screen. ![Board in compact mode](http://kanboard.net/screenshots/documentation/board-compact-mode.png) -Switching between horizontal scrolling and compact view can be done with the keyboard shortcut **"c"** or by using the dropdown menu on the top left. +Switching between horizontal scrolling and compact view can be done with the keyboard shortcut **"c"** or by using the drop-down menu on the top left. Note: It's possible that text overlaps in compact mode, that will be improved over the next releases.
\ No newline at end of file diff --git a/doc/board-show-hide-columns.markdown b/doc/board-show-hide-columns.markdown index e459f555..40edc5d8 100644 --- a/doc/board-show-hide-columns.markdown +++ b/doc/board-show-hide-columns.markdown @@ -8,4 +8,4 @@ You can hide or display columns very easily on the board: - To hide a column, just click on the column title - To show a hidden column, click on the vertical title -When a column is hidden the number of tasks is displayed at the top. +When a column is hidden, the number of tasks is displayed at the top. diff --git a/doc/bruteforce-protection.markdown b/doc/bruteforce-protection.markdown index 633cfe87..a7bef45e 100644 --- a/doc/bruteforce-protection.markdown +++ b/doc/bruteforce-protection.markdown @@ -1,14 +1,14 @@ -Bruteforce Protection -===================== +Brute Force Protection +====================== The brute force protection of Kanboard works at the user account level: -- After 3 authentication failure for the same username, the login form show a captcha image to prevent automated bot tentatives. +- After 3 authentication failure for the same username, the login form shows a captcha image to prevent automated bot tentatives. - After 6 authentication failure, the user account is locked down for a period of 15 minutes. This feature works only for authentication methods that use the login form. -However, **after 3 authentication failure through the user API**, the account have to be unlocked by using the login form. +However, **after three authentication failure through the user API**, the account has to be unlocked by using the login form. Kanboard doesn't block any IP addresses since bots can use several anonymous proxies. However, you can use external tools like [fail2ban](http://www.fail2ban.org) to avoid massive scans. @@ -21,6 +21,6 @@ define('BRUTEFORCE_CAPTCHA', 3); // Lock the account after 6 authentication failure define('BRUTEFORCE_LOCKDOWN', 6); -// Lock account duration in minute +// Lock account duration in minutes define('BRUTEFORCE_LOCKDOWN_DURATION', 15); ``` diff --git a/doc/calendar-configuration.markdown b/doc/calendar-configuration.markdown index 95e13e52..438ba37a 100644 --- a/doc/calendar-configuration.markdown +++ b/doc/calendar-configuration.markdown @@ -13,7 +13,7 @@ There are two different calendars in Kanboard: Project calendar ---------------- -This calendar show tasks with defined due date and tasks based on the creation date or the start date. +This calendar shows tasks with defined due date and tasks based on the creation date or the start date. ### Show tasks based on the creation date @@ -30,13 +30,13 @@ This calendar show tasks with defined due date and tasks based on the creation d User calendar ------------- -This calendar show only tasks assigned to the user and optionally subtasks information. +This calendar shows only tasks assigned to the user and optionally sub-tasks information. -### Show subtasks based on the time tracking +### Show sub-tasks based on the time tracking -- Display subtasks in the calendar from the information recorded in the time tracking table. +- Display sub-tasks in the calendar from the information recorded in the time tracking table. - The intersection with the user timetable is also calculated. -### Show subtask estimates (forecast of future work) +### Show sub-task estimates (forecast of future work) -- Display the estimate of future work for subtasks in status "todo" and with a defined "estimate" value. +- Display the estimate of future work for sub-tasks in status "todo" and with a defined "estimate" value. diff --git a/doc/calendar.markdown b/doc/calendar.markdown index 7b95baa2..6a790b1e 100644 --- a/doc/calendar.markdown +++ b/doc/calendar.markdown @@ -6,15 +6,15 @@ There are two different views for the calendar: - The project view with filters (available from the board) - The user view (available from the dashboard and from the user section) -At this time the calendar is able to display these information: +At this time the calendar is able to display this information: - Tasks with a due date, displayed at the top. **The due date can be changed by moving the task to another day**. - Tasks based on the creation date or the start date. **These events cannot be modified with the calendar**. -- Subtask time tracking, all recorded time slot will be shown in the calendar. -- Subtask estimates, forecast of work left +- Sub-task time tracking, all recorded time slot will be shown in the calendar. +- Sub-task estimates, forecasts of work left ![Calendar](http://kanboard.net/screenshots/documentation/calendar.png) The calendar configuration can be changed in the settings page. -Note: The due date doesn't contains time information. +Note: The due date doesn't contain time information. diff --git a/doc/centos-installation.markdown b/doc/centos-installation.markdown index 6cfc31ff..d0fd6a00 100644 --- a/doc/centos-installation.markdown +++ b/doc/centos-installation.markdown @@ -40,7 +40,7 @@ Be sure to configure your server to allow Kanboard to send emails and make exter setsebool -P httpd_can_network_connect=1 ``` -Allowing external connections is necessary if you use LDAP, SMTP, Webhooks or any third-party integrations. +Allowing external connections is necessary if you use LDAP, SMTP, Web hooks or any third-party integration. Centos 6.x ---------- diff --git a/doc/cli.markdown b/doc/cli.markdown index 38cba496..bcb478dd 100644 --- a/doc/cli.markdown +++ b/doc/cli.markdown @@ -1,7 +1,7 @@ Command Line Interface ====================== -Kanboard provide a simple command line interface that can be used from any Unix terminal. +Kanboard provides 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 process by example running a huge report. @@ -134,7 +134,7 @@ Cronjob example: ### Run daily project stats calculation -You can add a background task to calculate the project statistics everyday: +You can add a background task to calculate the project statistics every day: ```bash $ ./kanboard projects:daily-stats diff --git a/doc/closing-tasks.markdown b/doc/closing-tasks.markdown index 018acace..dc3ef134 100644 --- a/doc/closing-tasks.markdown +++ b/doc/closing-tasks.markdown @@ -3,14 +3,14 @@ Closing tasks When a task is closed, it is hidden from the board. -However, you can always access to the list of closed tasks by using the query **status:closed** in any search form or simply choose **Closed tasks** from the filter dropdown. +However, you can always access to the list of closed tasks by using the query **status:closed** in any search form or simply choose **Closed tasks** from the filter drop-down. -There are two different ways to close a task, from the task dropdown menu on the board: +There are two different ways to close a task, from the task drop-down menu on the board: -![Close a task from dropdown menu](http://kanboard.net/screenshots/documentation/menu-close-task.png) +![Close a task from drop-down menu](http://kanboard.net/screenshots/documentation/menu-close-task.png) Or from the task sidebar menu in the task detail view: -![Close a task](http://kanboard.net/screenshots/documentation/closing-tasks.png) +![Close task](http://kanboard.net/screenshots/documentation/closing-tasks.png) -Note: When you close a task, all subtasks not completed will be changed to the status "Done". +Note: When you close a task, all sub-tasks not completed will be changed to the status "Done". diff --git a/doc/coding-standards.markdown b/doc/coding-standards.markdown index 4d3db814..0ee3ecd6 100644 --- a/doc/coding-standards.markdown +++ b/doc/coding-standards.markdown @@ -11,7 +11,7 @@ PHP code - Always write PHPdoc comments for methods and class properties - Coding style: [PSR-1](http://www.php-fig.org/psr/psr-1/) and [PSR-2](http://www.php-fig.org/psr/psr-2/) -Javascript code +JavaScript code --------------- - Indentation: 4 spaces diff --git a/doc/contributing.markdown b/doc/contributing.markdown index 63c56782..088d2cce 100644 --- a/doc/contributing.markdown +++ b/doc/contributing.markdown @@ -4,7 +4,7 @@ Contributor Guidelines How can I help? --------------- -Kanboard is not perfect but there is many ways to help: +Kanboard is not perfect but there are many ways to help: - Give feedback - Report bugs @@ -18,11 +18,11 @@ Before doing any large undertaking, open a new issue and explain your proposal. I want to give feedback ----------------------- -- You think something should be improved (user interface, feature request) +- You think something should be improved (user interface, feature requests) - Check if your idea is not already proposed - Open a new issue - Describe your idea -- You can also up vote with +1 on existing proposals +- You can also up-vote with +1 on existing proposals I want to report a bug ---------------------- @@ -31,7 +31,7 @@ I want to report a bug - Open a new ticket - Explain what is broken - Describe how to reproduce the bug -- Describe your environment (Kanboard version, OS, web server, PHP version, database version, hosting type) +- Describe your environment (Kanboard version, OS, web server, PHP version, database version, hosting provider) I want to translate Kanboard ---------------------------- @@ -44,18 +44,19 @@ I want to improve the documentation - You think something is not clear, there is grammatical errors, typo errors, anything. - The documentation is written in Markdown and stored in the folder `docs`. -- Edit the file and send a pull-request. +- Edit the files and send a pull-request. - The documentation on the official website is synchronized with the repository. I want to contribute to the code -------------------------------- -Pull-requests are always welcome, however to be accepted you have to follow those directives: +Pull-requests are always welcome however, to be accepted you have to follow those directives: - **Before doing any large change or design proposal, open a new ticket to start a discussion.** - If you want to add a new feature, respect the philosophy behind Kanboard. **We focus on simplicity**, we don't want to have a bloated software. - The same apply for the user interface, **simplicity and efficiency**. -- Send only one pull-request per feature or bug fix, your patch will be merged into one single commit in the master branch. +- Send only one pull-request per feature or bug fix. +- A smaller pull-request is easier to review and faster it will be merged. - Make sure the [unit tests pass](tests.markdown). - Respect the [coding standards](coding-standards.markdown). - Write maintainable code, avoid code duplication, use PHP good practices. diff --git a/doc/create-tasks-by-email.markdown b/doc/create-tasks-by-email.markdown index 46dae480..b46e5797 100644 --- a/doc/create-tasks-by-email.markdown +++ b/doc/create-tasks-by-email.markdown @@ -2,12 +2,13 @@ Create tasks by email ===================== You can create tasks directly by sending an email. +This feature is available by using plugins. At the moment, Kanboard is integrated with 3 external services: -- [Mailgun](http://kanboard.net/documentation/mailgun) -- [Sendgrid](http://kanboard.net/documentation/sendgrid) -- [Postmark](http://kanboard.net/documentation/postmark) +- [Mailgun](https://github.com/kanboard/plugin-mailgun) +- [Sendgrid](https://github.com/kanboard/plugin-sendgrid) +- [Postmark](https://github.com/kanboard/plugin-postmark) These services handle incoming emails without having to configure any SMTP server. @@ -17,18 +18,18 @@ All complicated works are already handled by those services. Incoming emails workflow ------------------------ -1. You send an email to a specific address, by example **something+myproject@inbound.mydomain.tld** +1. You send an email to a specific address, for example **something+myproject@inbound.mydomain.tld** 2. Your email is forwarded to the third-party SMTP servers -3. The SMTP provider call the Kanboard webhook with the email in JSON or multipart/form-data formats -4. Kanboard parse the received email and create the task to the right project +3. The SMTP provider call the Kanboard web hook with the email in JSON or multipart/form-data formats +4. Kanboard parses the received email and create the task to the right project Note: New tasks are automatically created in the first column. Email format ------------ -- The local part of the email address must use the plus separator, by example **kanboard+project123** -- The string defined after the plus sign must match a project identifier, by example **project123** is the identifier of the project **Project 123** +- The local part of the email address must use the plus separator, for example **kanboard+project123** +- The string defined after the plus sign must match a project identifier, for example **project123** is the identifier of the project **Project 123** - The email subject becomes the task title - The email body becomes the task description (Markdown format) @@ -38,7 +39,7 @@ Incoming emails can be written in text or HTML formats. Security and requirements ------------------------- -- The Kanboard webhook is protected by a random token +- The Kanboard web hook is protected by a random token - The sender email address must match a Kanboard user -- The Kanboard project must have a unique identifier, by example **MYPROJECT** -- The Kanboard user must be member of the project +- The Kanboard project must have a unique identifier, for example **MYPROJECT** +- The Kanboard user must be a member of the project diff --git a/doc/creating-projects.markdown b/doc/creating-projects.markdown index 6177d161..a87dbca0 100644 --- a/doc/creating-projects.markdown +++ b/doc/creating-projects.markdown @@ -1,9 +1,9 @@ -Creating projects +Creating Projects ================= -Kanboard can handle multiple projects. There are two kinds of project: +Kanboard can handle multiple projects. There are two kinds of projects: -- Project with mutliple users (you work in team) +- Team projects - Private project for a single user Creating projects for multiple users diff --git a/doc/creating-tasks.markdown b/doc/creating-tasks.markdown index afcc5ecb..a4eca794 100644 --- a/doc/creating-tasks.markdown +++ b/doc/creating-tasks.markdown @@ -1,4 +1,4 @@ -Creating tasks +Creating Tasks ============== From the board, click on the plus sign next to the column name: @@ -13,14 +13,14 @@ The only mandatory field is the title. Field description: -- **Title**: The title of your task, that will be displayed on the board. +- **Title**: The title of your task, which will be displayed on the board. - **Description**: Allow you to add more information about the task, the content can be written in [Markdown](http://kanboard.net/documentation/syntax-guide). -- **Create another task**: Check this box if you want to create a similar task (fields will be prefilled). +- **Create another task**: Check this box if you want to create a similar task (some fields will be pre-filled). - **Assignee**: The person that will work on the task. -- **Category**: Only one category can be assign to a task. +- **Category**: Only one category can be assigned to a task. - **Column**: The column where the task will be created, your task will be positioned at the bottom. - **Color**: Choose the color of the card. -- **Complexity**: Used in agile project management (Scrum), the complexity or story points is a number that tells the team how hard the story is. Often, people use the fibonacci series. +- **Complexity**: Used in agile project management (Scrum), the complexity or story points is a number that tells the team how hard the story is. Often, people use the Fibonacci series. - **Original Estimate**: Estimation in hours to complete the tasks. - **Due Date**: Overdue tasks will have a red due date and upcoming due dates will be black on the board. Several date format are accepted in addition to the date picker. diff --git a/doc/currency-rate.markdown b/doc/currency-rate.markdown index b959e4d1..c61c8977 100644 --- a/doc/currency-rate.markdown +++ b/doc/currency-rate.markdown @@ -1,7 +1,7 @@ Currency Rate ============== -Since each user can have a predefined hourly rate in different currency. +Since each user can have a pre-defined hourly rate in different currencies. If you have to handle multiple currencies, you define here the rate according to the reference currency. This feature is used for project budget calculation. diff --git a/doc/custom-filters.markdown b/doc/custom-filters.markdown index 18bf8584..cb55ab42 100644 --- a/doc/custom-filters.markdown +++ b/doc/custom-filters.markdown @@ -1,8 +1,8 @@ Custom Filters ============== -Custom filters allow you to save any search query. -In this way, you can extends easily the default filters and save most used search queries. +Custom filters allow you to save any search query. +In this way, you can extend the default filters easily and save most used search queries. - Custom filters are stored by project and associated to the creator. - If the creator is project manager, he can choose to share the filter with other project members. @@ -10,10 +10,10 @@ In this way, you can extends easily the default filters and save most used searc Filter creation --------------- -Go to the action dropdown or in the project settings and choose **custom filters**: +Go to the action drop-down or in the project settings and choose **custom filters**: ![Custom Filter Creation](http://kanboard.net/screenshots/documentation/custom-filter-creation.png) -After creating your filter, it will appears on the board next to the default filters: +After creating your filter, it will appear on the board next to the default filters: ![Custom Filter Dropdown](http://kanboard.net/screenshots/documentation/custom-filter-dropdown.png) diff --git a/doc/duplicate-move-tasks.markdown b/doc/duplicate-move-tasks.markdown index dcb01df5..4451f1df 100644 --- a/doc/duplicate-move-tasks.markdown +++ b/doc/duplicate-move-tasks.markdown @@ -17,13 +17,13 @@ Go to the task view and choose **Duplicate to another project**. ![Task Duplication Another Project](http://kanboard.net/screenshots/documentation/task-duplication-another-project.png) -Only projects where you are member will be shown in the dropdown. +Only projects where you are members will be shown in the drop-down. Before to copy the tasks, Kanboard will ask you the destination properties that are not common between the source and destination project. Basically, you need to define: -- The destination swimlane +- The destination swim lane - The column - The category - The assignee diff --git a/doc/editing-projects.markdown b/doc/editing-projects.markdown index 7e0fc8ed..781a7cc6 100644 --- a/doc/editing-projects.markdown +++ b/doc/editing-projects.markdown @@ -1,4 +1,4 @@ -Editing projects +Editing Projects ================ Projects can be renamed and disabled at any time. @@ -9,7 +9,7 @@ To rename a project, just click on the link "Edit project" on the left. - The start date and end date are used to generate the project Gantt chart - The description is visible as tooltip on the board and on the projects listing page -- Administrators and project administrators can convert a private project to a multiple users project by changing the checkbox "Private project". -- You can also convert a multiple users project to a private project. +- Administrators and project administrators can convert a private project to multiple users project by changing the checkbox "Private project". +- You can also convert multiple users project to a private project. Note: When you make a project private, all existing users will still have access to the project. Adjust the list of users according to your needs. diff --git a/doc/email-configuration.markdown b/doc/email-configuration.markdown index 40736c6a..d643fa72 100644 --- a/doc/email-configuration.markdown +++ b/doc/email-configuration.markdown @@ -8,7 +8,7 @@ To receive email notifications, users of Kanboard must have: - Activated notifications in their profile - Have a valid email address in their profile -- Be member of the project that will trigger notifications +- Be a member of the project that will trigger notifications Note: The logged user who performs the action doesn't receive any notifications, only other project members. @@ -26,7 +26,7 @@ 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. +Usually that requires no configuration if your server can already send emails. However, it's possible to use other methods, the SMTP protocol and Sendmail. @@ -101,14 +101,14 @@ Examples: Don't forget the ending slash `/`. -You need to define that manually because Kanboard cannot guess the URL from a command line script and some people have very specific configuration. +You need to define that manually because Kanboard cannot guess the URL from a command line script and some people have a very specific configuration. Troubleshooting --------------- -If no emails are send and you are sure that everything is configured correctly: +If no emails are sent and you are sure that everything is configured correctly: - Check your spam folder - Enable the debug mode and check the debug file `data/debug.log`, you should see the exact error -- Be sure that your server or your hosting provider allow you to send emails +- Be sure that your server or your hosting provider allows you to send emails - If you use SeLinux, allow PHP to send emails diff --git a/doc/faq.markdown b/doc/faq.markdown index 3d542a30..de7c9801 100644 --- a/doc/faq.markdown +++ b/doc/faq.markdown @@ -14,21 +14,21 @@ I get a blank page after installing or upgrading Kanboard --------------------------------------------------------- - Check if you have installed all requirements on your server -- Check if the files have the correct permissions +- Check if the files have the correct permission - If you use php-fpm and opcode caching, reload the process to be sure to clear the cache - Enable PHP error logging in your php.ini - Check the PHP and Apache error logs you should see the exact error -Page not found and the url seems wrong (&amp;) +Page not found and the URL seems wrong (&amp;) ---------------------------------------------- -- The url looks like `/?controller=auth&action=login&redirect_query=` instead of `?controller=auth&action=login&redirect_query=` +- The URL looks like `/?controller=auth&action=login&redirect_query=` instead of `?controller=auth&action=login&redirect_query=` - Kanboard returns a "Page not found" error -This issue come from your PHP configuration, the value of `arg_separator.output` is not the PHP's default, there is different ways to fix that: +This issue comes from your PHP configuration, the value of `arg_separator.output` is not the PHP's default, there is different ways to fix that: -Change the value directly in your `php.ini` if you have the permission: +Change the value directly in your `php.ini` if you can: ``` arg_separator.output = "&" @@ -62,12 +62,12 @@ We recommend to switch to the last version of PHP because it's bundled with [OPc Why the minimum requirement is PHP 5.3.3? ----------------------------------------- -Kanboard use the function `password_hash()` to crypt passwords but it's available only for PHP >= 5.5. +Kanboard uses the function `password_hash()` to crypt passwords but it's available only for PHP >= 5.5. -However, there is a backport for [older versions of PHP](https://github.com/ircmaxell/password_compat#requirements). -This library require at least PHP 5.3.7 to work correctly. +However, there is a back-port for [older versions of PHP](https://github.com/ircmaxell/password_compat#requirements). +This library requires at least PHP 5.3.7 to work correctly. -Apparently, Centos and Debian backports security patches so PHP 5.3.3 should be ok. +Apparently, Centos and Debian back-ports security patches so PHP 5.3.3 should be ok. Kanboard v1.0.10 and v1.0.11 requires at least PHP 5.3.7 but this change has been reverted to be compatible with PHP 5.3.3 with Kanboard >= v1.0.12 @@ -88,7 +88,7 @@ open http://localhost:8000/ How to migrate my tasks from Wunderlist? ---------------------------------------- -You can use an external tool to import automatically your tasks and lists from Wunderlist to Kanboard. +You can use an external tool to import your tasks automatically and lists from Wunderlist to Kanboard. This is a command line script made by a contributor of Kanboard. It's simple, quick and dirty but it works :) diff --git a/doc/gantt-chart-projects.markdown b/doc/gantt-chart-projects.markdown index 4dfe95fb..536443e6 100644 --- a/doc/gantt-chart-projects.markdown +++ b/doc/gantt-chart-projects.markdown @@ -1,10 +1,10 @@ -Gantt chart for all projects +Gantt Chart for all projects ============================ The goal of this Gantt chart is to display an overview of all projects based on the start and end dates. - This Gantt chart is available in the project management section -- Only project administrators and administrators can access to this section +- Only project administrators and administrators can access this section - Project administrators will see only projects where they are members - Private projects are not shown on this chart @@ -14,4 +14,4 @@ The goal of this Gantt chart is to display an overview of all projects based on - Horizontal bars can be resized and moved horizontally with your mouse - There is no vertical drag and drop - Project bars are displayed in black when there is no start or end date defined -- The information tooltip show the list of project managers and standard members +- The information tooltip shows the list of project managers and standard members diff --git a/doc/gantt-chart-tasks.markdown b/doc/gantt-chart-tasks.markdown index ca6521ad..9943f573 100644 --- a/doc/gantt-chart-tasks.markdown +++ b/doc/gantt-chart-tasks.markdown @@ -4,7 +4,7 @@ Gantt chart for tasks The goal of this Gantt chart is to display a time based overview of the tasks for a given project. - The Gantt chart is available from the "view switcher" -- Only project managers can access to this section +- Only project managers can access this section ![Gantt Chart](http://kanboard.net/screenshots/documentation/gantt-chart-project.png) @@ -13,7 +13,7 @@ The goal of this Gantt chart is to display a time based overview of the tasks fo - There is no vertical drag and drop - The bar is the same color as the task - Each bar display a progression status in percentage, this percentage is calculated by using the column position on the board -- To fit with the Kanban model, tasks can be ordered by the board positions or by start date +- To fit with the Kanban model, tasks can be ordered by the board positions or by the start date - New tasks created from this view will be displayed on the board at the position 1 in the first column - Tasks are displayed in black when there is no start or due date defined diff --git a/doc/groups.markdown b/doc/groups.markdown index 0c79bdda..16f7ed0b 100644 --- a/doc/groups.markdown +++ b/doc/groups.markdown @@ -1,7 +1,7 @@ Groups Management ================= -In Kanboard, each users can be member of one or many groups. +In Kanboard, each user can be a member of one or many groups. A group is like a team or an organization. Only administrators can create new groups and assign users. @@ -14,4 +14,4 @@ From there, you can create groups and assign users. Each project manager can authorize the access to a set of groups from the [project permissions page](project-permissions.markdown). The external id is mainly used for external group providers. -Kanboard provide a LDAP group provider to [sync automatically groups from LDAP servers](ldap-group-sync.markdown). +Kanboard provides a LDAP group provider to [sync automatically groups from LDAP servers](ldap-group-sync.markdown). diff --git a/doc/heroku.markdown b/doc/heroku.markdown index ea3c19f9..56d79bc9 100644 --- a/doc/heroku.markdown +++ b/doc/heroku.markdown @@ -10,7 +10,7 @@ Requirements ------------ - Heroku account, you can use a free account -- Heroku command line tool installed +- Heroku command line tools installed Manual instructions ------------------- @@ -35,4 +35,5 @@ heroku open Limitations ----------- -The storage on Heroku is ephemeral, that means uploaded files through Kanboard are not persistent after a reboot. +The storage of Heroku is ephemeral, that means uploaded files through Kanboard are not persistent after a reboot. +We may want to install a plugin to store your files in a cloud storage provider like [Amazon S3](https://github.com/kanboard/plugin-s3). diff --git a/doc/ical.markdown b/doc/ical.markdown index 5c52bf82..fc2318cf 100644 --- a/doc/ical.markdown +++ b/doc/ical.markdown @@ -2,24 +2,24 @@ Syncing your calendars ====================== Kanboard supports iCal feeds for projects and users. -This feature allow you to import Kanboard tasks in almost any calendar program (by example Microsoft Outlook, Apple Calendar, Mozilla Thunderbird and Google Calendar). +This feature allows you to import Kanboard tasks in almost any calendar program (by example Microsoft Outlook, Apple Calendar, Mozilla Thunderbird and Google Calendar). -Calendar subscriptions are **read-only** access, you cannot create tasks from an external calendar software. -The Calendar feed export follow the iCal standard. +Calendar subscriptions are **read-only** access, you cannot create tasks from external calendar software. +The Calendar feed export follows the iCal standard. Note: Only tasks within the date range of -2 months to +6 months are exported to the iCalendar feed. Project calendars ----------------- -- Each project have its own calendar. +- Each project has its own calendar. - The subscription link is unique per project, the link is activated when you enable the public access of your project: **Project settings > Public access**. -- This calendar show only tasks for the selected project. +- This calendar shows only tasks for the selected project. User calendars -------------- -- Each user have its own calendar. +- Each user has its own calendar. - The subscription link is unique per user, the link is activated when you enable the public access of your user: **User profile > Public access**. - This calendar show tasks assigned to the user for all projects. @@ -28,7 +28,7 @@ Adding your Kanboard calendar to Apple Calendar - Open Calendar - Select **File > New Calendar Subscription** -- Copy and paste the iCal feed url from Kanboard +- Copy and paste the iCal feed URL from Kanboard ![Add iCal subscription](http://kanboard.net/screenshots/documentation/apple-calendar-add-subscription.png) @@ -44,21 +44,21 @@ Adding your Kanboard calendar to Microsoft Outlook - Open Outlook - Select **Open Calendar > From Internet** -- Copy and paste the iCal feed url from Kanboard +- Copy and paste the iCal feed URL from Kanboard ![Outlook Edit Internet Calendar](http://kanboard.net/screenshots/documentation/outlook-edit-subscription.png) Adding your Kanboard calendar to Mozilla Thunderbird ---------------------------------------------------- -- Install the Add-on **Lightning** to add the calendar support to Thunderbird +- Install the Add-on **Lightning** to add calendar support to Thunderbird - Click on **File > New Calendar** - In the dialog box, choose **On the Network** ![Thunderbird Step 1](http://kanboard.net/screenshots/documentation/thunderbird-new-calendar-step1.png) - Choose the format iCalendar -- Copy and paste the iCal feed url from Kanboard +- Copy and paste the iCal feed URL from Kanboard ![Thunderbird Step 2](http://kanboard.net/screenshots/documentation/thunderbird-new-calendar-step2.png) @@ -69,7 +69,7 @@ Adding your Kanboard calendar to Google Calendar - Click the down-arrow next to **Other calendars**. - Select **Add by URL** from the menu. -- Copy and paste the iCal feed url from Kanboard +- Copy and paste the iCal feed URL from Kanboard ![Google Calendar](http://kanboard.net/screenshots/documentation/google-calendar-add-subscription.png) diff --git a/doc/index.markdown b/doc/index.markdown index e4f83885..3a779d5c 100644 --- a/doc/index.markdown +++ b/doc/index.markdown @@ -81,7 +81,7 @@ Using Kanboard - [Advanced Search Syntax](search.markdown) - [Command line interface](cli.markdown) - [Syntax guide](syntax-guide.markdown) -- [Bruteforce protection](bruteforce-protection.markdown) +- [Brute force protection](bruteforce-protection.markdown) - [Frequently asked questions](faq.markdown) Technical details @@ -99,7 +99,6 @@ Technical details - [Installation on Windows Server with IIS](windows-iis-installation.markdown) - [Installation on Windows Server with Apache](windows-apache-installation.markdown) - [Installation on Heroku](heroku.markdown) -- [Example with Nginx + HTTPS + SPDY + PHP-FPM](nginx-ssl-php-fpm.markdown) - [Run Kanboard with Docker](docker.markdown) - [Run Kanboard with Vagrant](vagrant.markdown) diff --git a/doc/installation.markdown b/doc/installation.markdown index 30a2916c..d51c0e52 100644 --- a/doc/installation.markdown +++ b/doc/installation.markdown @@ -27,7 +27,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 necessary needs to have a persistent local data folder or to change the permissions. +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. From the repository (development version) ----------------------------------------- diff --git a/doc/kanban-vs-todo-and-scrum.markdown b/doc/kanban-vs-todo-and-scrum.markdown index 3d53023a..4e083ff8 100644 --- a/doc/kanban-vs-todo-and-scrum.markdown +++ b/doc/kanban-vs-todo-and-scrum.markdown @@ -24,8 +24,8 @@ Kanban vs Scrum - Estimation is required - Uses velocity as default metric - Scrum board is cleared between each sprint -- Scrum has predefined roles like scrum master, product owner and the team -- A lot of meetings: planning, backlog grooming, daily stand-up, retrospective +- Scrum has pre-defined roles like scrum master, product owners and the team +- A lot of meetings: planning, backlogs grooming, daily stand-up, retrospective ### Kanban: diff --git a/doc/keyboard-shortcuts.markdown b/doc/keyboard-shortcuts.markdown index 065d20c2..8c809b77 100644 --- a/doc/keyboard-shortcuts.markdown +++ b/doc/keyboard-shortcuts.markdown @@ -25,4 +25,4 @@ Application - Go to the search box = **f** - Reset the search box = **r** - Close dialog box = **ESC** -- Submit a form = **CTRL+ENTER** or **⌘+ENTER**
\ No newline at end of file +- Submit form = **CTRL+ENTER** or **⌘+ENTER**
\ No newline at end of file diff --git a/doc/ldap-authentication.markdown b/doc/ldap-authentication.markdown index 05131887..cacfb523 100644 --- a/doc/ldap-authentication.markdown +++ b/doc/ldap-authentication.markdown @@ -13,11 +13,11 @@ Requirements Workflow -------- -When the LDAP authentication is activated, the login process work like that: +When the LDAP authentication is activated, the login process works 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, by default 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 users. The full name and the email address are automatically fetched from the LDAP server. @@ -56,7 +56,7 @@ define('LDAP_PASSWORD', 'my proxy password'); This method uses the credentials provided by the end-user. -By example, Microsoft Active Directory doesn't allow anonymous browsing by default and if you don't want to use a proxy user you can use this method. +For example, Microsoft Active Directory doesn't allow anonymous browsing by default and if you don't want to use a proxy user you can use this method. ```php define('LDAP_BIND_TYPE', 'user'); @@ -85,7 +85,7 @@ Example to filter access to Kanboard: `(&(objectClass=user)(sAMAccountName=%s)(memberOf=CN=Kanboard Users,CN=Users,DC=kanboard,DC=local))` -This example allow only people member of the group "Kanboard Users" to connect to Kanboard. +This example allows only people members of the group "Kanboard Users" to connect to Kanboard. Example for Microsoft Active Directory -------------------------------------- @@ -156,7 +156,7 @@ define('LDAP_USER_FILTER', 'uid=%s'); Disable automatic account creation ----------------------------------- -By default, Kanboard will create automatically a user account if nothing is found. +By default, Kanboard will create a user account automatically if nothing is found. You can disable this behavior if you prefer to create user accounts manually to restrict Kanboard to only some people. @@ -174,11 +174,11 @@ Troubleshootings If SELinux is enabled, you have to allow Apache to reach out your LDAP server. -- You can switch SELinux to the permissive mode or disable it (not recomemnded) +- You can switch SELinux to the permissive mode or disable it (not recommended) - You can allow all network connections, by example `setsebool -P httpd_can_network_connect=1` or have a more restrictive rule In any case, refer to the official Redhat/Centos documentation. ### Enable debug mode -If you are not able to setup correctly the LDAP authentication you can [enable the debug mode](config.markdown) and watch log files. +If you are not able to setup correctly the LDAP authentication, you can [enable the debug mode](config.markdown) and watch log files. diff --git a/doc/ldap-group-sync.markdown b/doc/ldap-group-sync.markdown index a5ced8db..9dea5acc 100644 --- a/doc/ldap-group-sync.markdown +++ b/doc/ldap-group-sync.markdown @@ -29,12 +29,12 @@ define('LDAP_GROUP_MANAGER_DN', 'CN=Kanboard Managers,CN=Users,DC=kanboard,DC=lo Automatically load LDAP groups for project permissions ------------------------------------------------------ -This feature allow you to sync automatically LDAP groups with Kanboard groups. +This feature allows you to sync automatically LDAP groups with Kanboard groups. Each group can have a different project role assigned. On the project permissions page, people can enter groups in the auto-complete field and Kanboard can search for groups with any provider enabled. -If the group doesn't exists in the local database, it will be automatically synced. +If the group doesn't exist in the local database, it will be automatically synced. - `LDAP_GROUP_PROVIDER`: Enable the LDAP group provider - `LDAP_GROUP_BASE_DN`: Distinguished names to find groups in LDAP directory @@ -50,7 +50,7 @@ define('LDAP_GROUP_FILTER', '(&(objectClass=group)(sAMAccountName=%s*))'); ``` With the filter given as example above, Kanboard will search for groups that match the query. -If the end-user type the text "My group" in the auto-complete box, Kanboard will return all groups that match the pattern: `(&(objectClass=group)(sAMAccountName=My group*))`. +If the end-user enter the text "My group" in the auto-complete box, Kanboard will return all groups that match the pattern: `(&(objectClass=group)(sAMAccountName=My group*))`. Note that the special characters `*` is important here, otherwise an exact match will be done. diff --git a/doc/ldap-parameters.markdown b/doc/ldap-parameters.markdown index 772a08c3..bd02baf2 100644 --- a/doc/ldap-parameters.markdown +++ b/doc/ldap-parameters.markdown @@ -1,7 +1,7 @@ LDAP Configuration Parameters ============================= -Here are the list of available LDAP parameters: +Here is the list of available LDAP parameters: | Parameter | Default value | Description | |---------------------------------|----------------|------------------------------------------------| diff --git a/doc/link-labels.markdown b/doc/link-labels.markdown index e6423566..1a53ecfa 100644 --- a/doc/link-labels.markdown +++ b/doc/link-labels.markdown @@ -6,6 +6,6 @@ Task relations can be changed from the application settings (**Settings > Link s ![Link Labels](http://kanboard.net/screenshots/documentation/link-labels.png) Each label may have an opposite label defined. -If there is no opposite, the label is considered bi-directionnal. +If there is no opposite, the label is considered bidirectionnal. ![Link Label Creation](http://kanboard.net/screenshots/documentation/link-label-creation.png) diff --git a/doc/mysql-configuration.markdown b/doc/mysql-configuration.markdown index 554bec3b..6bfb209d 100644 --- a/doc/mysql-configuration.markdown +++ b/doc/mysql-configuration.markdown @@ -45,7 +45,7 @@ Note: You can also rename the template file `config.default.php` to `config.php` ### Importing SQL dump (alternative method) -The first time, Kanboard will run one by one each database migration and this process can take some time according to your configuration. +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: @@ -53,5 +53,5 @@ To avoid any issues or potential timeouts you can initialize the database direct mysql -u root -p my_database < app/Schema/Sql/mysql.sql ``` -The file `app/Schema/Sql/mysql.sql` is a sql dump that represent the last version of the database. +The file `app/Schema/Sql/mysql.sql` is a sql dump that represents the last version of the database. diff --git a/doc/nginx-ssl-php-fpm.markdown b/doc/nginx-ssl-php-fpm.markdown deleted file mode 100644 index 61afd2b1..00000000 --- a/doc/nginx-ssl-php-fpm.markdown +++ /dev/null @@ -1,238 +0,0 @@ -Kanboard with Nginx, HTTPS, SPDY and PHP-FPM -============================================ - -This installation example will help you to have the following features: - -- Latest stable nginx version -- HTTPS only with a valid certificate -- [SPDY protocol](http://en.wikipedia.org/wiki/SPDY) activated -- PHP 5.5 with php-fpm -- Recommended security parameters -- File uploads with a 10MB file size limit - -This procedure is written for **Ubuntu 14.04 LTS** but it should be similar for any Linux distribution. - -For this setup, we suppose that only Kanboard is installed on the server. -It can be a small virtual machine by example. - -Kanboard detect automatically the utilization of HTTPS and enable some extra features: - -- [HTTP Strict Transport Security](http://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security) -- [Secure Cookie Flag](http://en.wikipedia.org/wiki/HTTP_cookie#Secure_and_HttpOnly) - -PHP 5.5 Installation --------------------- - -```bash -sudo apt-get install php5-fpm php5-cli php5-sqlite -``` - -You can also install `php5-mysql` if you prefer to use Kanboard with Mysql or MariaDB. - -Customize your `/etc/php5/fpm/php.ini`: - -```ini -; Security settings -expose_php = Off -cgi.fix_pathinfo=0 - -; Log errors -error_reporting = E_ALL -display_errors = Off -log_errors = On -html_errors = Off -error_log = syslog - -; File uploads -upload_max_filesize = 10M -post_max_size = 10M -``` - -Restart PHP background processes: - -```bash -sudo service php5-fpm restart -``` - -Nginx Installation ------------------- - -We want the latest stable version of nginx to be able to use the SPDY protocol. -Hopefully, there is PPA for Ubuntu (unofficial): - -```bash -sudo add-apt-repository ppa:nginx/stable -sudo apt-get install nginx -``` - -Generate a SSL certificate --------------------------- - -We want a SSL certificate that work everywhere, not a self-signed certificate. -You can buy a cheap one at [Namecheap](http://www.namecheap.com/?aff=73824) or anywhere else. - -Here the different steps to configure your certificate: - -```bash -# Generate a private key -openssl genrsa -des3 -out kanboard.key 2048 - -# Create a key with no password for Nginx -openssl rsa -in kanboard.key -out kanboard.key.nopass - -# Generate the Certificate Signing Request, enter your domain name for the field 'Common Name' -openssl req -new -key kanboard.key.nopass -out kanboard.csr - -# Copy and paste the content of the CSR to the Namecheap control panel and finalize the procedure -cat kanboard.csr - -# After that, you receive by email your certificate, then concat everything into a single file -cat kanboard.crt COMODORSAAddTrustCA.crt COMODORSADomainValidationSecureServerCA.crt AddTrustExternalCARoot.crt > kanboard.pem -``` - -Copy the certificates in a new directory: - -```bash -mkdir /etc/nginx/ssl -cp kanboard.pem /etc/nginx/ssl -cp kanboard.key.nopass /etc/nginx/ssl -chmod 400 /etc/nginx/ssl/* -``` - -Configure Nginx ---------------- - -Now, we can customize our installation, start to modify the main configuration file `/etc/nginx/nginx.conf`: - -```nginx -user www-data; -worker_processes auto; -pid /run/nginx.pid; - -events { - worker_connections 1024; -} - -http { - sendfile on; - tcp_nopush on; - tcp_nodelay on; - keepalive_timeout 65; - types_hash_max_size 2048; - server_tokens off; - - # SSL shared cache between workers - ssl_session_cache shared:SSL:10m; - ssl_session_timeout 10m; - - # We disable weak protocols and ciphers - ssl_protocols TLSv1 TLSv1.1 TLSv1.2; - ssl_prefer_server_ciphers on; - ssl_ciphers HIGH:!SSLv2:!MEDIUM:!LOW:!EXP:!RC4:!DSS:!aNULL:@STRENGTH; - - include /etc/nginx/mime.types; - default_type application/octet-stream; - - access_log /var/log/nginx/access.log; - error_log /var/log/nginx/error.log; - - # We enable the Gzip compression for some mime types - gzip on; - gzip_disable "msie6"; - gzip_vary on; - gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript; - - include /etc/nginx/conf.d/*.conf; - include /etc/nginx/sites-enabled/*; -} -``` - -Create a new virtual host for Kanboard `/etc/nginx/sites-available/kanboard` - - -```nginx -server { - # We also enable the SPDY protocol - listen 443 ssl spdy; - - # Our SSL certificate - ssl on; - ssl_certificate /etc/nginx/ssl/kanboard.pem; - ssl_certificate_key /etc/nginx/ssl/kanboard.key.nopass; - - # You can change the default root directory here - root /usr/share/nginx/html; - - index index.php; - - # Your domain name - server_name localhost; - - # The maximum body size, useful for file uploads - client_max_body_size 10M; - - location / { - try_files $uri $uri/ =404; - } - - error_page 404 /404.html; - error_page 500 502 503 504 /50x.html; - location = /50x.html { - root /usr/share/nginx/html; - } - - # PHP-FPM configuration - location ~ \.php$ { - try_files $uri =404; - fastcgi_split_path_info ^(.+\.php)(/.+)$; - fastcgi_pass unix:/var/run/php5-fpm.sock; - fastcgi_index index.php; - include fastcgi.conf; - } - - # Deny access to the directory data - location ~* /data { - deny all; - return 404; - } - - # Deny access to .htaccess - location ~ /\.ht { - deny all; - return 404; - } -} -``` - -Now it's time to test our setup - -```bash -# Disable the default virtual host -sudo unlink /etc/nginx/sites-enabled/default - -# Add our default virtual host -sudo ln -s /etc/nginx/sites-available/kanboard /etc/nginx/sites-enabled/kanboard - -# Check the config file -sudo nginx -t -nginx: the configuration file /etc/nginx/nginx.conf syntax is ok -nginx: configuration file /etc/nginx/nginx.conf test is successful - -# Restart nginx -sudo service nginx restart -``` - -Kanboard Installation ---------------------- - -You can install Kanboard in a subdirectory or not, it's up to you. - -```bash -cd /usr/share/nginx/html -sudo wget http://kanboard.net/kanboard-latest.zip -sudo unzip kanboard-latest.zip -sudo chown -R www-data:www-data kanboard/data -sudo rm kanboard-latest.zip -``` - -Now, you should be able to use Kanboard with your web browser. diff --git a/doc/nice-urls.markdown b/doc/nice-urls.markdown index ace3b337..7cb8dbac 100644 --- a/doc/nice-urls.markdown +++ b/doc/nice-urls.markdown @@ -1,12 +1,12 @@ URL rewriting ============= -Kanboard is able to work indifferently with url rewriting enabled or not. +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. +If you use Kanboard with Apache and with the mode rewrite enabled, nice URLs will be used automatically. In case you get a "404 Not Found", you might need to set at least the following overrides for your DocumentRoot to get the .htaccess files working: ```sh @@ -29,7 +29,7 @@ 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: +To avoid the automatic detection of URL rewriting from the web server, you can enable this feature in your config file: ```php define('ENABLE_URL_REWRITE', true); @@ -38,9 +38,9 @@ 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 +- 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. +Note: Kanboard always fallback to old school URLs when it's not configured, this configuration is optional. Nginx configuration example --------------------------- diff --git a/doc/notifications.markdown b/doc/notifications.markdown index 55ba94bb..b69696fa 100644 --- a/doc/notifications.markdown +++ b/doc/notifications.markdown @@ -13,7 +13,7 @@ Configuration Each user must enable the notifications in their profile: **User Profile > Notifications**. It's disabled by default. -To receive email notifications you need a valid email address in you profile and the application must be configured to send emails. +To receive email notifications you need a valid email address in your profile and the application must be configured to send emails. ![Notifications](http://kanboard.net/screenshots/documentation/notifications.png) @@ -22,14 +22,14 @@ You can choose your favorite notification method: - Emails - Web (see below) -For each project your are member, you can choose to receive notifications for: +For each project you are a member, you can choose to receive notifications for: - All tasks - Only for tasks assigned to you - Only for tasks created by you - Only for tasks created by you and assigned to you -You can also select only some projects, by default it's all projects where you are member. +You can also select only some projects, by default it's all projects where you are a member. Web notifications ----------------- diff --git a/doc/plugin-authentication-architecture.markdown b/doc/plugin-authentication-architecture.markdown index 6ef1fb88..d357c933 100644 --- a/doc/plugin-authentication-architecture.markdown +++ b/doc/plugin-authentication-architecture.markdown @@ -16,7 +16,7 @@ Kanboard supports natively the TOTP standard. Authentication Interfaces ------------------------- -To have a pluggable system, auhentication drivers must implement a set of interfaces: +To have a pluggable system, authentication drivers must implement a set of interfaces: | Interface | Role | |------------------------------------------|------------------------------------------------------------------| @@ -44,7 +44,7 @@ For each HTTP request: 1. If the user session is already open, execute registered providers that implements `SessionCheckProviderInterface` 2. Execute all providers that implements `PreAuthenticationProviderInterface` 3. If the end-user submit the login form, providers that implements `PasswordAuthenticationProviderInterface` are executed -4. If the end-user want to use OAuth2, the selected provider will be executed +4. If the end-user wants to use OAuth2, the selected provider will be executed 5. After a successful authentication, the last registered `PostAuthenticationProviderInterface` will be used 6. Synchronize user information if necessary @@ -57,7 +57,7 @@ Events triggered: Each time a failure event occurs, the counter of failed logins is incremented. -The user account can be locked down for the configured period of time and a captcha can be shown to avoid bruteforce attacks. +The user account can be locked down for the configured period of time and a captcha can be shown to avoid brute force attacks. User Provider Interface ----------------------- @@ -95,5 +95,5 @@ User Local Synchronization User information can be automatically synced with the local database. - If the method `getInternalId()` return a value no synchronization is performed -- The methods `getExternalIdColumn()` and `getExternalId()` must returns a value to sync the user +- The methods `getExternalIdColumn()` and `getExternalId()` must return a value to sync the user - Properties that returns an empty string won't be synced diff --git a/doc/plugin-authentication.markdown b/doc/plugin-authentication.markdown index 30ccda7c..5fee4faf 100644 --- a/doc/plugin-authentication.markdown +++ b/doc/plugin-authentication.markdown @@ -24,13 +24,13 @@ Those interfaces are defined in the namepsace `Kanboard\Core\Security`: - `Kanboard\Core\Security\PasswordAuthenticationProviderInterface` - `Kanboard\Core\Security\OAuthAuthenticationProviderInterface` -The only requirement is to implement the interfaces, you class can be written the way you want and located anywhere on disk. +The only requirement is to implement the interfaces, you class can be written the way you want and located anywhere on the disk. User Provider ------------- -When the authentication is successful, your driver must return an object that represent the user. -This object must implements the interface `Kanboard\Core\User\UserProviderInterface`. +When the authentication is successful, your driver must return an object that represents the user. +This object must implement the interface `Kanboard\Core\User\UserProviderInterface`. Example of authentication plugins --------------------------------- diff --git a/doc/plugin-authorization-architecture.markdown b/doc/plugin-authorization-architecture.markdown index f61d05b3..24acee17 100644 --- a/doc/plugin-authorization-architecture.markdown +++ b/doc/plugin-authorization-architecture.markdown @@ -17,14 +17,14 @@ Extending Access Map -------------------- The Access List (ACL) is based on the controller class name and the method name. -The list of access are handled by the class `Kanboard\Core\Security\AccessMap`. +The list of access is handled by the class `Kanboard\Core\Security\AccessMap`. There are two access map: one for the application and another one for projects. - Application access map: `$this->applicationAccessMap` - Project access map: `$this->projectAccessMap` -Example to define a new policy from your plugin: +Examples to define a new policy from your plugin: ```php // All methods of the class MyController: diff --git a/doc/plugin-group-provider.markdown b/doc/plugin-group-provider.markdown index b62ecaa6..4d73b740 100644 --- a/doc/plugin-group-provider.markdown +++ b/doc/plugin-group-provider.markdown @@ -14,7 +14,7 @@ Group Provider Workflow 1. The end-user start to type the group name in the auto-complete field 2. The `GroupManager` class will execute the query across all registered group providers -3. Results are merged an returned to the user interface +3. Results are merged and returned to the user interface 4. After selecting a group, the information of the group are synced to the local database if necessary Group Provider Interface @@ -35,7 +35,7 @@ Group Backend Provider Interface Interface to implement: `Kanboard\Core\Group\GroupBackendProviderInterface`. -This interface require only one method: `find($input)`. +This interface requires only one method: `find($input)`. The argument `$input` is the text entered from the user interface. This method must return a list of `GroupProviderInterface`, this is the result of the search. diff --git a/doc/plugin-hooks.markdown b/doc/plugin-hooks.markdown index 49323067..733e201f 100644 --- a/doc/plugin-hooks.markdown +++ b/doc/plugin-hooks.markdown @@ -16,13 +16,13 @@ $this->hook->on('hook_name', $callable); The first argument is the name of the hook and the second is a PHP callable. -### Hooks executed only one time +### Hooks executed only once Some hooks can have only one listener: #### model:subtask-time-tracking:calculate:time-spent -- Override time spent calculation when subtask timer is stopped +- Override time spent calculation when sub-task timer is stopped - Arguments: - `$user_id` (integer) - `$start` (DateTime) @@ -58,7 +58,7 @@ class Plugin extends Base } ``` -List of merge hooks: +List of merging hooks: #### controller:calendar:project:events @@ -79,7 +79,7 @@ List of merge hooks: Asset Hooks ----------- -Asset hooks can be used to add easily a new stylesheet or a new javascript file in the layout. You can use this feature to create a theme and override all Kanboard default styles. +Asset hooks can be used to add a new stylesheet easily or a new JavaScript file in the layout. You can use this feature to create a theme and override all Kanboard default styles. Example to add a new stylesheet: @@ -127,7 +127,7 @@ Example with `myplugin:dashboard/sidebar`: - On the filesystem, the plugin will be located here: `plugins\Myplugin\Template\dashboard\sidebar.php` - Templates are written in pure PHP (don't forget to escape data) -Template name without prefix are core templates. +Template names without prefix are core templates. List of template hooks: @@ -151,4 +151,4 @@ List of template hooks: - `template:user:sidebar:information` - `template:user:sidebar:actions` -Other template hooks can be added if necessary, just ask on the issue tracker. +Another template hooks can be added if necessary, just ask on the issue tracker. diff --git a/doc/plugin-ldap-client.markdown b/doc/plugin-ldap-client.markdown index c7fece8b..312eea71 100644 --- a/doc/plugin-ldap-client.markdown +++ b/doc/plugin-ldap-client.markdown @@ -1,7 +1,7 @@ LDAP Library ============ -To facilitate LDAP integrations, Kanboard have its own LDAP library. +To facilitate LDAP integration, Kanboard has its own LDAP library. This library can perform common operations. Client diff --git a/doc/plugin-mail-transports.markdown b/doc/plugin-mail-transports.markdown index cb7dd6ce..33ce5e3b 100644 --- a/doc/plugin-mail-transports.markdown +++ b/doc/plugin-mail-transports.markdown @@ -8,12 +8,12 @@ By default Kanboard supports 3 standards mail transports: - Sendmail command With the plugin API you can add a driver for any email provider. -By example, your plugin can add a mail transport for a provider that uses an HTTP API. +For example, your plugin can add a mail transport for a provider that uses an HTTP API. Implementation -------------- -Your plugin must implements the interface `Kanboard\Core\Mail\ClientInterface` and extends from `Kanboard\Core\Base`. +Your plugin must implement the interface `Kanboard\Core\Mail\ClientInterface` and extends from `Kanboard\Core\Base`. The only method you need to implement is `sendEmail()`: @@ -40,7 +40,7 @@ To register your new mail transport, use the method `setTransport($transport, $c $this->emailClient->setTransport('myprovider', '\Kanboard\Plugin\MyProvider\MyEmailHandler'); ``` -The second argument contains the absolute namespace of your concrete class. +The second argument contains the absolute name space of your concrete class. Examples of mail transport plugins ---------------------------------- diff --git a/doc/plugin-metadata.markdown b/doc/plugin-metadata.markdown index a01b0ddc..0249e60c 100644 --- a/doc/plugin-metadata.markdown +++ b/doc/plugin-metadata.markdown @@ -4,8 +4,8 @@ Metadata You can attach metadata for each project, task and user. Metadata are custom fields, it's a key/value table. -By example your plugin can store external information for a task or new settings for a project. -Basically that allow you to exend the default fields without having to create new tables. +For example your plugin can store external information for a task or new settings for a project. +Basically that allow you to extend the default fields without having to create new tables. Attach metadata to tasks ------------------------ diff --git a/doc/plugin-notifications.markdown b/doc/plugin-notifications.markdown index 83fdb5e3..15cf4b9b 100644 --- a/doc/plugin-notifications.markdown +++ b/doc/plugin-notifications.markdown @@ -17,14 +17,14 @@ $this->userNotificationType->setType('irc', t('IRC'), '\Kanboard\Plugin\IRC\Noti $this->projectNotificationType->setType('irc', t('IRC'), '\Kanboard\Plugin\IRC\Notification\IrcHandler'); ``` -Your handler can be registered for user or project notification. You don't necessary need to support both. +Your handler can be registered for user or project notification. You don't necessarily need to support both. When your handler is registered, the end-user can choose to receive the new notification type or not. Notification Handler -------------------- -Your notification handler must implements the interface `Kanboard\Notification\NotificationInterface`: +Your notification handler must implement the interface `Kanboard\Notification\NotificationInterface`: ```php interface NotificationInterface diff --git a/doc/plugin-overrides.markdown b/doc/plugin-overrides.markdown index 905808d5..722b4126 100644 --- a/doc/plugin-overrides.markdown +++ b/doc/plugin-overrides.markdown @@ -25,7 +25,7 @@ class Plugin extends Base Template Overrides ------------------ -Any templates defined in the core can be overrided. By example, you can redefine the default layout or change email notifications. +Any templates defined in the core can be overridden. For example, you can redefine the default layout or change email notifications. Example of template override: diff --git a/doc/plugin-registration.markdown b/doc/plugin-registration.markdown index e6d33794..746fa200 100644 --- a/doc/plugin-registration.markdown +++ b/doc/plugin-registration.markdown @@ -25,7 +25,7 @@ plugins └── Test <= Unit tests ``` -Only the registration file `Plugin.php` is required. Other folders are optionals. +Only the registration file `Plugin.php` is required. Other folders are optional. The first letter of the plugin name must be capitalized. @@ -52,7 +52,7 @@ class Plugin extends Base } ``` -This file should contains a class `Plugin` defined under the namespace `Kanboard\Plugin\Yourplugin` and extends `Kanboard\Core\Plugin\Base`. +This file should contain a class `Plugin` defined under the namespace `Kanboard\Plugin\Yourplugin` and extends `Kanboard\Core\Plugin\Base`. The only required method is `initialize()`. This method is called for each request when the plugin is loaded. @@ -95,7 +95,7 @@ The translations must be stored in `plugins/Myplugin/Locale/xx_XX/translations.p Dependency Injection Container ------------------------------ -Kanboard use Pimple, a simple PHP Dependency Injection Container. However, Kanboard can register any class in the container easily. +Kanboard uses Pimple, a simple PHP Dependency Injection Container. However, Kanboard can register any class in the container easily. Those classes are available everywhere in the application and only one instance is created. @@ -123,7 +123,7 @@ $this->budget->getDailyBudgetBreakdown(456); $this->container['hourlyRate']->getAll(); ``` -Keys of the containers are unique across the application. If you override an existing class you will change the default behavior. +Keys of the containers are unique across the application. If you override an existing class, you will change the default behavior. Event Listening --------------- @@ -166,7 +166,7 @@ class Plugin extends Base - The first argument of the method `extendActions()` is the action class with the complete namespace path. **The namespace path must starts with a backslash** otherwise Kanboard will not be able to load your class. - The second argument is the description of your automatic action. -The automatic action class must inherits from the class `Kanboard\Action\Base` and implements all abstract methods: +The automatic action class must inherit from the class `Kanboard\Action\Base` and implements all abstract methods: - `getCompatibleEvents()` - `getActionRequiredParameters()` diff --git a/doc/plugin-schema-migrations.markdown b/doc/plugin-schema-migrations.markdown index d595605f..36a57f37 100644 --- a/doc/plugin-schema-migrations.markdown +++ b/doc/plugin-schema-migrations.markdown @@ -1,7 +1,8 @@ Plugin Schema Migrations ======================== -Kanboard execute database migrations automatically for you. Migrations must be stored in a folder **Schema** and the filename must be the same as the database driver: +Kanboard executes database migrations automatically for you. +Migrations must be stored in a folder **Schema** and the filename must be the same as the database driver: ```bash Schema @@ -31,7 +32,7 @@ function version_1($pdo) ``` - The constant `VERSION` is the last version of your schema -- Each function is a migration `version_1()`, `version_2()`, etc... +- Each function is a migration `version_1()`, `version_2()`, etc. - A `PDO` instance is passed as first argument - Everything is executed inside a transaction, if something doesn't work a rollback is performed and the error is displayed to the user diff --git a/doc/plugins.markdown b/doc/plugins.markdown index 65d6dd1a..07447d4f 100644 --- a/doc/plugins.markdown +++ b/doc/plugins.markdown @@ -5,7 +5,7 @@ Note: The plugin API is **considered alpha** at the moment. Plugins are useful to extend the core functionalities of Kanboard, adding features, creating themes or changing the default behavior. -Plugin creators should specify explicitly the compatible versions of Kanboard. Internal code of Kanboard may change over the time and your plugin must be tested with new versions. Always check the [ChangeLog](https://github.com/fguillot/kanboard/blob/master/ChangeLog) for breaking changes. +Plugin creators should specify explicitly the compatible versions of Kanboard. Internal code of Kanboard may change over time and your plugin must be tested with new versions. Always check the [ChangeLog](https://github.com/fguillot/kanboard/blob/master/ChangeLog) for breaking changes. - [Creating your plugin](plugin-registration.markdown) - [Using plugin hooks](plugin-hooks.markdown) @@ -32,7 +32,7 @@ Examples of plugins - [Postmark](https://github.com/kanboard/plugin-postmark) - [Amazon S3](https://github.com/kanboard/plugin-s3) - [Budget planning](https://github.com/kanboard/plugin-budget) -- [User timetable](https://github.com/kanboard/plugin-timetable) +- [User timetables](https://github.com/kanboard/plugin-timetable) - [Subtask Forecast](https://github.com/kanboard/plugin-subtask-forecast) - [Automatic Action example](https://github.com/kanboard/plugin-example-automatic-action) - [Theme plugin example](https://github.com/kanboard/plugin-example-theme) diff --git a/doc/postgresql-configuration.markdown b/doc/postgresql-configuration.markdown index 904dfc0f..627e2ded 100644 --- a/doc/postgresql-configuration.markdown +++ b/doc/postgresql-configuration.markdown @@ -6,7 +6,7 @@ By default, Kanboard use Sqlite to store its data but it's also possible to use Requirements ------------ -- A Postgresql server already installed and configured +- Postgresql server already installed and configured - The PHP extension `pdo_pgsql` installed (Debian/Ubuntu: `apt-get install php5-pgsql`) Note: Kanboard is tested with **Postgresql 9.3 and 9.4** @@ -22,7 +22,7 @@ CREATE DATABASE kanboard; ### Create a config file -The file `config.php` should contains those values: +The file `config.php` should contain those values: ```php <?php @@ -41,7 +41,7 @@ Note: You can also rename the template file `config.default.php` to `config.php` ### Importing SQL dump (alternative method) -The first time, Kanboard will run one by one each database migration and this process can take some time according to your configuration. +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: @@ -49,4 +49,4 @@ To avoid any issues or potential timeouts you can initialize the database direct psql -U postgres my_database < app/Schema/Sql/postgres.sql ``` -The file `app/Schema/Sql/postgres.sql` is a sql dump that represent 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/project-configuration.markdown b/doc/project-configuration.markdown index 252ace67..e458ebe3 100644 --- a/doc/project-configuration.markdown +++ b/doc/project-configuration.markdown @@ -1,4 +1,4 @@ -Project settings +Project Settings ================ Go to the menu **Settings**, then choose **Project settings** on the left. @@ -38,5 +38,5 @@ If another subtask have the status "in progress", the user will see this dialog - If enabled, closed tasks will be included in the cumulative flow diagram. - If disabled, only open tasks will be included. -- This option affect the column "total" of the table "project_daily_column_stats" +- This option affects the column "total" of the table "project_daily_column_stats" diff --git a/doc/project-permissions.markdown b/doc/project-permissions.markdown index 0a47835a..16586bc6 100644 --- a/doc/project-permissions.markdown +++ b/doc/project-permissions.markdown @@ -18,6 +18,6 @@ Roles assignation is available from **Project Settings > Permissions**: ![Project Permissions](screenshots/project-permissions.png) If you choose to allow everybody, all Kanboard users will be considered Project Member. -That also means there is no role management anymore. Permissions per user or per group cannot be applied. +That also means there is no role management anymore. Permission per user or per group cannot be applied. -Private projects cannot define permissions. +Private projects cannot define permission. diff --git a/doc/project-types.markdown b/doc/project-types.markdown index f44fea0b..ae18b9ef 100644 --- a/doc/project-types.markdown +++ b/doc/project-types.markdown @@ -1,7 +1,7 @@ Project Types ============= -There are two kind of projects: +There are two kinds of projects: | Type | Description | |-------------------|-----------------------------------------------------------------------| diff --git a/doc/project-views.markdown b/doc/project-views.markdown index e1fb4c1e..b45f8178 100644 --- a/doc/project-views.markdown +++ b/doc/project-views.markdown @@ -1,9 +1,11 @@ -Board, Calendar and List views +Board, Calendar and List Views ============================== -For each project, tasks can be visualized with several views: **Board, Calendar, List and Gantt**. Each view show the result of the filter box at the top. The search engine use the [advanced syntax](search.markdown). +For each project, tasks can be visualized with several views: **Board, Calendar, List and Gantt**. +Each view shows the result of the filter box at the top. +The search engine uses the [advanced syntax](search.markdown). -Board view +Board View ---------- ![Board view](http://kanboard.net/screenshots/documentation/board-view.png) @@ -17,8 +19,8 @@ Board view When the task limit is reached for a column, the background becomes red. That means there are too many tasks in progress at the same time. [Learn more about board configuration](board-configuration.markdown) - -Calendar view + +Calendar View -------------- ![Calendar view](http://kanboard.net/screenshots/documentation/calendar-view.png) @@ -28,19 +30,19 @@ Calendar view - You can also use the keyboard shortcut **"v c"** to switch to the calendar view. - [Learn more about calendar configuration](calendar-configuration.markdown) -List view ----------- +List View +--------- ![List view](http://kanboard.net/screenshots/documentation/list-view.png) - With this view all results of your search are displayed in a table. - You can also use the keyboard shortcut **"v l"** to switch to the list view. -Gantt view +Gantt View ---------- ![Gantt view](http://kanboard.net/screenshots/documentation/gantt-view.png) -- The Gantt view display tasks on a horizontal timeline +- The Gantt view displays tasks on a horizontal timeline - The start date and the due date are used to display the chart -- For a quick access, use the keyboard shortcut: **v g** +- For quick access, use the keyboard shortcut: **v g** diff --git a/doc/recommended-configuration.markdown b/doc/recommended-configuration.markdown index 35ed652d..dccbc81d 100644 --- a/doc/recommended-configuration.markdown +++ b/doc/recommended-configuration.markdown @@ -4,9 +4,9 @@ Recommended Configuration Server side ----------- -- Modern Linux/Unix operating system: **Ubuntu/Debian or FreeBSD** -- Most recent version of PHP and Apache (Kanboard is compatible with PHP 5.3, 5.4, 5.5, 5.6 and 7.0) -- Use the Sqlite database only when you have a disk with fast I/O (SSD disks) otherwise use Mysql or Postgresql +- Modern Linux/Unix operating systems: **Ubuntu/Debian or FreeBSD** +- The most recent version of PHP and Apache (Kanboard is compatible with PHP 5.3, 5.4, 5.5, 5.6 and 7.0) +- Use Sqlite database only when you have a disk with fast I/O (SSD disks) otherwise use Mysql or Postgresql Client side ----------- diff --git a/doc/recurring-tasks.markdown b/doc/recurring-tasks.markdown index b1de8d05..d7283a54 100644 --- a/doc/recurring-tasks.markdown +++ b/doc/recurring-tasks.markdown @@ -3,14 +3,14 @@ Recurring tasks To fit with the Kanban methodology, the recurring tasks are not based on a date but on board events. -- Recurring tasks are duplicated to the first column of the board when the selected events occurs +- Recurring tasks are duplicated to the first column of the board when the selected events occur - The due date can be recalculated automatically - Each task records the task id of the parent task that created it and the child task created Configuration ------------- -Go to the task view page or use the dropdown menu on the board, then select **Edit recurrence**. +Go to the task view page or use the drop-down menu on the board, then select **Edit recurrence**. ![Recurring task](http://kanboard.net/screenshots/documentation/recurring-tasks.png) diff --git a/doc/reverse-proxy-authentication.markdown b/doc/reverse-proxy-authentication.markdown index 7c001f3d..609bad7a 100644 --- a/doc/reverse-proxy-authentication.markdown +++ b/doc/reverse-proxy-authentication.markdown @@ -8,18 +8,18 @@ The authentication is done by another system, Kanboard doesn't know your passwor Requirements ------------ -- A well configured reverse proxy +- A well-configured reverse proxy or -- Apache auth on the same server +- Apache Auth on the same server How does this work? ------------------- 1. Your reverse proxy authenticates the user and send the username through a HTTP header. -2. Kanboard retreive the username from the request +2. Kanboard retrieve the username from the request - The user is created automatically if necessary - Open a new Kanboard session without any prompt assuming it's valid @@ -29,7 +29,7 @@ Installation instructions ### Setting up your reverse proxy This is not in the scope of this documentation. -You should check the user login is sent by the reverse proxy using a HTTP header, and find which one. +You should check the user login is sent by the reverse proxy using a HTTP header, and find out which one. ### Setting up Kanboard @@ -59,6 +59,6 @@ Notes: - If the proxy is the same web server that runs Kanboard, according the [CGI protocol](http://www.ietf.org/rfc/rfc3875) the header name will be `REMOTE_USER`. By example, Apache add `REMOTE_USER` by default if `Require valid-user` is set. -- If Apache is a reverse proxy to another Apache running Kanboard, the header `REMOTE_USER` is not set (same behaviour with IIS and Nginx). +- If Apache is a reverse proxy to another Apache running Kanboard, the header `REMOTE_USER` is not set (same behavior with IIS and Nginx). -- If you have a real reverse proxy, the [HTTP ICAP draft](http://tools.ietf.org/html/draft-stecher-icap-subid-00#section-3.4) proposes the header to be `X-Authenticated-User`. This de-facto standart has been adopted by a number of tools. +- If you have a real reverse proxy, the [HTTP ICAP draft](http://tools.ietf.org/html/draft-stecher-icap-subid-00#section-3.4) proposes the header to be `X-Authenticated-User`. This de facto standard has been adopted by a number of tools. diff --git a/doc/rss.markdown b/doc/rss.markdown index 57c81020..7930ec40 100644 --- a/doc/rss.markdown +++ b/doc/rss.markdown @@ -4,7 +4,7 @@ RSS/Atom subscriptions Kanboard supports RSS feeds for projects and users. - Project feeds contains only the activity the project -- User feeds contains the activity stream of all projects the user is member +- User feeds contains the activity stream of all projects the user is a member Those subscriptions are only activated when the public access is enabled in the user profile or in the project settings. @@ -20,4 +20,4 @@ Enable/disable user RSS feeds Go to **User profile > Public access**. -The RSS link is protected by a random token, only people who knows the url can access to the feed.
\ No newline at end of file +The RSS link is protected by a random token, only people who know the URL can access to the feed.
\ No newline at end of file diff --git a/doc/screenshots.markdown b/doc/screenshots.markdown index 95972405..30a3c532 100644 --- a/doc/screenshots.markdown +++ b/doc/screenshots.markdown @@ -4,11 +4,11 @@ Adding screenshots You can copy and paste images directly in Kanboard to save time. These images are uploaded as attachments to the task. -This is especially useful for taking screenshots to describe an issue by example. +This is especially useful for taking screenshots to describe an issue for example. You can add screenshots directly from the board by clicking on the dropdown menu or in the task view page. -![Dropdown screenshot menu](http://kanboard.net/screenshots/documentation/dropdown-screenshot.png) +![Drop-down screenshot menu](http://kanboard.net/screenshots/documentation/dropdown-screenshot.png) To add a new image, take your screenshot and paste with CTRL+V or Command+V: @@ -17,7 +17,7 @@ To add a new image, take your screenshot and paste with CTRL+V or Command+V: On Mac OS X, you can use those shortcuts to take screenshots: - Command-Control-Shift-3: Take a screenshot of the screen, and save it to the clipboard -- Command-Control-Shift-4, then select an area: Take a screenshot of an area and save it to the clipboard +- Command-Control-Shift-4, then select an area: Take a screenshot of the area and save it to the clipboard - Command-Control-Shift-4, then space, then click a window: Take a screenshot of a window and save it to the clipboard There are also several third-party applications that can be used to take screenshots with annotations and shapes. diff --git a/doc/search.markdown b/doc/search.markdown index 889d453f..1a97a7fc 100644 --- a/doc/search.markdown +++ b/doc/search.markdown @@ -1,12 +1,12 @@ Advanced Search Syntax ====================== -Kanboard use a simple query language for advanced search. +Kanboard uses a simple query language for advanced search. Example of query ---------------- -This example will returns all tasks assigned to me with a due date for tomorrow and a title that contains "my title": +This example will return all tasks assigned to me with a due date for tomorrow and a title that contains "my title": ``` assigne:me due:tomorrow my title @@ -17,7 +17,7 @@ Search by task id or title - Search by task id: `#123` - Search by task id and task title: `123` -- Search by task title: anything that don't match any search attributes +- Search by task title: anything that doesn't match any search attributes Search by status ---------------- @@ -27,8 +27,8 @@ Attribute: **status** - Query to find open tasks: `status:open` - Query to find closed tasks: `status:closed` -Search by assignee ------------------- +Search by assignees +------------------- Attribute: **assignee** @@ -48,8 +48,8 @@ Attribute: **color** - Query to search by color id: `color:blue` - Query to search by color name: `color:"Deep Orange"` -Search by due date ------------------- +Search by the due date +---------------------- Attribute: **due** @@ -58,9 +58,9 @@ Attribute: **due** - Search tasks due yesterday: `due:yesterday` - Search tasks due with the exact date: `due:2015-06-29` -The date must use the ISO8601 format: **YYYY-MM-DD**. +The date must use the ISO 8601 format: **YYYY-MM-DD**. -All string formats supported by the `strtotime()` function are supported, by example `next Thursday`, `-2 days`, `+2 months`, `tomorrow`, etc... +All string formats supported by the `strtotime()` function are supported, for example `next Thursday`, `-2 days`, `+2 months`, `tomorrow`, etc. Operators supported with a date: @@ -74,11 +74,11 @@ Search by modification date Attribute: **modified** or **updated** -The date formats are the same as the due date. +The date formats are the same as the due date. There is also a filter by recently modified tasks: `modified:recently`. -This query will use the same value as the board highlight period configured in settings. +This query will use the same value as the board highlight period configured in settings. Search by creation date ----------------------- @@ -119,22 +119,22 @@ Attribute: **project** - Find tasks by project id: `project:23` - Find tasks for several projects: `project:"My project A" project:"My project B"` -Search by column ----------------- +Search by columns +----------------- Attribute: **column** - Find tasks by column name: `column:"Work in progress"` - Find tasks for several columns: `column:"Backlog" column:ready` -Search by swimlane ------------------- +Search by swim lane +------------------- 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"` +- Find tasks by swim lane: `swimlane:"Version 42"` +- Find tasks in the default swim lane: `swimlane:default` +- Find tasks into several swim lanes: `swimlane:"Version 1.2" swimlane:"Version 1.3"` Search by task link ------------------ diff --git a/doc/subtasks.markdown b/doc/subtasks.markdown index e1acd98c..2819aaf4 100644 --- a/doc/subtasks.markdown +++ b/doc/subtasks.markdown @@ -17,7 +17,7 @@ From the task view, on left sidebar click on **Add a subtask**: ![Add a subtask](http://kanboard.net/screenshots/documentation/add-subtask.png) -You can also add quickly a subtask by entering only the title: +You can also add a subtask quickly by entering only the title: ![Add a subtask from the task view](http://kanboard.net/screenshots/documentation/add-subtask-shortcut.png) @@ -40,5 +40,5 @@ Subtask timer - Each time a subtask is in progress, the timer is also started. The timer can be started and stopped at any time. - The timer records the time spent on the subtask automatically. You can also change manually the value of the time spent field when you edit a subtask. - The time calculated is rounded to the nearest quarter. This information is recorded in a separate table. -- The task time spent and time estimated are updated automatically according to the sum of all subtasks. +- The task time spent and time estimated is updated automatically according to the sum of all subtasks. diff --git a/doc/swimlanes.markdown b/doc/swimlanes.markdown index 25e8b6b9..3a67fb89 100644 --- a/doc/swimlanes.markdown +++ b/doc/swimlanes.markdown @@ -1,8 +1,8 @@ -Swimlanes -========= +Swim lanes +========== Swimlanes are horizontal separations in your board. -By example, it's useful to separate software releases, divide your tasks in different products, teams or what ever you want. +By example, it's useful to separate software releases, divide your tasks in different products, teams or whatever you want. Board with swimlanes -------------------- diff --git a/doc/task-links.markdown b/doc/task-links.markdown index 1eab51fd..e9ffb014 100644 --- a/doc/task-links.markdown +++ b/doc/task-links.markdown @@ -1,7 +1,7 @@ Task Links ========== -Tasks can be linked together with predefined relationships: +Tasks can be linked together with pre-defined relationships: ![Task Links](http://kanboard.net/screenshots/documentation/task-links.png) diff --git a/doc/tests.markdown b/doc/tests.markdown index 31937f33..5e5ad389 100644 --- a/doc/tests.markdown +++ b/doc/tests.markdown @@ -1,5 +1,5 @@ -How to run units and functionals tests? -======================================= +How to run units and functional tests? +====================================== [PHPUnit](https://phpunit.de/) is used to run automatic tests on Kanboard. @@ -31,7 +31,7 @@ Running unit tests ### Testing with Sqlite -Sqlite tests use a in-memory database, nothing is written on the filesystem. +Sqlite tests use a in-memory database, nothing is written on the file system. The config file is `tests/units.sqlite.xml`. From your Kanboard directory, run the command `phpunit -c tests/units.sqlite.xml`. diff --git a/doc/time-tracking.markdown b/doc/time-tracking.markdown index 8c65b16a..528f91b3 100644 --- a/doc/time-tracking.markdown +++ b/doc/time-tracking.markdown @@ -13,7 +13,7 @@ Tasks have two fields: - Time estimated - Time spent -These values represents hours of work and have to be set manually. +These values represent hours of work and have to be set manually. Subtask time tracking --------------------- @@ -37,7 +37,7 @@ For each subtask, the timer can be stopped/started at any time: ![Subtask timer](http://kanboard.net/screenshots/documentation/subtask-timer.png) -- The timer doesn't depends of the subtask status +- The timer doesn't depend of the subtask status - Each time you start the timer a new record is created in the time tracking table - Each time you stop the clock the end date is recorded in the time tracking table - The calculated time spent is rounded to the nearest quarter diff --git a/doc/transitions.markdown b/doc/transitions.markdown index c32f696a..b52ccff0 100644 --- a/doc/transitions.markdown +++ b/doc/transitions.markdown @@ -5,12 +5,12 @@ Transitions record each movement of the tasks between columns. ![Transitions](http://kanboard.net/screenshots/documentation/transitions.png) -Available from the task view, you can see those information: +Available from the task view, you can see that information: - Date of the action - Source column - Destination column -- Executer (user that move the task) +- Executor (users that moves the task) - Time spent in the origin column Task transition data can also be exported from the project settings page. diff --git a/doc/translations.markdown b/doc/translations.markdown index 7a4e325b..629c4355 100644 --- a/doc/translations.markdown +++ b/doc/translations.markdown @@ -5,19 +5,19 @@ How to translate Kanboard to a new language? -------------------------------------------- - Translations are stored inside the directory `app/Locale` -- There is sub-directory for each language, by example for the French we have `fr_FR`, Italian `it_IT` etc... +- There is subdirectory for each language, for example in French we have `fr_FR`, Italian `it_IT` etc. - A translation is a PHP file that returns an Array with a key-value pairs -- The key is the original text in english and the value is the translation for the corresponding language +- The key is the original text in English and the value is the translation of the corresponding language - **French translations are always up to date** - Always use the last version (branch master) ### Create a new translation: -1. Make a new directory: `app/Locale/xx_XX` by example `app/Locale/fr_CA` for French Canadian +1. Make a new directory: `app/Locale/xx_XX` for example `app/Locale/fr_CA` for French Canadian 2. Create a new file for the translation: `app/Locale/xx_XX/translations.php` 3. Use the content of the French locales and replace the values 4. Inside the file `app/Model/Config.php`, add a new entry for your translation inside the function `getLanguages()` -5. Check with your local installation of Kanboard if everything is ok +5. Check with your local installation of Kanboard if everything is OK 6. Send a [pull-request with Github](https://help.github.com/articles/using-pull-requests/) How to update an existing translation? @@ -32,7 +32,7 @@ How to add new translated text in the application? Translations are displayed with the following functions in the source code: -- `t()`: dispaly text with HTML escaping +- `t()`: display text with HTML escaping - `e()`: display text without HTML escaping - `dt()`: display date and time using the `strftime()` function formats @@ -42,7 +42,7 @@ Always use the english version in the source code. Date strings use the function `strftime()` to format the date. -By example, the original English version can be defined like that `Created on %B %e, %Y at %k:%M %p` and that will output something like that `Created on January 11, 2015 at 15:19 PM`. The French version can be modified to display a different format, `Créé le %d/%m/%Y à %H:%M` and the result will be `Créé le 11/01/2015 à 15:19`. +For example, the original English version can be defined like that `Created on %B %e, %Y at %k:%M %p` and that will output something like that `Created on January 11, 2015 at 15:19 PM`. The French version can be modified to display a different format, `Créé le %d/%m/%Y à %H:%M` and the result will be `Créé le 11/01/2015 à 15:19`. All formats are available in the [PHP documentation](http://php.net/strftime). @@ -76,4 +76,4 @@ From a Unix shell run this command: ./kanboard locale:sync ``` -The French translation is used a reference for other locales. +The French translation is used a reference to other locales. diff --git a/doc/ubuntu-installation.markdown b/doc/ubuntu-installation.markdown index 5f9ee65b..a08ccc20 100644 --- a/doc/ubuntu-installation.markdown +++ b/doc/ubuntu-installation.markdown @@ -11,7 +11,7 @@ sudo apt-get update sudo apt-get install -y php5 php5-sqlite unzip ``` -In case your webserver was running restart to make sure the php modules are reloaded +In case your web server was running restart to make sure the php modules are reloaded ```bash service apache2 restart diff --git a/doc/update.markdown b/doc/update.markdown index 3233adcb..7be8a65a 100644 --- a/doc/update.markdown +++ b/doc/update.markdown @@ -3,7 +3,7 @@ Upgrade Kanboard to a new version Upgrading Kanboard to a newer version is seamless. The process can be summarized to simply copy your data folder to the new Kanboard folder. -Kanboard will run automatically database migrations for you. +Kanboard will run database migrations automatically for you. Important things to do before updating -------------------------------------- @@ -15,7 +15,7 @@ Important things to do before updating From the archive (stable version) --------------------------------- -1. Uncompress the new archive +1. Decompress the new archive 2. Copy the content of your data folder into the newly uncompressed directory 3. Copy your custom `config.php` if you have one 4. Copy your plugins if necessary diff --git a/doc/usage-examples.markdown b/doc/usage-examples.markdown index f2d457a6..5efc6f9a 100644 --- a/doc/usage-examples.markdown +++ b/doc/usage-examples.markdown @@ -1,4 +1,4 @@ -Usage examples +Usage Examples ============== You can customize your boards according to your business activities: diff --git a/doc/user-management.markdown b/doc/user-management.markdown index 942eea09..38033eb3 100644 --- a/doc/user-management.markdown +++ b/doc/user-management.markdown @@ -1,60 +1,14 @@ User management =============== -Roles at the application level ------------------------------- - -Kanboard use a basic permission system, there are 3 type of users: - -### Administrators - -- Access to everything - -### Project Administrators - -- Can create multi-users and private projects -- Can convert multi-users and private projects -- Can see only their own projects -- Cannot change application settings -- Cannot manage users - -### Standard Users - -- Can create only private projects -- Can see only their own projects -- Cannot remove projects - -Roles at the project level --------------------------- - -These role are related to the project permission. - -### Project Managers - -- Can manage only their own projects -- Can access to reports and budget section - -### Project Members - -- Can do any daily operations in their projects (create and move tasks...) -- Cannot configure projects - -Note: Any "Standard User" can be promoted "Project Manager" for a given project, they don't necessary need to be "Project Administrator". - -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. +To add a new user, you must be an administrator. 1. From the dashboard, go to the menu **User Management** 2. On the top, you have a link **New local user** or **New remote user** -3. Fill the form and save +3. Fill out the form and save ![New user](http://kanboard.net/screenshots/documentation/new-user.png) @@ -71,11 +25,11 @@ Edit users When you go to the **users** menu, you have the list of users, to modify a user click on the **edit link**. - If you are a regular user, you can change only your own profile -- You have to be administrator to be able to edit any users +- You have to be an administrator to be able to edit any users Remove users ------------ -From the **users** menu, click on the link **remove**. This link is visible only if you are administrator. +From the **users** menu, click on the link **remove**. This link is visible only if you are administrators. If you remove a specific user, **tasks assigned to this person will be unassigned** after the operation. diff --git a/doc/vagrant.markdown b/doc/vagrant.markdown index 8c41e141..d11bca84 100644 --- a/doc/vagrant.markdown +++ b/doc/vagrant.markdown @@ -41,7 +41,7 @@ The current directory is synced to the Apache document root. Composer dependencies have to be there, so if you didn't run `composer install` on your host machine you can also do it on the guest machine. -Each box have its own TCP port: +Each box has its own TCP port: - ubuntu: http://localhost:8001/ - debian8: http://localhost:8002/ @@ -61,4 +61,4 @@ Available boxes are: - `vagrant up centos6` - `vagrant up freebsd10` -Any specific configuration have to done manually (Postgres or Mysql). +Any specific configuration has to be done manually (Postgres or Mysql). diff --git a/doc/webhooks.markdown b/doc/webhooks.markdown index f7925350..d6d22400 100644 --- a/doc/webhooks.markdown +++ b/doc/webhooks.markdown @@ -1,20 +1,20 @@ -Webhooks -======== +Web Hooks +========= Webhooks are useful to perform actions with external applications. - Webhooks can be used to create a task by calling a simple URL (You can also do that with the API) - An external URL can be called automatically when an event occurs in Kanboard (task creation, comment updated, etc) -How to write a webhook receiver? --------------------------------- +How to write a web hook receiver? +--------------------------------- All internal events of Kanboard can be sent to an external URL. -- The webhook url have to be defined in **Settings > Webhooks > Webhook URL**. -- When an event is triggered Kanboard call automatically the predefined URL +- The web hook URL has to be defined in **Settings > Webhooks > Webhook URL**. +- When an event is triggered Kanboard calls the pre-defined URL automatically - The data are encoded in JSON format and sent with a POST HTTP request -- The webhook token is also sent as a query string parameter, so you can check if the request really come from Kanboard. +- The web hook token is also sent as a query string parameter, so you can check if the request really comes from Kanboard. - **Your custom URL must answer in less than 1 second**, those requests are synchronous (PHP limitation) and that can slow down the user interface if your script is too slow! ### List of supported events @@ -270,10 +270,8 @@ Screenshot created: } ``` -Note: Webhooks configuration and payload have changed since Kanboard >= 1.0.15 - -How to create a task with a webhook? ------------------------------------- +How to create a task with a web hook? +------------------------------------- Firstly, you have to get the token from the settings page. After that, just call this url from anywhere: @@ -288,7 +286,7 @@ curl "http://myserver/?controller=webhook&action=task&token=superSecretToken&tit ### Available responses - When a task is created successfully, Kanboard return the message "OK" in plain text. -- However if the task creation fail, you will got a "FAILED" message. +- However if the task creation fail, you will get a "FAILED" message. - If the token is wrong, you got a "Not Authorized" message and a HTTP status code 401. ### Available parameters @@ -298,9 +296,9 @@ Base URL: `http://YOUR_SERVER_HOSTNAME/?controller=webhook&action=task` - `token`: Token displayed on the settings page (required) - `title`: Task title (required) - `description`: Task description -- `color_id`: Supported colors are yellow, blue, green, purple, red, orange and grey +- `color_id`: Supported colors are yellow, blue, green, purple, red, orange and gray - `project_id`: Project id (Get the id from the project page) -- `owner_id`: Assignee (Get the user id from the users page) +- `owner_id`: Assignee (Get the user id from the user's page) - `column_id`: Column on the board (Get the column id from the projects page, mouse over on the column name) Only the token and the title parameters are mandatory. The different id can also be found in the database. diff --git a/doc/what-is-kanban.markdown b/doc/what-is-kanban.markdown index 3a37bb7a..5d2eed02 100644 --- a/doc/what-is-kanban.markdown +++ b/doc/what-is-kanban.markdown @@ -3,7 +3,7 @@ What is Kanban? Kanban is a methodology originally developed by Toyota to be more efficient. -There is only two constraints imposed by Kanban: +There are only two constraints imposed by Kanban: - Visualize your workflow - Limit your work in progress @@ -12,14 +12,14 @@ Visualize your workflow ----------------------- - Your work is displayed on a board, you have a clear overview of your project -- Each column represent a step in your workflow +- Each column represents a step in your workflow Bring focus and avoid multitasking ---------------------------------- -- Each phase can have a work in progress limit +- Each phase can have a work in progress limits - Limits are great to identify bottlenecks -- Limits avoid working on too many tasks in the same time +- Limits avoid working on too many tasks at the same time Measure performance and improvement ----------------------------------- @@ -29,4 +29,4 @@ Kanban uses lead and cycle times to measure performance: - **Lead time**: Time between the task is created and completed - **Cycle time**: Time between the task is started and completed -By example, you may have a lead time of 100 days and only have to work 1 hour to complete the task. +For example, you may have a lead time of 100 days and only have to work 1 hour to complete the task. diff --git a/doc/windows-apache-installation.markdown b/doc/windows-apache-installation.markdown index 25d39373..565fe94f 100644 --- a/doc/windows-apache-installation.markdown +++ b/doc/windows-apache-installation.markdown @@ -3,7 +3,7 @@ Installation on Windows Server and Apache This guide will help you to setup step by step Kanboard on a Windows Server with Apache and PHP. -Note: If you have a 64 bits platform choose "x64" otherwise choose "x86" for 32 bits systems. +Note: If you have a 64 bits platform choose "x64" otherwise choose "x86" for 32-bit systems. Visual C++ Redistributable Installation --------------------------------------- @@ -73,13 +73,13 @@ extension=php_openssl.dll extension=php_pdo_sqlite.dll ``` -Set the timezone: +Set the time zone: ```ini date.timezone = America/Montreal ``` -The list of supported timezones can be found in the [PHP documentation](http://php.net/manual/en/timezones.america.php). +The list of supported time zones can be found in the [PHP documentation](http://php.net/manual/en/timezones.america.php). Load the PHP module for Apache: @@ -116,7 +116,7 @@ Kanboard installation --------------------- - Download the zip file -- Uncompress the archive in `C:\Apache24\htdocs\kanboard` by example +- Decompress the archive in `C:\Apache24\htdocs\kanboard` by example - Open your web browser to use Kanboard http://localhost/kanboard/ - The default credentials are **admin/admin** diff --git a/doc/windows-iis-installation.markdown b/doc/windows-iis-installation.markdown index 84a2e53c..960f903f 100644 --- a/doc/windows-iis-installation.markdown +++ b/doc/windows-iis-installation.markdown @@ -23,13 +23,13 @@ extension=php_openssl.dll extension=php_pdo_sqlite.dll ``` -Set the timezone: +Set the time zone: ```ini date.timezone = America/Montreal ``` -The list of supported timezones can be found in the [PHP documentation](http://php.net/manual/en/timezones.america.php). +The list of supported time zones can be found in the [PHP documentation](http://php.net/manual/en/timezones.america.php). Check if PHP runs correctly: @@ -56,7 +56,7 @@ Kanboard installation --------------------- - Download the zip file -- Uncompress the archive in `C:\inetpub\wwwroot\kanboard` by example +- Decompress the archive in `C:\inetpub\wwwroot\kanboard` by example - Make sure the directory `data` is writable by the IIS user - Open your web browser to use Kanboard http://localhost/kanboard/ - The default credentials are **admin/admin** |