Russian documentation added (#2417)
This commit is contained in:
committed by
Frédéric Guillot
parent
be176fe36c
commit
3ea084fd31
37
doc/ru_RU/2fa.markdown
Normal file
37
doc/ru_RU/2fa.markdown
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
Двух-уровневая аутентификация
|
||||||
|
=============================
|
||||||
|
|
||||||
|
Любой пользователь может включить [двух-уровневую аутентификацию](http://en.wikipedia.org/wiki/Two_factor_authentication). После успешного входа, разовый код (6 знаков) запрашивается у пользователя для получения доступа в Канборд.
|
||||||
|
|
||||||
|
Этот код присылается в программу на вашем смартфоне.
|
||||||
|
|
||||||
|
Канборд использует [Time-based One-time Password Algorithm](http://en.wikipedia.org/wiki/Time-based_One-time_Password_Algorithm) основанный на [RFC 6238](http://tools.ietf.org/html/rfc6238).
|
||||||
|
|
||||||
|
Имеется много программ совместимых со стандартной системой TOTP. Например, вы можете использовать эти приложения, бесплатные и с открытым исходным кодом:
|
||||||
|
|
||||||
|
- [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)
|
||||||
|
|
||||||
|
Эти системы могут работать офлайн и вам не нужно иметь мобильную связь.
|
||||||
|
|
||||||
|
Настройка
|
||||||
|
---------
|
||||||
|
|
||||||
|
1. Перейдите в пользовательский профиль
|
||||||
|
2. Слева нажмите **Двухфакторная авторизация** и поставте галочку в чекбоке
|
||||||
|
3. Секретный ключ сгенерируется для вас
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Двухуровневая аутентификация.
|
||||||
|
|
||||||
|
|
||||||
|
- Вы должны сохранить секретный ключ в вашей TOTP программе. Если вы используете сматрфон, то просто сосканируйте QR код с помощью FreeOTP или Google Authenticator.
|
||||||
|
- Каждый раз, когда вы будете входить в Канборд, будет запрашиваться новый код
|
||||||
|
- Не забудьте протестировать ваше устройство, перед тем как закрыть вашу сессию
|
||||||
|
|
||||||
|
Новый секретный ключ генерируется каждый раз при включении/выключении этой возможности.
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
37
doc/ru_RU/analytics-tasks.markdown
Normal file
37
doc/ru_RU/analytics-tasks.markdown
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
Аналитика для задач
|
||||||
|
===================
|
||||||
|
|
||||||
|
На странице детального просмотра задачи, в левом боковом меню, для каждой задачи имеется раздел аналитики.
|
||||||
|
|
||||||
|
Затраченное время и время цикла
|
||||||
|
-------------------------------
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Затраченное время и время цикла
|
||||||
|
|
||||||
|
|
||||||
|
- Затраченное время - время между созданием задачи и датой завершения (закрытие задачи).
|
||||||
|
- Время цикла - время между началом испольнения задачи и датой завершения.
|
||||||
|
- Если задача не закрыта, то для расчета используется текущее время вместо даты завершения.
|
||||||
|
- Если дата начала выполнения задачи не указана, то время цикла не может быть расчитано.
|
||||||
|
|
||||||
|
|
||||||
|
**Заметка**: Вы можете настроить автоматическое создание даты начала выполения задачи, когда вы перемещаете задачу в определенную колонку.
|
||||||
|
|
||||||
|
|
||||||
|
Время затраченное в каждой колонке
|
||||||
|
----------------------------------
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Время затраченное в каждой колонке
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Этот график показывает сколько времени задача находилась в каждой колонке.
|
||||||
|
- Затраченное время расчитывается до закрытия задачи.
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
95
doc/ru_RU/analytics.markdown
Normal file
95
doc/ru_RU/analytics.markdown
Normal file
@@ -0,0 +1,95 @@
|
|||||||
|
Аналитика
|
||||||
|
=========
|
||||||
|
|
||||||
|
Каждый проект имеет анлитический раздел. В зависимости от того как вы используете Канборд, вы можете видеть подобные отчеты:
|
||||||
|
|
||||||
|
Перераспределение(загрузка) пользователей
|
||||||
|
-----------------------------------------
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Перераспределение(загрузка) пользователей
|
||||||
|
|
||||||
|
|
||||||
|
Круговая диаграмма, представленная выше, показыает количество открытых задач назначенных определенным пользователям.
|
||||||
|
|
||||||
|
|
||||||
|
Распределение задач
|
||||||
|
-------------------
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Распределение задач
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
На рисунке выше, представлена круговая диаграмма, которая показывает количество открытых задач в определенных колонках.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Накопительная диаграмма
|
||||||
|
-----------------------
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Накопительная диаграмма
|
||||||
|
|
||||||
|
|
||||||
|
- Эта диаграмма отображает количество задач выполненных в каждой колонке в определенный промежуток времени.
|
||||||
|
- Счетчик задач записывается для каждой колонки каждый день.
|
||||||
|
- Если вы хотите исключить закрытые задачи, измените [глобальные настройки проекта](project-configuration.markdown).
|
||||||
|
|
||||||
|
|
||||||
|
Заметка: Для того чтобы увидеть этот график, вам нужно иметь, как минимум, данные за два дня.
|
||||||
|
|
||||||
|
|
||||||
|
Диаграмма сгорания
|
||||||
|
------------------
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Диаграмма сгорания
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Диаграмма сгорания](https://ru.wikipedia.org/wiki/%D0%94%D0%B8%D0%B0%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0_%D1%81%D0%B3%D0%BE%D1%80%D0%B0%D0%BD%D0%B8%D1%8F_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87) доступна для каждого проекта.
|
||||||
|
|
||||||
|
|
||||||
|
- Эта диаграмма отображает время затраченное на выполнение работы.
|
||||||
|
- Канборд использует историю задач для генерации этой диаграммы.
|
||||||
|
- Сумма историй задач для каждой колонки пересчитывается каждый день.
|
||||||
|
|
||||||
|
Среднее время затраченное в каждой колонке
|
||||||
|
------------------------------------------
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Среднее время затраченное в каждой колонке
|
||||||
|
|
||||||
|
|
||||||
|
Этот график показывает среднее время затраченное в каждой колонке для последних 1000 задач.
|
||||||
|
|
||||||
|
- Канборд использует для подсчета данных переходы задач между колонками.
|
||||||
|
- Затраченное время подсчитывается до закрытия задачи.
|
||||||
|
|
||||||
|
Среднее время выполнения и время цикла
|
||||||
|
--------------------------------------
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Среднее время затраченное в каждой колонке
|
||||||
|
|
||||||
|
Эта диаграмма показывает Среднее время выполнения и цикла для последних 1000 задач.
|
||||||
|
- Время выполнения - время между созданием задачи и датой завершения.
|
||||||
|
- Время цикла - время между указанной датой начала выполнения задачи и датой завершения.
|
||||||
|
- Если задача не закрыта, текущая дата будет использована вместо даты завершения.
|
||||||
|
|
||||||
|
Эти данные подсчитываются и записываются каждый день на протяжении жизни проекта.
|
||||||
|
|
||||||
|
Заметка: Не забудьте выполнить [ежедневные cronjob](cronjob.markdown) для того чтобы иметь точную статистику.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
78
doc/ru_RU/api-json-rpc.markdown
Normal file
78
doc/ru_RU/api-json-rpc.markdown
Normal file
@@ -0,0 +1,78 @@
|
|||||||
|
Json-RPC API
|
||||||
|
============
|
||||||
|
|
||||||
|
|
||||||
|
API пользователя и приложения
|
||||||
|
-----------------------------
|
||||||
|
|
||||||
|
|
||||||
|
Имеется два типа доступа к API:
|
||||||
|
|
||||||
|
### API приложения[¶](#application-api "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
- Доступ к API осуществляется с использованием пользователя “jsonrpc” и ключа, доступного в настройках
|
||||||
|
- Доступ ко всем процедурам
|
||||||
|
- Не проверяются права доступа
|
||||||
|
- Нет пользовательской сессии на сервере
|
||||||
|
- Этот доступ можно использовать для: утилит миграции/импорта данных, создания задач из других систем и т.д.
|
||||||
|
|
||||||
|
### API пользователя[¶](#user-api "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
- Доступ к API под пользовательскими учетными данными (имя пользователя и пароль)
|
||||||
|
- Доступ к ограниченному набору процедур
|
||||||
|
- Проверка прав доступа к проекту
|
||||||
|
- На сервере создается пользовательская сессия
|
||||||
|
- Этот доступ можно использовать для клиентов: мобильных/десктопных приложений, утилит коммандной строки и т.д.
|
||||||
|
|
||||||
|
Безопасность
|
||||||
|
------------
|
||||||
|
|
||||||
|
- Всегда используйте протокол HTTPS с действительным сертификатом
|
||||||
|
- Если вы делаете мобильное приложение, позаботьтесь о безопасном хранении учетных данных пользователя на мобильном устройстве
|
||||||
|
- После 3 неправильных подключений к пользовательскому api, пользователь может разблокировать свою учетную запись только с использованием формы входа
|
||||||
|
- Двухуровневая аутентификация пока не доступна через API
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Протокол
|
||||||
|
--------
|
||||||
|
|
||||||
|
|
||||||
|
Канборд использует протокол Json-RPC для взаимодействия с внешними программами.
|
||||||
|
|
||||||
|
JSON-RPC - протокол удаленного вызова процедур в формате JSON. По сути своей, тот же XML-RPC, но использующий формат JSON.
|
||||||
|
|
||||||
|
Мы используем [протокол версии 2](http://www.jsonrpc.org/specification). Вы можете вызывать API используя `POST`{.docutils .literal} HTTP запрос.
|
||||||
|
|
||||||
|
Канборд поддерживает пакетные запросы, поэтому вы можете делать многократные API вызовы в одном HTTP запросе. Это, в частности, удобно для мобильных клиентов с высокой сетевой задержкой.
|
||||||
|
|
||||||
|
|
||||||
|
Использование
|
||||||
|
-------------
|
||||||
|
|
||||||
|
- [Аутентификация](api-authentication.markdown)
|
||||||
|
- [Примеры](api-examples.markdown)
|
||||||
|
- [Приложение](api-application-procedures.markdown)
|
||||||
|
- [Проекты](api-project-procedures.markdown)
|
||||||
|
- [Права доступа к проекту](api-project-permission-procedures.markdown)
|
||||||
|
- [Доски](api-board-procedures.markdown)
|
||||||
|
- [Колонки](api-column-procedures.markdown)
|
||||||
|
- [Дорожки](api-swimlane-procedures.markdown)
|
||||||
|
- [Категории](api-category-procedures.markdown)
|
||||||
|
- [Автоматические дейсвия](api-action-procedures.markdown)
|
||||||
|
- [Задачи](api-task-procedures.markdown)
|
||||||
|
- [Подзадачи](api-subtask-procedures.markdown)
|
||||||
|
- [Файлы](api-file-procedures.markdown)
|
||||||
|
- [Ссылки](api-link-procedures.markdown)
|
||||||
|
- [Комментарии](api-comment-procedures.markdown)
|
||||||
|
- [Пользователи](api-user-procedures.markdown)
|
||||||
|
- [Группы](api-group-procedures.markdown)
|
||||||
|
- [Члены группы](api-group-member-procedures.markdown)
|
||||||
|
- [Специфичные запросы пользователя](api-me-procedures.markdown)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
54
doc/ru_RU/application-configuration.markdown
Normal file
54
doc/ru_RU/application-configuration.markdown
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
Настройки приложения
|
||||||
|
====================
|
||||||
|
|
||||||
|
Некоторые параметры для приложения могут быть изменены на странице настроек. Только администратор может сделать эти настройки.
|
||||||
|
Выберите в правом выпадающем меню **Настройки**, затем в слева выберите **Настройки приложения**.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Настройки приложения
|
||||||
|
|
||||||
|
|
||||||
|
URL приложения[¶](#application-url "Ссылка на этот заголовок")
|
||||||
|
--------------------------------------------------------------
|
||||||
|
|
||||||
|
Этот параметр используется для email уведомлений. В тексте сообщения будет содержаться ссылка на задачу в Канборде.
|
||||||
|
|
||||||
|
|
||||||
|
Язык[¶](#language "Ссылка на этот заголовок")
|
||||||
|
---------------------------------------------
|
||||||
|
|
||||||
|
Язык приложения может быть изменен в любое время. Язык устанавливается для всех пользователей Канборд.
|
||||||
|
|
||||||
|
|
||||||
|
Часовой пояс[¶](#time-zone "Ссылка на этот заголовок")
|
||||||
|
------------------------------------------------------
|
||||||
|
|
||||||
|
По умолчанию, Канборд использует часовой пояс UTC, но вы можете указать любой часовой пояс. Список содержит все поддерживаемые часовые пояса для вашего веб сервера.
|
||||||
|
|
||||||
|
|
||||||
|
Формат даты[¶](#date-format "Ссылка на этот заголовок")
|
||||||
|
-------------------------------------------------------
|
||||||
|
|
||||||
|
Формать даты, который используется для полей дата. Например, дата завершения задачи.
|
||||||
|
|
||||||
|
Канборд поддерживает 4 разных формата:
|
||||||
|
|
||||||
|
- ДД/ММ/ГГГГ
|
||||||
|
- ММ/ДД/ГГГГ (по умолчанию)
|
||||||
|
- ГГГГ/ММ/ДД
|
||||||
|
- ММ.ДД.ГГГГ
|
||||||
|
|
||||||
|
Формат [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) всегда принимается (YYYY-MM-DD or YYYY\_MM\_DD).
|
||||||
|
|
||||||
|
|
||||||
|
Пользовательский стиль CSS[¶](#custom-stylesheet "Ссылка на этот заголовок")
|
||||||
|
----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Вы можете сделать свой стиль CSS для Канборд или улучшить имеющийся стиль.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
53
doc/ru_RU/assets.markdown
Normal file
53
doc/ru_RU/assets.markdown
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
Как создать asset (Javascript и CSS файлы)
|
||||||
|
==========================================
|
||||||
|
|
||||||
|
|
||||||
|
Файлы CSS стилей и Javascript объединены вместе и минимизированы.
|
||||||
|
|
||||||
|
- Оригинальные файлы CSS хранятся в каталоге `assets/css/src/*.css`{.docutils .literal}
|
||||||
|
- Оригинальные файлы Javascript хранятся в каталоге `assets/js/src/*.js`{.docutils .literal}
|
||||||
|
- `assets/*/vendor.min.*`{.docutils .literal} - внешние зависимости объединены и минимизированы
|
||||||
|
- `assets/*/app.min.*`{.docutils .literal} - исходный код приложения объединены и минимизированы
|
||||||
|
|
||||||
|
|
||||||
|
Требования[¶](#requirements "Ссылка на этот заголовок")
|
||||||
|
-------------------------------------------------------
|
||||||
|
|
||||||
|
- [NodeJS](https://nodejs.org/) с `npm`{.docutils .literal}
|
||||||
|
|
||||||
|
|
||||||
|
Сборка файлов Javascript и CSS[¶](#building-javascript-and-css-files "Ссылка на этот заголовок")
|
||||||
|
------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
Канборд использует [Gulp](http://gulpjs.com/) для сборки asset и [Bower](http://bower.io/) для управления зависимостями. Эти утилиты устанавлены в проекте как зависимости NodeJS.
|
||||||
|
|
||||||
|
|
||||||
|
### Запустить все[¶](#run-everything "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
make static
|
||||||
|
|
||||||
|
### Собрать `vendor.min.js`{.docutils .literal} и `vendor.min.css`{.docutils .literal}[¶](#build-vendor-min-js-and-vendor-min-css "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
gulp vendor
|
||||||
|
|
||||||
|
### Собрать `app.min.js`{.docutils .literal}[¶](#build-app-min-js "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
gulp js
|
||||||
|
|
||||||
|
|
||||||
|
### Собрать `app.min.css`{.docutils .literal}[¶](#build-app-min-css "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
gulp css
|
||||||
|
|
||||||
|
|
||||||
|
Примечание[¶](#notes "Ссылка на этот заголовок")
|
||||||
|
------------------------------------------------
|
||||||
|
|
||||||
|
Сборка asset невозможна из архива Kanboard, вы должны клонировать репозиторий.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
128
doc/ru_RU/automatic-actions.markdown
Normal file
128
doc/ru_RU/automatic-actions.markdown
Normal file
@@ -0,0 +1,128 @@
|
|||||||
|
Автоматизация процессов
|
||||||
|
=======================
|
||||||
|
|
||||||
|
|
||||||
|
Для минимизации пользовательских действий, Kanboard поддерживает автоматизацию процессов.
|
||||||
|
|
||||||
|
Каждый автоматизированный процесс представляет следующее:
|
||||||
|
|
||||||
|
- Ожидание наступления события
|
||||||
|
- Выполняется действие при наступлении этого события
|
||||||
|
- В результате устанавливается определенный параметр
|
||||||
|
|
||||||
|
Каждый проект может иметь свой набор автоматических процессов. Автоматические процессы доступны в панеле настроек (**Меню** -\> **Настройки**) **Автоматические действия**.
|
||||||
|
|
||||||
|
|
||||||
|
Добавление нового действия[¶](#add-a-new-action "Ссылка на этот заголовок")
|
||||||
|
---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
Нажмите на ссылку **Добавить новое действие**.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Автоматическое действие.
|
||||||
|
|
||||||
|
|
||||||
|
- Выберете действие
|
||||||
|
- Затем, выберете событие
|
||||||
|
- И в завершении, задайте параметр
|
||||||
|
|
||||||
|
|
||||||
|
Список доступных действий[¶](#list-of-available-actions "Ссылка на этот заголовок")
|
||||||
|
-----------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
- Создать комментарий из внешнего источника
|
||||||
|
- Добавлять запись при перемещении задачи между колонками
|
||||||
|
- Автоматически назначать категорию по цвету
|
||||||
|
- Изменить категорию основываясь на внешнем ярлыке
|
||||||
|
- Автоматически назначать категории на основе ссылки
|
||||||
|
- Автоматически назначать цвет по категории
|
||||||
|
- Назначить цвет, когда задача перемещается в определенную колонку
|
||||||
|
- Изменение цвета задач при использовании ссылки на определенные задачи
|
||||||
|
- Назначить определенный цвет пользователю
|
||||||
|
- Назначить задачу тому кто выполнит действие
|
||||||
|
- Назначить задачу пользователю, который произвел изменение в колонке
|
||||||
|
- Назначить задачу определенному пользователю
|
||||||
|
- Изменить назначенного основываясь на внешнем имени пользователя
|
||||||
|
- Закрыть задачу
|
||||||
|
- Закрыть задачу в выбранной колонке
|
||||||
|
- Создать задачу из внешнего источника
|
||||||
|
- Создать дубликат задачи в другом проекте
|
||||||
|
- Отправить задачу по email
|
||||||
|
- Переместить задачу в другой проект
|
||||||
|
- Переместить задачу в другую колонку, когда она назначена пользователю
|
||||||
|
- Переносить задачи в другую колонку при изменении категории
|
||||||
|
- Переместить задачу в другую колонку, когда назначение снято
|
||||||
|
- Открыть задачу
|
||||||
|
- Автоматическое обновление даты начала
|
||||||
|
|
||||||
|
|
||||||
|
Примеры[¶](#examples "Ссылка на этот заголовок")
|
||||||
|
------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
Здесь предствалены примеры использованные в реальной жизни:
|
||||||
|
|
||||||
|
### Когда я перемещаю задачу в колонку “Выполнено”, автоматически закрывать эту задачу[¶](#when-i-move-a-task-to-the-column-done-automatically-close-this-task "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
- Выберите действия: **Закрыть задачу в выбранной колонке**
|
||||||
|
- Выберите событие: **Переместить задачу в другую колонку**
|
||||||
|
- Установите параметр действия: **Колонка = Выполнено** (это колонка в которую будет перемещена задача)
|
||||||
|
|
||||||
|
### Когда я перемещаю задачу в колонку “На утверждение”, назначить эту задачу определенному пользователю.[¶](#when-i-move-a-task-to-the-column-to-be-validated-assign-this-task-to-a-specific-user "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
- Выберите действие: **Назначить задачу определенному пользователю**
|
||||||
|
- Выберите событие: **Переместить задачу в другую колонку**
|
||||||
|
- Установите параметр действия: **Колонка = На утверждение** и **Пользователь = Петр** (Петр - наш тестировщик)
|
||||||
|
|
||||||
|
### Когда я перемещаю задачу в колонку “В работе”, назначить эту задачу определенному пользователю[¶](#when-i-move-a-task-to-the-column-work-in-progress-assign-this-task-to-the-current-user "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
- Выберите действие: **Назначить задачу пользователю, который произвел изменение в колонке**
|
||||||
|
- Выберите событие: **Переместить задачу в другую колонку**
|
||||||
|
- Установите параметр действия: **Колонка = В работе**
|
||||||
|
|
||||||
|
|
||||||
|
### Когда задача выполнена, скопировать эту задачу в другой проект[¶](#when-a-task-is-completed-duplicate-this-task-to-another-project "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
Предположим, мы имеем два проекта “Заказы покупателей” и “Производство”. Когда заказ в проекте “Заказы покупателей” утвержден, копируем этот заказ в проект “Производство”.
|
||||||
|
|
||||||
|
- Выбираем действие: **Создать дубликат задачи в другом проекте**
|
||||||
|
- Выбираем событие: **Завершение задачи**
|
||||||
|
- Установите параметр действия: **Колонка = Утвержден** и **Проект = Производство**
|
||||||
|
|
||||||
|
|
||||||
|
### Когда задача перемещена в последнюю колонку, переместить эту задачу в другой проект[¶](#when-a-task-is-moved-to-the-last-column-move-the-exact-same-task-to-another-project "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
Предположим, мы имеем два проекта “Идеи” и “Разработка”, когда идея утверждена, перемещаем эту задачу в проект “Разработка”.
|
||||||
|
|
||||||
|
- Выберите действие: **Переместить задачу в другой проект**
|
||||||
|
- Выберите событие: **Переместить задачу в другую колонку**
|
||||||
|
- Установите параметр действия: **Колонка = Утверждена** и **Проект = Разработка**
|
||||||
|
|
||||||
|
### Я хочу назначать автоматически цвет для пользователя Петр[¶](#i-want-to-assign-automatically-a-color-to-the-user-bob "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
- Выберите действие: **Назначить определенный цвет пользователю**
|
||||||
|
- Выберите событие: **Изменен назначенный**
|
||||||
|
- Установите параметр действия: **Цвет = Зеленый** и **Назначена = Петр**
|
||||||
|
|
||||||
|
|
||||||
|
### Я хочу назначить цвет автоматически для определенной категории “Важные запросы”[¶](#i-want-to-assign-a-color-automatically-to-the-defined-category-feature-request "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
- Выберите действие: **Автоматически назначать цвет по категории**
|
||||||
|
- Выберите событие: **Создание или изменение задачи**
|
||||||
|
- Установите параметр действия: **Цвет = Голубой** и **Категория = Важные запросы**
|
||||||
|
|
||||||
|
|
||||||
|
### Я хочу устанавливать дату начала автоматически когда задача перемещена в колонку “В работе”[¶](#i-want-to-set-the-start-date-automatically-when-the-task-is-moved-to-the-column-work-in-progress "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
- Выберите действие: **Автоматическое обновление даты начала**
|
||||||
|
- Выберите событие: **Переместить задачу в другую колонку**
|
||||||
|
- Установите параметр действия: **Колонка = В работе**
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
31
doc/ru_RU/board-collapsed-expanded.markdown
Normal file
31
doc/ru_RU/board-collapsed-expanded.markdown
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
Компактное и развернутое отображение задач
|
||||||
|
==========================================
|
||||||
|
|
||||||
|
Задачи на Доске могут быть отображены в компактном или развернутом виде. Переключение между компактным и развернутым видом может быть выполнено с помощью горячей клавиши **“s”** или в раскрывающемся Меню (слева вверху) -\> Развернуть задачи или Свернуть задачи.
|
||||||
|
|
||||||
|
|
||||||
|
Компактный вид[¶](#collapsed-mode "Ссылка на этот заголовок")
|
||||||
|
-------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Задачи представлены в компактном виде
|
||||||
|
|
||||||
|
- Если для задачи назначен исполнитель, то инициалы исполнителя показываются рядом с номером задачи;
|
||||||
|
- Если заголовок задачи слишком длинный, вы можете подвести курсор мышки над задачей и полный заголовок задачи отобразится во всплывающем окне.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Развернутый вид[¶](#expanded-mode "Ссылка на этот заголовок")
|
||||||
|
-------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|

|
||||||
|
Рисунок. Развернутый вид
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
39
doc/ru_RU/board-configuration.markdown
Normal file
39
doc/ru_RU/board-configuration.markdown
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
Настройка Доски
|
||||||
|
===============
|
||||||
|
|
||||||
|
|
||||||
|
В правом верхнем выпадающем меню выберите **Настройки**, затем, слева, выберите **Настройки Доски**.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Настройка Доски
|
||||||
|
|
||||||
|
|
||||||
|
Подстветка задач[¶](#task-highlighting "Ссылка на этот заголовок")
|
||||||
|
------------------------------------------------------------------
|
||||||
|
|
||||||
|
Эта опция позволяет подсвечивать задачу, которая была перенесена недавно.
|
||||||
|
|
||||||
|
Установите значение 0 для выключения подсветки. По умолчанию установлено значение 172800 секунд (2 дня)
|
||||||
|
|
||||||
|
Перемещенные задачи будут подсвечиваться в течении двух дней.
|
||||||
|
|
||||||
|
|
||||||
|
Период обновления для публичных досок[¶](#refresh-interval-for-public-board "Ссылка на этот заголовок")
|
||||||
|
-------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Если вы создаете публичную доску, то страница, по умолчанию, будет обновляться каждые 60 секунд.
|
||||||
|
|
||||||
|
|
||||||
|
Период обновления для частных досок[¶](#refresh-interval-for-private-board "Ссылка на этот заголовок")
|
||||||
|
------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Когда в вашем браузере открыта Доска, Канборд проверяет обновления изменение каждые 10 секунд.
|
||||||
|
|
||||||
|
Процесс обновления реализован по технологии Ajax.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
Горизонтальная прокрутка и компактный вид
|
||||||
|
=========================================
|
||||||
|
|
||||||
|
Когда ширины экрана не хватает для отображения всех колонок, то внизу появляется горизонтальная прокрутка.
|
||||||
|
|
||||||
|
Однако, можно переключится на компактный вид доски для отображения всех колонок на вашем экране.
|
||||||
|
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Переключение на компактное представление.
|
||||||
|
|
||||||
|
Переключится между горизонтальной прокруткой и компактным видом можно с помощью горячей клавиши **“c”** или в левом верхнем раскрывающемся “Меню” -\> “Компактный вид” или “Широкий вид”.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
25
doc/ru_RU/board-show-hide-columns.markdown
Normal file
25
doc/ru_RU/board-show-hide-columns.markdown
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
Показать и скрыть колонки на Доске
|
||||||
|
==================================
|
||||||
|
|
||||||
|
Вы можете показать и скрыть колонки на Доске очень просто:
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Спрятать колонку.
|
||||||
|
|
||||||
|
|
||||||
|
Чтобы скрыть (спрятать) колонку , откройте выпадающее меню колонки.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок.Показать колонку.
|
||||||
|
|
||||||
|
|
||||||
|
Для отображения скрытой колонки нажмите “иконку плюс”
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
37
doc/ru_RU/bruteforce-protection.markdown
Normal file
37
doc/ru_RU/bruteforce-protection.markdown
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
Защита от Brute Force
|
||||||
|
=====================
|
||||||
|
|
||||||
|
Защита от Brute Force (подбор пароля методом перебора) в Канборде работает на уровне учетной записи пользователя:
|
||||||
|
|
||||||
|
- После 3 неправильных вводов пароля для одного и того же пользователя, на форме входа появляется капча для предотвращения дальнейшего подбора программой-роботом.
|
||||||
|
- После 6 неудачных вводов пароля, учетная запись пользователя блокируется на 15 минут.
|
||||||
|
|
||||||
|
Эта возможность работает только для метода аутентификации с использованием формы входа на веб странице.
|
||||||
|
|
||||||
|
Однако, **после трех ошибочных аутентификаций через пользовательский API, учетная запись может быть разблокирована с использованием формы входа на веб странице**
|
||||||
|
|
||||||
|
В Канборде нет блокировок по IP адресу, потому что программы-роботы используют множество анонимных прокси. Однако, вы можете использовать внешнюю утилиту, например [fail2ban](http://www.fail2ban.org) , чтобы избежать массового сканирования.
|
||||||
|
|
||||||
|
Настройки защиты от Brute Force могут быть изменены в следующих переменных:
|
||||||
|
|
||||||
|
// Enable captcha after 3 authentication failure
|
||||||
|
|
||||||
|
define('BRUTEFORCE_CAPTCHA', 3);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Lock the account after 6 authentication failure
|
||||||
|
|
||||||
|
define('BRUTEFORCE_LOCKDOWN', 6);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Lock account duration in minutes
|
||||||
|
|
||||||
|
define('BRUTEFORCE_LOCKDOWN_DURATION', 15);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
59
doc/ru_RU/calendar-configuration.markdown
Normal file
59
doc/ru_RU/calendar-configuration.markdown
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
Настройки календаря
|
||||||
|
===================
|
||||||
|
|
||||||
|
В правом верхнем выпадающем меню выберите **Настройки**, затем, слева, выберите **Настройки календаря**.
|
||||||
|
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Настройки календаря
|
||||||
|
|
||||||
|
|
||||||
|
В Канборде имеется два вида Календаря:
|
||||||
|
|
||||||
|
- Календарь проекта
|
||||||
|
- Пользовательский календарь (доступен в левом меню Инфопанели)
|
||||||
|
|
||||||
|
|
||||||
|
Календарь проекта[¶](#project-calendar "Ссылка на этот заголовок")
|
||||||
|
------------------------------------------------------------------
|
||||||
|
|
||||||
|
Эти календари показывают задачи с указанной датой создания или датой начала и датой завершения.
|
||||||
|
|
||||||
|
### Показать задачи в зависимости от даты создания[¶](#show-tasks-based-on-the-creation-date "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
- Дата начала в календаре показывает дату создания задачи.
|
||||||
|
- Конечная дата показывает дату завершения.
|
||||||
|
|
||||||
|
|
||||||
|
### Показать задачи в зависимости от даты начала[¶](#show-tasks-based-on-the-start-date "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
- Дата начала в календаре показывает дату начала задачи.
|
||||||
|
- Эта дата должна быть установлена вручную.
|
||||||
|
- Конечная дата показывает дату завершения.
|
||||||
|
- Если не указать дату начала, то задача не будет отображена в календаре.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Пользовательский календарь[¶](#user-calendar "Ссылка на этот заголовок")
|
||||||
|
------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Пользовательский календарь показывает только задачи назначенные пользователю и, опционально, информацию о подзадачах.
|
||||||
|
|
||||||
|
|
||||||
|
### Показать подзадачи, основанные на отслеживании времени[¶](#show-sub-tasks-based-on-the-time-tracking "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
- Показывает подзадачи в календаре из записей таблицы отслеживания времени.
|
||||||
|
- Пересечения в пользовательской таблице времени также подсчитываются.
|
||||||
|
|
||||||
|
|
||||||
|
### Показывать оценку подзадач (прогнозирование будущих работ)[¶](#show-sub-task-estimates-forecast-of-future-work "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
- Показывает оценку будущих работ для подзадач в статусе “для исполнения” и с указанным значением “оценка”.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
31
doc/ru_RU/calendar.markdown
Normal file
31
doc/ru_RU/calendar.markdown
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
Календарь
|
||||||
|
=========
|
||||||
|
|
||||||
|
|
||||||
|
Календарь может быть представлен в двух видах:
|
||||||
|
|
||||||
|
- Представление в проекте с использование фильтров (доступно на Доске)
|
||||||
|
- Пользовательское представление (доступно в рабочей панели и в пользовательском разделе)
|
||||||
|
|
||||||
|
В Календаре можно увидеть следующую информацию:
|
||||||
|
|
||||||
|
- Задачи с “датой испольнения”, отображаются наверху. **Дата испольнения может быть изменена перемещением задачи на другой день**.
|
||||||
|
- Задачи с датой создания или датой начала. **Эти события не могут быть изменены в календаре**.
|
||||||
|
- Отслеживание времени подзадачи. Все записанные временные диапазоны будут отображены в Календаре.
|
||||||
|
- Подсчеты, прогнозы затрачиваемого время на подзадачу.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Календарь
|
||||||
|
|
||||||
|
|
||||||
|
Настроки Календаря могут быть изменены на странице **Настройки**
|
||||||
|
|
||||||
|
Заметка: Дата исполения не содержит информацию о времени.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
127
doc/ru_RU/centos-installation.markdown
Normal file
127
doc/ru_RU/centos-installation.markdown
Normal file
@@ -0,0 +1,127 @@
|
|||||||
|
Инсталяция Канборд на Centos
|
||||||
|
============================
|
||||||
|
|
||||||
|
|
||||||
|
**Внимание**: Некоторые возможности Канборда требуют [запуск ежедневных фоновых задач](cronjob.markdown).
|
||||||
|
|
||||||
|
|
||||||
|
Centos 7[¶](#centos-7 "Ссылка на этот заголовок")
|
||||||
|
-------------------------------------------------
|
||||||
|
|
||||||
|
Установите PHP и Apache:
|
||||||
|
|
||||||
|
|
||||||
|
yum install -y php php-mbstring php-pdo php-gd unzip wget
|
||||||
|
|
||||||
|
|
||||||
|
По умолчанию, Centos 7 использует PHP 5.4.16 и Apache 2.4.6.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Перезапустите Apache:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
systemctl restart httpd.service
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Установите Канборд:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
cd /var/www/html
|
||||||
|
|
||||||
|
wget https://kanboard.net/kanboard-latest.zip
|
||||||
|
|
||||||
|
unzip kanboard-latest.zip
|
||||||
|
|
||||||
|
chown -R apache:apache kanboard/data
|
||||||
|
|
||||||
|
rm kanboard-latest.zip
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Если включен SELinux, убедитесь что пользователь веб сервера Apache имеет права на запись в директорию data:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
chcon -R -t httpd_sys_content_rw_t /var/www/html/kanboard/data
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Убедитесь, что Канборд может посылать email сообщения и делать внешние сетевые запросы, например с SELinux:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
setsebool -P httpd_can_network_connect=1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Позволяет делать внешние подключения если используется LDAP, SMTP, Web hooks или другая интеграция.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Centos 6.x[¶](#centos-6-x "Ссылка на этот заголовок")
|
||||||
|
-----------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Установите PHP и Apache:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
yum install -y php php-mbstring php-pdo php-gd unzip wget
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
По умолчанию, Centos 6.5 использует PHP 5.3.3 и Apache 2.2.15.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Включите короткие теги:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Отредактируйте файл `/etc/php.ini`{.docutils .literal}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Измените строку `short_open_tag = On`{.docutils .literal} (вместо `short_open_tag = Off`{.docutils .literal})
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Перезапустите Apache:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
service httpd restart
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Установите Канборд:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
cd /var/www/html
|
||||||
|
|
||||||
|
wget https://kanboard.net/kanboard-latest.zip
|
||||||
|
|
||||||
|
unzip kanboard-latest.zip
|
||||||
|
|
||||||
|
chown -R apache:apache kanboard/data
|
||||||
|
|
||||||
|
rm kanboard-latest.zip
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Готово. Можете работать с Канборд. Откройте в браузере `http://ваш_сервер/kanboard/`{.docutils .literal}.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
331
doc/ru_RU/cli.markdown
Normal file
331
doc/ru_RU/cli.markdown
Normal file
@@ -0,0 +1,331 @@
|
|||||||
|
Интерфейс командной строки
|
||||||
|
==========================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Канборд обеспечивает простой интерфейс командной строки, которым можно воспользоваться только из Unix терминала. Эта возможность доступна только с локальной машины.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Интерфейс командной строки полезен для выполнения команд вне процессов веб сервера.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Использование[¶](#usage "Ссылка на этот заголовок")
|
||||||
|
---------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Откройте терминал и перейдите в директорию Канборд (например: `cd /var/www/kanboard`)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Выполните команду `./kanboard`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- -->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Kanboard version master
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Usage:
|
||||||
|
|
||||||
|
command [options] [arguments]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Options:
|
||||||
|
|
||||||
|
-h, --help Display this help message
|
||||||
|
|
||||||
|
-q, --quiet Do not output any message
|
||||||
|
|
||||||
|
-V, --version Display this application version
|
||||||
|
|
||||||
|
--ansi Force ANSI output
|
||||||
|
|
||||||
|
--no-ansi Disable ANSI output
|
||||||
|
|
||||||
|
-n, --no-interaction Do not ask any interactive question
|
||||||
|
|
||||||
|
-v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Available commands:
|
||||||
|
|
||||||
|
cronjob Execute daily cronjob
|
||||||
|
|
||||||
|
help Displays help for a command
|
||||||
|
|
||||||
|
list Lists commands
|
||||||
|
|
||||||
|
export
|
||||||
|
|
||||||
|
export:daily-project-column-stats Daily project column stats CSV export (number of tasks per column and per day)
|
||||||
|
|
||||||
|
export:subtasks Subtasks CSV export
|
||||||
|
|
||||||
|
export:tasks Tasks CSV export
|
||||||
|
|
||||||
|
export:transitions Task transitions CSV export
|
||||||
|
|
||||||
|
locale
|
||||||
|
|
||||||
|
locale:compare Compare application translations with the fr_FR locale
|
||||||
|
|
||||||
|
locale:sync Synchronize all translations based on the fr_FR locale
|
||||||
|
|
||||||
|
notification
|
||||||
|
|
||||||
|
notification:overdue-tasks Send notifications for overdue tasks
|
||||||
|
|
||||||
|
plugin
|
||||||
|
|
||||||
|
plugin:install Install a plugin from a remote Zip archive
|
||||||
|
|
||||||
|
plugin:uninstall Remove a plugin
|
||||||
|
|
||||||
|
plugin:upgrade Update all installed plugins
|
||||||
|
|
||||||
|
projects
|
||||||
|
|
||||||
|
projects:daily-stats Calculate daily statistics for all projects
|
||||||
|
|
||||||
|
trigger
|
||||||
|
|
||||||
|
trigger:tasks Trigger scheduler event for all tasks
|
||||||
|
|
||||||
|
user
|
||||||
|
|
||||||
|
user:reset-2fa Remove two-factor authentication for a user
|
||||||
|
|
||||||
|
user:reset-password Change user password
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Доступные команды[¶](#available-commands "Ссылка на этот заголовок")
|
||||||
|
--------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Экспорт задач в формате CSV[¶](#tasks-csv-export "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Применение:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
./kanboard export:tasks <project_id> <start_date> <end_date>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Пример:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
./kanboard export:tasks 1 2014-10-01 2014-11-30 > /tmp/my_custom_export.csv
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Данные CSV передаются в `stdout`.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Экспорт подзадач в формате CSV[¶](#subtasks-csv-export "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Применение:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
./kanboard export:subtasks <project_id> <start_date> <end_date>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Пример:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
./kanboard export:subtasks 1 2014-10-01 2014-11-30 > /tmp/my_custom_export.csv
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Экспорт перемещения задач в формате CSV[¶](#task-transitions-csv-export "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Применение:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
./kanboard export:transitions <project_id> <start_date> <end_date>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Пример:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
./kanboard export:transitions 1 2014-10-01 2014-11-30 > /tmp/my_custom_export.csv
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Экспорт ежедневных сведений в формате CSV[¶](#export-daily-summaries-data-in-csv "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Экспортированные данные будут выведены в стандартный вывод:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
./kanboard export:daily-project-column-stats <project_id> <start_date> <end_date>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Пример:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
./kanboard export:daily-project-column-stats 1 2014-10-01 2014-11-30 > /tmp/my_custom_export.csv
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Отправка уведомлений для просроченных задач[¶](#send-notifications-for-overdue-tasks "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Email сообщения будут отправлены всем пользователям, у которых включено оповещение.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
./kanboard notification:overdue-tasks
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Необязательные параметры:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- `--show`: Показывать отправку уведомлений
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- `--group`: Группировать все просроченные задачи для одного пользователя (со всех проектов) на один email
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- `--manager`: Посылать все просроченные задачи менеджеру (менеджерам) проекта в одном email сообщении
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Вы можете просмотреть просроченные задачи с помощью параметра `--show`:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
```bash
|
||||||
|
./kanboard notification:overdue-tasks --show
|
||||||
|
+-----+---------+------------+------------+--------------+----------+
|
||||||
|
| Id | Title | Due date | Project Id | Project name | Assignee |
|
||||||
|
+-----+---------+------------+------------+--------------+----------+
|
||||||
|
| 201 | Test | 2014-10-26 | 1 | Project #0 | admin |
|
||||||
|
| 202 | My task | 2014-10-28 | 1 | Project #0 | |
|
||||||
|
+-----+---------+------------+------------+--------------+----------+
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
### Запуск ежедневной калькуляции статистики[¶](#run-daily-project-stats-calculation "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Эта команда считает статистику для каждого проекта:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
./kanboard projects:daily-stats
|
||||||
|
|
||||||
|
Run calculation for Project #0
|
||||||
|
|
||||||
|
Run calculation for Project #1
|
||||||
|
|
||||||
|
Run calculation for Project #10
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Триггеры для задач[¶](#trigger-for-tasks)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Эта команда посылает “событие для ежедневных фоновых заданий” для всех открытых задач в каждом проекте.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
./kanboard trigger:tasks
|
||||||
|
|
||||||
|
Trigger task event: project_id=2, nb_tasks=1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Сброс пароля пользователя[¶](#reset-user-password "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
./kanboard user:reset-password my_user
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Будет запрошен пароль и подтверждение. Символы не отображаются на экране.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Удаление двухуровневой аутентификации для пользователя[¶](#remove-two-factor-authentication-for-a-user "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
./kanboard user:reset-2fa my_user
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Установка плагина[¶](#install-a-plugin "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
./kanboard plugin:install https://github.com/kanboard/plugin-github-auth/releases/download/v1.0.1/GithubAuth-1.0.1.zip
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Заметка: Установленные файлы будут иметь теже права, что и у текущего пользователя
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Удаление плагина[¶](#remove-a-plugin "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
./kanboard plugin:uninstall Budget
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Обновление всех плагинов[¶](#upgrade-all-plugins "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
./kanboard plugin:upgrade
|
||||||
|
|
||||||
|
* Updating plugin: Budget Planning
|
||||||
|
|
||||||
|
* Plugin up to date: Github Authentication
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
30
doc/ru_RU/closing-tasks.markdown
Normal file
30
doc/ru_RU/closing-tasks.markdown
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
Закрытие задач
|
||||||
|
==============
|
||||||
|
|
||||||
|
Когда задача закрыта, то она скрывается на Доске.
|
||||||
|
|
||||||
|
Не смотря на это, вы можете в любой момент зайти в список закрытых задач используя запрос **status:closed** в любой форме поиска или просто выбрать фильтр “Закрытые задачи” в выпадающем меню.
|
||||||
|
|
||||||
|
Имеется два пути для закрытия задачи: - На Доске выбрать задачу и выпадающем меню выбрать **Закрыть задачу**
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Закрытие задачи, используя выпадающее меню.
|
||||||
|
|
||||||
|
|
||||||
|
или - Используя детальное представление задачи, выбрать **Закрыть задачу** в меню боковой панели (слева)
|
||||||
|
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Закрытие задачи.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
**Заметка**: Когда вы закрываете задачу, у всех не выполненных подзадач будет изменен статус на “Выполнено”
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
45
doc/ru_RU/cloudron.markdown
Normal file
45
doc/ru_RU/cloudron.markdown
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
Как запустить Канборд на Cloudron
|
||||||
|
=================================
|
||||||
|
|
||||||
|
|
||||||
|
[Cloudron](https://cloudron.io) приватный смартсервер, на котором вы можете установить веб приложения, такие как Канборд. Вы можете установить Канборд в определенном домене, при этом каждой инсталяции создавается резервная копия и поддерживается новая версия Канборда автоматически.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[](https://cloudron.io/button.html?app=net.kanboard.cloudronapp)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Учетные записи[¶](#accounts "Ссылка на этот заголовок")
|
||||||
|
-------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
Приложение плотно интегрируется с системой Управления пользователями Cloudron (через LDAP). Только пользователи Cloudron могут войти в Канборд. Плюс, любой администратор Cloudron становится администратором Канборда автоматически.
|
||||||
|
|
||||||
|
|
||||||
|
Установка плагинов[¶](#installing-plugins "Ссылка на этот заголовок")
|
||||||
|
---------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Плагины могут быть установлены и настроены с помощью утилиты [Cloudron CLI](https://cloudron.io/references/cli.html). Для подробной информации смотрите [описание приложения](https://cloudron.io/appstore.html?app=net.kanboard.cloudronapp).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Исходный код приложения[¶](#application-source-code "Ссылка на этот заголовок")
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Исходный код приложения Cloudron находится [здесь](https://github.com/cloudron-io/kanboard-app).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
64
doc/ru_RU/coding-standards.markdown
Normal file
64
doc/ru_RU/coding-standards.markdown
Normal file
@@ -0,0 +1,64 @@
|
|||||||
|
Стандарты используемые при написании кода
|
||||||
|
=========================================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Код PHP[¶](#php-code "Ссылка на этот заголовок")
|
||||||
|
------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Отступ: 4 пробела
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Перевод строки: Unix =\> `\n`{.docutils .literal}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Кодировка: UTF-8
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Используйте только открытые теги `<?php`{.docutils .literal} or `<?=`{.docutils .literal} для templates, но **никогда** не используйте `<?`{.docutils .literal}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Всегда пишите коментарии PHPdoc для свойств методов и классов
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Стиль кодирования: [PSR-1](http://www.php-fig.org/psr/psr-1/) и [PSR-2](http://www.php-fig.org/psr/psr-2/)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Код JavaScript[¶](#javascript-code "Ссылка на этот заголовок")
|
||||||
|
--------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Отступ: 4 пробела
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Перевод строки: Unix =\> `\n`{.docutils .literal}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Код CSS[¶](#css-code "Ссылка на этот заголовок")
|
||||||
|
------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Отступ: 4 пробела
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Перевод строки: Unix =\> `\n`{.docutils .literal}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
523
doc/ru_RU/config.markdown
Normal file
523
doc/ru_RU/config.markdown
Normal file
@@ -0,0 +1,523 @@
|
|||||||
|
Конфигурационный файл
|
||||||
|
=====================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Вы можете изменить базовые настройки Канборда добавив файл `config.php` в корень проекта или в каталог `data`. Вы, также, можете переименовать файл `config.default.php` в `config.php` и установить желаемые значения.
|
||||||
|
|
||||||
|
|
||||||
|
Включение/выключение режима отладки[¶](#enable-disable-debug-mode "Ссылка на этот заголовок")
|
||||||
|
---------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
define('DEBUG', true);
|
||||||
|
|
||||||
|
define('LOG_DRIVER', 'file'); // Other drivers are: syslog, stdout, stderr or file
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Обработчик логов может быть определен если вы включите режим отладки. Режим отладки фиксирует все SQL запросы и время затрачиваемое на генерацию страниц.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Плагины[¶](#plugins "Ссылка на этот заголовок")
|
||||||
|
-----------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Каталог плагинов:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
define('PLUGINS_DIR', 'data/plugins');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Включение/выключение установки плагинов через интерфейс пользователя:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
define('PLUGIN_INSTALLER', true); // Default is true
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Каталог для загружаемых файлов[¶](#folder-for-uploaded-files "Ссылка на этот заголовок")
|
||||||
|
----------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
define('FILES_DIR', 'data/files');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Включение/выключение переопределения url адресов[¶](#enable-disable-url-rewrite "Ссылка на этот заголовок")
|
||||||
|
-----------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
define('ENABLE_URL_REWRITE', false);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Настройка email[¶](#email-configuration "Ссылка на этот заголовок")
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// E-mail address for the "From" header (notifications)
|
||||||
|
|
||||||
|
define('MAIL_FROM', 'notifications@kanboard.local');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Mail transport to use: "smtp", "sendmail" or "mail" (PHP mail function)
|
||||||
|
|
||||||
|
define('MAIL_TRANSPORT', 'mail');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// SMTP configuration to use when the "smtp" transport is chosen
|
||||||
|
|
||||||
|
define('MAIL_SMTP_HOSTNAME', '');
|
||||||
|
|
||||||
|
define('MAIL_SMTP_PORT', 25);
|
||||||
|
|
||||||
|
define('MAIL_SMTP_USERNAME', '');
|
||||||
|
|
||||||
|
define('MAIL_SMTP_PASSWORD', '');
|
||||||
|
|
||||||
|
define('MAIL_SMTP_ENCRYPTION', null); // Valid values are "null", "ssl" or "tls"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Sendmail command to use when the transport is "sendmail"
|
||||||
|
|
||||||
|
define('MAIL_SENDMAIL_COMMAND', '/usr/sbin/sendmail -bs');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Настройки базы данных[¶](#database-settings "Ссылка на этот заголовок")
|
||||||
|
-----------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Database driver: sqlite, mysql or postgres (sqlite by default)
|
||||||
|
|
||||||
|
define('DB_DRIVER', 'sqlite');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Mysql/Postgres username
|
||||||
|
|
||||||
|
define('DB_USERNAME', 'root');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Mysql/Postgres password
|
||||||
|
|
||||||
|
define('DB_PASSWORD', '');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Mysql/Postgres hostname
|
||||||
|
|
||||||
|
define('DB_HOSTNAME', 'localhost');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Mysql/Postgres database name
|
||||||
|
|
||||||
|
define('DB_NAME', 'kanboard');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Mysql/Postgres custom port (null = default port)
|
||||||
|
|
||||||
|
define('DB_PORT', null);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Mysql SSL key
|
||||||
|
|
||||||
|
define('DB_SSL_KEY', null);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Mysql SSL certificate
|
||||||
|
|
||||||
|
define('DB_SSL_CERT', null);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Mysql SSL CA
|
||||||
|
|
||||||
|
define('DB_SSL_CA', null);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Настройки LDAP[¶](#ldap-settings "Ссылка на этот заголовок")
|
||||||
|
------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Enable LDAP authentication (false by default)
|
||||||
|
|
||||||
|
define('LDAP_AUTH', false);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// LDAP server hostname
|
||||||
|
|
||||||
|
define('LDAP_SERVER', '');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// LDAP server port (389 by default)
|
||||||
|
|
||||||
|
define('LDAP_PORT', 389);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// By default, require certificate to be verified for ldaps:// style URL. Set to false to skip the verification
|
||||||
|
|
||||||
|
define('LDAP_SSL_VERIFY', true);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Enable LDAP START_TLS
|
||||||
|
|
||||||
|
define('LDAP_START_TLS', false);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// By default Kanboard lowercase the ldap username to avoid duplicate users (the database is case sensitive)
|
||||||
|
|
||||||
|
// Set to true if you want to preserve the case
|
||||||
|
|
||||||
|
define('LDAP_USERNAME_CASE_SENSITIVE', false);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// LDAP bind type: "anonymous", "user" or "proxy"
|
||||||
|
|
||||||
|
define('LDAP_BIND_TYPE', 'anonymous');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// LDAP username to use with proxy mode
|
||||||
|
|
||||||
|
// LDAP username pattern to use with user mode
|
||||||
|
|
||||||
|
define('LDAP_USERNAME', null);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// LDAP password to use for proxy mode
|
||||||
|
|
||||||
|
define('LDAP_PASSWORD', null);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// LDAP DN for users
|
||||||
|
|
||||||
|
// Example for ActiveDirectory: CN=Users,DC=kanboard,DC=local
|
||||||
|
|
||||||
|
// Example for OpenLDAP: ou=People,dc=example,dc=com
|
||||||
|
|
||||||
|
define('LDAP_USER_BASE_DN', '');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// LDAP pattern to use when searching for a user account
|
||||||
|
|
||||||
|
// Example for ActiveDirectory: '(&(objectClass=user)(sAMAccountName=%s))'
|
||||||
|
|
||||||
|
// Example for OpenLDAP: 'uid=%s'
|
||||||
|
|
||||||
|
define('LDAP_USER_FILTER', '');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// LDAP attribute for username
|
||||||
|
|
||||||
|
// Example for ActiveDirectory: 'samaccountname'
|
||||||
|
|
||||||
|
// Example for OpenLDAP: 'uid'
|
||||||
|
|
||||||
|
define('LDAP_USER_ATTRIBUTE_USERNAME', 'uid');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// LDAP attribute for user full name
|
||||||
|
|
||||||
|
// Example for ActiveDirectory: 'displayname'
|
||||||
|
|
||||||
|
// Example for OpenLDAP: 'cn'
|
||||||
|
|
||||||
|
define('LDAP_USER_ATTRIBUTE_FULLNAME', 'cn');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// LDAP attribute for user email
|
||||||
|
|
||||||
|
define('LDAP_USER_ATTRIBUTE_EMAIL', 'mail');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// LDAP attribute to find groups in user profile
|
||||||
|
|
||||||
|
define('LDAP_USER_ATTRIBUTE_GROUPS', 'memberof');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// LDAP attribute for user avatar image: thumbnailPhoto or jpegPhoto
|
||||||
|
|
||||||
|
define('LDAP_USER_ATTRIBUTE_PHOTO', '');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// LDAP attribute for user language, example: 'preferredlanguage'
|
||||||
|
|
||||||
|
// Put an empty string to disable language sync
|
||||||
|
|
||||||
|
define('LDAP_USER_ATTRIBUTE_LANGUAGE', '');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Allow automatic LDAP user creation
|
||||||
|
|
||||||
|
define('LDAP_USER_CREATION', true);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// LDAP DN for administrators
|
||||||
|
|
||||||
|
// Example: CN=Kanboard-Admins,CN=Users,DC=kanboard,DC=local
|
||||||
|
|
||||||
|
define('LDAP_GROUP_ADMIN_DN', '');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// LDAP DN for managers
|
||||||
|
|
||||||
|
// Example: CN=Kanboard Managers,CN=Users,DC=kanboard,DC=local
|
||||||
|
|
||||||
|
define('LDAP_GROUP_MANAGER_DN', '');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Enable LDAP group provider for project permissions
|
||||||
|
|
||||||
|
// The end-user will be able to browse LDAP groups from the user interface and allow access to specified projects
|
||||||
|
|
||||||
|
define('LDAP_GROUP_PROVIDER', false);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// LDAP Base DN for groups
|
||||||
|
|
||||||
|
define('LDAP_GROUP_BASE_DN', '');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// LDAP group filter
|
||||||
|
|
||||||
|
// Example for ActiveDirectory: (&(objectClass=group)(sAMAccountName=%s*))
|
||||||
|
|
||||||
|
define('LDAP_GROUP_FILTER', '');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// LDAP user group filter
|
||||||
|
|
||||||
|
// If this filter is configured, Kanboard will search user groups in LDAP_GROUP_BASE_DN
|
||||||
|
|
||||||
|
// Example for OpenLDAP: (&(objectClass=posixGroup)(memberUid=%s))
|
||||||
|
|
||||||
|
define('LDAP_GROUP_USER_FILTER', '');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// LDAP attribute for the group name
|
||||||
|
|
||||||
|
define('LDAP_GROUP_ATTRIBUTE_NAME', 'cn');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Настройки аутентификации Reverse-Proxy[¶](#reverse-proxy-authentication-settings "Ссылка на этот заголовок")
|
||||||
|
------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Enable/disable the reverse proxy authentication
|
||||||
|
|
||||||
|
define('REVERSE_PROXY_AUTH', false);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Header name to use for the username
|
||||||
|
|
||||||
|
define('REVERSE_PROXY_USER_HEADER', 'REMOTE_USER');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Username of the admin, by default blank
|
||||||
|
|
||||||
|
define('REVERSE_PROXY_DEFAULT_ADMIN', '');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Default domain to use for setting the email address
|
||||||
|
|
||||||
|
define('REVERSE_PROXY_DEFAULT_DOMAIN', '');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Настройки аутентификации RememberMe[¶](#rememberme-authentication-settings "Ссылка на этот заголовок")
|
||||||
|
------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Enable/disable remember me authentication
|
||||||
|
|
||||||
|
define('REMEMBER_ME_AUTH', true);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Настройки Secure HTTP headers[¶](#secure-http-headers-settings "Ссылка на этот заголовок")
|
||||||
|
------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Enable or disable "Strict-Transport-Security" HTTP header
|
||||||
|
|
||||||
|
define('ENABLE_HSTS', true);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Enable or disable "X-Frame-Options: DENY" HTTP header
|
||||||
|
|
||||||
|
define('ENABLE_XFRAME', true);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Запись событий[¶](#logging "Ссылка на этот заголовок")
|
||||||
|
------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
По умолчанию, Канборд записывает не все события. Если вы хотите включить запись событий, вы должны установить обработчик логов.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Available log drivers: syslog, stderr, stdout or file
|
||||||
|
|
||||||
|
define('LOG_DRIVER', '');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Log filename if the log driver is "file"
|
||||||
|
|
||||||
|
define('LOG_FILE', __DIR__.DIRECTORY_SEPARATOR.'data'.DIRECTORY_SEPARATOR.'debug.log');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Защита от Brute-force[¶](#brute-force-protection "Ссылка на этот заголовок")
|
||||||
|
----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Enable captcha after 3 authentication failure
|
||||||
|
|
||||||
|
define('BRUTEFORCE_CAPTCHA', 3);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Lock the account after 6 authentication failure
|
||||||
|
|
||||||
|
define('BRUTEFORCE_LOCKDOWN', 6);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Lock account duration in minute
|
||||||
|
|
||||||
|
define('BRUTEFORCE_LOCKDOWN_DURATION', 15);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Сессии[¶](#session "Ссылка на этот заголовок")
|
||||||
|
----------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Session duration in second (0 = until the browser is closed)
|
||||||
|
|
||||||
|
// See http://php.net/manual/en/session.configuration.php#ini.session.cookie-lifetime
|
||||||
|
|
||||||
|
define('SESSION_DURATION', 0);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Проксирование клиентских HTTP[¶](#http-client-proxy "Ссылка на этот заголовок")
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Если внешние запросы HTTP необходимо пробрасывать через прокси:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
define('HTTP_PROXY_HOSTNAME', '');
|
||||||
|
|
||||||
|
define('HTTP_PROXY_PORT', '3128');
|
||||||
|
|
||||||
|
define('HTTP_PROXY_USERNAME', '');
|
||||||
|
|
||||||
|
define('HTTP_PROXY_PASSWORD', '');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Другие настройки[¶](#various-settings "Ссылка на этот заголовок")
|
||||||
|
-----------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Escape html inside markdown text
|
||||||
|
|
||||||
|
define('MARKDOWN_ESCAPE_HTML', true);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// API alternative authentication header, the default is HTTP Basic Authentication defined in RFC2617
|
||||||
|
|
||||||
|
define('API_AUTHENTICATION_HEADER', '');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Hide login form, useful if all your users use Google/Github/ReverseProxy authentication
|
||||||
|
|
||||||
|
define('HIDE_LOGIN_FORM', false);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Disabling logout (for external SSO authentication)
|
||||||
|
|
||||||
|
define('DISABLE_LOGOUT', false);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Override API token stored in the database, useful for automated tests
|
||||||
|
|
||||||
|
define('API_AUTHENTICATION_TOKEN', 'My unique API Token');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
96
doc/ru_RU/contributing.markdown
Normal file
96
doc/ru_RU/contributing.markdown
Normal file
@@ -0,0 +1,96 @@
|
|||||||
|
Руководство для участников проекта
|
||||||
|
==================================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Как я могу помочь проекту?[¶](#how-can-i-help "Ссылка на этот заголовок")
|
||||||
|
-------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Канборд пока не идеален, поэтому есть несколько вариантов помочь проекту:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Присылать отзывы
|
||||||
|
- Сообщать об ошибках
|
||||||
|
- Добавлять или обновлять переводы
|
||||||
|
- Улучшать документацию
|
||||||
|
- Писать код
|
||||||
|
- Рассказать друзьям, что Канборд отличная программа :)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Перед тем как начать большое дело, создайте новое “обсуждение вопроса” (issue) на [https://github.com/fguillot/kanboard/issues](https://github.com/fguillot/kanboard/issues) и объясните ваше предложение.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Я хочу внести предложения по проекту[¶](#i-want-to-give-feedback "Ссылка на этот заголовок")
|
||||||
|
--------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- У вас есть идея по улучшению (пользовательский интерфейс или другие возможности)
|
||||||
|
- Посмотрите в обсуждениях (issue), может ваша идея уже предложена кем-то
|
||||||
|
- Откройте новое обсуждение (issue)
|
||||||
|
- Опишите вашу идею
|
||||||
|
- Вы можете проголосовать +1 за имеющиеся предложения
|
||||||
|
|
||||||
|
|
||||||
|
Я хочу сообщить об ошибке[¶](#i-want-to-report-a-bug "Ссылка на этот заголовок")
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
- Убедитесь, что обсуждение вопроса (issue) ранее не публиковалось
|
||||||
|
- Откройте новую заявку (ticket)
|
||||||
|
- Опишите, что именно не работает
|
||||||
|
- Опишите, как воспроизвести ошибку (последовательность, как вы вышли на данную ошибку)
|
||||||
|
- Опишите ваше окружение (версию Канборда, какая ОС, веб сервер, версию PHP, база данных и версия, хостинг провайдер)
|
||||||
|
|
||||||
|
|
||||||
|
Я хочу перевести Канборд на другой язык[¶](#i-want-to-translate-kanboard "Ссылка на этот заголовок")
|
||||||
|
----------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Канборд уже переведен на несколько языков. Вы можете улучшить эти переводы. Некоторые переводы еще не завершены. Для того, чтобы сделать перевод, ознакомтесь с [руководством по переводу на другой язык](translations.markdown).
|
||||||
|
|
||||||
|
|
||||||
|
Я хочу улучшить документацию[¶](#i-want-to-improve-the-documentation "Ссылка на этот заголовок")
|
||||||
|
------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
- Вы считаете, что что-то недостаточно хорошо описано, имеются грамматические или орфографические ошибки, что-то еще.
|
||||||
|
- Документация написана в формате Markdown и хранится в каталоге `docs`{.docutils .literal}.
|
||||||
|
- Редактируйте файлы и присылайте pull-request.
|
||||||
|
- Документация на официальном вебсайте синхронизируется с репозиторием.
|
||||||
|
|
||||||
|
|
||||||
|
Я хочу внести свой вклад в код[¶](#i-want-to-contribute-to-the-code "Ссылка на этот заголовок")
|
||||||
|
-----------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Pull-requests всегда приветствуются, однако, чтобы они были приняты, вы должны следовать следующим указаниям:
|
||||||
|
|
||||||
|
- **Перед тем как внести большое изменение или переделать дизайн, откройте новую заявку (ticket) для обсуждения.**
|
||||||
|
- Если вы хотите добавить новую возможность, уважайте филосовию Канборда: **Мы фокусируемся на простоте**, мы не хотим иметь раздутую программу.
|
||||||
|
- Это же относится и к пользовательскому интерфейсу: **простота и производительность**
|
||||||
|
- Присылайте только по одному pull-request для новой возможности или исправления ошибки.
|
||||||
|
- Небольшие pull-request легче просмотреть и быстрее влить в проект.
|
||||||
|
- Убедитесь, что [модульные тесты выполняются успешно](tests.markdown).
|
||||||
|
- Уважайте [стандарты кодирования](coding-standards.markdown).
|
||||||
|
- Пишите код, который могут поддерживать другие, избегайте дублирования, используйте лучше практики PHP.
|
||||||
|
|
||||||
|
В любом случае, если вы не уверены в чем-то - открывайте новую заявку (ticket)
|
||||||
|
|
||||||
|
|
||||||
|
Рассказать друзьям, что Канборд отличная программа :)[¶](#tell-your-friends-that-kanboard-is-awesome "Ссылка на этот заголовок")
|
||||||
|
--------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Если вы используете Канборд, покажите его и окружающим. Расскажите всем о прелестях бесплатного и опенсурсного программного обеспечения.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
61
doc/ru_RU/create-tasks-by-email.markdown
Normal file
61
doc/ru_RU/create-tasks-by-email.markdown
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
Создание задач через email
|
||||||
|
==========================
|
||||||
|
|
||||||
|
|
||||||
|
Вы можете создавать задачи отправляя email (сообщения через электронную почту). Эта возможность доступна при использовании плагинов.
|
||||||
|
|
||||||
|
В настоящий момент, Канборд поддерживает три внешних плагина:
|
||||||
|
|
||||||
|
|
||||||
|
- [Mailgun](https://github.com/kanboard/plugin-mailgun)
|
||||||
|
- [Sendgrid](https://github.com/kanboard/plugin-sendgrid)
|
||||||
|
- [Postmark](https://github.com/kanboard/plugin-postmark)
|
||||||
|
|
||||||
|
Эти плагины позволяют обрабатывать входящие электронные сообщения (email) без дополнительной настройки SMTP сервера.
|
||||||
|
|
||||||
|
При получении плагином email сообщения, плагин передает это сообщение в веб транслятор Канборда.
|
||||||
|
|
||||||
|
|
||||||
|
Обработка входящих email сообщений[¶](#incoming-emails-workflow "Ссылка на этот заголовок")
|
||||||
|
-------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
1. Вы отправляете email сообщение на определенный адрес, например **something+myproject@inbound.mydomain.tld**
|
||||||
|
2. Email сообщение перенаправляется на SMTP сервер
|
||||||
|
3. SMTP провайдер передает в веб сервис Канборда email сообщение в JSON формате или в формате multipart/form-data
|
||||||
|
4. Канборд обрабатывает полученное email сообщение и создает задачу в указанном проекте
|
||||||
|
|
||||||
|
**Заметка**: Новые задачи автоматически создаются в первой колонке.
|
||||||
|
|
||||||
|
|
||||||
|
Формат email сообщения[¶](#email-format "Ссылка на этот заголовок")
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
|
||||||
|
- Email адрес до знака **@** должен содержать разделитель **плюс**, например **kanboard+project123**
|
||||||
|
- Строка следующая после знака плюс означает **Идентификатор проекта**, например, проект **Проект 123** может иметь идентификатор проекта **project123**. Идентификатор проекта можно задать в свойствах проекта **Меню** -\> **Настройки** -\> **Изменить проект** -\> **Идентификатор**. **Идентификатор** должен быть из цифр и латинских букв.
|
||||||
|
- Тема из email сообщения становится названием задачи
|
||||||
|
- Текст email сообщения становится описанием задачи (в формате Markdown)
|
||||||
|
|
||||||
|
Email сообщения могут быть написаны в текстовом или HTML формате. **Канборд сам переконвертирует формат сообщения в Markdown**
|
||||||
|
|
||||||
|
|
||||||
|
Безопастность и требования[¶](#security-and-requirements "Ссылка на этот заголовок")
|
||||||
|
------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
- Веб транслятор Канборд защищен случайным ключом
|
||||||
|
- Email адрес отправителя должен быть такой же как и у пользователя Канборд
|
||||||
|
- Проект в Канборде должен иметь уникальный идентификатор
|
||||||
|
- Отправитель email сообщения должен быть участником проекта
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
62
doc/ru_RU/creating-projects.markdown
Normal file
62
doc/ru_RU/creating-projects.markdown
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
Создание проектов
|
||||||
|
=================
|
||||||
|
|
||||||
|
|
||||||
|
Kanboard может содержать одновременно несколько проектов. Проекты могут быть следующих типов:
|
||||||
|
|
||||||
|
- Командный проект
|
||||||
|
- Приватный проект для одного пользователя
|
||||||
|
|
||||||
|
Создание проекта для нескольких пользователей[¶](#creating-projects-for-multiple-users "Ссылка на этот заголовок")
|
||||||
|
------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
- Только пользователи с ролью администратор и менеджер могут создавать такие проекты
|
||||||
|
- Можно добавлять к проекту пользователей и группы
|
||||||
|
|
||||||
|
На рабочей панели нажмите ссылку **Новый проект**:
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Форма создания проекта.
|
||||||
|
|
||||||
|
|
||||||
|
Теперь надо только добавить название для проекта! Легко, не правда ли?
|
||||||
|
|
||||||
|
|
||||||
|
Создание приватного проекта[¶](#creating-a-private-project "Ссылка на этот заголовок")
|
||||||
|
--------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
- Любой пользователь Kanboard может создать приватный проект
|
||||||
|
- **Нет** возможности добавлять участников к приватному проекту
|
||||||
|
- Только владелец приватного проекта и администратор могут получить доступ к проекту
|
||||||
|
|
||||||
|
|
||||||
|
На рабочей панели нажмите **Новый проект с ограниченным доступом**.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Создание проекта из другого проекта[¶](#creating-projects-from-another-project "Ссылка на этот заголовок")
|
||||||
|
----------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
При создании нового проекта у вас есть возможность использовать данные другого (ранее созданного) проекта:
|
||||||
|
|
||||||
|
- Разрешения
|
||||||
|
- Действия
|
||||||
|
- Дорожки
|
||||||
|
- Категории
|
||||||
|
- Задачи
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
42
doc/ru_RU/creating-tasks.markdown
Normal file
42
doc/ru_RU/creating-tasks.markdown
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
Создание задач
|
||||||
|
==============
|
||||||
|
|
||||||
|
|
||||||
|
На Доске нажмите значок плюс рядом с названием колонки:
|
||||||
|
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Создание задачи на Доске
|
||||||
|
|
||||||
|
|
||||||
|
Далее появится форма создания задачи:
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Форма создания задачи.
|
||||||
|
|
||||||
|
|
||||||
|
Только поле **Название** является обязательным полем для заполнения.
|
||||||
|
|
||||||
|
|
||||||
|
Описание полей:
|
||||||
|
|
||||||
|
- **Название**: Название вашей задачи, которое будет отображаться на доске.
|
||||||
|
- **Описание**: Позволяет вам добавить больше информации о задаче, содержимое может содержать синтаксис [Markdown](syntax-guide.markdown).
|
||||||
|
- **Создать другую задачу**: Отметьте этот чекбокс если вы хотите создать похожую задачу (некоторые поля будут заполнены).
|
||||||
|
- **Назначена**: Пользователь, которому будет назначена для выполнения эта задача.
|
||||||
|
- **Категория**: Только одна категория может быть назначена задаче.
|
||||||
|
- **Колонка**: Колонка в которой задача будет создана, ваша задача будет помещена вниз.
|
||||||
|
- **Цвет**: Выберите цвет для карточки.
|
||||||
|
- **Сложность**: используется в быстрых управлениях проектами (Scrum); сложность - это число, которое говорит команде проекта насколько тяжело выполнить задачу. Обычно пользователи используют шкалу Фибоначи.
|
||||||
|
- **Запланировано часов**: Планирование времени, которое будет затрачено на выполнение задачи. Измеряется в часах.
|
||||||
|
- **Сделать до**: Просроченные задачи будут иметь дату завершения красного цвета, а предстоящие задачи будут иметь дату завершения черного цвета.
|
||||||
|
|
||||||
|
**-**
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
41
doc/ru_RU/cronjob.markdown
Normal file
41
doc/ru_RU/cronjob.markdown
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
Ежедневные фоновые задачи
|
||||||
|
=========================
|
||||||
|
|
||||||
|
|
||||||
|
Для корректной работы, Канборд должен запускать ежедневные фоновые задачи. На Unix платформах этот процесс выполнятся в `cron`.
|
||||||
|
|
||||||
|
Фоновые задачи необходимы для следующих возможностей:
|
||||||
|
|
||||||
|
- Отчеты и аналитика (подсчет ежедневной статистики для каждого проекта)
|
||||||
|
- Рассылка оповещений для просроченных задач
|
||||||
|
- Выполнение автоматических действий подключенных к событиям “Ежедневные фоновые процессы для задач”
|
||||||
|
|
||||||
|
|
||||||
|
Настройка на Unix и Linux платформах[¶](#configuration-on-unix-and-linux-platforms "Ссылка на этот заголовок")
|
||||||
|
--------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Для создания фоновых задач под операционной системой Unix/Linux используются разные решения. Здесь приведен пример для Ubuntu 14.04. Для других систем процедура похожа.
|
||||||
|
|
||||||
|
|
||||||
|
Отредактируйте crontab под пользователем вашего веб сервера:
|
||||||
|
|
||||||
|
|
||||||
|
sudo crontab -u www-data -e
|
||||||
|
|
||||||
|
|
||||||
|
Пример запуска ежедневной фоновой задачи в 8 утра:
|
||||||
|
|
||||||
|
|
||||||
|
0 8 * * * cd /path/to/kanboard && ./kanboard cronjob >/dev/null 2>&1
|
||||||
|
|
||||||
|
|
||||||
|
Примечание: процес выполнения фоновых задач должен иметь права доступа к вашей базе данных в случае если вы используете Sqlite. Обычно, достаточно запускать фоновую задачу под пользователем веб сервера.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
43
doc/ru_RU/currency-rate.markdown
Normal file
43
doc/ru_RU/currency-rate.markdown
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
Курсы валют
|
||||||
|
===========
|
||||||
|
|
||||||
|
|
||||||
|
Каждый пользователь может иметь предопределенный ежечасный курс для разных валют. Если вы хотите вручную занести курсы валют, то вы можете указать ставку в соответсвии с курсом.
|
||||||
|
|
||||||
|
Эта опция используются для расчета бюджета проекта.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Курсы валют
|
||||||
|
|
||||||
|
|
||||||
|
Для настроек курса валют выберите, справа вверху в выпадающем меню, **Настройки** -\> затем, слева, **Курсы валют**.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
36
doc/ru_RU/custom-filters.markdown
Normal file
36
doc/ru_RU/custom-filters.markdown
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
Пользовательские фильтры
|
||||||
|
========================
|
||||||
|
|
||||||
|
Пользовательские фильтры позволяют вам сохранять любые поисковые запросы. Таким образом, вы можете легко расширить стандартные фильтры и сохранить часто используемые поисковые запросы.
|
||||||
|
|
||||||
|
- Пользовательские фильтры сохраняются в проекте и имеют привязку к создателю.
|
||||||
|
- Если создатель фильтра является менеджером проекта, то он может предоставить этот фильтр всем участникам проекта.
|
||||||
|
|
||||||
|
|
||||||
|
Создание фильтра[¶](#filter-creation "Ссылка на этот заголовок")
|
||||||
|
----------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
Перейдите в **Меню** -\> **Пользовательские фильтры** или **Меню** -\> **Настройки** -\> **Пользовательские фильтры**
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Создание пользовательского фильтра.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Созданый фильтр появится на Доске рядом со стандартными фильтрами
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Выпадающий список - Пользовательский фильтр.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
104
doc/ru_RU/debian-installation.markdown
Normal file
104
doc/ru_RU/debian-installation.markdown
Normal file
@@ -0,0 +1,104 @@
|
|||||||
|
Как установить Канборд на Debian?
|
||||||
|
=================================
|
||||||
|
|
||||||
|
Некоторые возможности Канборда требуют [запуск ежедневных фоновых задач](cronjob.markdown).
|
||||||
|
|
||||||
|
|
||||||
|
Debian 8 (Jessie)[¶](#debian-8-jessie "Ссылка на этот заголовок")
|
||||||
|
-----------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
Установите Apache и PHP:
|
||||||
|
|
||||||
|
|
||||||
|
apt-get update
|
||||||
|
|
||||||
|
apt-get install -y php5 php5-sqlite php5-gd unzip
|
||||||
|
|
||||||
|
service apache2 restart
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Установите Канборд:
|
||||||
|
|
||||||
|
|
||||||
|
cd /var/www/html
|
||||||
|
|
||||||
|
wget https://kanboard.net/kanboard-latest.zip
|
||||||
|
|
||||||
|
unzip kanboard-latest.zip
|
||||||
|
|
||||||
|
chown -R www-data:www-data kanboard/data
|
||||||
|
|
||||||
|
rm kanboard-latest.zip
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Debian 7 (Wheezy)[¶](#debian-7-wheezy "Ссылка на этот заголовок")
|
||||||
|
-----------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Установите Apache и PHP:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
apt-get update
|
||||||
|
|
||||||
|
apt-get install -y php5 php5-sqlite php5-gd unzip
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Установите Канборд:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
cd /var/www
|
||||||
|
|
||||||
|
wget https://kanboard.net/kanboard-latest.zip
|
||||||
|
|
||||||
|
unzip kanboard-latest.zip
|
||||||
|
|
||||||
|
chown -R www-data:www-data kanboard/data
|
||||||
|
|
||||||
|
rm kanboard-latest.zip
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Debian 6 (Squeeze)[¶](#debian-6-squeeze "Ссылка на этот заголовок")
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Установите Apache и PHP:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
apt-get update
|
||||||
|
|
||||||
|
apt-get install -y libapache2-mod-php5 php5-sqlite php5-gd unzip
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Установите Канборд:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
cd /var/www
|
||||||
|
|
||||||
|
wget https://kanboard.net/kanboard-latest.zip
|
||||||
|
|
||||||
|
unzip kanboard-latest.zip
|
||||||
|
|
||||||
|
chown -R www-data:www-data kanboard/data
|
||||||
|
|
||||||
|
rm kanboard-latest.zip
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
134
doc/ru_RU/docker.markdown
Normal file
134
doc/ru_RU/docker.markdown
Normal file
@@ -0,0 +1,134 @@
|
|||||||
|
Как запустить Канборд с Docker?
|
||||||
|
===============================
|
||||||
|
|
||||||
|
|
||||||
|
Канборд можно легко запустить с [Docker](https://www.docker.com).
|
||||||
|
|
||||||
|
|
||||||
|
Размер образа, приблизительно, **50MB** содержит:
|
||||||
|
|
||||||
|
- [Alpine Linux](http://alpinelinux.org/)
|
||||||
|
- The [process manager S6](http://skarnet.org/software/s6/)
|
||||||
|
- Nginx
|
||||||
|
- PHP-FPM
|
||||||
|
|
||||||
|
|
||||||
|
Канборд запускает фоновые задачи каждый день в полночь. Переписывание URL (URL rewriting) включено в базовой конфигурации.
|
||||||
|
|
||||||
|
Когда контейнер запущен, использование памяти около **20MB**.
|
||||||
|
|
||||||
|
|
||||||
|
Использование стабильной версии[¶](#use-the-stable-version "Ссылка на этот заголовок")
|
||||||
|
--------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
Для получения последней стабильной версии Канборда используйте тег **stable**:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
docker pull kanboard/kanboard
|
||||||
|
|
||||||
|
docker run -d --name kanboard -p 80:80 -t kanboard/kanboard:stable
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Использование разрабатываемой версии (автоматической сборки)[¶](#use-the-development-version-automated-build "Ссылка на этот заголовок")
|
||||||
|
----------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Каждый новый коммит в репозитории вызывает новую сборку в [Docker Hub](https://registry.hub.docker.com/u/kanboard/kanboard/).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
docker pull kanboard/kanboard
|
||||||
|
|
||||||
|
docker run -d --name kanboard -p 80:80 -t kanboard/kanboard:latest
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Используя **разрабатываемую версию** Канборда с тегом **latest**, вы принимаете на себя все риски нестабильной версии.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Создание своего образа Docker[¶](#build-your-own-docker-image "Ссылка на этот заголовок")
|
||||||
|
-----------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Для сборки своего образа, в репозитории Канборда имеется `Dockerfile`{.docutils .literal}. Склонируйте репозиторий Канборда и выполните следующую команду:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
docker build -t youruser/kanboard:master .
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
или
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
make docker-image
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Для запуска вашего контейнера в фоновом режиме на порту 80:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
docker run -d --name kanboard -p 80:80 -t youruser/kanboard:master
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Тома[¶](#volumes "Ссылка на этот заголовок")
|
||||||
|
--------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
Вы можете прикрепить 2 тома к вашему контейнеру:
|
||||||
|
|
||||||
|
- Каталог с данными: `/var/www/kanboard/data`
|
||||||
|
- Каталог с плагинами: `/var/www/kanboard/plugins`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Используйте опцию `-v` для монтирования тома на удаленной машине как описано в [официальной документации Docker](https://docs.docker.com/engine/userguide/containers/dockervolumes/).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Обновление вашего контейнера[¶](#upgrade-your-container "Ссылка на этот заголовок")
|
||||||
|
-----------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
- Загрузите новый образ
|
||||||
|
- Удалите старый контейнер
|
||||||
|
- Перезапустите новый контейнер с теми же томами
|
||||||
|
|
||||||
|
|
||||||
|
Переменные окружения[¶](#environment-variables "Ссылка на этот заголовок")
|
||||||
|
--------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
Список переменных окружения доступен на [этой странице](env.markdown).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Файлы конфигурации[¶](#config-files "Ссылка на этот заголовок")
|
||||||
|
---------------------------------------------------------------
|
||||||
|
|
||||||
|
- Контейнер уже содержит конфигурационный файл расположенный в `/var/www/kanboard/config.php`.
|
||||||
|
- Вы можете сохранить свой конфиг файл в томе с данными: `/var/www/kanboard/data/config.php`.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Ссылки[¶](#references "Ссылка на этот заголовок")
|
||||||
|
-------------------------------------------------
|
||||||
|
|
||||||
|
- [Официальные образы Канборд](https://registry.hub.docker.com/u/kanboard/kanboard/)
|
||||||
|
- [Документация Docker](https://docs.docker.com/)
|
||||||
|
- [Стабильная версия Dockerfile](https://github.com/kanboard/docker)
|
||||||
|
- [Разрабатываемая версия Dockerfile](https://github.com/fguillot/kanboard/blob/master/Dockerfile)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
79
doc/ru_RU/duplicate-move-tasks.markdown
Normal file
79
doc/ru_RU/duplicate-move-tasks.markdown
Normal file
@@ -0,0 +1,79 @@
|
|||||||
|
Дублирование и перенос задач
|
||||||
|
============================
|
||||||
|
|
||||||
|
|
||||||
|
Создание копии задачи в том же проекте[¶](#duplicate-a-task-into-the-same-project "Ссылка на этот заголовок")
|
||||||
|
-------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
Перейдите в детальное представление задачи и выберите в боковой панели (слева) **Клонировать**.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Создание копии задачи.
|
||||||
|
|
||||||
|
|
||||||
|
Новая задача будет создана с теми же свойствами как и у оригинальной задачи.
|
||||||
|
|
||||||
|
|
||||||
|
Создание копии задачи в другой проект[¶](#duplicate-a-task-to-another-project "Ссылка на этот заголовок")
|
||||||
|
---------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
Перейдите в детальное представление задачи и выберите в боковом меню (слева) **Клонировать в другой проект**.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Создание копии задачи в другой проект.
|
||||||
|
|
||||||
|
|
||||||
|
При выборе проекта в выпадающем списке, показываются только те проекты в которых вы являетесь участниками.
|
||||||
|
|
||||||
|
Перед тем как скопировать задачу, Канборд просит вас указать свойства проекта (куда будет копироваться), потому что проекты могуг иметь разные столбцы, дорожки и т.д.
|
||||||
|
|
||||||
|
Вам нужно указать:
|
||||||
|
|
||||||
|
- Дорожку, в которую скопируется задача
|
||||||
|
- Колонку
|
||||||
|
- Категорию
|
||||||
|
- Испольнителя
|
||||||
|
|
||||||
|
Перемещение задачи в другой проект[¶](#move-a-task-to-another-project "Ссылка на этот заголовок")
|
||||||
|
-------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Перейдите в детальное представление задачи и выберите в боковом меню **Переместить в другой проект**
|
||||||
|
|
||||||
|
Процедура перемещения задачи в другой проект такая же как и при копировании, вы должны указать новые свойства для задачи.
|
||||||
|
|
||||||
|
|
||||||
|
Список копируемых полей[¶](#list-of-fields-duplicated "Ссылка на этот заголовок")
|
||||||
|
---------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
Ниже приведен список полей (свойств), которые будут скопированы:
|
||||||
|
|
||||||
|
- заголовок
|
||||||
|
- описание
|
||||||
|
- дата\_исполнение
|
||||||
|
- цвет\_id
|
||||||
|
- проект\_id
|
||||||
|
- колонка\_id
|
||||||
|
- владелец\_id
|
||||||
|
- оценка
|
||||||
|
- категория\_id
|
||||||
|
- время\_запланировано
|
||||||
|
- дорожка\_id
|
||||||
|
- повторение\_статус
|
||||||
|
- повторение\_триггер
|
||||||
|
- повторение\_фактор
|
||||||
|
- повторение\_timeframe
|
||||||
|
- повторение\_basedate
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
25
doc/ru_RU/editing-projects.markdown
Normal file
25
doc/ru_RU/editing-projects.markdown
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
Редактирование проектов
|
||||||
|
=======================
|
||||||
|
|
||||||
|
|
||||||
|
Проект может быть переименован и выключен в любое время
|
||||||
|
|
||||||
|
Для переименования проекта нажмите на ссылку **“Изменить проект”** (для перехода выберите **Меню** -\> **Настройки**)
|
||||||
|
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Изменение проекта.
|
||||||
|
|
||||||
|
- Дата начала и дата завершения используются при генерации диаграммы Ганта
|
||||||
|
- Описание отображается как подсказка на Доске и на странице со списком проектов
|
||||||
|
- Администраторы и менеджеры проекта могут сделать приватный проект доступным для других пользователей установив галочку в чекбоксе **“Приватный проект”**
|
||||||
|
- Вы можете сделать публичный проект приватным.
|
||||||
|
|
||||||
|
Внимание: Когда вы делаете приватный проект из публичного, все пользователи ранее присоединенные к проекту будут иметь доступ. Ограничьте список пользователей для вашего приватного проекта.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
156
doc/ru_RU/email-configuration.markdown
Normal file
156
doc/ru_RU/email-configuration.markdown
Normal file
@@ -0,0 +1,156 @@
|
|||||||
|
Настройка email
|
||||||
|
===============
|
||||||
|
|
||||||
|
|
||||||
|
Настройки пользователя[¶](#user-settings "Ссылка на этот заголовок")
|
||||||
|
--------------------------------------------------------------------
|
||||||
|
|
||||||
|
Для получение уведомлений на email, пользователи Канборда должны иметь:
|
||||||
|
|
||||||
|
- Включенные уведомления, должны быть включены в профиле пользователя
|
||||||
|
- Должен быть прописан правильный email адрес в профиле пользователя
|
||||||
|
- Быть участником проекта, который отсылает уведомления
|
||||||
|
|
||||||
|
|
||||||
|
Примечание: Пользователь, выполнивший вход в Канборд и выполняющий действие, не будет получать уведомления. Уведомления будут получать только другие участники проекта.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Email шлюзы[¶](#email-transports "Ссылка на этот заголовок")
|
||||||
|
------------------------------------------------------------
|
||||||
|
|
||||||
|
В Канборд доступны несколько шлюзов для email:
|
||||||
|
|
||||||
|
- SMTP
|
||||||
|
- Sendmail
|
||||||
|
- Встроенная mail функция PHP
|
||||||
|
- Другие методы могут предоставить внешние плагины: Postmark, Sendgrid and Mailgun
|
||||||
|
|
||||||
|
|
||||||
|
Настройки сервера[¶](#server-settings "Ссылка на этот заголовок")
|
||||||
|
-----------------------------------------------------------------
|
||||||
|
|
||||||
|
По умолчанию, Канборд использует встроенную в PHP функцию для передачи email сообщений. Обычно не требуется дополнительных настроек, если ваш сервер уже может отправлять email сообщения.
|
||||||
|
|
||||||
|
Если вы захотите использовать другие методы: SMTP протокол и Sendmail, то ниже приведены инструкции по настройке.
|
||||||
|
|
||||||
|
### Настройка SMTP[¶](#smtp-configuration "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
Переименуйте файл `config.default.php`{.docutils .literal} в `config.php`{.docutils .literal} и измените следующие значения:
|
||||||
|
|
||||||
|
|
||||||
|
// We choose "smtp" as mail transport
|
||||||
|
|
||||||
|
define('MAIL_TRANSPORT', 'smtp');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// We define our server settings
|
||||||
|
|
||||||
|
define('MAIL_SMTP_HOSTNAME', 'mail.example.com');
|
||||||
|
|
||||||
|
define('MAIL_SMTP_PORT', 25);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Credentials for authentication on the SMTP server (not mandatory)
|
||||||
|
|
||||||
|
define('MAIL_SMTP_USERNAME', 'username');
|
||||||
|
|
||||||
|
define('MAIL_SMTP_PASSWORD', 'super password');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Возможно понадобится использовать шифрованное подключение TLS или SSL:
|
||||||
|
|
||||||
|
|
||||||
|
define('MAIL_SMTP_ENCRYPTION', 'ssl'); // Valid values are "null", "ssl" or "tls"
|
||||||
|
|
||||||
|
|
||||||
|
### Настройка Sendmail[¶](#sendmail-configuration "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
По умолчанию команда отправки сообщений выглядит так `/usr/sbin/sendmail -bs`{.docutils .literal}, но вы можете изменить ее в файле конфигурации.
|
||||||
|
|
||||||
|
Например:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// We choose "sendmail" as mail transport
|
||||||
|
|
||||||
|
define('MAIL_TRANSPORT', 'sendmail');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// If you need to change the sendmail command, replace the value
|
||||||
|
|
||||||
|
define('MAIL_SENDMAIL_COMMAND', '/usr/sbin/sendmail -bs');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Встроенная mail функция PHP[¶](#php-native-mail-function "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
Это конфигурация по умолчанию:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
define('MAIL_TRANSPORT', 'mail');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Email адрес отправителя[¶](#the-sender-email-address "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
По умолчанию, сообщения отправляются с адресом отправителя `notifications@kanboard.local`{.docutils .literal}. На этот адрес нельзя ответить.
|
||||||
|
|
||||||
|
Вы можете настроить этот адрес изменив значение константы `MAIL_FROM`{.docutils .literal} в вашем конфигурационном файле.
|
||||||
|
|
||||||
|
|
||||||
|
define('MAIL_FROM', 'kanboard@mydomain.tld');
|
||||||
|
|
||||||
|
|
||||||
|
Это может быть полезным, если ваш SMTP сервер не принимает неправильные адреса.
|
||||||
|
|
||||||
|
|
||||||
|
### Как отобразить ссылку на задачу в уведомлении?[¶](#how-to-display-a-link-to-the-task-in-notifications "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
Чтобы сделать это, вы должны указать URL вашего установленного Канборда в [Настройках приложения](application-configuration.markdown).
|
||||||
|
|
||||||
|
Например:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- [http://demo.kanboard.ru/](http://demo.kanboard.ru/)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- <http:/>/имясервера/kanboard/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- [http://kanboard.mydomain.com/](http://kanboard.mydomain.com/)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Не забудьте добавить в конце слеш `/`{.docutils .literal}.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Вы должны сделать это вручную, потому что Канборд не может угадать URL из скрипта командной строки и некоторые конфигурации веб серверов очень специфичны.
|
||||||
|
|
||||||
|
|
||||||
|
Решение проблем[¶](#troubleshooting "Ссылка на этот заголовок")
|
||||||
|
---------------------------------------------------------------
|
||||||
|
|
||||||
|
Если email сообщения не отправляются и вы уверены, что все настроили правильно:
|
||||||
|
|
||||||
|
- Проверьте папку Спам
|
||||||
|
- Включите режим отладки и посмотрите отладочный файл `data/debug.log`{.docutils .literal}, вы можете увидеть конкретную ошибку
|
||||||
|
- Убедитесь, что ваш сервер или ваш хостинг провайдер позволяет вам отсылать email сообщения
|
||||||
|
- Если вы используете SeLinux, разрешите PHP отсылать email сообщения.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
21
doc/ru_RU/env.markdown
Normal file
21
doc/ru_RU/env.markdown
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
Переменные окружения
|
||||||
|
====================
|
||||||
|
|
||||||
|
Переменные окружения могут пригодится когда Канборд развертывается как контейнер (Docker).
|
||||||
|
|
||||||
|
|
||||||
|
| Переменная | Описание |
|
||||||
|
|---------|------------------------------------------------------------------|
|
||||||
|
| DATABASE\_URL | `[database type]://[username]:[password]@[host]:[port]/[database name]`, например: `postgres://foo:foo@myserver:5432/kanboard` |
|
||||||
|
| DEBUG | Включение/выключение режима отладки: “true” или “false” |
|
||||||
|
| LOG\_DRIVER | Logging driver: stdout, stderr, file or syslog |
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
235
doc/ru_RU/ext-search.markdown
Normal file
235
doc/ru_RU/ext-search.markdown
Normal file
@@ -0,0 +1,235 @@
|
|||||||
|
Синтаксис расширенного поиска
|
||||||
|
=============================
|
||||||
|
|
||||||
|
|
||||||
|
В Канборде используется простой язык запросов для расширенного поиска. Вы можете искать задачи, комментарии, подзадачи, ссылки, но только активные.
|
||||||
|
|
||||||
|
|
||||||
|
Пример запроса[¶](#example-of-query "Ссылка на этот заголовок")
|
||||||
|
---------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
В этом примере показываются как отобразить задачи назначенные мне с датой окончания завтра и название содержит “my title”:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
assigne:me due:tomorrow my title
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Глобальный поиск[¶](#global-search "Ссылка на этот заголовок")
|
||||||
|
--------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Поиск по id задачи или названию задачи[¶](#search-by-task-id-or-title "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
- Поиск задачи по id: `#123`
|
||||||
|
- Поиск по id задачи и названию задачи: `123`
|
||||||
|
- Поиск по названию задачи: `любые слова и цифры`, но не должны содержать атрибуты поиска
|
||||||
|
|
||||||
|
|
||||||
|
### Поиск по статусу[¶](#search-by-status "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
Атрибут: **status**
|
||||||
|
|
||||||
|
- Запрос на поиск открытых задач: `status:open`
|
||||||
|
- Запрос на поиск закрытых задач: `status:closed`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Поиск по испольнителю[¶](#search-by-assignee "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
Атрибут: **assignee**
|
||||||
|
|
||||||
|
- Поиск по полному имени испольнителя: `assignee:"Петр Иванов"`
|
||||||
|
- Поиск исполнителя по имени пользователя: `assignee:pivanov`
|
||||||
|
- Отбор нескольких испольнителей: `assignee:tsemenov assignee:"Петр Иванов"`
|
||||||
|
- Поиск задач без исполнителя: `assignee:nobody`
|
||||||
|
- Поиск задач назначенных мне: `assignee:me`
|
||||||
|
|
||||||
|
|
||||||
|
### Поиск по создателю задач[¶](#search-by-task-creator "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
Атрибут: **creator**
|
||||||
|
|
||||||
|
- Отбор задач созданных мной: `creator:me`
|
||||||
|
- Отбор задач которые создал Петр Иванов: `creator:"Петр Иванов"`
|
||||||
|
- Отбор задач созданных пользователем с id \#1: `creator:1`
|
||||||
|
|
||||||
|
|
||||||
|
### Поиск по исполнителю подзадач[¶](#search-by-subtask-assignee "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
Атрибут: **subtask:assignee**
|
||||||
|
|
||||||
|
- Например: `subtask:assignee:"Петр Иванов"`
|
||||||
|
|
||||||
|
|
||||||
|
### Поиск по цвету[¶](#search-by-color "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
Атрибут: **color**
|
||||||
|
|
||||||
|
- Отбор по цвету с id blue: `color:blue`
|
||||||
|
- Отбор по названию цвета: `color:"Deep Orange"`
|
||||||
|
|
||||||
|
|
||||||
|
### Отбор по “Сделать до”[¶](#search-by-the-due-date "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
Атрибут: **due**
|
||||||
|
|
||||||
|
- Поиск задач со сроком испольнения до сегодня: `due:today`
|
||||||
|
- Поиск задач со сроком исполнения завтра: `due:tomorrow`
|
||||||
|
- Поиск задач со сроком исполнения вчера: `due:yesterday`
|
||||||
|
- Поиск задач с конкретной датой исполнения: `due:2016-06-29`
|
||||||
|
|
||||||
|
Дата должна быть в формате ISO 8601: **YYYY-MM-DD**.
|
||||||
|
|
||||||
|
Все строковые форматы поддерживаемые функцией `strtotime()` допустимы. Например, `next Thursday`, `-2 days`{.docutils .literal}, `+2 months`, `tomorrow` и т.д.
|
||||||
|
|
||||||
|
|
||||||
|
Операторы сравнения с датой:
|
||||||
|
|
||||||
|
- Старше чем: **due:\>2015-06-29**
|
||||||
|
- Моложе чем: **due:\<2015-06-29**
|
||||||
|
- Старше чем или равно: **due:\>=2015-06-29**
|
||||||
|
- Моложе чем или равно: **due:\<=2015-06-29**
|
||||||
|
|
||||||
|
|
||||||
|
### Поиск по дате изменения[¶](#search-by-modification-date "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
Атрибут: **modified** или **updated**
|
||||||
|
|
||||||
|
Формат даты такой же как и у “Сделать до”
|
||||||
|
|
||||||
|
Отфильтровать недавно измененные задачи: `modified:recently`.
|
||||||
|
|
||||||
|
Этот запрос использует тоже значение что и в настройках Доски - “Время подсвечивания задачи”.
|
||||||
|
|
||||||
|
|
||||||
|
### Поиск по дате создания[¶](#search-by-creation-date "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
Атрибут: **created**
|
||||||
|
|
||||||
|
Работает также как и поиск по дате изменения.
|
||||||
|
|
||||||
|
|
||||||
|
### Поиск по описанию[¶](#search-by-description "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
Атрибут: **description** or **desc**
|
||||||
|
|
||||||
|
Например: `description:"здесь пишем тескт для поиска"`
|
||||||
|
|
||||||
|
|
||||||
|
### Поиск по внешним ссылкам[¶](#search-by-external-reference "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
Например: нужно найти задачу, которая содержит ссылку на id или название другой задачи.
|
||||||
|
|
||||||
|
- `ref:1234` или `reference:TICKET-1234`
|
||||||
|
|
||||||
|
|
||||||
|
### Поиск по категории[¶](#search-by-category "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
Атрибут: **category**
|
||||||
|
|
||||||
|
- Найти задачи с указанной категорией: `category:"Важные запросы"`
|
||||||
|
- Найти задачи, которые содержать указанные категории: `category:"Ошибки" category:"Изменения"`
|
||||||
|
- Найти задачи без категорий: `category:none`
|
||||||
|
|
||||||
|
|
||||||
|
### Поиск проектов[¶](#search-by-project "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
Атрибут: **project**
|
||||||
|
|
||||||
|
- Поиск задач по имени проекта: `project:"Какой-то проект"`
|
||||||
|
- Поиск задач по id проекта: `project:23`
|
||||||
|
- Поиск задач в нескольких проектах: `project:"Проект A" project:"Проект B"`
|
||||||
|
|
||||||
|
|
||||||
|
### Поиск в колонках[¶](#search-by-columns "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
Атрибут: **column**
|
||||||
|
|
||||||
|
- Поиск задач в указанной колонке: `column:"В работе"`
|
||||||
|
- Поиск задач в нескольких колонках: `column:"Невыполненные заказы" column:ready`
|
||||||
|
|
||||||
|
|
||||||
|
### Поиск в Дорожках[¶](#search-by-swim-lane "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
Атрибут: **swimlane**
|
||||||
|
|
||||||
|
- Поиск задач в указанной Дорожке: `swimlane:"Версия 42"`
|
||||||
|
- Поиск задач в базовой Дорожке: `swimlane:default`
|
||||||
|
- Поиск задач в нескольких Дорожках: `swimlane:"Версия 1.2" swimlane:"Версия 1.3"`
|
||||||
|
|
||||||
|
|
||||||
|
### Поиск ссылки на задачу[¶](#search-by-task-link "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
Атрибут: **link**
|
||||||
|
|
||||||
|
- Поиск задач содержащих ссылку: `link:"это веха задачи "`
|
||||||
|
- Поиск задач по нескольким ссылкам: `link:"веха задачи " link:"относится к"`
|
||||||
|
|
||||||
|
|
||||||
|
### Поиск по комментарию[¶](#search-by-comment "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
Атрибут: **comment**
|
||||||
|
|
||||||
|
- Найти комментарии, которые содержат указанное название: `comment:"Какое-то название"`
|
||||||
|
|
||||||
|
|
||||||
|
Поиск активности задач[¶](#activity-stream-search "Ссылка на этот заголовок")
|
||||||
|
-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Поиск событий по названию задачи[¶](#search-events-by-task-title "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Атрибут: **title** или без ничего (по умолчанию)
|
||||||
|
|
||||||
|
- Например: `title:"My task"`
|
||||||
|
- Поиск задачи по id: `#123`
|
||||||
|
|
||||||
|
|
||||||
|
### Поиск событий по статусу задачи[¶](#search-events-by-task-status "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
Атрибут: **status**
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Поиск событий по создателю[¶](#search-by-event-creator "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
Атрибут: **creator**
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Поиск событий по дате создания[¶](#search-by-event-creation-date "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
Атрибут: **created**
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Поиск событий по проекту[¶](#search-events-by-project "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
Атрибут: **project**
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
162
doc/ru_RU/faq.markdown
Normal file
162
doc/ru_RU/faq.markdown
Normal file
@@ -0,0 +1,162 @@
|
|||||||
|
Часто задаваемые вопросы
|
||||||
|
========================
|
||||||
|
|
||||||
|
|
||||||
|
Вы можете порекомендовать веб хостинг провайдера для Канборд?[¶](#can-you-recommend-a-web-hosting-provider-for-kanboard "Ссылка на этот заголовок")
|
||||||
|
---------------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Работу Канборд поддерживают несколько крупных провайдеров VPS, такие как [Digital Ocean](https://www.digitalocean.com/?refcode=4b541f47aae4), [Linode](https://www.linode.com/?r=4e381ac8a61116f40c60dc7438acc719610d8b11) или [Gandi](https://www.gandi.net/).
|
||||||
|
|
||||||
|
Для получения большей производительности, выбирайте провайдера с быстрыми дисками чтения/записи, потому что Канборд использует по умолчанию Sqlite. Избегайте провайдеров которые используют подключения NFS.
|
||||||
|
|
||||||
|
|
||||||
|
У меня выводится пустая страница после установки или обновления Канборд[¶](#i-get-a-blank-page-after-installing-or-upgrading-kanboard "Ссылка на этот заголовок")
|
||||||
|
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
- Проверьте, установили ли вы всё на сервер, что было указано в требованиях
|
||||||
|
- Посмотрите ошибки в PHP и Apache логах
|
||||||
|
- Проверьте права доступа к файлам
|
||||||
|
- Если вы используете кеширование OPcode, перезапустите ваш веб сервер или php-fpm
|
||||||
|
|
||||||
|
|
||||||
|
У меня выводится ошибка “There is no suitable CSPRNG installed on your system”[¶](#i-have-the-error-there-is-no-suitable-csprng-installed-on-your-system "Ссылка на этот заголовок")
|
||||||
|
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Если вы используете PHP \< 7.0, то вам нужно включить расширение openssl или доступ из приложения к `/dev/urandom`, если имеются ограничения от `open_basedir`.
|
||||||
|
|
||||||
|
|
||||||
|
Страница не найдена и URL выглядит криво (&)[¶](#page-not-found-and-the-url-seems-wrong-amp "Ссылка на этот заголовок")
|
||||||
|
---------------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
- UTL выглядит как `/?controller=auth&action=login&redirect_query=` вместо `?controller=auth&action=login&redirect_query=`
|
||||||
|
- Канборд выдает ошибку “Страница не найдена”
|
||||||
|
|
||||||
|
|
||||||
|
Эта ошибка исходит из настроек конфигурации вашего PHP, значение `arg_separator.output` отсутствует в базовой настройке. Есть разные пути решения этой проблемы:
|
||||||
|
|
||||||
|
Измените значение прямо в вашем `php.ini`:
|
||||||
|
|
||||||
|
|
||||||
|
arg_separator.output = "&"
|
||||||
|
|
||||||
|
|
||||||
|
Переделайте значение с помощью `.htaccess`:
|
||||||
|
|
||||||
|
|
||||||
|
php_value arg_separator.output "&"
|
||||||
|
|
||||||
|
|
||||||
|
Иначе Канборд будет брать значение напрямую из PHP.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Ошибка аутентификации в API и Apache + PHP-FPM[¶](#authentication-failure-with-the-api-and-apache-php-fpm "Ссылка на этот заголовок")
|
||||||
|
-------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
По умолчанию, php-cgi под Apache не передает HTTP Basic user/pass в PHP. Чтобы это окружение заработало, добавьте эти строки в ваш файл `.htaccess`:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
RewriteCond %{HTTP:Authorization} ^(.+)$
|
||||||
|
|
||||||
|
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Проблемы с eAccelerator[¶](#known-issues-with-eaccelerator "Ссылка на этот заголовок")
|
||||||
|
--------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Канборд не очень хорошо работает с [eAccelerator](http://eaccelerator.net). Проблема в том, что выдается чистая страница или падает Apache:
|
||||||
|
|
||||||
|
|
||||||
|
[Wed Mar 05 21:36:56 2014] [notice] child pid 22630 exit signal Segmentation fault (11)
|
||||||
|
|
||||||
|
|
||||||
|
Лучшее решение, чтобы избежать этой проблемы, выключить eAccelerator или прописать в конфиге какие файлы вы хотите кешировать (параметр `eaccelerator.filter`).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Проект [eAccelerator выглядит мертвым и не обновляется с 2012](https://github.com/eaccelerator/eaccelerator/commits/master). Мы рекомендуем перейти на последнюю версию PHP, потому что в него включен [OPcache](http://php.net/manual/en/intro.opcache.php).
|
||||||
|
|
||||||
|
|
||||||
|
Почему минимальная рекомендуемая версия PHP 5.3.3?[¶](#why-the-minimum-requirement-is-php-5-3-3 "Ссылка на этот заголовок")
|
||||||
|
---------------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Канборд использует функцию `password_hash()` для шифрования пароля, а эта функция доступна только для PHP \>= 5.5.
|
||||||
|
|
||||||
|
Однако, имеется back-port для [более ранних версий PHP](https://github.com/ircmaxell/password_compat#requirements). Эта библиотека требует минимум PHP 5.3.7 для корректной работы.
|
||||||
|
|
||||||
|
По всей видимости, патчи безопасности back-port имеются в Centos и Debian, поэтому PHP 5.3.3 подходит для работы Канборд.
|
||||||
|
|
||||||
|
Канборд v1.0.10 и v1.0.11 требует минимум PHP 5.3.7, но эти изменения возвращены на PHP 5.3.3 в Канборде \>= v1.0.12
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Как проверить работу Канборда со встроенным веб-сервером PHP?[¶](#how-to-test-kanboard-with-the-php-built-in-web-server "Ссылка на этот заголовок")
|
||||||
|
---------------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Если вы не хотите устанавливать веб сервер типа Apache, то вы можете протестировать работу Канборда на [встроенном в PHP веб сервере](http://www.php.net/manual/en/features.commandline.webserver.php):
|
||||||
|
|
||||||
|
|
||||||
|
unzip kanboard-VERSION.zip
|
||||||
|
|
||||||
|
cd kanboard
|
||||||
|
|
||||||
|
php -S localhost:8000
|
||||||
|
|
||||||
|
open http://localhost:8000/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Как установить Канборд на Yunohost?[¶](#how-to-install-kanboard-on-yunohost "Ссылка на этот заголовок")
|
||||||
|
-------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
[YunoHost](https://yunohost.org/) это серверная операционная система, цель которой предоставить хостинг для всех.
|
||||||
|
|
||||||
|
Отсюда можно [загрузить инсталяционный пакет Kanboard для Yunohost](https://github.com/mbugeia/kanboard_ynh).
|
||||||
|
|
||||||
|
|
||||||
|
Где я могу найти список связанных с Канборд проектов?[¶](#where-can-i-find-a-list-of-related-projects "Ссылка на этот заголовок")
|
||||||
|
---------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
- [Kanboard API python client by @freekoder]([https://github.com/freekoder/kanboard-py](https://github.com/freekoder/kanboard-py))
|
||||||
|
|
||||||
|
- [Kanboard Presenter by David Eberlein](https://github.com/davideberlein/kanboard-presenter)
|
||||||
|
|
||||||
|
- [CSV2Kanboard by @ashbike]([https://github.com/ashbike/csv2kanboard](https://github.com/ashbike/csv2kanboard))
|
||||||
|
|
||||||
|
- [Kanboard for Yunohost by @mbugeia]([https://github.com/mbugeia/kanboard\_ynh](https://github.com/mbugeia/kanboard_ynh))
|
||||||
|
|
||||||
|
- [Trello import script by @matueranet]([https://github.com/matueranet/kanboard-import-trello](https://github.com/matueranet/kanboard-import-trello))
|
||||||
|
|
||||||
|
- [Chrome extension by Timo](https://chrome.google.com/webstore/detail/kanboard-quickmenu/akjbeplnnihghabpgcfmfhfmifjljneh?utm_source=chrome-ntp-icon), [Source code](https://github.com/BlueTeck/kanboard_chrome_extension)
|
||||||
|
|
||||||
|
- [Python client script by @dzudek]([https://gist.github.com/fguillot/84c70d4928eb1e0cb374](https://gist.github.com/fguillot/84c70d4928eb1e0cb374))
|
||||||
|
|
||||||
|
- [Shell script for SQLite to MySQL/MariaDB migration by @oliviermaridat]([https://github.com/oliviermaridat/kanboard-sqlite2mysql](https://github.com/oliviermaridat/kanboard-sqlite2mysql))
|
||||||
|
|
||||||
|
- [Git hooks for integration with Kanboard by Gene Pavlovsky](https://github.com/gene-pavlovsky/kanboard-git-hooks)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Имеются ли руководства по Канборду на других языках?[¶](#are-there-some-tutorials-about-kanboard-in-other-languages "Ссылка на этот заголовок")
|
||||||
|
-----------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
- [Серия статей про Kanboard на немецком языке](http://demaya.de/wp/2014/07/kanboard-eine-jira-alternative-im-detail-installation/) .
|
||||||
|
- [Русская документация по Канборд](http://kanboard.ru/doc/).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
187
doc/ru_RU/freebsd-installation.markdown
Normal file
187
doc/ru_RU/freebsd-installation.markdown
Normal file
@@ -0,0 +1,187 @@
|
|||||||
|
Инсталяция на FreeBSD 10
|
||||||
|
========================
|
||||||
|
|
||||||
|
|
||||||
|
Инсталяция из пакетов[¶](#install-from-packages "Ссылка на этот заголовок")
|
||||||
|
---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
$ pkg update
|
||||||
|
|
||||||
|
$ pkg upgrade
|
||||||
|
|
||||||
|
$ pkg install apache24 mod_php56 kanboard
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Включите Apache в `/etc/rc.conf`{.docutils .literal}:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
$ echo apache24_enable="YES" >> /etc/rc.conf
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Установите PHP для Apache:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
$ echo "AddType application/x-httpd-php .php" >> /usr/local/etc/apache24/Includes/php.conf
|
||||||
|
|
||||||
|
$ echo "DirectoryIndex index.php index.html" >> /usr/local/etc/apache24/Includes/php.conf
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Затем, запустите Apache:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
$ service apache24 start
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Создайте символическую ссылку на каталог Kanboard в корне Apache:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
cd /usr/local/www/apache24/data
|
||||||
|
|
||||||
|
ln -s /usr/local/www/kanboard
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Готово. Можете перейти в <http:/>/вашвебсервер/kanboard и начинать работать!
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
*Примечание*: Если вы хотите добавить дополнительные возможности, типа интеграции LDAP, то нужно установить соответствующий PHP модуль. Также, вам необходимо настроить соответсвующие права на каталог data.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Установка из портов[¶](#installing-from-ports "Ссылка на этот заголовок")
|
||||||
|
-------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
Нужно установить 3 основных элемента:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Apache
|
||||||
|
|
||||||
|
- mod\_php for Apache
|
||||||
|
|
||||||
|
- Kanboard
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Загрузите и распакуйте порты:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
$ portsnap fetch
|
||||||
|
|
||||||
|
$ portsnap extract
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
или обновите имеющиеся:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
$ portsnap fetch
|
||||||
|
|
||||||
|
$ portsnap update
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Дополнительную информацию о дереве портов вы можете посмотреть на [FreeBSD Handbook](https://www.freebsd.org/doc/handbook/ports-using.html).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Установка Apache:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
$ cd /usr/ports/www/apache24
|
||||||
|
|
||||||
|
$ make install clean
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Включите Apache в `/etc/rc.conf`{.docutils .literal}:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
$ echo apache24_enable="YES" >> /etc/rc.conf
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Установите mod\_php для Apache:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
$ cd /usr/ports/www/mod_php5
|
||||||
|
|
||||||
|
$ make install clean
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Установите Kanboard из портов:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
$ cd /usr/ports/www/kanboard
|
||||||
|
|
||||||
|
$ make install clean
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Установите PHP для Apache:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
$ echo "AddType application/x-httpd-php .php" >> /usr/local/etc/apache24/Includes/php.conf
|
||||||
|
|
||||||
|
$ echo "DirectoryIndex index.php index.html" >> /usr/local/etc/apache24/Includes/php.conf
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Затем, запустите Apache:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
$ service apache24 start
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Готово. Можете перейти в <http:/>/вашвебсервер/kanboard и начинать работать!
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
*Примечание*: Если вы хотите использовать дополнительные возможности, типа интеграции LDAP, то нужно установить PHP модуль из `lang/php5-extensions`{.docutils .literal}.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Установка из архива[¶](#manual-installation "Ссылка на этот заголовок")
|
||||||
|
-----------------------------------------------------------------------
|
||||||
|
|
||||||
|
Начина с версии 1.0.16 Kanboard имеется в портах FreeBSD, поэтому нет необходимости устанавливать вручную.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Обратите внимание[¶](#please-note "Ссылка на этот заголовок")
|
||||||
|
-------------------------------------------------------------
|
||||||
|
|
||||||
|
- Порт расположен на хостинге [bitbucket](https://bitbucket.org/if0/freebsd-kanboard/). Делайте комментарии, ответвления и предлагайте обновления!
|
||||||
|
- Некоторые возможности Канборд требуют [запуск ежедневных фоновых задач](cronjob.markdown).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
60
doc/ru_RU/gantt-chart-projects.markdown
Normal file
60
doc/ru_RU/gantt-chart-projects.markdown
Normal file
@@ -0,0 +1,60 @@
|
|||||||
|
Диаграмма Ганта для всех проектов
|
||||||
|
=================================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Цель диаграммы Ганта для проектов - показать прогресс проектов основанный на дате начала и дате завершения.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Диаграмма Ганта для проектов доступна из раздела **Управление проектами**
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Только менеджеры проекта и администраторы имеют доступ в этот раздел
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Менеджеры проекта могут видеть только те проекты, в которых они являются участниками
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Приватные проекты не показывают этот график
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Диаграмма Ганта для всех проектов
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- **Дата начала** и **дата завершения** проекта используются для рисования графика
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Горизонтальные полосы (столбики) могут быть расширены (сжаты) и перемещены горизонтально с помощью мыши
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Перемещение по вертикали невозможно
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Полосы (столбики) проекта отображаются черным, когда проект не имеет дату начала и завершения
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Информационная подсказка показывает список менеджеров и участников проекта
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
66
doc/ru_RU/gantt-chart-tasks.markdown
Normal file
66
doc/ru_RU/gantt-chart-tasks.markdown
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
Диаграмма Ганта для задач
|
||||||
|
=========================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Цель диаграммы Ганта - показать время отведенное на задачу в заданном проекте.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Диаграмма Ганта доступна в рабочем окружении проекта
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Только менеджеры проектов могут иметь доступ в этот раздел
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Диаграмма Ганта.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Дата начала и дата завершения задач используется для рисования диаграммы
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Задача может быть расширена и перемещена горизонтально с помощью мыши
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Перемещение по вертикали невозможно
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Полоса (горизонтальный столбик) на диаграмме имеет такой же цвет как и задача
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Каждая полоса отображает статус прогресса в процентах. Проценты подсчитываются с учетом позиции задачи в колонке на Доске.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Для соответсвия модели Kanban, задачи могут быть отсортированы в соответствии с позициями на доске или по дате начала
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Новые задачи созданные через диаграмму Ганта будут показаны на Доске в первой колонке на первой позиции
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Задачи отображаются черным цветом, если не указана дата начала или дата исполнения
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Задача без указанных дат начала или завершения
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
15
doc/ru_RU/genindex.markdown
Normal file
15
doc/ru_RU/genindex.markdown
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
Алфавитный указатель
|
||||||
|
====================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
35
doc/ru_RU/groups.markdown
Normal file
35
doc/ru_RU/groups.markdown
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
Управление группами
|
||||||
|
===================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
В Канборде каждый пользователь может быть членом одной или нескольких групп. Группа - это что-то вроде команды или организации.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Только администраторы могут создавать новую группу и добавлять туда пользователей.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Настройка групп доступна через **Управление пользователями** (выпадающее меню справа вверху) -\> **Просмотр всех пользователей**. Здесь вы можете создавать новые группы и добавлять пользователей в группы.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Управление группами.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Менеджеры проектов могут предоставлять доступ группам к проектам на [странице Разрешения проекта](project-permissions.markdown).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Внешние id в основном используются для предоставления доступа внешним группам. Канборд поддерживает группы из LDAP посредством [автоматической синхронизации групп из LDAP сервера](ldap-group-sync.markdown).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
72
doc/ru_RU/heroku.markdown
Normal file
72
doc/ru_RU/heroku.markdown
Normal file
@@ -0,0 +1,72 @@
|
|||||||
|
Развертывание Канборд на Heroku
|
||||||
|
===============================
|
||||||
|
|
||||||
|
Вы можете бесплатно испытать работу Kanboard на [Heroku](https://www.heroku.com/). Вам нужно нажать кнопку **Deploy to Heroku** и следовать руководству приведенному ниже:
|
||||||
|
|
||||||
|
[](https://heroku.com/deploy?template=https://github.com/fguillot/kanboard)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Требования[¶](#requirements "Ссылка на этот заголовок")
|
||||||
|
-------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Учетная запись на Heroku. Вы можете зарегистрироваться бесплатно.
|
||||||
|
- Установленная утилита командной строки Heroku
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Руководство по установке[¶](#manual-instructions "Ссылка на этот заголовок")
|
||||||
|
----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
# Get the last development version
|
||||||
|
|
||||||
|
git clone https://github.com/fguillot/kanboard.git
|
||||||
|
|
||||||
|
cd kanboard
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Push the code to Heroku (You can also use SSH if git over HTTP doesn't work)
|
||||||
|
|
||||||
|
heroku create
|
||||||
|
|
||||||
|
git push heroku master
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Start a new dyno with a Postgresql database
|
||||||
|
|
||||||
|
heroku ps:scale web=1
|
||||||
|
|
||||||
|
heroku addons:add heroku-postgresql:hobby-dev
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Open your browser
|
||||||
|
|
||||||
|
heroku open
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Ограничения[¶](#limitations "Ссылка на этот заголовок")
|
||||||
|
-------------------------------------------------------
|
||||||
|
|
||||||
|
- Хранилище на Heroku эфимерное. Это означает, что файлы, загружаемые через Канборд, будут отсутствовать в системе после перезагрузки. Вы можете установить плагин для хранения файлов в облаке, например [Amazon S3](https://github.com/kanboard/plugin-s3).
|
||||||
|
- Некоторые возможности Канборда требуют, чтобы вы выполняли [запуск ежедневных фоновых задач](cronjob.markdown).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
111
doc/ru_RU/ical.markdown
Normal file
111
doc/ru_RU/ical.markdown
Normal file
@@ -0,0 +1,111 @@
|
|||||||
|
Синхронизация вашего календаря
|
||||||
|
==============================
|
||||||
|
|
||||||
|
|
||||||
|
Канборд поддерживает iCal транслятор для проектов и пользователей. Эта возможность позволяет вам импортировать задачи из Канборд в любую программу календарь (например, Microsoft Outlook, Apple Calendar, Mozilla Thunderbird и Google Calendar).
|
||||||
|
|
||||||
|
Подписки на календарь возможны только на **чтение**, т.е. вы не можете создавать задачи во внешнем календаре. Данные из Календаря экспортируются в стандарте iCal.
|
||||||
|
|
||||||
|
Заметка: Только задачи в промежутке от -2 месяцев до +6 месяцев (прошедшие два месяца и предстоящие 6 месяцев) экспортируются в iCalendar транслятор.
|
||||||
|
|
||||||
|
|
||||||
|
Календарь проекта[¶](#project-calendars "Ссылка на этот заголовок")
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
|
||||||
|
- Каждый проект имеет свой календарь.
|
||||||
|
- Ссылка на подписку уникальна для каждого проекта. Ссылка становится активной, когда вы включаете общий доступ к вашему проекту: **Меню** -\> **Настройки** -\> **Общий доступ**
|
||||||
|
- Этот календарь показывает только задачи для выбранного проекта.
|
||||||
|
|
||||||
|
|
||||||
|
Календарь пользователя[¶](#user-calendars "Ссылка на этот заголовок")
|
||||||
|
---------------------------------------------------------------------
|
||||||
|
|
||||||
|
- Каждый пользователь имеет свой собственный календарь.
|
||||||
|
- Ссылка на подписку уникальная для каждого пользователя. Ссылка становится активной, когда вы включите общий доступ для пользователя: в правом верхнем выпадающем меню - **Мой профиль** -\> в левом меню - **Общий доступ**.
|
||||||
|
- Этот календарь показывает задачи назначенные пользователю во всех проектах.
|
||||||
|
|
||||||
|
|
||||||
|
Добавление Канборд календаря в календарь Apple[¶](#adding-your-kanboard-calendar-to-apple-calendar "Ссылка на этот заголовок")
|
||||||
|
------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
- Откройте календарь
|
||||||
|
- Выберите **Файл** -\> **Новая подписка на календарь**
|
||||||
|
- Скопируйте в Канборд URL ссылку на iCal транслятор и вставьте
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Добавление подписки на календарь.
|
||||||
|
|
||||||
|
|
||||||
|
- Вы можете выбрать синхронизацию календаря с iCloud, чтобы иметь доступ к календарю с любых ваших устройств
|
||||||
|
- Не забудьте указать частоту синхронизации
|
||||||
|
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Редактирование подписки на календарь.
|
||||||
|
|
||||||
|
|
||||||
|
Добавление вашего календаря из Канборд в Microsoft Outlook[¶](#adding-your-kanboard-calendar-to-microsoft-outlook "Ссылка на этот заголовок")
|
||||||
|
---------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Добавление в Outlook календаря из интернет
|
||||||
|
|
||||||
|
- Откройте Outlook
|
||||||
|
- Выберите **Открыть календарь** -\> **Из интернета**
|
||||||
|
- Скопируйте в Канборд URL ссылку на iCal транслятор и вставьте
|
||||||
|
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Настройка интернет календаря в Outlook.
|
||||||
|
|
||||||
|
|
||||||
|
Добавление вашего календаря из Канборд в Mozilla Thunderbird[¶](#adding-your-kanboard-calendar-to-mozilla-thunderbird "Ссылка на этот заголовок")
|
||||||
|
-------------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
- Установите в Thunderbird Дополнение **Lightning**
|
||||||
|
- Выберите **Файл** -\> **Новый календарь**
|
||||||
|
- В диалоговом окне, выберите **Из сети**
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Создание календаря в Thunderbird, шаг 1.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Выберите формат iCalendar
|
||||||
|
- Скопируйте в Канборд URL ссылку на iCal транслятор и вставьте
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Создание календаря в Thunderbird, шаг 2.
|
||||||
|
|
||||||
|
- Выберите цвета и другие настройки и в завершении нажмите **Сохранить**.
|
||||||
|
|
||||||
|
|
||||||
|
Добавление вашего календаря Канборд в календарь Google[¶](#adding-your-kanboard-calendar-to-google-calendar "Ссылка на этот заголовок")
|
||||||
|
---------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
- Нажмите иконку “треугольник” рядом с **Другие календари** (слева).
|
||||||
|
- Вставьте ссылку на календарь из Канборд в поле “Добавить календарь друга”
|
||||||
|
- Скопируйте в Канборд URL ссылку на iCal транслятор и вставьте
|
||||||
|
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Календарь Google.
|
||||||
|
|
||||||
|
Ваш календарь из Канборд будет доступен на планшетах и смартфонах, нужно только сделать синхронизацию.
|
||||||
|
|
||||||
|
|
||||||
|
[Справка по настройке календаря Google](https://support.google.com/calendar/?hl=ru#topic=3417969).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
248
doc/ru_RU/index.markdown
Normal file
248
doc/ru_RU/index.markdown
Normal file
@@ -0,0 +1,248 @@
|
|||||||
|
Документация
|
||||||
|
============
|
||||||
|
|
||||||
|
|
||||||
|
Как работать в Kanboard[¶](#using-kanboard "Ссылка на этот заголовок")
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
### Введение[¶](#introduction "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
- [Что такое Kanban?](what-is-kanban.markdown)
|
||||||
|
|
||||||
|
- [Kanban против Todo списков и Scrum](kanban-vs-todo-and-scrum.markdown)
|
||||||
|
|
||||||
|
- [Где можно использовать Kanboard](usage-examples.markdown)
|
||||||
|
|
||||||
|
|
||||||
|
### Использование доски[¶](#using-the-board "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
- [Доска, Календарь, Список и Гант представления](project-views.markdown)
|
||||||
|
|
||||||
|
- [Компактное или развернутое отображение задач](board-collapsed-expanded.markdown)
|
||||||
|
|
||||||
|
- [Горизонтальная прокрутка и компактный вид](board-horizontal-scrolling-and-compact-view.markdown)
|
||||||
|
|
||||||
|
- [Отображение и скрытие колонок](board-show-hide-columns.markdown)
|
||||||
|
|
||||||
|
|
||||||
|
### Работа с проектами[¶](#working-with-projects "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
- [Типы проектов](project-types.markdown)
|
||||||
|
|
||||||
|
- [Создание проектов](creating-projects.markdown)
|
||||||
|
|
||||||
|
- [Редактирование проектов](editing-projects.markdown)
|
||||||
|
|
||||||
|
- [Публичные доски и задачи](sharing-projects.markdown)
|
||||||
|
|
||||||
|
- [Автоматизация процессов](automatic-actions.markdown)
|
||||||
|
|
||||||
|
- [Права доступа к проекту](project-permissions.markdown)
|
||||||
|
|
||||||
|
- [Дорожки](swimlanes.markdown)
|
||||||
|
|
||||||
|
- [Календарь](calendar.markdown)
|
||||||
|
|
||||||
|
- [Аналитика](analytics.markdown)
|
||||||
|
|
||||||
|
- [Диаграмма Ганта для задач](gantt-chart-tasks.markdown)
|
||||||
|
|
||||||
|
- [Диаграмма Ганта для проектов](gantt-chart-projects.markdown)
|
||||||
|
|
||||||
|
- [Пользовательские фильтры](custom-filters.markdown)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Работа с задачами[¶](#working-with-tasks "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
- [Создание задач](creating-tasks.markdown)
|
||||||
|
|
||||||
|
- [Закрытие задач](closing-tasks.markdown)
|
||||||
|
|
||||||
|
- [Дублирование и перенос задач](duplicate-move-tasks.markdown)
|
||||||
|
|
||||||
|
- [Добавление снимка экрана](screenshots.markdown)
|
||||||
|
|
||||||
|
- [Ссылки на задачу](task-links.markdown)
|
||||||
|
|
||||||
|
- [Перемещения](transitions.markdown)
|
||||||
|
|
||||||
|
- [Отслеживание времени](time-tracking.markdown)
|
||||||
|
|
||||||
|
- [Повторяющиеся задачи](recurring-tasks.markdown)
|
||||||
|
|
||||||
|
- [Создание задач через email](create-tasks-by-email.markdown)
|
||||||
|
|
||||||
|
- [Подзадачи](subtasks.markdown)
|
||||||
|
|
||||||
|
- [Аналитика для задач](analytics-tasks.markdown)
|
||||||
|
|
||||||
|
- [Ссылка на пользователя](user-mentions.markdown)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Работа с пользователями и группами[¶](#working-with-users-and-groups "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
- [Роли](roles.markdown)
|
||||||
|
|
||||||
|
- [Типы пользователей](user-types.markdown)
|
||||||
|
|
||||||
|
- [Управление группами](groups.markdown)
|
||||||
|
|
||||||
|
- [Управление пользователями](user-management.markdown)
|
||||||
|
|
||||||
|
- [Уведомления](notifications.markdown)
|
||||||
|
|
||||||
|
- [Двухуровневая аутентификация](2fa.markdown)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Настройки[¶](#settings "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
- [Горячие клавиши](keyboard-shortcuts.markdown)
|
||||||
|
|
||||||
|
- [Настройки приложения](application-configuration.markdown)
|
||||||
|
|
||||||
|
- [Настройки проекта](project-configuration.markdown)
|
||||||
|
|
||||||
|
- [Настройка Доски](board-configuration.markdown)
|
||||||
|
|
||||||
|
- [Настройки календаря](calendar-configuration.markdown)
|
||||||
|
|
||||||
|
- [Настройка ссылок](link-labels.markdown)
|
||||||
|
|
||||||
|
- [Курсы валют](currency-rate.markdown)
|
||||||
|
|
||||||
|
|
||||||
|
### Встроенные возможности[¶](#integrations "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
- [iCalendar подписки](ical.markdown)
|
||||||
|
|
||||||
|
- [RSS/Atom подписки](rss.markdown)
|
||||||
|
|
||||||
|
- [Json-RPC API](api-json-rpc.markdown)
|
||||||
|
|
||||||
|
- [Webhooks](webhooks.markdown)
|
||||||
|
|
||||||
|
- [Плагины](plugins.markdown)
|
||||||
|
|
||||||
|
|
||||||
|
### Дополнительно[¶](#more "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
- [Синтаксис расширенного поиска](ext-search.markdown)
|
||||||
|
|
||||||
|
- [Интерфейс командной строки](cli.markdown)
|
||||||
|
|
||||||
|
- [Руководство по синтаксису](syntax-guide.markdown)
|
||||||
|
|
||||||
|
- [Защита от Brute force](bruteforce-protection.markdown)
|
||||||
|
|
||||||
|
- [Часто задаваемые вопросы](faq.markdown)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Технические детали[¶](#technical-details "Ссылка на этот заголовок")
|
||||||
|
--------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
### Инсталяция[¶](#installation "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
- [Требования](requirements.markdown)
|
||||||
|
|
||||||
|
- [Инструкция по инсталяции](installation.markdown)
|
||||||
|
|
||||||
|
- [Обновление Kanboard до новой версии](update.markdown)
|
||||||
|
|
||||||
|
- [Инсталяция на Ubuntu](ubuntu-installation.markdown)
|
||||||
|
|
||||||
|
- [Инсталяция на Debian](debian-installation.markdown)
|
||||||
|
|
||||||
|
- [Инсталяция на Centos](centos-installation.markdown)
|
||||||
|
|
||||||
|
- [Инсталяция на OpenSuse](suse-installation.markdown)
|
||||||
|
|
||||||
|
- [Инсталяция на FreeBSD](freebsd-installation.markdown)
|
||||||
|
|
||||||
|
- [Инсталяция на Windows Server и IIS](windows-iis-installation.markdown)
|
||||||
|
|
||||||
|
- [Инсталяция на Windows Server и Apache](windows-apache-installation.markdown)
|
||||||
|
|
||||||
|
- [Инсталяция на Heroku](heroku.markdown)
|
||||||
|
|
||||||
|
- [Запуск Kanboard под Docker](docker.markdown)
|
||||||
|
|
||||||
|
- [Запуск Kanboard под Vagrant](vagrant.markdown)
|
||||||
|
|
||||||
|
- [Запуск Kanboard на Cloudron](cloudron.markdown)
|
||||||
|
|
||||||
|
- [Запуск Kanboard на Nitrous](nitrous.markdown)
|
||||||
|
|
||||||
|
|
||||||
|
### Настройка[¶](#configuration "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
- [Ежедневные фоновые задачи](cronjob.markdown)
|
||||||
|
|
||||||
|
- [Конфигурационный файл](config.markdown)
|
||||||
|
|
||||||
|
- [Переменные окружения](env.markdown)
|
||||||
|
|
||||||
|
- [Настройка email](email-configuration.markdown)
|
||||||
|
|
||||||
|
- [Переопределение URL](nice-urls.markdown)
|
||||||
|
|
||||||
|
- [Директория плагинов](plugin-directory.markdown)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### База данных[¶](#database "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
- [База данных Sqlite](sqlite-database.markdown)
|
||||||
|
|
||||||
|
- [Как использовать Mysql](mysql-configuration.markdown)
|
||||||
|
|
||||||
|
- [Как использовать Postgresql](postgresql-configuration.markdown)
|
||||||
|
|
||||||
|
|
||||||
|
### Аутентификация[¶](#authentication "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
- [LDAP аутентификация](ldap-authentication.markdown)
|
||||||
|
|
||||||
|
- [Синхронизация групп LDAP](ldap-group-sync.markdown)
|
||||||
|
|
||||||
|
- [Изображения из профиля LDAP](ldap-profile-picture.markdown)
|
||||||
|
|
||||||
|
- [Параметры LDAP](ldap-parameters.markdown)
|
||||||
|
|
||||||
|
- [Пример конфигурации LDAP](ldap-configuration-examples.markdown)
|
||||||
|
|
||||||
|
- [Аутентификация Reverse proxy](reverse-proxy-authentication.markdown)
|
||||||
|
|
||||||
|
|
||||||
|
### Участие в проекте[¶](#contributors "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
- [Руководство для участников проекта](contributing.markdown)
|
||||||
|
|
||||||
|
- [Переводы на другие языки](translations.markdown)
|
||||||
|
|
||||||
|
- [Стандарты при написании кода](coding-standards.markdown)
|
||||||
|
|
||||||
|
- [Выполнение тестов](tests.markdown)
|
||||||
|
|
||||||
|
- [Создание assets](assets.markdown)
|
||||||
|
|
||||||
|
|
||||||
|
[Документация](https://github.com/fguillot/kanboard/tree/master/doc) написана в формате [Markdown](https://ru.wikipedia.org/wiki/Markdown). Если вы желаете улучшить документацию - пошлите pull-request.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
* [Проект перевода документации Канборд на русский язык](https://github.com/hairetdin/kanboard-doc-ru). [Русская документация Канборд в формате html](http://kanboard.ru/doc/).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
117
doc/ru_RU/installation.markdown
Normal file
117
doc/ru_RU/installation.markdown
Normal file
@@ -0,0 +1,117 @@
|
|||||||
|
Инсталяция
|
||||||
|
==========
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
В первую очередь, ознакомтесь с [требованиями](requirements.markdown).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Инсталяция из архива (стабильная версия)[¶](#from-the-archive-stable-version "Ссылка на этот заголовок")
|
||||||
|
--------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
1. У вас должен быть установлен веб сервер с PHP
|
||||||
|
|
||||||
|
2. Скачайте исходный код и скопируйте директорию `kanboard` в каталог веб сервера
|
||||||
|
|
||||||
|
3. Проверьте, чтобы директория `data` была доступна на запись
|
||||||
|
|
||||||
|
4. В вашем браузере перейдите по ссылке <http:/>/вашвебсервер/kanboard
|
||||||
|
|
||||||
|
5. Логин и пароль по умолчанию - **admin/admin**
|
||||||
|
|
||||||
|
6. Все, теперь вы можете работать в Канборд
|
||||||
|
|
||||||
|
7. Не забудьте сменить пароль!
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Место хранения данных:
|
||||||
|
|
||||||
|
|
||||||
|
- База данных Sqlite: `db.sqlite`
|
||||||
|
|
||||||
|
- Файл отладки: `debug.log` (если включена отладка)
|
||||||
|
|
||||||
|
- Загруженные файлы: `files/*`
|
||||||
|
|
||||||
|
- Изображения: `files/thumbnails/*`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Те, кто использует удаленную базу данных (Mysql/Postgresql) и удаленное файловое хранилище (Aws S3 или подобное), могут не назначать права доступа к локальным данным.
|
||||||
|
|
||||||
|
|
||||||
|
Инсталяция из репозитория (разрабатываемая версия)[¶](#from-the-repository-development-version "Ссылка на этот заголовок")
|
||||||
|
--------------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Вы можете установить [composer](https://getcomposer.org/) для этого метода инсталяции.
|
||||||
|
|
||||||
|
|
||||||
|
1. `git clone https://github.com/fguillot/kanboard.git`
|
||||||
|
|
||||||
|
2. `composer install --no-dev`
|
||||||
|
|
||||||
|
3. Далее, перейдите к третьему шагу [Инсталяция из архива](installation.html#from-the-archive-stable-version)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
**Внимание**: Инсталируя **текущую разрабатываемую версию**, вы должны понимать, что это нестабильная версия и берете все риски по работе Канборд на себя.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Инсталяция в другой каталог[¶](#installation-outside-of-the-document-root "Ссылка на этот заголовок")
|
||||||
|
-----------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Если вы хотите инсталировать Канборд в другую директорию, вне корневого каталога веб сервера, вам нужно создать, как минимум, следующие символьные ссылки:
|
||||||
|
|
||||||
|
.
|
||||||
|
|
||||||
|
├── assets -> ../kanboard/assets
|
||||||
|
├── doc -> ../kanboard/doc
|
||||||
|
├── favicon.ico -> ../kanboard/favicon.ico
|
||||||
|
├── index.php -> ../kanboard/index.php
|
||||||
|
├── jsonrpc.php -> ../kanboard/jsonrpc.php
|
||||||
|
└── robots.txt -> ../kanboard/robots.txt
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
`.htaccess` необязательно, потому что его содержимое может быть включена прямо в конфигурацию Apache.
|
||||||
|
|
||||||
|
|
||||||
|
Вы можете указать текущее месторасположение директорий плагинов и файлов изменив [конфигурационный файл](config.markdown).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Безопасность[¶](#security "Ссылка на этот заголовок")
|
||||||
|
-----------------------------------------------------
|
||||||
|
|
||||||
|
- Не забудьте изменить логин и пароль пользователя admin, назначенный по умолчанию
|
||||||
|
|
||||||
|
- Не предоставляйте всем права на директорию `data` через URL.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Примечание[¶](#notes "Ссылка на этот заголовок")
|
||||||
|
------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
- Некоторые возможности Канборда требуют, чтобы [ежедневно выполнялись фоновые задачи](cronjob.markdown).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
75
doc/ru_RU/kanban-vs-todo-and-scrum.markdown
Normal file
75
doc/ru_RU/kanban-vs-todo-and-scrum.markdown
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
Сравнение Kanban, Todo lists и Scrum
|
||||||
|
====================================
|
||||||
|
|
||||||
|
|
||||||
|
Сравнение Kanban и Todo lists[¶](#kanban-vs-todo-lists "Ссылка на этот заголовок")
|
||||||
|
----------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
### Todo lists (списки для исполнения):[¶](#todo-lists "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
- Имеют одну фазу (только список пунктов)
|
||||||
|
|
||||||
|
- Возможна многозадачность (не эффективна)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Kanban:[¶](#kanban "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Имеет много фаз, каждая колонка представлена как шаг процесса
|
||||||
|
|
||||||
|
- Концентрация внимания и исключение многозадачности, потому что вы можете установить этап процесса заданной колонкой
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Сравнение Kanban и Scrum[¶](#kanban-vs-scrum "Ссылка на этот заголовок")
|
||||||
|
------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
### [Scrum:](https://ru.wikipedia.org/wiki/Scrum)[¶](#scrum "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
- Спринты жестко фиксированные временем, обычно 2 или 4 недели
|
||||||
|
|
||||||
|
- Не позволяет вносить изменения в течении итерации
|
||||||
|
|
||||||
|
- Обязательна предварительная оценка
|
||||||
|
|
||||||
|
- Используется скорость как единица измерения по умолчанию
|
||||||
|
|
||||||
|
- Доска Scrum очищается между спринтами
|
||||||
|
|
||||||
|
- Scrum имеет преопределенные роли, такие как, мастер, владелец продукта и команда
|
||||||
|
|
||||||
|
- Множество встреч: планирование, беклог груминг (причесывание), ежедневные совещания, ретроспектива
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Kanban:[¶](#id1 "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
- Непрерывный поток
|
||||||
|
|
||||||
|
- Гибкость - изменения могут быть сделаны в любое время
|
||||||
|
|
||||||
|
- Предварительная оценка опциональна
|
||||||
|
|
||||||
|
- Используется время выполнения (lead time) и время цикла (cycle time) для измерения производительности
|
||||||
|
|
||||||
|
- Доска Kanboar постоянна
|
||||||
|
|
||||||
|
- Kanban не навязывает строгих ограничений или встреч, процессы более гибкие
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
99
doc/ru_RU/keyboard-shortcuts.markdown
Normal file
99
doc/ru_RU/keyboard-shortcuts.markdown
Normal file
@@ -0,0 +1,99 @@
|
|||||||
|
Горячие клавиши
|
||||||
|
===============
|
||||||
|
|
||||||
|
|
||||||
|
Горячие клавиши доступны в зависимости от страницы на которой вы находитесь.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
В проекте (Доска, Календарь, Список, Гант)[¶](#project-views-board-calendar-list-gantt "Ссылка на этот заголовок")
|
||||||
|
------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
- Переключиться на Обзор проектов = **v o** (переключите клавиатуру в английскую раскладку и нажмите клавиши **v** и **o** )
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Переключиться на Доску = **v b**
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Переключиться на Календарь = **v c**
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Переключиться на список = **v l**
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Переключиться на диаграмму Ганта = **v g**
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
На Доске[¶](#board-view "Ссылка на этот заголовок")
|
||||||
|
---------------------------------------------------
|
||||||
|
|
||||||
|
- Новая задача = **n**
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Свернуть/развернуть задачи = **s**
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Компактный/широкий вид = **c**
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
В Задаче[¶](#task-view "Ссылка на этот заголовок")
|
||||||
|
--------------------------------------------------
|
||||||
|
|
||||||
|
- Редактировать задачу = **e**
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Новая подзадача = **s**
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Новый комментарий = **c**
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Новая внутренняя ссылка = **l**
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
В приложении (главное окно Канборд)[¶](#application "Ссылка на этот заголовок")
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
- Показать список горячих клавиш = **?**
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Открыть переключатель проектов = **b**
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Переход в окно поиска = **f**
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Очистить окно поиска = **r**
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Закрыть окно диалога = **ESC**
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Расширенный поиск = **CTRL+ENTER** or **⌘+ENTER**
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
327
doc/ru_RU/ldap-authentication.markdown
Normal file
327
doc/ru_RU/ldap-authentication.markdown
Normal file
@@ -0,0 +1,327 @@
|
|||||||
|
Аутентификация LDAP
|
||||||
|
===================
|
||||||
|
|
||||||
|
|
||||||
|
Требования[¶](#requirements "Ссылка на этот заголовок")
|
||||||
|
-------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Включенное в PHP раширение LDAP
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Сервер LDAP:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- OpenLDAP
|
||||||
|
|
||||||
|
- Microsoft Active Directory
|
||||||
|
|
||||||
|
- Novell eDirectory
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Рабочий процесс[¶](#workflow "Ссылка на этот заголовок")
|
||||||
|
--------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Когда активирована аутентификация LDAP, процесс входа выглядит следующим образом:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
1. Выполняется попытка аутентификации пользователя в базе данных Канборда
|
||||||
|
|
||||||
|
2. Если пользователь не найден в базе Канборда, выполняется аутентификация LDAP
|
||||||
|
|
||||||
|
3. Если аутентификация LDAP выполнена успешно, по умолчанию, локальный пользователь (в Канборде) создается автоматически без пароля и помечается как пользователь LDAP.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Полное имя и email адрес автоматически подгружаются из сервера LDAP.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Типы аутентификации[¶](#authentication-types "Ссылка на этот заголовок")
|
||||||
|
------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
| Тип | Описание |
|
||||||
|
|--------------|-------------------------------------------------------------|
|
||||||
|
| Proxy User | Использовать специального пользователя для просмотра директории LDAP |
|
||||||
|
| User | Использовать учетные данные конечного пользователя для просмотра директории LDAP |
|
||||||
|
| Anonymous | Не надо выполнять аутентификацию для доступа к каталогу LDAP |
|
||||||
|
|
||||||
|
|
||||||
|
**Рекомендуемый метод аутентификации - “Proxy”**.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Анонимный (Anonymous) метод[¶](#anonymous-mode "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
define('LDAP_BIND_TYPE', 'anonymous');
|
||||||
|
|
||||||
|
define('LDAP_USERNAME', null);
|
||||||
|
|
||||||
|
define('LDAP_PASSWORD', null);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Этот метод используется по умолчанию, но некоторые сервера LDAP не поддерживают доступ анонимам, из соображений безопасности.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Proxy метод[¶](#proxy-mode "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Специальный пользователь используется для доступа к директории LDAP:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
define('LDAP_BIND_TYPE', 'proxy');
|
||||||
|
|
||||||
|
define('LDAP_USERNAME', 'my proxy user');
|
||||||
|
|
||||||
|
define('LDAP_PASSWORD', 'my proxy password');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Пользовательский метод (user)[¶](#user-mode "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Этот метод используется для доступа под учетной записью конечного пользователя.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Например, Microsoft Active Directory не разрешает подключение под анонимным пользователем и если вы не хотите использовать пользователя proxy, то используйте этот метод.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
define('LDAP_BIND_TYPE', 'user');
|
||||||
|
|
||||||
|
define('LDAP_USERNAME', '%s@kanboard.local');
|
||||||
|
|
||||||
|
define('LDAP_PASSWORD', null);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
В этом методе, константа `LDAP_USERNAME` использутся как шаблон для пользователя ldap, например:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- `%s@kanboard.local` будет заменен `my_user@kanboard.local`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- `KANBOARD\\%s` будет заменен на `KANBOARD\my_user`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Фильтр пользователей LDAP[¶](#user-ldap-filter "Ссылка на этот заголовок")
|
||||||
|
--------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
Параметр конфигурации `LDAP_USER_FILTER` используется для поиска пользователей по директории LDAP.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Например:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- `(&(objectClass=user)(sAMAccountName=%s))` будет заменено на `(&(objectClass=user)(sAMAccountName=указанный_пользователь))`
|
||||||
|
|
||||||
|
|
||||||
|
- `uid=%s` is replaced by `uid=указанный_пользователь`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Другие примеры [фильтров для Active Directory](http://social.technet.microsoft.com/wiki/contents/articles/5392.active-directory-ldap-syntax-filters.aspx)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Пример фильра доступа в Канборд:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
`(&(objectClass=user)(sAMAccountName=%s)(memberOf=CN=Kanboard Users,CN=Users,DC=kanboard,DC=local))`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Этот пример разрешает подключатся к Канборду только пользователям участникам группы “Kanboard Users”
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Пример для Microsoft Active Directory[¶](#example-for-microsoft-active-directory "Ссылка на этот заголовок")
|
||||||
|
------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Предположим, что мы имеем домен `KANBOARD` (kanboard.local) и контролер домена `myserver.kanboard.local`.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Первый пример для метода прокси (proxy):
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<?php
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Enable LDAP authentication (false by default)
|
||||||
|
|
||||||
|
define('LDAP_AUTH', true);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
define('LDAP_BIND_TYPE', 'proxy');
|
||||||
|
|
||||||
|
define('LDAP_USERNAME', 'administrator@kanboard.local');
|
||||||
|
|
||||||
|
define('LDAP_PASSWORD', 'my super secret password');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// LDAP server hostname
|
||||||
|
|
||||||
|
define('LDAP_SERVER', 'myserver.kanboard.local');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// LDAP properties
|
||||||
|
|
||||||
|
define('LDAP_USER_BASE_DN', 'CN=Users,DC=kanboard,DC=local');
|
||||||
|
|
||||||
|
define('LDAP_USER_FILTER', '(&(objectClass=user)(sAMAccountName=%s))');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Второй пример с пользовательским методом (user):
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<?php
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Enable LDAP authentication (false by default)
|
||||||
|
|
||||||
|
define('LDAP_AUTH', true);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
define('LDAP_BIND_TYPE', 'user');
|
||||||
|
|
||||||
|
define('LDAP_USERNAME', '%s@kanboard.local');
|
||||||
|
|
||||||
|
define('LDAP_PASSWORD', null);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// LDAP server hostname
|
||||||
|
|
||||||
|
define('LDAP_SERVER', 'myserver.kanboard.local');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// LDAP properties
|
||||||
|
|
||||||
|
define('LDAP_USER_BASE_DN', 'CN=Users,DC=kanboard,DC=local');
|
||||||
|
|
||||||
|
define('LDAP_USER_FILTER', '(&(objectClass=user)(sAMAccountName=%s))');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Пример для OpenLDAP[¶](#example-for-openldap "Ссылка на этот заголовок")
|
||||||
|
------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Наш сервер LDAP - `myserver.example.com` и все пользователи хранятся в `ou=People,dc=example,dc=com`.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Для этого примера мы использовали анонимное подключение.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<?php
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Enable LDAP authentication (false by default)
|
||||||
|
|
||||||
|
define('LDAP_AUTH', true);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// LDAP server hostname
|
||||||
|
|
||||||
|
define('LDAP_SERVER', 'myserver.example.com');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// LDAP properties
|
||||||
|
|
||||||
|
define('LDAP_USER_BASE_DN', 'ou=People,dc=example,dc=com');
|
||||||
|
|
||||||
|
define('LDAP_USER_FILTER', 'uid=%s');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Выключение автоматического создания учетных записей[¶](#disable-automatic-account-creation "Ссылка на этот заголовок")
|
||||||
|
----------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
По умолчанию, Канборд автоматически создает учетную запись пользователя, если такой пользователь не найден.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Вы можете выключить это поведение, если вы предпочитаете создавать учетные записи вручную.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Для этого установите значение `LDAP_ACCOUNT_CREATION` в `false`:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Automatically create user account
|
||||||
|
|
||||||
|
define('LDAP_ACCOUNT_CREATION', false);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Устранение неисправностей[¶](#troubleshooting "Ссылка на этот заголовок")
|
||||||
|
-------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Если включен SELinux, вы должны разрешить Apache доступ к вашему серверу LDAP.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Вы должны переключить SELinux в разрешающий режим (permissive mode) или совсем выключить (не рекомендуется)
|
||||||
|
|
||||||
|
- Вы должны разрешить все сетевые подключения, например `setsebool -P httpd_can_network_connect=1` или назначить более ограничивающие правила
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
В любом случае, ознакомтесь с официальной документацией Redhat/Centos.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Если вам не удается настроить аутентификацию LDAP, то вы можете [включить режим отладки](config.markdown) и посмотреть файлы событий.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
438
doc/ru_RU/ldap-configuration-examples.markdown
Normal file
438
doc/ru_RU/ldap-configuration-examples.markdown
Normal file
@@ -0,0 +1,438 @@
|
|||||||
|
Пример конфигурации LDAP
|
||||||
|
========================
|
||||||
|
|
||||||
|
|
||||||
|
Microsoft Active Directory[¶](#microsoft-active-directory "Ссылка на этот заголовок")
|
||||||
|
-------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
- Аутентификация пользователя
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Загрузка пользовательского профиля из Active Directory
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Установка языка пользователя из атрибутов LDAP
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Роли в Канборд сопоставляются с группами в Active Directory
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Поставщики групп LDAP включены
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- -->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
define('LDAP_AUTH', true);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
define('LDAP_SERVER', 'my-ldap-server');
|
||||||
|
|
||||||
|
define('LDAP_PORT', 389);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
define('LDAP_BIND_TYPE', 'proxy');
|
||||||
|
|
||||||
|
define('LDAP_USERNAME', 'administrator@kanboard.local');
|
||||||
|
|
||||||
|
define('LDAP_PASSWORD', 'secret');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
define('LDAP_USER_BASE_DN', 'CN=Users,DC=kanboard,DC=local');
|
||||||
|
|
||||||
|
define('LDAP_USER_FILTER', '(&(objectClass=user)(sAMAccountName=%s))');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
define('LDAP_USER_ATTRIBUTE_USERNAME', 'samaccountname');
|
||||||
|
|
||||||
|
define('LDAP_USER_ATTRIBUTE_FULLNAME', 'displayname');
|
||||||
|
|
||||||
|
define('LDAP_USER_ATTRIBUTE_PHOTO', 'jpegPhoto');
|
||||||
|
|
||||||
|
define('LDAP_USER_ATTRIBUTE_LANGUAGE', 'preferredLanguage');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
define('LDAP_GROUP_ADMIN_DN', 'CN=Kanboard Admins,CN=Users,DC=kanboard,DC=local');
|
||||||
|
|
||||||
|
define('LDAP_GROUP_MANAGER_DN', 'CN=Kanboard Managers,CN=Users,DC=kanboard,DC=local');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
define('LDAP_GROUP_PROVIDER', true);
|
||||||
|
|
||||||
|
define('LDAP_GROUP_BASE_DN', 'CN=Users,DC=kanboard,DC=local');
|
||||||
|
|
||||||
|
define('LDAP_GROUP_FILTER', '(&(objectClass=group)(sAMAccountName=%s*))');
|
||||||
|
|
||||||
|
define('LDAP_GROUP_ATTRIBUTE_NAME', 'cn');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
OpenLDAP с memberOf overlay[¶](#openldap-with-memberof-overlay "Ссылка на этот заголовок")
|
||||||
|
------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Пример LDIF пользователя:
|
||||||
|
|
||||||
|
|
||||||
|
dn: uid=manager,ou=Users,dc=kanboard,dc=local
|
||||||
|
|
||||||
|
objectClass: top
|
||||||
|
|
||||||
|
objectClass: person
|
||||||
|
|
||||||
|
objectClass: organizationalPerson
|
||||||
|
|
||||||
|
objectClass: inetOrgPerson
|
||||||
|
|
||||||
|
uid: manager
|
||||||
|
|
||||||
|
sn: Lastname
|
||||||
|
|
||||||
|
givenName: Firstname
|
||||||
|
|
||||||
|
cn: Kanboard Manager
|
||||||
|
|
||||||
|
displayName: Kanboard Manager
|
||||||
|
|
||||||
|
mail: manager@kanboard.local
|
||||||
|
|
||||||
|
userPassword: password
|
||||||
|
|
||||||
|
memberOf: cn=Kanboard Managers,ou=Groups,dc=kanboard,dc=local
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Пример LDIF группы:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
dn: cn=Kanboard Managers,ou=Groups,dc=kanboard,dc=local
|
||||||
|
|
||||||
|
objectClass: top
|
||||||
|
|
||||||
|
objectClass: groupOfNames
|
||||||
|
|
||||||
|
cn: Kanboard Managers
|
||||||
|
|
||||||
|
member: uid=manager,ou=Users,dc=kanboard,dc=local
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Конфигурация Канборд:
|
||||||
|
|
||||||
|
|
||||||
|
- Аутентификация пользователя
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Роли в Канборд сопоставляются с группами LDAP
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Поставщики групп LDAP включены
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- -->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
define('LDAP_AUTH', true);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
define('LDAP_SERVER', 'my-ldap-server');
|
||||||
|
|
||||||
|
define('LDAP_PORT', 389);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
define('LDAP_BIND_TYPE', 'proxy');
|
||||||
|
|
||||||
|
define('LDAP_USERNAME', 'cn=admin,DC=kanboard,DC=local');
|
||||||
|
|
||||||
|
define('LDAP_PASSWORD', 'password');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
define('LDAP_USER_BASE_DN', 'OU=Users,DC=kanboard,DC=local');
|
||||||
|
|
||||||
|
define('LDAP_USER_FILTER', 'uid=%s');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
define('LDAP_GROUP_ADMIN_DN', 'cn=Kanboard Admins,ou=Groups,dc=kanboard,dc=local');
|
||||||
|
|
||||||
|
define('LDAP_GROUP_MANAGER_DN', 'cn=Kanboard Managers,ou=Groups,dc=kanboard,dc=local');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
define('LDAP_GROUP_PROVIDER', true);
|
||||||
|
|
||||||
|
define('LDAP_GROUP_BASE_DN', 'ou=Groups,dc=kanboard,dc=local');
|
||||||
|
|
||||||
|
define('LDAP_GROUP_FILTER', '(&(objectClass=groupOfNames)(cn=%s*))');
|
||||||
|
|
||||||
|
define('LDAP_GROUP_ATTRIBUTE_NAME', 'cn');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
OpenLDAP с Posix groups (memberUid)[¶](#openldap-with-posix-groups-memberuid "Ссылка на этот заголовок")
|
||||||
|
--------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
Пример LDIF пользователя:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
dn: uid=manager,ou=Users,dc=kanboard,dc=local
|
||||||
|
|
||||||
|
objectClass: inetOrgPerson
|
||||||
|
|
||||||
|
objectClass: posixAccount
|
||||||
|
|
||||||
|
objectClass: shadowAccount
|
||||||
|
|
||||||
|
uid: manager
|
||||||
|
|
||||||
|
sn: Lastname
|
||||||
|
|
||||||
|
givenName: Firstname
|
||||||
|
|
||||||
|
cn: Kanboard Manager
|
||||||
|
|
||||||
|
displayName: Kanboard Manager
|
||||||
|
|
||||||
|
uidNumber: 10001
|
||||||
|
|
||||||
|
gidNumber: 8000
|
||||||
|
|
||||||
|
userPassword: password
|
||||||
|
|
||||||
|
homeDirectory: /home/manager
|
||||||
|
|
||||||
|
mail: manager@kanboard.local
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Пример LDIF группы:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
dn: cn=Kanboard Managers,ou=Groups,dc=kanboard,dc=local
|
||||||
|
|
||||||
|
objectClass: posixGroup
|
||||||
|
|
||||||
|
cn: Kanboard Managers
|
||||||
|
|
||||||
|
gidNumber: 5001
|
||||||
|
|
||||||
|
memberUid: manager
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Конфигурация Канборд:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Аутентификация пользователя
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Роли в Канборд сопоставляются с группами LDAP
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Поставщики групп LDAP включены
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- -->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
define('LDAP_AUTH', true);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
define('LDAP_SERVER', 'my-ldap-server');
|
||||||
|
|
||||||
|
define('LDAP_PORT', 389);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
define('LDAP_BIND_TYPE', 'proxy');
|
||||||
|
|
||||||
|
define('LDAP_USERNAME', 'cn=admin,DC=kanboard,DC=local');
|
||||||
|
|
||||||
|
define('LDAP_PASSWORD', 'password');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
define('LDAP_USER_BASE_DN', 'OU=Users,DC=kanboard,DC=local');
|
||||||
|
|
||||||
|
define('LDAP_USER_FILTER', 'uid=%s');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
define('LDAP_GROUP_ADMIN_DN', 'cn=Kanboard Admins,ou=Groups,dc=kanboard,dc=local');
|
||||||
|
|
||||||
|
define('LDAP_GROUP_MANAGER_DN', 'cn=Kanboard Managers,ou=Groups,dc=kanboard,dc=local');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// This filter is used to find the groups of our user
|
||||||
|
|
||||||
|
define('LDAP_GROUP_USER_FILTER', '(&(objectClass=posixGroup)(memberUid=%s))');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
define('LDAP_GROUP_PROVIDER', true);
|
||||||
|
|
||||||
|
define('LDAP_GROUP_BASE_DN', 'ou=Groups,dc=kanboard,dc=local');
|
||||||
|
|
||||||
|
define('LDAP_GROUP_FILTER', '(&(objectClass=posixGroup)(cn=%s*))');
|
||||||
|
|
||||||
|
define('LDAP_GROUP_ATTRIBUTE_NAME', 'cn');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
OpenLDAP с groupOfNames[¶](#openldap-with-groupofnames "Ссылка на этот заголовок")
|
||||||
|
----------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
Пример LDIF пользователя:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
dn: uid=manager,ou=Users,dc=kanboard,dc=local
|
||||||
|
|
||||||
|
objectClass: top
|
||||||
|
|
||||||
|
objectClass: person
|
||||||
|
|
||||||
|
objectClass: organizationalPerson
|
||||||
|
|
||||||
|
objectClass: inetOrgPerson
|
||||||
|
|
||||||
|
uid: manager
|
||||||
|
|
||||||
|
sn: Lastname
|
||||||
|
|
||||||
|
givenName: Firstname
|
||||||
|
|
||||||
|
cn: Kanboard Manager
|
||||||
|
|
||||||
|
displayName: Kanboard Manager
|
||||||
|
|
||||||
|
mail: manager@kanboard.local
|
||||||
|
|
||||||
|
userPassword: password
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Пример LDIF группы:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
dn: cn=Kanboard Managers,ou=Groups,dc=kanboard,dc=local
|
||||||
|
|
||||||
|
objectClass: top
|
||||||
|
|
||||||
|
objectClass: groupOfNames
|
||||||
|
|
||||||
|
cn: Kanboard Managers
|
||||||
|
|
||||||
|
member: uid=manager,ou=Users,dc=kanboard,dc=local
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Конфигурация Канборд:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Аутентификация пользователя
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Роли в Канборд сопоставляются с группами LDAP
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Поставщики групп LDAP включены
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- -->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
define('LDAP_AUTH', true);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
define('LDAP_SERVER', 'my-ldap-server');
|
||||||
|
|
||||||
|
define('LDAP_PORT', 389);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
define('LDAP_BIND_TYPE', 'proxy');
|
||||||
|
|
||||||
|
define('LDAP_USERNAME', 'cn=admin,DC=kanboard,DC=local');
|
||||||
|
|
||||||
|
define('LDAP_PASSWORD', 'password');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
define('LDAP_USER_BASE_DN', 'OU=Users,DC=kanboard,DC=local');
|
||||||
|
|
||||||
|
define('LDAP_USER_FILTER', 'uid=%s');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
define('LDAP_GROUP_ADMIN_DN', 'cn=Kanboard Admins,ou=Groups,dc=kanboard,dc=local');
|
||||||
|
|
||||||
|
define('LDAP_GROUP_MANAGER_DN', 'cn=Kanboard Managers,ou=Groups,dc=kanboard,dc=local');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// This filter is used to find the groups of our user
|
||||||
|
|
||||||
|
define('LDAP_GROUP_USER_FILTER', '(&(objectClass=groupOfNames)(member=uid=%s,ou=Users,dc=kanboard,dc=local))');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
define('LDAP_GROUP_PROVIDER', true);
|
||||||
|
|
||||||
|
define('LDAP_GROUP_BASE_DN', 'ou=Groups,dc=kanboard,dc=local');
|
||||||
|
|
||||||
|
define('LDAP_GROUP_FILTER', '(&(objectClass=groupOfNames)(cn=%s*))');
|
||||||
|
|
||||||
|
define('LDAP_GROUP_ATTRIBUTE_NAME', 'cn');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
153
doc/ru_RU/ldap-group-sync.markdown
Normal file
153
doc/ru_RU/ldap-group-sync.markdown
Normal file
@@ -0,0 +1,153 @@
|
|||||||
|
Синхронизация групп LDAP
|
||||||
|
========================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Требования[¶](#requirements "Ссылка на этот заголовок")
|
||||||
|
-------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Правильно настроенную аутентификацию LDAP
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Используется сервер LDAP, который поддерживает `memberOf` или `memberUid` (PosixGroups)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Автоматическое определение ролей пользователей на основании LDAP групп[¶](#define-automatically-user-roles-based-on-ldap-groups "Ссылка на этот заголовок")
|
||||||
|
-----------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Используйте следующие константы в вашем конфигурационном файле:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- `LDAP_GROUP_ADMIN_DN`: Уникальные имена (Distinguished Names) для администраторов приложения
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- `LDAP_GROUP_MANAGER_DN`: Уникальные имена (Distinguished Names) для менеджеров приложения
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Пример для Active Directory:[¶](#example-for-active-directory "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
define('LDAP_GROUP_ADMIN_DN', 'CN=Kanboard Admins,CN=Users,DC=kanboard,DC=local');
|
||||||
|
|
||||||
|
define('LDAP_GROUP_MANAGER_DN', 'CN=Kanboard Managers,CN=Users,DC=kanboard,DC=local');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Участники группы “Kanboard Admins” будут иметь роль “Администратор”
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Участники группы “Kanboard Managers” будут иметь роль “Менеджер”
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Все, кто не попадает под предыдущие определения, будут иметь роль “Пользователь”
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Пример OpenLDAP с Posix Groups:[¶](#example-for-openldap-with-posix-groups "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
define('LDAP_GROUP_BASE_DN', 'ou=Groups,dc=kanboard,dc=local');
|
||||||
|
|
||||||
|
define('LDAP_GROUP_USER_FILTER', '(&(objectClass=posixGroup)(memberUid=%s))');
|
||||||
|
|
||||||
|
define('LDAP_GROUP_ADMIN_DN', 'cn=Kanboard Admins,ou=Groups,dc=kanboard,dc=local');
|
||||||
|
|
||||||
|
define('LDAP_GROUP_MANAGER_DN', 'cn=Kanboard Managers,ou=Groups,dc=kanboard,dc=local');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Вы **должны определить параметр** `LDAP_GROUP_USER_FILTER`, если ваше сервер LDAP использует `memberUid` вместо `memberOf`. Все параметры в этом примере обязательные.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Автоматическая загрузка групп LDAP для Канборд проекта[¶](#automatically-load-ldap-groups-for-project-permissions "Ссылка на этот заголовок")
|
||||||
|
---------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Эта возможность позволяет вам синхронизировать автоматически группы LDAP с группами Канборд. Каждая группа может иметь разные роли в проектах.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
В проекте на странице *Разрешения*, можно ввести имя группы (имеется автодополнение) и Канборд будет искать группу во всех подключенных поставщиках.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Если группа не найдена в локальной базе данных, то она будет автоматически синхронизированна.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- `LDAP_GROUP_PROVIDER`: Включение поставщика группы LDAP
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- `LDAP_GROUP_BASE_DN`: Уникальное имя (Distinguished Names) для поиска группы в LDAP директории
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- `LDAP_GROUP_FILTER`: фильтр LDAP используемый для выполнения запроса
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- `LDAP_GROUP_ATTRIBUTE_NAME`: атрибут LDAP используемый для получения имени группы
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Пример для Active Directory:[¶](#id1 "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
define('LDAP_GROUP_PROVIDER', true);
|
||||||
|
|
||||||
|
define('LDAP_GROUP_BASE_DN', 'CN=Groups,DC=kanboard,DC=local');
|
||||||
|
|
||||||
|
define('LDAP_GROUP_FILTER', '(&(objectClass=group)(sAMAccountName=%s*))');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
С помощью фильтра, в примере выше, Канборд будет искать группы соответсвующие запросу. Если пользователь введет текст “Мои группы” в автозаполняемое поле, Канборд вернет все группы которые соответсвуют шаблону: `(&(objectClass=group)(sAMAccountName=Мои группы*))`.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Примечание 1: Спец символ `*` очень важен, в противном случает **будет выбрано только точное совпадение**
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Примечание 2: Эта функция возможна только с аутентификацией LDAP настроенной на метод “proxy” или “anonymous”
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Больше примеров фильтров LDAP для Active Directory](http://social.technet.microsoft.com/wiki/contents/articles/5392.active-directory-ldap-syntax-filters.aspx)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Пример OpenLDAP с Posix Groups:[¶](#id2 "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
define('LDAP_GROUP_PROVIDER', true);
|
||||||
|
|
||||||
|
define('LDAP_GROUP_BASE_DN', 'ou=Groups,dc=kanboard,dc=local');
|
||||||
|
|
||||||
|
define('LDAP_GROUP_FILTER', '(&(objectClass=posixGroup)(cn=%s*))');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
49
doc/ru_RU/ldap-parameters.markdown
Normal file
49
doc/ru_RU/ldap-parameters.markdown
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
Параметры LDAP для конфигурации
|
||||||
|
===============================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Список доступных параметров LDAP:
|
||||||
|
|
||||||
|
|
||||||
|
| Параметр | Значение по умолчанию |Описание |
|
||||||
|
|---------------------------|------------------------------|-----------------------------|
|
||||||
|
| `LDAP_AUTH` | false | Включить аутентификацию LDAP |
|
||||||
|
| `LDAP_SERVER` | Нет значения | Имя сервера LDAP |
|
||||||
|
| `LDAP_PORT` | 389 | Порт сервера LDAP |
|
||||||
|
| `LDAP_SSL_VERIFY` | true | Проверка сертификата для URL `ldaps://` |
|
||||||
|
| `LDAP_START_TLS` | false | Включение LDAP start TLS |
|
||||||
|
| `LDAP_USERNAME_CASE_SENSITIVE` | false | Включение/выключение нижнего и верхнего регистра букв в Канборд для пользователей ldap для исключения дублирования пользователей (база данных чувствительна к регистру) |
|
||||||
|
| `LDAP_BIND_TYPE` | anonymous | Тип подключения: “anonymous”, “user” or “proxy” |
|
||||||
|
| `LDAP_USERNAME` | null | Имя пользователя LDAP для использования в методе proxy или шаблон имени пользователя для использования в методе user |
|
||||||
|
| `LDAP_PASSWORD` | null | Пароль LDAP при использовании метода proxy |
|
||||||
|
| `LDAP_USER_BASE_DN`| Нет значения | Уникальное имя (DN) LDAP для пользователей (Пример: “CN=Users,DC=kanboard,DC=local”) |
|
||||||
|
| `LDAP_USER_FILTER` | Нет значения | Шаблон LDAP, который используется для поиска пользователей (Пример: “(&(objectClass=user)(sAMAccountName=%s))”) |
|
||||||
|
| `LDAP_USER_ATTRIBUTE_USERNAME` | uid | Атрибут LDAP для имени пользователя (Например: “samaccountname”) |
|
||||||
|
| `LDAP_USER_ATTRIBUTE_FULLNAME` | cn | Атрибут LDAP полного имени пользователя (Например: “displayname”) |
|
||||||
|
| `LDAP_USER_ATTRIBUTE_EMAIL` | mail | Атрибут LDAP для email пользователя |
|
||||||
|
| `LDAP_USER_ATTRIBUTE_GROUPS` | memberof | Атрибут LDAP для поиска групп в профиле пользователя |
|
||||||
|
| `LDAP_USER_ATTRIBUTE_PHOTO` | Нет значения | Атрибут LDAP для поиска фотографии пользователя (jpegPhoto или thumbnailPhoto) |
|
||||||
|
| `LDAP_USER_ATTRIBUTE_LANGUAGE` | Нет значения | Атрибут LDAP для языка пользователя (preferredlanguage), применимый формат языка - “ru-RU” |
|
||||||
|
| `LDAP_USER_CREATION` | true | Включение автоматического создания пользователя из LDAP |
|
||||||
|
| `LDAP_GROUP_ADMIN_DN` | Нет значения | Уникальное имя (DN) LDAP для администраторов (Например: “CN=Kanboard-Admins,CN=Users,DC=kanboard,DC=local”) |
|
||||||
|
| `LDAP_GROUP_MANAGER_DN` | Нет значения | Уникальное имя (DN) LDAP для менеджеров (Например: “CN=Kanboard Managers,CN=Users,DC=kanboard,DC=local”) |
|
||||||
|
| `LDAP_GROUP_PROVIDER` | false | Включение поставщика групп LDAP для “Разрешения” в проектах |
|
||||||
|
| `LDAP_GROUP_BASE_DN` | Нет значения | Уникальное имя (Base DN) LDAP для групп |
|
||||||
|
| `LDAP_GROUP_FILTER` | Нет значения | Фильтр групп LDAP (Например: “(&(objectClass=group)(sAMAccountName=%s\*))”) |
|
||||||
|
| `LDAP_GROUP_USER_FILTER` | Empty | Если определено, то Канборд будет искать группы пользователей в LDAP\_GROUP\_BASE\_DN с помощью этого фильтра, это удобно только для posixGroups (Например: `(&(objectClass=posixGroup)(memberUid=%s))`|
|
||||||
|
| `LDAP_GROUP_ATTRIBUTE_NAME` | cn | атрибут LDAP для имени группы |
|
||||||
|
|
||||||
|
|
||||||
|
Примечание
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Атрибуты LDAP должны быть в нижнем регистре
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
46
doc/ru_RU/ldap-profile-picture.markdown
Normal file
46
doc/ru_RU/ldap-profile-picture.markdown
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
Фотография пользователя из профиля LDAP
|
||||||
|
=======================================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Канборд может автоматически загружать фотографию пользователя из сервера LDAP.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Эта функция возможна только если активирована аутентификация LDAP и указан параметр `LDAP_USER_ATTRIBUTE_PHOTO`.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Настройка[¶](#configuration "Ссылка на этот заголовок")
|
||||||
|
-------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
В вашем `config.php`, вы должны установить атрибут LDAP, используемый для хранения изображения.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
define('LDAP_USER_ATTRIBUTE_PHOTO', 'jpegPhoto');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Обычно используются атрибуты `jpegPhoto` или `thumbnailPhoto`. Изображения могут хранится в формате JPEG или PNG.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Для загрузки изображения в пользовательски профиль, администраторы Active Directory могут использовать программу [AD Photo Edit](http://www.cjwdev.co.uk/Software/ADPhotoEdit/Info.html).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Примечание[¶](#notes "Ссылка на этот заголовок")
|
||||||
|
------------------------------------------------
|
||||||
|
|
||||||
|
Изображение из профиля **загружается при входе, только если изображение не было загружено ранее**.
|
||||||
|
|
||||||
|
Для смены изображения, нужно вручную удалить ранее загруженное изображение из профиля пользователя.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
23
doc/ru_RU/link-labels.markdown
Normal file
23
doc/ru_RU/link-labels.markdown
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
Настройки ссылки
|
||||||
|
================
|
||||||
|
|
||||||
|
|
||||||
|
Связи в задачах могут быть изменены в настройках приложения (**Настройки** -\> **Настройки ссылки**)
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Метки для ссылок.
|
||||||
|
|
||||||
|
|
||||||
|
Каждая метка может иметь противоположное опеределение. Если нет противоположного значения, метка считается двунаправленная.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Создание ссылки.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
128
doc/ru_RU/mysql-configuration.markdown
Normal file
128
doc/ru_RU/mysql-configuration.markdown
Normal file
@@ -0,0 +1,128 @@
|
|||||||
|
Настройка Mysql/MariaDB
|
||||||
|
=======================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
По умолчанию Канборд использует для хранения данных Sqlite. Вместо Sqlite возможно использовать Mysql или MariaDB.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Требования[¶](#requirements "Ссылка на этот заголовок")
|
||||||
|
-------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Сервер Mysql
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Установленное расширение PHP - `pdo_mysql`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Примечание: работа Канборда протестирована с **Mysql \>= 5.5 и MariaDB \>= 10.0**
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Настройка Mysql[¶](#mysql-configuration "Ссылка на этот заголовок")
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Создание базы данных[¶](#create-a-database "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Первым шагом надо создать базу данных на вашем сервере Mysql. Например, вы можете создать базу в командной строке клиента mysql:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
CREATE DATABASE kanboard;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Создание файла конфигурации[¶](#create-a-config-file "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Файл `config.php` должен содержать следующие значения:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<?php
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// We choose to use Mysql instead of Sqlite
|
||||||
|
|
||||||
|
define('DB_DRIVER', 'mysql');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Mysql parameters
|
||||||
|
|
||||||
|
define('DB_USERNAME', 'REPLACE_ME');
|
||||||
|
|
||||||
|
define('DB_PASSWORD', 'REPLACE_ME');
|
||||||
|
|
||||||
|
define('DB_HOSTNAME', 'REPLACE_ME');
|
||||||
|
|
||||||
|
define('DB_NAME', 'kanboard');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Примечание: Вы можете переименовать демонстрационный файл `config.default.php` в `config.php`.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Импорт SQL дампа (альтернативный метод)[¶](#importing-sql-dump-alternative-method "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
В первый раз, Канборд запускает по очереди каждую миграцию базы данных и этот процес может занять некоторое время, в зависимости от вашей конфигурации.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Чтобы избежать задержек, вы можете инициализировать базу данных напрямую, имопртируя SQL схему:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
mysql -u root -p my_database < app/Schema/Sql/mysql.sql
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Файл [\`\`](#id1)app/Schema/Sql/mysql.sql\`\`это SQL дамп, который представляет последнюю версию базы данных.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Конфигурация SSL[¶](#ssl-configuration "Ссылка на этот заголовок")
|
||||||
|
------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Эти параметры должны быть указаны для включения соединения Mysql SSL:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Mysql SSL key
|
||||||
|
|
||||||
|
define('DB_SSL_KEY', '/path/to/client-key.pem');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Mysql SSL certificate
|
||||||
|
|
||||||
|
define('DB_SSL_CERT', '/path/to/client-cert.pem');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Mysql SSL CA
|
||||||
|
|
||||||
|
define('DB_SSL_CA', '/path/to/ca-cert.pem');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
233
doc/ru_RU/nice-urls.markdown
Normal file
233
doc/ru_RU/nice-urls.markdown
Normal file
@@ -0,0 +1,233 @@
|
|||||||
|
Переопределение URL
|
||||||
|
===================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Канборд может работать и с переопределенными URL и с простыми.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Пример переопределенного URL: `/board/123`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- По другому: `?controller=board&action=show&project_id=123`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Если вы используете Канборд с Apache и включенным mode rewrite, красивые URL будут использоваться автоматически. В случае, если вы получаете ошибку “404 Not Found”, то возможно надо внести изменения в DocumentRoot:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<Directory /var/www/kanboard/>
|
||||||
|
|
||||||
|
AllowOverride FileInfo Options=All,MultiViews AuthConfig
|
||||||
|
|
||||||
|
</Directory>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
URL ярлыки[¶](#url-shortcuts "Ссылка на этот заголовок")
|
||||||
|
--------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Перейти к задаче \#123: **/t/123**
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Перейти на доску в проект \#2: **/b/2**
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Перейти в календарь проекта \#5: **/c/5**
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Перейти к просмотру списком проекта \#8: **/l/8**
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Перейти к настройкам проекта для проекта id \#42: **/p/42**
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Настройка[¶](#configuration "Ссылка на этот заголовок")
|
||||||
|
-------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
По умолчанию, Канборд проверяет включен ли в Apache mode rewrite.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Для исключения автоматической проверки переопределения URL на веб сервере, вы должны включить эту опцию в вашем конфигурационном фале:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
define('ENABLE_URL_REWRITE', true);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Когда константа имеет значение `true`:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Сгенерированные из утилиты командной строки URL будут также преобразованы
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Если вы используете другой веб сервер вместо Apache, например Nginx или Microsoft IIS, вы можете сами настроить переопределение URL
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Примечание: Канборд всегда использует URL по “старинке”, если данная константа не настроена. Эта настройка опциональна.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Пример настройки Nginx[¶](#nginx-configuration-example "Ссылка на этот заголовок")
|
||||||
|
----------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
В разделе `server`, вашего конфигурационного файла Nginx, вы можете использовать этот пример:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
index index.php;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
location / {
|
||||||
|
|
||||||
|
try_files $uri $uri/ /index.php$is_args$args;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# If Kanboard is under a subfolder
|
||||||
|
|
||||||
|
# try_files $uri $uri/ /kanboard/index.php;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
location ~ \.php$ {
|
||||||
|
|
||||||
|
try_files $uri =404;
|
||||||
|
|
||||||
|
fastcgi_split_path_info ^(.+\.php)(/.+)$;
|
||||||
|
|
||||||
|
fastcgi_pass unix:/var/run/php5-fpm.sock;
|
||||||
|
|
||||||
|
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||||
|
|
||||||
|
fastcgi_index index.php;
|
||||||
|
|
||||||
|
include fastcgi_params;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Deny access to the directory data
|
||||||
|
|
||||||
|
location ~* /data {
|
||||||
|
|
||||||
|
deny all;
|
||||||
|
|
||||||
|
return 404;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Deny access to .htaccess
|
||||||
|
|
||||||
|
location ~ /\.ht {
|
||||||
|
|
||||||
|
deny all;
|
||||||
|
|
||||||
|
return 404;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
В конфигурационном файле Канборда `config.php`:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
define('ENABLE_URL_REWRITE', true);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Адаптируйте пример приведенный выше к вашей конфигурации.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Пример настройки IIS[¶](#iis-configuration-example "Ссылка на этот заголовок")
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Создайте web.config в каталоге где установлен Канборд:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<configuration>
|
||||||
|
|
||||||
|
<system.webServer>
|
||||||
|
|
||||||
|
<rewrite>
|
||||||
|
|
||||||
|
<rules>
|
||||||
|
|
||||||
|
<rule name="Imported Rule 1" stopProcessing="true">
|
||||||
|
|
||||||
|
<match url="^" ignoreCase="false" />
|
||||||
|
|
||||||
|
<conditions logicalGrouping="MatchAll">
|
||||||
|
|
||||||
|
<add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
|
||||||
|
|
||||||
|
</conditions>
|
||||||
|
|
||||||
|
<action type="Rewrite" url="index.php" appendQueryString="true" />
|
||||||
|
|
||||||
|
</rule>
|
||||||
|
|
||||||
|
</rules>
|
||||||
|
|
||||||
|
</rewrite>
|
||||||
|
|
||||||
|
</system.webServer>
|
||||||
|
|
||||||
|
</configuration>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
В конфигурационном файле Канборда `config.php`:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
define('ENABLE_URL_REWRITE', true);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Адаптируйте пример приведенный выше к вашей конфигурации.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
16
doc/ru_RU/nitrous.markdown
Normal file
16
doc/ru_RU/nitrous.markdown
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
Nitrous быстрый старт
|
||||||
|
=====================
|
||||||
|
|
||||||
|
|
||||||
|
Создайте свободное окружение разработки для проекта Kanboard в облаке на [Nitrous.io](https://www.nitrous.io).
|
||||||
|
|
||||||
|
Зайдите на ваш сайт через ссылку в IDE `Preview > 3000`{.docutils .literal}.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
111
doc/ru_RU/notifications.markdown
Normal file
111
doc/ru_RU/notifications.markdown
Normal file
@@ -0,0 +1,111 @@
|
|||||||
|
Уведомления
|
||||||
|
===========
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Канборд имеет возможность отправлять сообщения по нескольким каналам:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Email
|
||||||
|
|
||||||
|
- Веб (уведомления в Канборд)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Внешние плагины позволяют вам посылать уведомления в Slack, Hipchat, Jabber или другие чат системы.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Настройка[¶](#configuration "Ссылка на этот заголовок")
|
||||||
|
-------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Любой пользователь может включить уведоления в своем профиле: в правом верхнем углу выберите во всплывающем меню **Мой профиль** -\> **Уведомления**. Уведомления по умолчанию выключены.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Для получения уведомлений по email вам надо иметь электронную почту (email), которая должна быть указана в вашем профиле, и Канборд должен быть настроен на отправку электронной почты.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Уведомления
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Вы можете выбрать, удобный для вас, способ получения уведомлений:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Email
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Веб (смотрите ниже)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Для каждого проекта в котором вы являетесь участником, вы можете выбрать получение уведомления для:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Всех задач
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Только для задач назначеных вам
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Только для задач, которые создали вы
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Только для задач, созданных вами и назначенных вам
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Также, вы можете выбрать проекты из которых хотите получать уведомления. По умолчанию - все проекты, в которых вы являетесь участником.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Веб уведомления[¶](#web-notifications "Ссылка на этот заголовок")
|
||||||
|
-----------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Веб уведомления доступны на рабочей панели **Мои уведомления** или вверху в виде иконки:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Иконка веб уведомления.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Уведомления отображаются списком. Вы можете выбрать действие **Пометить как прочитанное** для каждого сообщения или отметить сразу все.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Веб уведомления.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Таким образом, вы можете получать веб уведомления без использования электронной почты.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
38
doc/ru_RU/plugin-directory.markdown
Normal file
38
doc/ru_RU/plugin-directory.markdown
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
Настройка директории плагинов
|
||||||
|
=============================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Для установки, обновления и удаления плагинов в интерфейсе пользователя, вам необходимо выполнить следующие пункты:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Директория плагинов должна быть доступна на запись от пользователя веб сервера
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Расширение zip должно быть доступно на вашем сервере
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Параметр в конфигурации `PLUGIN_INSTALLER` должен быть установлен в `true`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Для отключения этой возможности, измените значение в конфигурационном файле `PLUGIN_INSTALLER` на `false`. Также, вы должны изменить права доступа на директорию плагинов.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Только администраторы могут устанавливать плагины через пользовательский интерфейс.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
По умолчанию, доступны только плагины из списка на веб сайте Канборда.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
167
doc/ru_RU/plugins.markdown
Normal file
167
doc/ru_RU/plugins.markdown
Normal file
@@ -0,0 +1,167 @@
|
|||||||
|
Разработка плагина
|
||||||
|
==================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
**Внимание: API плагинов на данный момент в состоянии альфа.**
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Плагины удобны для расширения базового функционала Канборда: добавление возможностей, создание тем или изменения базового поведения.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Создатели плагина должны указать точную версию Канборда, под которую написан плагин. Внутренний код Канборда может изменяться и ваш плагин должен тестироваться на совместимость с новой версией. Всегда следите за [ChangeLog](https://github.com/fguillot/kanboard/blob/master/ChangeLog) для внесения изменений.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- [Создание вашего плагина](plugin-registration.markdown)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- [Использование plugin hooks](plugin-hooks.markdown)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- [События](plugin-events.markdown)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- [Изменение базового поведения приложений](plugin-overrides.markdown)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- [Добавление миграции схемы для плагинов](plugin-schema-migrations.markdown)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- [Пользовательские маршруты](plugin-routes.markdown)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- [Добавление обработчиков](plugin-helpers.markdown)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- [Добавление почтовых трансляторов](plugin-mail-transports.markdown)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- [Добавление типов оповещений](plugin-notifications.markdown)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- [Добавление автоматических действий](plugin-automatic-actions.markdown)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- [Расширение данных пользователей, задач и проектов](plugin-metadata.markdown)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- [Архитектура аутентификации](plugin-authentication-architecture.markdown)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- [Регистрация плагина аутентификации](plugin-authentication.markdown)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- [Архитектура авторизации](plugin-authorization-architecture.markdown)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- [Провайдер пользовательской группы](plugin-group-provider.markdown)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- [Провайдер внешней ссылки](plugin-external-link.markdown)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- [Добавление провайдера аватара](plugin-avatar-provider.markdown)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- [Клиент LDAP](plugin-ldap-client.markdown)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Примеры плагинов[¶](#examples-of-plugins "Ссылка на этот заголовок")
|
||||||
|
--------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- [Двухуровневая аутентификация SMS](https://github.com/kanboard/plugin-sms-2fa)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- [Аутентификация Reverse-Proxy с поддержкой LDAP](https://github.com/kanboard/plugin-reverse-proxy-ldap)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- [Slack](https://github.com/kanboard/plugin-slack)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- [Hipchat](https://github.com/kanboard/plugin-hipchat)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- [Jabber](https://github.com/kanboard/plugin-jabber)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- [Sendgrid](https://github.com/kanboard/plugin-sendgrid)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- [Mailgun](https://github.com/kanboard/plugin-mailgun)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- [Postmark](https://github.com/kanboard/plugin-postmark)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- [Amazon S3](https://github.com/kanboard/plugin-s3)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- [Планирование бюджета](https://github.com/kanboard/plugin-budget)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- [Расписание пользователя](https://github.com/kanboard/plugin-timetable)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- [Прогнозирование подзадач](https://github.com/kanboard/plugin-subtask-forecast)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- [Пример автоматических действий](https://github.com/kanboard/plugin-example-automatic-action)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- [Пример плагина темы](https://github.com/kanboard/plugin-example-theme)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- [Пример плагина CSS](https://github.com/kanboard/plugin-example-css)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
92
doc/ru_RU/postgresql-configuration.markdown
Normal file
92
doc/ru_RU/postgresql-configuration.markdown
Normal file
@@ -0,0 +1,92 @@
|
|||||||
|
Настройка Postgresql
|
||||||
|
====================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
По умолчанию, Канборд использует для хранения данных Sqlite, но возможно использовать и Postgresql.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Требования[¶](#requirements "Ссылка на этот заголовок")
|
||||||
|
-------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Установленный и настроенный сервер Postgresql
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Установленное PHP расширение - `pdo_pgsql` (Debian/Ubuntu: `apt-get install php5-pgsql`)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Примечание: работа Канборда протестирована с **Postgresql 9.3 и 9.4**
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Настройка[¶](#configuration "Ссылка на этот заголовок")
|
||||||
|
-------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Создайте пустую базу данных выполнив команду `pgsql`:[¶](#create-an-empty-database-with-the-command-pgsql "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
CREATE DATABASE kanboard;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Создание конфигурационного файла[¶](#create-a-config-file "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Файл `config.php` должен содержать следующие значения:
|
||||||
|
|
||||||
|
```php
|
||||||
|
<?php
|
||||||
|
|
||||||
|
// We choose to use Postgresql instead of Sqlite
|
||||||
|
define('DB_DRIVER', 'postgres');
|
||||||
|
|
||||||
|
// Mysql parameters
|
||||||
|
define('DB_USERNAME', 'REPLACE_ME');
|
||||||
|
define('DB_PASSWORD', 'REPLACE_ME');
|
||||||
|
define('DB_HOSTNAME', 'REPLACE_ME');
|
||||||
|
define('DB_NAME', 'kanboard');
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Примечание: Вы можете переименовать демонстрационный файл `config.default.php` в `config.php`.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Импортирование дампа SQL (альтернативный метод)[¶](#importing-sql-dump-alternative-method "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
В первый раз, Канборд запускает по очереди каждую миграцию базы данных и этот процес может занять некоторое время, в зависимости от вашей конфигурации.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Для избежания проблем или задержек вы можете инициализировать базу данных напрямую посредством импорта схемы SQL:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
psql -U postgres my_database < app/Schema/Sql/postgres.sql
|
||||||
|
```
|
||||||
|
|
||||||
|
Файл `app/Schema/Sql/postgres.sql` - это sql дамп, который представляет последнюю версию базы данных.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
105
doc/ru_RU/project-configuration.markdown
Normal file
105
doc/ru_RU/project-configuration.markdown
Normal file
@@ -0,0 +1,105 @@
|
|||||||
|
Настройки проекта
|
||||||
|
=================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
В правом верхнем выпадающем меню выберите **Настройки**, затем выберите **Настройки проекта** слева.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Настройки проекта.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Колонки по умолчанию для новых проектов[¶](#default-columns-for-new-projects "Ссылка на этот заголовок")
|
||||||
|
--------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Вы можете изменить колонки по умолчанию. Это удобно, когда вы создаете однотипные проекты с одними и теми же колонками.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Название колонок должны быть разделены запятой.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
По умолчанию, в Канборде используются следующие колонки: Ожидающие, Готовые, В процессе, Выполнено
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Стандартные категории для новых проектов[¶](#default-categories-for-new-projects "Ссылка на этот заголовок")
|
||||||
|
------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Категории не являются общими для приложения, но могут использоваться в проектах. Каждый проект может иметь разные категории.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Однако, если вы постоянно создаете одни и теже категории для разных проектов, то вы можете задать список категорий, которые будут автоматически создаваться при создании проекта.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Разрешена только одна подзадача в разработке одновременно для одного пользователя[¶](#allow-only-one-subtask-in-progress-at-the-same-time-for-a-user "Ссылка на этот заголовок")
|
||||||
|
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Когда эта опция включена, пользователь может работать только с одной подзадачей одновременно.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Если другая подзадача перейдет статус “В процессе”, то пользователь увидит следующее диалоговое окно:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Ограничение пользовательских подзадач.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Триггер автоматического отслеживания времени подзадач[¶](#trigger-automatically-subtask-time-tracking "Ссылка на этот заголовок")
|
||||||
|
---------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Если этот триггер включен когда статус подзадачи меняется на “В процессе”, то таймер автоматически запускается.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Выключите эту опцию, если вы не хотите отслеживать время.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Включить в диаграмму закрытые задачи[¶](#include-closed-tasks-in-the-cumulative-flow-diagram "Ссылка на этот заголовок")
|
||||||
|
------------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Если эта опция включена, закрытые задачи будут добавлены в накопительную диаграмму.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Если выключена, то только открытые задачи будут подсчитаны.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Эта опция влияет на колонку “total” (всего) в таблице “project\_daily\_column\_stats” (проект\_ежедневно\_колонка\_статистика)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
55
doc/ru_RU/project-permissions.markdown
Normal file
55
doc/ru_RU/project-permissions.markdown
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
Права доступа к проекту
|
||||||
|
=======================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Все проекты изолированы и отделены друг от друга. Доступ к проекту может назначать владелец проекта.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Каждый пользователь и каждая группа могут иметь разные назначенные роли. Имеются [три типа ролей для проектов](roles.markdown):
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Менеджер проекта
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Участник проекта
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Наблюдатель проекта
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Только администратор может иметь полный доступ ко всему.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Назначение ролей доступно через **Меню -\> Настройки -\> Разрешения**
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Права доступа к проекту
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Если вы выберите **Разрешить любому**, то все пользователи Канборд будут считаться участниками Проекта. В таком случае, нет необходимости назначать роли. Потому что, разрешения, назначенные пользователям и группам, на доступ к Проекту не будут работать.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Приватный проект не позволяет устанавливать разрешения.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
27
doc/ru_RU/project-types.markdown
Normal file
27
doc/ru_RU/project-types.markdown
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
Типы проектов
|
||||||
|
=============
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Проекты могут быть двух типов:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
| Тип | Описание |
|
||||||
|
|-----------------|----------------------------------------------------------|
|
||||||
|
| Командный проект| В проекте могут принимать участие пользователи и группы |
|
||||||
|
| Приватный проект| Проект принадлежит только одному пользователю, к проекту нельзя присоединить участников|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Командный проект могут создавать только пользователи с ролью Администратор и Менеджер.
|
||||||
|
- Приватный проект могут создавать все пользователи.
|
||||||
|
|
||||||
|
|
||||||
|
[Читать документацию про роли в Kanboard](roles.markdown)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
154
doc/ru_RU/project-views.markdown
Normal file
154
doc/ru_RU/project-views.markdown
Normal file
@@ -0,0 +1,154 @@
|
|||||||
|
Представления Доска, Календарь, Список и Гант
|
||||||
|
=============================================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
В каждом проекте задачи могут быть отображены в разных представлениях: **Доска, Календарь, Список и Гант**. Для отображения представлений используется фильтр в верхней части рабочей панели. Для поиска используется [расширенный синтаксис](ext-search.markdown).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Представление - Доска[¶](#board-view "Ссылка на этот заголовок")
|
||||||
|
----------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Представление зачад в виде доски
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- В этом представлении вы можете мышкой перемещать задачи между колонками.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Также, для перемещения задач на доске, можно использовать горячие клавиши **“v b”**.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Затемнения вокруг задачи показывает активную или измененную задачу.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Лимит задач на Доске
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Когда лимит задач для колонки достигнут, тогда фон колонки становится красный. Это означает, что слишком много задач выполняются одновременно.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Ознакомится с настройками Доски](board-configuration.markdown)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Представление - Календарь[¶](#calendar-view "Ссылка на этот заголовок")
|
||||||
|
-----------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Представление в виде календаря
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- В этом представлении вы можете видеть задачи на конкретные даты.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Вы можете сделать настройки, которые позволят вам видеть задачи в работе.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Вы можете использовать горячие клавиши **“v c”** для перехода на представление Календарь.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- [Ознакомится с настройками Календаря](calendar-configuration.markdown)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Представление - Список[¶](#list-view "Ссылка на этот заголовок")
|
||||||
|
----------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Представление списком.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- С помощью этого представления все результаты отображаются в виде таблицы.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Для быстрого перехода на представление Список вы можете использовать горячие клавиши **“v l”**.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Представление - Гант.[¶](#gantt-view "Ссылка на этот заголовок")
|
||||||
|
----------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Представление диаграммой Ганта.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Представление Гант отображает задачи горизонтальными графиками
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Для построения графика используется дата начала и срок выполнения
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Для быстрого перехода к представлению Гант используйте горячие клавиши : **“v g”**
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Обзор Проекта[¶](#project-overview "Ссылка на этот заголовок")
|
||||||
|
--------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Представления проекта
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Отображает описание проекта
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Показывает прикрепленные и загруженные документы проекта
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Показывает список участников проекта
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Показывает последнюю активность в проекте
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
67
doc/ru_RU/recurring-tasks.markdown
Normal file
67
doc/ru_RU/recurring-tasks.markdown
Normal file
@@ -0,0 +1,67 @@
|
|||||||
|
Повторяющиеся задачи
|
||||||
|
====================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Для соответсвия методологии Канбан, повторяющиеся задачи не имеют в качестве основы дату, а запускаются при наступлении событий на Доске.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Повторяющиеся задачи копируются (появляются вновь) в первой колонке Доски когда наступает определенное событие
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Дата завершения (срок выполнения задачи) пересчитывается автоматически
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Each task records the task id of the parent task that created it and the child task created
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Настройка[¶](#configuration "Ссылка на этот заголовок")
|
||||||
|
-------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Перейдите на страницу детального представления задачи или используйте выпадающее меню на доске, выберите **Редактировать повторы**.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Редактировать повторы.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
В редактировании повторов имеется выбор 3 триггеров для генерации периодической задачи:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Когда задача перемещается из первой колонки
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Когда задача перемещается в последнюю колонку
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Когда задача закрывается
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Дата завершения, если установлена для текущей задачи, может быть пересчитана с учетом **Коэффициента для расчета новой даты** и **Период для рассчета новой даты завершения** (например, 7 дней, 6 месяцев, 1 год). Базовой датой вычисления новой даты завершения может быть и имеющаяся дата завершения, или дата действия.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
137
doc/ru_RU/requirements.markdown
Normal file
137
doc/ru_RU/requirements.markdown
Normal file
@@ -0,0 +1,137 @@
|
|||||||
|
Системные требования
|
||||||
|
====================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
На сервере[¶](#server-side "Ссылка на этот заголовок")
|
||||||
|
------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Поддерживаемые операционные системы[¶](#compatible-operating-systems "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|Операционная система|
|
||||||
|
|-----------------------------------|
|
||||||
|
|Linux Ubuntu Xenial Xerus 16.04 LTS|
|
||||||
|
| Linux Ubuntu Trusty 14.04 LTS|
|
||||||
|
| Linux Centos 6.x|
|
||||||
|
| Linux Centos 7.x|
|
||||||
|
| Linux Redhat 6.x|
|
||||||
|
|Linux Redhat 7.x|
|
||||||
|
| Linux Debian 8|
|
||||||
|
| FreeBSD 10.x|
|
||||||
|
| Microsoft Windows 2012 R2|
|
||||||
|
| Microsoft Windows 2008|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Поддерживаемые базы данных[¶](#compatible-databases "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
|База данных |
|
||||||
|
|----------------------|
|
||||||
|
|Sqlite 3.x |
|
||||||
|
|Mysql \>= 5.5 |
|
||||||
|
|MariaDB \>= 10 |
|
||||||
|
| Postgresql \>= 9.3 |
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Какую базу данных выбрать?
|
||||||
|
|
||||||
|
|
||||||
|
| Тип | Когда использовать |
|
||||||
|
|--------------------|--------------------------------------------------------|
|
||||||
|
| Sqlite | Один пользователь или небольшая команда |
|
||||||
|
| Mysql/Postgres | Большая команда, конфигурация высокой доступности |
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Не используйте Sqlite на смонтированном NFS. Используйте Sqlite только на дисках с высокой скоростью чтение/запись.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Совместимые веб сервера[¶](#compatible-web-servers "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
Apache HTTP Server, Nginx , Microsoft IIS
|
||||||
|
|
||||||
|
Канборд изначально сконфигурирован для работы с Apache (URL rewriting).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Версии PHP[¶](#php-versions "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
PHP \>= 5.3.3, PHP 5.4, PHP 5.5, PHP 5.6, PHP 7.x
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Требуемые расширения для PHP[¶](#php-extensions-required "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
| Требуемые расширения для PHP | Примечание |
|
||||||
|
|----------------------------------|-----------------------------------------|
|
||||||
|
| pdo\_sqlite | Только при использовании Sqlite |
|
||||||
|
| pdo\_mysql | Только при использоании Mysql/MariaDB |
|
||||||
|
| pdo\_pgsql | Только при использовании Postgres |
|
||||||
|
| gd | |
|
||||||
|
| mbstring | |
|
||||||
|
| openssl | |
|
||||||
|
| json | |
|
||||||
|
| hash | |
|
||||||
|
| ctype | |
|
||||||
|
| session | |
|
||||||
|
| ldap | Только для аутентификации LDAP |
|
||||||
|
| Zend OPcache | Рекомендуется |
|
||||||
|
|
||||||
|
|
||||||
|
### Рекомендуется[¶](#recommendations "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Современная Linux или Unix операционная система.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Высокая производительность достигается с последней версией PHP со включенным кешированием OPcode.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
На клиенте[¶](#client-side "Ссылка на этот заголовок")
|
||||||
|
------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Браузеры[¶](#browsers "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Используйте современные браузеры, обновленные до последней версии:
|
||||||
|
|
||||||
|
|Браузер |
|
||||||
|
|-----------------|
|
||||||
|
| Safari |
|
||||||
|
| Google Chrome |
|
||||||
|
| Mozilla Firefox |
|
||||||
|
| Microsoft Internet Explorer \>= 11|
|
||||||
|
| Microsoft Edge |
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Устройства[¶](#devices "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
| Устройство | Разрешение экрана |
|
||||||
|
|--------------------------------------|--------------------------------------|
|
||||||
|
| Персональный компьютер или ноутбук | \>= 1366 x 768 |
|
||||||
|
| Планшет | \>= 1024 x 768 |
|
||||||
|
|
||||||
|
|
||||||
|
Канборд, пока, не оптимизирован для работы на смартфонах. Конечно, он работает, но пользовательский интерфейс не совсем удобный для использования.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
138
doc/ru_RU/reverse-proxy-authentication.markdown
Normal file
138
doc/ru_RU/reverse-proxy-authentication.markdown
Normal file
@@ -0,0 +1,138 @@
|
|||||||
|
Аутентификация Reverse Proxy
|
||||||
|
============================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Этот метод аутентификации часто используется для [SSO](https://ru.wikipedia.org/wiki/%D0%A2%D0%B5%D1%85%D0%BD%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F_%D0%B5%D0%B4%D0%B8%D0%BD%D0%BE%D0%B3%D0%BE_%D0%B2%D1%85%D0%BE%D0%B4%D0%B0) (Технология единого входа), особенно удобно в больших организациях.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Аутентификация выполняется с помощью другой системы, поэтому Канборд не знает вашего пароля и допускает вас к приложению, так как вы уже прошли аутентификацию.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Требования[¶](#requirements "Ссылка на этот заголовок")
|
||||||
|
-------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Правильно сконфигурированный reverse proxy
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
или
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Apache Auth на том же сервере
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Как это работает?[¶](#how-does-this-work "Ссылка на этот заголовок")
|
||||||
|
--------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
1. Ваш reverse proxy аутентифицирует пользователя и посылает имя пользователя через заголовок HTTP.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2. Канборд извлекает имя пользователя из запроса
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Пользователь создается в Канборд автоматически (опция настраивается)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Открывается новая сессия Канборд (дополнительная аутентификация в Канборд не нужна)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Инструкция по установке[¶](#installation-instructions "Ссылка на этот заголовок")
|
||||||
|
---------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Настройка вашего reverse proxy[¶](#setting-up-your-reverse-proxy "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
В рамках данной документации не рассматривается установка и настройка reverse proxy. Вы должны убедится, что логин пользователя отправляется с reverse proxy в заголовке HTTP.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Настройки Канборда[¶](#setting-up-kanboard "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Создайте свой файл конфигурации `config.php` или скопируйте конфигурацию из файла `config.default.php`:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<?php
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Enable/disable reverse proxy authentication
|
||||||
|
|
||||||
|
define('REVERSE_PROXY_AUTH', true); // Set this value to true
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// The HTTP header to retrieve. If not specified, REMOTE_USER is the default
|
||||||
|
|
||||||
|
define('REVERSE_PROXY_USER_HEADER', 'REMOTE_USER');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// The default Kanboard admin for your organization.
|
||||||
|
|
||||||
|
// Since everything should be filtered by the reverse proxy,
|
||||||
|
|
||||||
|
// you should want to have a bootstrap admin user.
|
||||||
|
|
||||||
|
define('REVERSE_PROXY_DEFAULT_ADMIN', 'myadmin');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// The default domain to assume for the email address.
|
||||||
|
|
||||||
|
// In case the username is not an email address, it
|
||||||
|
|
||||||
|
// will be updated automatically as USER@mydomain.com
|
||||||
|
|
||||||
|
define('REVERSE_PROXY_DEFAULT_DOMAIN', 'mydomain.com');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Примечание:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Если proxy находится на том же сервере, что и Канборд, то в соответствии с протоколом \<[http://www.ietf.org/rfc/rfc3875](http://www.ietf.org/rfc/rfc3875)\>\`\_\_ имя заголовка будет `REMOTE_USER`. Например, Apache добавляет `REMOTE_USER` по умолчанию, если установлено `Require valid-user`.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Если Apache служит reverse proxy для другого Apache выполняющего Канборд, то заголовок `REMOTE_USER` не установлен (это же относится к IIS и Nginx).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Если у вас имеется действующий reverse proxy, то [проект HTTP ICAP](http://tools.ietf.org/html/draft-stecher-icap-subid-00#section-3.4) предполагает, что заголовок должен быть `X-Authenticated-User`. Этот стандарт де-факто был принят разными инструментами.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
44
doc/ru_RU/roles.markdown
Normal file
44
doc/ru_RU/roles.markdown
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
Пользовательские роли
|
||||||
|
=====================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Роли в приложениях[¶](#application-roles "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
--------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Каждый пользователь системы Канборд имеет одну из этих ролей
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
| Роль | Описание |
|
||||||
|
|----------------|-----------------------------------------------------------|
|
||||||
|
| Администратор | Имеет доступ ко всему |
|
||||||
|
| Менеджер | Может создавать командные проекты, но не может изменять настройки приложения |
|
||||||
|
| Пользователь | Может создавать только приватные проекты |
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Роли в проектах[¶](#project-roles "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
-------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
В каждом командном проекте могут быть назначены разные роли для пользователей и групп:
|
||||||
|
|
||||||
|
|
||||||
|
| Роль | Описание |
|
||||||
|
|-----------------|----------------------------------------------------------|
|
||||||
|
| Менеджер проекта| Может изменять настройки проекта, имеет доступ к диаграмме Ганта и отчетам |
|
||||||
|
| Участник проекта| Может создавать задачи и пользоваться доской |
|
||||||
|
| Наблюдатель проекта | Имеет доступ к доске и задачам только на просмотр (чтение) |
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
58
doc/ru_RU/rss.markdown
Normal file
58
doc/ru_RU/rss.markdown
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
RSS/Atom подписки
|
||||||
|
=================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Канборд поддерживает RSS ленты для проектов и пользователей.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- RSS/Atom лента для проекта - содержит только активность в проекте
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- RSS/Atom лента пользователя - содержит поток активности пользователя во всех проектах, в которых пользователь является участником
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Эти подписки доступны только при включенном общем доступе в пользовательском профиле или в настройках проекта.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Включение/выключение RSS ленты проекта[¶](#enable-disable-project-rss-feeds "Ссылка на этот заголовок")
|
||||||
|
-------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Перейдите в **Настройки проекта** -\> **Общий доступ**
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Выключение общего доступа.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Включение/выключение RSS ленты пользователя[¶](#enable-disable-user-rss-feeds "Ссылка на этот заголовок")
|
||||||
|
---------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Перейдите в **Мой профиль** -\> **Общий доступ**
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Ссылка на RSS ленту защищена случайным ключом, только пользователи, которые знают URL ссылку, могут иметь доступ к ленте.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
74
doc/ru_RU/screenshots.markdown
Normal file
74
doc/ru_RU/screenshots.markdown
Normal file
@@ -0,0 +1,74 @@
|
|||||||
|
Добавление снимков экрана (скриншота)
|
||||||
|
=====================================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Для экономии времени вы можете копировать и вставлять изображения прямо в Канборде. Загруженные изображения прикрепляются к задаче.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Например, очень удобно для решения проблемы прикрепить снимок экрана.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Вы можете добавить снимок экрана прямо из Доски нажав на выпадающее меню задачи и выбрав **Прикрепить картинку** или на странице детального просмотра задачи.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Рисунок. Выпадающее меню задачи - **Прикрепить картинку**.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Для добавления нового снимка экрана (скриншота), сделайте снимок экрана (нажмите клавиши Ctrl+PrtScn) и вставьте его используя сочетания клавиш CTRL+V или Command+V
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Прикрепить картинку.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
В Mac OS X вы можете использовать следующие горячие клавиши для создания снимка экрана:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Command-Control-Shift-3: Делает снимок экрана и сохраняет его в буфер обмена
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Command-Control-Shift-4 и выделите необходимую область на экране: Делает снимок экрана для области экрана и сохраняет ее в буфер обмена
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Command-Control-Shift-4, затем пробел, затем нажать на окно: Делает снимок окна и сохраняет его в буфер обмена
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Имеется много разных других программ для создания снимков с экрана с примечаниями и разными формами.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
**Заметка**: Эта возможность работает не во всех браузерах. Например, не работает в Safari из-за этой ошибки: [https://bugs.webkit.org/show\_bug.cgi?id=49141](https://bugs.webkit.org/show_bug.cgi?id=49141)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
24
doc/ru_RU/search.markdown
Normal file
24
doc/ru_RU/search.markdown
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
Поиск
|
||||||
|
|
||||||
|
=====
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Для работы поиска включите JavaScript в браузере.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Здесь можно делать поиск по всем разделам этой документации. Введите ключевые слова в текстовое поле и нажмите кнопку «искать». Внимание: будут найдены только те страницы, в которых есть все указанные слова. Страницы, где есть только часть этих слов, отобраны не будут.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
82
doc/ru_RU/sharing-projects.markdown
Normal file
82
doc/ru_RU/sharing-projects.markdown
Normal file
@@ -0,0 +1,82 @@
|
|||||||
|
Публичные доски и задачи
|
||||||
|
========================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
По умолчанию, Доска имеет приватный доступ, но имеется возможность сделать Доску публичной.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Публичная доска **не может быть изменена (имеется только доступ на чтение)**. Доступ к доске защищен случайно сгенерированным ключом, только пользователи знающие правильный URL могут увидеть публичную Доску.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Публичная Доска автоматически обновляется каждые 60 секунд. Детали задач, также, доступны только для чтения.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Пример использования:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Публикация вашей Доски для кого-либо снаружи (работник из другой организации)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Отображение Доски на большом экране в вашем офисе
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Включение общего доступа[¶](#enable-public-access "Ссылка на этот заголовок")
|
||||||
|
-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Выберете ваш проект, затем нажмите на ссылку **“Общий доступ”** и в завершении нажмите на кнопку **“Включить общий доступ”**
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Включение общего доступа
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Когда общий доступ к проекту включен, сгенерируется несколько ссылок:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Ссылка для просмотра
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- RSS лента
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- iCalendar данные
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Отключить общий доступ.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Вы можете выключить общий доступ к проекту в любой момент.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Каждый раз, когда вы включаете или выключаете общий доступ, генерируется новый ключ. **Доступ по предыдущей ссылке будет невозможен**.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
96
doc/ru_RU/sqlite-database.markdown
Normal file
96
doc/ru_RU/sqlite-database.markdown
Normal file
@@ -0,0 +1,96 @@
|
|||||||
|
Настройка базы данных Sqlite
|
||||||
|
============================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Канборд использует для хранения данных Sqlite по умолчанию. Все задачи, проекты и учетные записи пользователей храняться в этой базе данных.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
База данных Sqlite хранит данные в файле `db.sqlite` в директории `data`.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Экспорт/Резервное копирование[¶](#export-backup "Ссылка на этот заголовок")
|
||||||
|
---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Командная строка[¶](#command-line "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Создание резервных копий выполняется просто, надо скопировать файл `data/db.sqlite` туда, где у вас будут хранится резервные копии.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Пользовательский интерфейс[¶](#user-interface "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Также, в любое время, вы можете скачать базу данных прямо через меню **Настройки**.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Выгружаемая база данных упакована с помощью Gzip и имя базы выглядитит как `db.sqlite.gz`.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Импорт/Восстановление[¶](#import-restoration "Ссылка на этот заголовок")
|
||||||
|
------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Загрузить базу данных через пользовательский интерфейс невозможно. Восстановление должно быть выполнено вручную, когда никто не работает с программой.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Для восстановления резервной копии, достаточно заменить рабочий файл `data/db.sqlite`.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Для разархивирования базы данных упакованной с помощью gzip, выполните следующую команду в терминале: `gunzip db.sqlite.gz`.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Оптимизация[¶](#optimization "Ссылка на этот заголовок")
|
||||||
|
--------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Время от времени, рекомендуется оптимизировать базу данных выполнив команду `VACUUM`. Эта команда пересоздает всю базу данных и используется в следующих случаях:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Для уменьшения размера файла базы данных. В процессе работы пользователей, после удаления записей, в базе данных остается пустое пространство и, соответственно, размер файла базы данных остается прежним.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Дефрагментация, база данных фрагментирована выполнением частыми вставками или обновлениями.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Выполнение оптимизации в командной строке[¶](#from-the-command-line "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
sqlite3 data/db.sqlite 'VACUUM'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Выполнение оптимизации через пользовательский интерфейс[¶](#from-the-user-interface "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Перейдите в правое выпадающее меню **Настройки** и нажмите на ссылку **Оптимизировать базу данных**
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Для дополнительной информации, изучите [документацию Sqlite](https://sqlite.org/lang_vacuum.html).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
111
doc/ru_RU/subtasks.markdown
Normal file
111
doc/ru_RU/subtasks.markdown
Normal file
@@ -0,0 +1,111 @@
|
|||||||
|
Подзадачи
|
||||||
|
=========
|
||||||
|
|
||||||
|
|
||||||
|
Подзадачи - это прекрасная возможность разделить основную задачу на части.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Каждая подзадача:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Может быть назначена участнику проекта
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Имеет 3 разных статуса: **Для исполнения**, **В работе**, **Выполнено**
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Имеет информацию по отслеживанию времени: **затраченное время** и **запланированное время**
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Может быть перемещена в списке, для изменения порядка выполнения
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Создание подзадачи[¶](#creating-subtasks "Ссылка на этот заголовок")
|
||||||
|
--------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
В детальном представлении задачи, в левой боковой панели нажмите **Добавить подзадачу**:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Добавление подзадачи.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Вы, также, можете быстро добавить подзадачу нажав на заголовок:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Добавление подзадачи на странице детального просмотра задачи.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Изменение статуса подзадачи[¶](#change-subtask-status "Ссылка на этот заголовок")
|
||||||
|
---------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Когда вы нажимаете на заголовок подзадачи стату меняется:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Выполнение подзадачи.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Иконка перед названием подзадачи обновляется в соответсвии со статусом.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Подзадача выполнена.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
**Заметка**: Когда задача закрыта, то все подзадачи меняют статус на **Выполнена**.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Таймер подзадачи[¶](#subtask-timer "Ссылка на этот заголовок")
|
||||||
|
--------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Когда подзадача выполняется, таймер должен быт запущен. Таймер можно запустить и остановить в любое время.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Время таймера записывается автоматически в затраченное время. Так же, вы можете изменить вручную значение **затраченного времени** при редактировании подзадачи.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Подсчитываемое время округляется до 15 минут. Эта информация записывается в отдельную таблицу.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Время, затраченное на выполнение задачи, и запланированнное время обновляется автоматически, в соответсвии с суммой всех подзадач.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
36
doc/ru_RU/suse-installation.markdown
Normal file
36
doc/ru_RU/suse-installation.markdown
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
Инсталяция на OpenSuse
|
||||||
|
======================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
OpenSuse Leap 42.1[¶](#opensuse-leap-42-1 "Ссылка на этот заголовок")
|
||||||
|
---------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
sudo zypper install php5 php5-sqlite php5-gd php5-json php5-mcrypt php5-mbstring php5-openssl
|
||||||
|
|
||||||
|
cd /srv/www/htdocs
|
||||||
|
|
||||||
|
sudo wget https://kanboard.net/kanboard-latest.zip
|
||||||
|
|
||||||
|
sudo unzip kanboard-latest.zip
|
||||||
|
|
||||||
|
sudo chmod -R 777 kanboard
|
||||||
|
|
||||||
|
sudo rm kanboard-latest.zip
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
81
doc/ru_RU/swimlanes.markdown
Normal file
81
doc/ru_RU/swimlanes.markdown
Normal file
@@ -0,0 +1,81 @@
|
|||||||
|
Дорожки
|
||||||
|
=======
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Дорожки - это горизонтальное разделение вашей Доски. Например, очень удобно разделять релизы программ, разделить ваши задачи для разных продуктов, команд или чего-то еще.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Доска с дорожками[¶](#board-with-swimlanes "Ссылка на этот заголовок")
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Дорожки
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Вы можете свернуть дорожку нажав на иконку слева
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- “Стандатная дорожка” всегда расположена сверху
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Управление дорожками[¶](#managing-swimlanes "Ссылка на этот заголовок")
|
||||||
|
-----------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Все проекты имеют дорожку по умолчанию - **Стандартная дорожка**
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Если имеется больше одной дорожки, то на Доске будут показаны все имеющиеся дорожки.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Вы можете перемещать мышкой задачи между дорожками.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Для настройки дорожек перейдите на страницу **настройки проекта** (Меню -\> Настройки) и нажмите **Дорожки** (слева).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Настройка Дорожек.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Теперь вы можете добавить новую дорожку или переименовать стандартную дорожку. Также, вы можете выключить дорожку или изменить расположение любой дорожки.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Стандартная дорожка всегда расположена сверху, но вы можете ее выключить и она не будет отображаться на Доске.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Выключенные дорожки не отображаются на Доске.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- **Удаление дорожки не влечет за собой удаление расположенных на этой дорожке задач**, эти задачи будут перемещены в “Стандартную дорожку”.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
246
doc/ru_RU/syntax-guide.markdown
Normal file
246
doc/ru_RU/syntax-guide.markdown
Normal file
@@ -0,0 +1,246 @@
|
|||||||
|
Руководство по синтаксису
|
||||||
|
=========================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Канборд использует [Markdown синтаксис](https://ru.wikipedia.org/wiki/Markdown) для комментариев или описания задач. Далее приведены примеры:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Жирный и курсив[¶](#bold-and-italic "Ссылка на этот заголовок")
|
||||||
|
---------------------------------------------------------------
|
||||||
|
|
||||||
|
- Жирный текст: Используйте 2 звездочки или 2 подчеркивания вокруг слов(а)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Курсив: Используйте 1 звездочку или 1 подчеркивание вокруг слов(а)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Пример написания (источник)[¶](#source "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
This **word** is very __important__.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
And here, an *italic* word with one _underscore_.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Результат[¶](#result "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
This **word** is very **important**.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
And here, an *italic* word with one *underscore*.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Неупорядоченные списки[¶](#unordered-lists "Ссылка на этот заголовок")
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Неупорядоченный список использует звездочки, минусы или плюсы вначале абзаца
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Пример написания (источник)[¶](#id1 "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Item 1
|
||||||
|
|
||||||
|
- Item 2
|
||||||
|
|
||||||
|
- Item 3
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
or
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
* Item 1
|
||||||
|
|
||||||
|
* Item 2
|
||||||
|
|
||||||
|
* Item 3
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Результат[¶](#id2 "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Item 1
|
||||||
|
|
||||||
|
- Item 2
|
||||||
|
|
||||||
|
- Item 3
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Упорядоченные списки[¶](#ordered-lists "Ссылка на этот заголовок")
|
||||||
|
------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Упорядоченные списки префиксом имеют цифру:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Пример написания (источник)[¶](#id3 "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
1. Do that first
|
||||||
|
|
||||||
|
2. Do this
|
||||||
|
|
||||||
|
3. And that
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Результат[¶](#id4 "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
1. Do that first
|
||||||
|
|
||||||
|
2. Do this
|
||||||
|
|
||||||
|
3. And that
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Ссылки[¶](#links "Ссылка на этот заголовок")
|
||||||
|
--------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Пример написания (источник)[¶](#id5 "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[My link title](https://kanboard.net/)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<https://kanboard.net>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Результат[¶](#id6 "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[My link title](https://kanboard.net/)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[https://kanboard.net](https://kanboard.net)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Исходный код[¶](#source-code "Ссылка на этот заголовок")
|
||||||
|
--------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Код встраиваемый в текст[¶](#inline-code "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Используйте обратные кавычки (переключитесь на анлийскую раскладку и нажмите ё)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Execute this command: `tail -f /var/log/messages`.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Результат[¶](#id7 "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Execute this command: `tail -f /var/log/messages`{.docutils .literal}.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Блоки кода[¶](#code-blocks "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Используйте 3 обратных кавычки с указанием языка программирования
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
```php
|
||||||
|
|
||||||
|
<?php
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
phpinfo();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
?>
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Результат[¶](#id8 "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<?php
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
phpinfo();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
?>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Заголовки[¶](#titles "Ссылка на этот заголовок")
|
||||||
|
------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Пример написания (источник)[¶](#id9 "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Title level 1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Title level 2
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Title level 3
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
93
doc/ru_RU/task-links.markdown
Normal file
93
doc/ru_RU/task-links.markdown
Normal file
@@ -0,0 +1,93 @@
|
|||||||
|
Ссылки на задачи
|
||||||
|
================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Задачи могут быть созданы вместе с предопределенными связями:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Ссылки на задачи
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Связи по умолчанию:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- **относится к**
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- **блокирована**| блокирует
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- **блокирует** | блокирована
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- **дублирована** | дублирует
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- **дублирует** | дублирована
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- **является продолжением** | является началом для
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- **является началом для** | является продолжением
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- **часть вехи** | является вехой для
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- **является вехой для** | часть вехи
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- **исправлено** | исправляет
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- **исправляет** | исправлено
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Эти названия могут быть быть изменены в настройках приложения.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
262
doc/ru_RU/tests.markdown
Normal file
262
doc/ru_RU/tests.markdown
Normal file
@@ -0,0 +1,262 @@
|
|||||||
|
Автоматизированные тесты
|
||||||
|
========================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[PHPUnit](https://phpunit.de/) используется для запуска автоматизированных тестов в Канборд.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Вы можете запускать тесты для разных баз данных (Sqlite, Mysql and Postgresql), чтобы убедится, что результаты будут одинаковые.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Требования[¶](#requirements "Ссылка на этот заголовок")
|
||||||
|
-------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Компьютер Linux/Unix
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- PHP cli
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Установленный PHPUnit
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Mysql и Postgresql (опционально)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Unit тесты[¶](#unit-tests "Ссылка на этот заголовок")
|
||||||
|
-----------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Тестирование с Sqlite[¶](#test-with-sqlite "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Sqlite тестирование использует базу данных в памяти, без использования записи на файловую систему.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Конфигурационный файл PHPUnit - `tests/units.sqlite.xml`. Из директории Kanboard запустите команду `phpunit -c tests/units.sqlite.xml`.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Пример:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
phpunit -c tests/units.sqlite.xml
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
PHPUnit 5.0.0 by Sebastian Bergmann and contributors.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
............................................................... 63 / 649 ( 9%)
|
||||||
|
|
||||||
|
............................................................... 126 / 649 ( 19%)
|
||||||
|
|
||||||
|
............................................................... 189 / 649 ( 29%)
|
||||||
|
|
||||||
|
............................................................... 252 / 649 ( 38%)
|
||||||
|
|
||||||
|
............................................................... 315 / 649 ( 48%)
|
||||||
|
|
||||||
|
............................................................... 378 / 649 ( 58%)
|
||||||
|
|
||||||
|
............................................................... 441 / 649 ( 67%)
|
||||||
|
|
||||||
|
............................................................... 504 / 649 ( 77%)
|
||||||
|
|
||||||
|
............................................................... 567 / 649 ( 87%)
|
||||||
|
|
||||||
|
............................................................... 630 / 649 ( 97%)
|
||||||
|
|
||||||
|
................... 649 / 649 (100%)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Time: 1.22 minutes, Memory: 151.25Mb
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
OK (649 tests, 43595 assertions)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Тестирование с Mysql[¶](#test-with-mysql "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
У вас должна быть локально установлена база данных Mysql или MariaDb.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
По умолчанию, используются следующие учетные данные:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Hostname: **localhost**
|
||||||
|
|
||||||
|
- Username: **root**
|
||||||
|
|
||||||
|
- Password: none
|
||||||
|
|
||||||
|
- Database: **kanboard\_unit\_test**
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
При каждом выполнении база данных удаляется и создается снова.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Конфигурационный файл HPUnit - `tests/units.mysql.xml`. Из директории Kanboard запустите команду `phpunit -c tests/units.mysql.xml`.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Тестирование с Postgresql[¶](#test-with-postgresql "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
У вас должен быть локально установлен Postgresql.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
По умолчанию, используются следующие учетные данные:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Hostname: **localhost**
|
||||||
|
|
||||||
|
- Username: **postgres**
|
||||||
|
|
||||||
|
- Password: none
|
||||||
|
|
||||||
|
- Database: **kanboard\_unit\_test**
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Убедитесь, что пользователь `postgres` может создавать и удалять базу данных. База данных пересоздается при каждом выполнении теста.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Конфигурационных файл PHPUnit - `tests/units.postgres.xml`. Из директории Kanboard, запустите команду `phpunit -c tests/units.postgres.xml`.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Тесты интеграции[¶](#integration-tests "Ссылка на этот заголовок")
|
||||||
|
------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Фактически тестируются только вызовы API.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Реальные HTTP calls выполняются с этими тестами. Поэтому, необходим локальный экземпляр Канборда, который слушает на `http://localhost:8000/`.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Все данные будут удалены/изменены при тестировании. Более того скрипт будет сброшен и установлен новый ключ API.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
1. Запустите локольный экземпляр Канборда: `php -S 127.0.0.1:8000`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2. Запустите тест в другом терминале
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Этот же метод используется для запуска тестов для разных баз данных:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Sqlite: `phpunit -c tests/integration.sqlite.xml`
|
||||||
|
|
||||||
|
- Mysql: `phpunit -c tests/integration.mysql.xml`
|
||||||
|
|
||||||
|
- Postgresql: `phpunit -c tests/integration.postgres.xml`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Пример:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
phpunit -c tests/integration.sqlite.xml
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
PHPUnit 5.0.0 by Sebastian Bergmann and contributors.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
............................................................... 63 / 135 ( 46%)
|
||||||
|
|
||||||
|
............................................................... 126 / 135 ( 93%)
|
||||||
|
|
||||||
|
......... 135 / 135 (100%)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Time: 1.18 minutes, Memory: 14.75Mb
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
OK (135 tests, 526 assertions)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Непрерывная интеграция с Travis-CI[¶](#continuous-integration-with-travis-ci "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
После каждого commit влитого в мой репозиторий, юнит тесты выполняются для 5 различных версий PHP:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- PHP 7.0
|
||||||
|
|
||||||
|
- PHP 5.6
|
||||||
|
|
||||||
|
- PHP 5.5
|
||||||
|
|
||||||
|
- PHP 5.4
|
||||||
|
|
||||||
|
- PHP 5.3
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
При тестировании каждой версии PHP используются 3 поддерживаемые базы данных: Sqlite, Mysql and Postgresql.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Конфигурационный файл Travis - `.travis.yml` - находится в корневой директории Kanboard.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
112
doc/ru_RU/time-tracking.markdown
Normal file
112
doc/ru_RU/time-tracking.markdown
Normal file
@@ -0,0 +1,112 @@
|
|||||||
|
Отслеживание времени
|
||||||
|
====================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Отслеживание времени (контроль времени) может быть использовано для уровня задач или для уровня подзадач.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Отслеживание времени испольнения задач[¶](#task-time-tracking "Ссылка на этот заголовок")
|
||||||
|
-----------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Отслеживание времени испольнения задач
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Задачи имеют два поля:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Запланировано времени
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Затрачено времени
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Эти значения показывают время работы и могут быть установлены вручную
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Отслеживание времени подзадач[¶](#subtask-time-tracking "Ссылка на этот заголовок")
|
||||||
|
-----------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Отслеживание времени подзадач
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Подзадачи тоже имеют поля “Запланировано” и “Затрачено” время.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Когда вы меняете значения в этих полях, **отслеживание времени задачи обновляется автоматически и формируется суммарное время всех подзадач**
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Канборд записывает время между изменениями статуса каждой подзадачи в отдельную таблицу.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- При изменении статуса подзадачи с **“Для испольнения”** на **“В работе”**, записывается время начала
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- При изменении статуса подзадачи с **“В работе”** на **“Выполнено”**, записывается как время окончания и, при этом, обновляется **затраченное время** в подзадаче и в задаче.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Анализ всех записей можно увидеть на странице детального просмотра задачи:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Таблица учета времени.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Для каждой подзадачи, таймер может быть остановлен и запущен в любое время:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Таймер подзадач.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Таймер не зависит от статуса подзадачи
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Вы можете запустить таймер для новой записи, созданной в таблице отслеживания задач, в любое время
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Вы можете остановить учет времени даты завершения в таблице отслеживания задач, в любое время
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Подсчет затраченного времени округляется до четверти часа
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
60
doc/ru_RU/transitions.markdown
Normal file
60
doc/ru_RU/transitions.markdown
Normal file
@@ -0,0 +1,60 @@
|
|||||||
|
Перемещения задач
|
||||||
|
=================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Запись о перемещении отражает каждое движение задачи между колонками.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Перемещения.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Перемещение доступно в боковом меню в детальном представлении задачи (**Перемещения**). Вы можете увидеть следующую информацию:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Дата, когда было выполенено перемещение
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Исходная колонка - колонка, из которой было сделано перемещение
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Колонка назначения - колонка, в которую была перемещена задача
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Исполнитель (пользователь, который переместил задачу)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Время проведенное в колонке (сколько времени было затрачено на выполнение задачи в указанной колонке)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Данные о перемещении задач, также, могут быть экспортированы со страницы настроек проекта (**Меню** -\> **Экспорт**).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Экспорт перемещений задач.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Для указанного промежутка времени вы можете сформировать CSV файл, который вы можете импортировать в любое программное обеспечение с электронными таблицами (например, Excell).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
155
doc/ru_RU/translations.markdown
Normal file
155
doc/ru_RU/translations.markdown
Normal file
@@ -0,0 +1,155 @@
|
|||||||
|
Переводы на другие языки (локализация)
|
||||||
|
======================================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Как перевести Канборд на новый язык?[¶](#how-to-translate-kanboard-to-a-new-language "Ссылка на этот заголовок")
|
||||||
|
----------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Переводы хранятся в директории `app/Locale`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- В этой директории есть поддиректории для разных языков, например, для русского имеется `ru_RU`, для французского - `fr_FR` и т.д.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Переводы находятся в PHP файле, который возвращает массив с парой ключ-значение
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Ключ - оригинальный текст на английском и значение - перевод на соответсвующем языке
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- **Французские переводы всегда в актуальном состоянии**
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Всегда используйте последнюю версию (branch master)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Создание нового перевода[¶](#create-a-new-translation "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
1. Создайте новую директорию: `app/Locale/xx_XX`, например `app/Locale/fr_CA` для канадского фрацузского
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2. Создайте новый файл для перевода: `app/Locale/xx_XX/translations.php`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
3. Используйте как образец содержимое французского перевода (локализации) и замените значения
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
4. Внесите изменения в файл `app/Model/Language.php`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
5. Проверьте добавленный язык на локальной версии Канборда
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
6. Пошлите [pull-request на Github](https://help.github.com/articles/using-pull-requests/)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Как обновить имеющийся перевод?[¶](#how-to-update-an-existing-translation "Ссылка на этот заголовок")
|
||||||
|
-----------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
1. Откройте файл перевода `app/Locale/xx_XX/translations.php`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2. Отсутсвующие переводы закоментированы - `//` и значения пустые, нужно заполнить значения и удалить коментарий
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
3. Проверьте внесенные изменения на локальной версии Канборда и пошлите [pull-request](https://help.github.com/articles/using-pull-requests/)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Как добавить новый текст перевода в приложение?[¶](#how-to-add-new-translated-text-in-the-application "Ссылка на этот заголовок")
|
||||||
|
---------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Переводы отображаются с помощью функций в исходном коде:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- `t()`: показывает текст с HTML escaping
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- `e()`: показывает текст без HTML escaping
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Всегда используйте английскую версию исходного кода.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Текстовые строки используют функцию `sprintf()` для замены элементов:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- `%s` используется для замены строки
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- `%d` используется для замены цифры
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Ознакомится с доступными форматами вы можете в [документации PHP](http://php.net/sprintf).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Как найти отсутствующие переводы в приложении?[¶](#how-to-find-missing-translations-in-the-applications "Ссылка на этот заголовок")
|
||||||
|
-----------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Из терминала запустите следующую команду:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
./kanboard locale:compare
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Все отсутствующие и неиспользуемые переводы будут показаны на экране. Добавьте их во французскую локализацию и синхронизируйте с другими локализациями (смотрите ниже)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Как синхронизировать файлы переводов?[¶](#how-to-synchronize-translation-files "Ссылка на этот заголовок")
|
||||||
|
----------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
В оболочке Unix запустите следующую команду:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
./kanboard locale:sync
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Французский перевод используется для ссылки на другие локализации.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
111
doc/ru_RU/ubuntu-installation.markdown
Normal file
111
doc/ru_RU/ubuntu-installation.markdown
Normal file
@@ -0,0 +1,111 @@
|
|||||||
|
Как инсталировать Канборд на Ubuntu?
|
||||||
|
====================================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Ubuntu Xenial 16.04 LTS[¶](#ubuntu-xenial-16-04-lts "Ссылка на этот заголовок")
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Установите Apache и PHP:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
sudo apt-get update
|
||||||
|
|
||||||
|
sudo apt-get install -y apache2 libapache2-mod-php7.0 php7.0-cli php7.0-mbstring php7.0-sqlite3 \
|
||||||
|
|
||||||
|
php7.0-opcache php7.0-json php7.0-mysql php7.0-pgsql php7.0-ldap php7.0-gd
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Установите Канборд:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
cd /var/www/html
|
||||||
|
|
||||||
|
sudo wget https://kanboard.net/kanboard-latest.zip
|
||||||
|
|
||||||
|
sudo unzip kanboard-latest.zip
|
||||||
|
|
||||||
|
sudo chown -R www-data:www-data kanboard/data
|
||||||
|
|
||||||
|
sudo rm kanboard-latest.zip
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Ubuntu Trusty 14.04 LTS[¶](#ubuntu-trusty-14-04-lts "Ссылка на этот заголовок")
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Установите Apache и PHP:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
sudo apt-get update
|
||||||
|
|
||||||
|
sudo apt-get install -y php5 php5-sqlite php5-mysql php5-pgsql php5-ldap php5-gd php5-json php5-mcrypt unzip
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Установите Канборд:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
cd /var/www/html
|
||||||
|
|
||||||
|
sudo wget https://kanboard.net/kanboard-latest.zip
|
||||||
|
|
||||||
|
sudo unzip kanboard-latest.zip
|
||||||
|
|
||||||
|
sudo chown -R www-data:www-data kanboard/data
|
||||||
|
|
||||||
|
sudo rm kanboard-latest.zip
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Ubuntu Precise 12.04 LTS[¶](#ubuntu-precise-12-04-lts "Ссылка на этот заголовок")
|
||||||
|
---------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Установите Apache и PHP:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
sudo apt-get update
|
||||||
|
|
||||||
|
sudo apt-get install -y php5 php5-sqlite php5-mysql php5-pgsql php5-ldap php5-gd php5-json php5-mcrypt unzip
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Установите Канборд:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
cd /var/www
|
||||||
|
|
||||||
|
sudo wget https://kanboard.net/kanboard-latest.zip
|
||||||
|
|
||||||
|
sudo unzip kanboard-latest.zip
|
||||||
|
|
||||||
|
sudo chown -R www-data:www-data kanboard/data
|
||||||
|
|
||||||
|
sudo rm kanboard-latest.zip
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Некоторые возможности Канборда требуют [запуска ежедневных фоновых задач](cronjob.markdown).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
57
doc/ru_RU/update.markdown
Normal file
57
doc/ru_RU/update.markdown
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
Обновление Канборд до новой версии
|
||||||
|
==================================
|
||||||
|
|
||||||
|
|
||||||
|
Обновление Канборда до новой версии бесшовное. Процесс сводится к тому, что надо просто скопировать каталог с данными из старой версии в новый Канборд. Канборд запустит миграцию баз данных автоматически.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Важные замечания перед обновлением[¶](#important-things-to-do-before-updating "Ссылка на этот заголовок")
|
||||||
|
---------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
- Перед обновлением, обязательно сделайте копию ваших данных со старой версии Канборда
|
||||||
|
|
||||||
|
- Всегда следите за [историей изменений](https://github.com/fguillot/kanboard/blob/master/ChangeLog) для отслеживания критических изменений
|
||||||
|
|
||||||
|
- Всегда закрывайте все пользовательские сессии (очищайте все сессии на сервере)
|
||||||
|
|
||||||
|
|
||||||
|
Обновление из архива (стабильная версия)[¶](#from-the-archive-stable-version "Ссылка на этот заголовок")
|
||||||
|
--------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
1. Скачайте и распакуйте архив с новой версией
|
||||||
|
|
||||||
|
2. Скопируйте содержимое каталога с данными старой версии во вновь распакованный каталог
|
||||||
|
|
||||||
|
3. Скопируйте из старой версии Канборда `config.php`, если вы его создавали
|
||||||
|
|
||||||
|
4. Скопируйте плагины, если есть
|
||||||
|
|
||||||
|
5. Убедитесь, что директория `data` имеет права на запись от пользователя веб сервера
|
||||||
|
|
||||||
|
6. Проверьте работу новой версии
|
||||||
|
|
||||||
|
7. Удалите старую версию Канборда
|
||||||
|
|
||||||
|
|
||||||
|
Обновление из репозитория (разрабатываемая версия)[¶](#from-the-repository-development-version "Ссылка на этот заголовок")
|
||||||
|
--------------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
1. `git pull`
|
||||||
|
|
||||||
|
2. `composer install --no-dev`
|
||||||
|
|
||||||
|
3. Выполните вход и проверьте, что все работает корректно
|
||||||
|
|
||||||
|
|
||||||
|
**Внимание**: Выполняя обновление из разрабатываемой версии, вы должны понимать, что это нестабильная версия и берете все риски по работе Канборд на себя.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
193
doc/ru_RU/usage-examples.markdown
Normal file
193
doc/ru_RU/usage-examples.markdown
Normal file
@@ -0,0 +1,193 @@
|
|||||||
|
Примеры использования
|
||||||
|
=====================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Вы можете настроить вашу доску в соответсвии с вашими бизнес-процессами
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Разработка программного обеспечения[¶](#software-development "Ссылка на этот заголовок")
|
||||||
|
----------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Заказ
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Готов
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- В работе
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Требуется утверждение
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Утверждено
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Развернуто в продакшн
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Отслеживание ошибок[¶](#bug-tracking "Ссылка на этот заголовок")
|
||||||
|
----------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Сообщение
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Подтверждено
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- В работе
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Проверено
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Исправлено
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Продажи[¶](#sales "Ссылка на этот заголовок")
|
||||||
|
---------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Клиенты
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Встречи
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Предложения
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Приобретение
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Эффективное управление бизнесом[¶](#lean-business-management "Ссылка на этот заголовок")
|
||||||
|
----------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Идеи
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- События
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Мероприятия
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Анализы
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Исполненно
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Подбор персонала[¶](#recruiting-process "Ссылка на этот заголовок")
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Предложения о работе
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Кандидаты
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Телефонный отбор
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Собеседование
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Наем
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Онлайн магазин[¶](#online-shops "Ссылка на этот заголовок")
|
||||||
|
-----------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Заказы
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Упаковка
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Готов к отправке
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Отправлен
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Производство[¶](#manufactory "Ссылка на этот заголовок")
|
||||||
|
--------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Заказы покупателей
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Сборка
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Проверка
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Упаковка
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Готово к отгрузке
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Отправлен
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
89
doc/ru_RU/user-management.markdown
Normal file
89
doc/ru_RU/user-management.markdown
Normal file
@@ -0,0 +1,89 @@
|
|||||||
|
Управление пользователями
|
||||||
|
=========================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Создание нового пользователя[¶](#add-a-new-user "Ссылка на этот заголовок")
|
||||||
|
---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Только администратор может создавать нового пользователя.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
1. В выпадающем меню, в правом верхнем углу, выберите **Управление пользователями**
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2. Вверху имеются ссылки - **Новый локальный пользователь** и **Новый удаленный пользователь**
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
3. При создании пользователя нужно заполнить форму и сохранить
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Форма создания нового пользователя.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
При создании **Локального пользователя** вы должны, как минимум, заполнить следующие поля:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- **Имя пользователя**: это поле является уникальным идентификатором вашего пользователя (логин)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- **Пароль**: Пароль пользователя должен иметь минимум 6 символов
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Для **удаленных пользователей** обязательно только **Имя пользователя**.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Редактирование пользователей[¶](#edit-users "Ссылка на этот заголовок")
|
||||||
|
-----------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
После перехода в **Управление пользователями**, вам будет доступен список пользователей. Кликните на пользователя в столбце **Имя пользователя**. Далее, вам будет доступно редактирование настроек и профиля пользователя.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Если вы имеете права пользователя, то вы сможете только изменить ваш профиль
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Для редактирования любого пользователя вам должны быть назначены права администратора
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Удаеление пользователей[¶](#remove-users "Ссылка на этот заголовок")
|
||||||
|
--------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
В списке пользователей выберите в колонке **Действия** в выпадающем меню **Удалить**. Эта ссылка доступна только для администраторов.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Если вы удалите пользователя, то все задачи назначенные пользователю перестанут быть назначенными.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
49
doc/ru_RU/user-mentions.markdown
Normal file
49
doc/ru_RU/user-mentions.markdown
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
Ссылка на пользователя
|
||||||
|
======================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
В Канборде есть возможность посылать уведомления пользователю, если кто-то ссылается на него в тексте.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Если вы хотите заострить внимание о ком-либо в комментарии или в задаче, то вы можете использовать символ @ и следом указать имя пользователя. Канборд автоматически предлагает список пользователей:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Рисунок. Ссылка на пользователя.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- В данный момент, добавлять ссылку на пользователя можно только в описании задачи и тексте комментария.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Ссылка на пользователя работает только в задачах и при создании комментария.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Для получения уведомления, пользователь, на которого ссылаются, должен быть участником проекта, в котором создается ссылка.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Если была создана ссылка на пользователя, то этот пользователь получит уведомление.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- @username - выглядит как ссылка на публичный профиль пользователя.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Уведомление посылаются пользователю в соответсвии с пользовательскими настройками: это может быть email, уведомление на веб странице или даже сообщение в Slack/Hipchat/Jabber, если вы установили соответсвующие плагины.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
26
doc/ru_RU/user-types.markdown
Normal file
26
doc/ru_RU/user-types.markdown
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
Типы пользователей
|
||||||
|
==================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
В Канборде могут быть два типа пользователей:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
| Тип | Описание |
|
||||||
|
|--------------|-------------------------------------------------------------|
|
||||||
|
| Локальный пользователь | Пароль пользователя хранится в базе данных Канборда|
|
||||||
|
| Удаленный пользователь | Учетные данные пользователя управляются (контролируются) другой системой (например, LDAP сервер). Другими словами, аутентификация пользователя происходит во внешней системе, не в Канборде.|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Примеры удаленных пользователей:
|
||||||
|
|
||||||
|
- LDAP пользователь
|
||||||
|
|
||||||
|
- Аутентификация пользователя через реверс-прокси
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
51
doc/ru_RU/vagrant.markdown
Normal file
51
doc/ru_RU/vagrant.markdown
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
Запуск Канборда с Vagrant
|
||||||
|
=========================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Вы можете легко развернуть Канборд с Vagrant:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Склонируйте проект с репозитория git
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Выполните `vagrant up`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Для входа в приложение используйте URL `http://localhost:8001/`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Виртуальная машина построена на Ubuntu 14.04 с PHP 5.5.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
536
doc/ru_RU/webhooks.markdown
Normal file
536
doc/ru_RU/webhooks.markdown
Normal file
@@ -0,0 +1,536 @@
|
|||||||
|
Web Hooks
|
||||||
|
=========
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Webhooks служат для взаимодействия с внешними приложениями. Webhook посылает уведомление стороннему приложению о событиях, которые произошли в Канборд.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Webhooks могут быть использованы для создания задач вызовом простого URL (Вы можете сделать это и при помощи API)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Обращение к внешнему приложению может происходить автоматически, когда наступает какое-либо событие в Канборд (создана задача, обновлен комментарий и т.д.)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Как написать webhook приемник во внешнем приложении?[¶](#how-to-write-a-web-hook-receiver "Ссылка на этот заголовок")
|
||||||
|
---------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Все внутренние события в Канборде могут быть посланы во внешний URL.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Webhook URL (url приемник внешнего приложения) может быть задан в **Настройки** -\> **Webhooks** -\> **Webhook URL**
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Когда в Канборде происходит событие, Канборд обращается к указанному URL автоматически
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Данные конвертируются в формат JSON и передаются с помощью POST HTTP запроса
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Webhook ключ передается в составе запроса в виде строкового параметра. Таким образом, вы можете проверить, что запрос на самом деле пришел из Канборда.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- **Созданный вами URL должен среагировать в течении 1 секунды**. Это желательно сделать потому, что запросы являются синхронными (ограничения языка PHP) и возможны тормоза в пользовательском интерфейсе, если скрипт будет слишком медленный!
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Список поддерживаемых событий[¶](#list-of-supported-events "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- comment.create (комментарий.создать)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- comment.update (комментарий.обновить)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- file.create (файл.создать)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- task.move.project (задача.переместить.проект)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- task.move.column (задача.переместить.колонка)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- task.move.position (задача.переместить.место)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- task.move.swimlane (задача.переместить.дорожка)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- task.update (задача.обновить)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- task.create (задача.создать)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- task.close (задача.закрыть)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- task.open (задача.открыть)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- task.assignee\_change (задача.назначить\_изменить)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- subtask.update (подзадача.обновить)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- subtask.create (подзадача.создать)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Пример HTTP запроса[¶](#example-of-http-request "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
POST https://your_webhook_url/?token=WEBHOOK_TOKEN_HERE
|
||||||
|
|
||||||
|
User-Agent: Kanboard Webhook
|
||||||
|
|
||||||
|
Content-Type: application/json
|
||||||
|
|
||||||
|
Connection: close
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
"event_name": "task.move.column",
|
||||||
|
|
||||||
|
"event_data": {
|
||||||
|
|
||||||
|
"task_id": "1",
|
||||||
|
|
||||||
|
"project_id": "1",
|
||||||
|
|
||||||
|
"position": 1,
|
||||||
|
|
||||||
|
"column_id": "1",
|
||||||
|
|
||||||
|
"swimlane_id": "0",
|
||||||
|
|
||||||
|
"src_column_id": "2",
|
||||||
|
|
||||||
|
"dst_column_id": "1",
|
||||||
|
|
||||||
|
"date_moved": "1431991532",
|
||||||
|
|
||||||
|
"recurrence_status": "0",
|
||||||
|
|
||||||
|
"recurrence_trigger": "0"
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Функциональная часть всех событий имеет следующий формат:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
"event_name": "model.event_name",
|
||||||
|
|
||||||
|
"event_data": {
|
||||||
|
|
||||||
|
"key1": "value1",
|
||||||
|
|
||||||
|
"key2": "value2",
|
||||||
|
|
||||||
|
...
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Значения `event_data`{.docutils .literal} могут быть неупорядочены в событиях.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Пример функциональной части события[¶](#examples-of-event-payloads "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Создание задачи:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
"event_name": "task.create",
|
||||||
|
|
||||||
|
"event_data": {
|
||||||
|
|
||||||
|
"title": "Demo",
|
||||||
|
|
||||||
|
"description": "",
|
||||||
|
|
||||||
|
"project_id": "1",
|
||||||
|
|
||||||
|
"owner_id": "1",
|
||||||
|
|
||||||
|
"category_id": 0,
|
||||||
|
|
||||||
|
"swimlane_id": 0,
|
||||||
|
|
||||||
|
"column_id": "2",
|
||||||
|
|
||||||
|
"color_id": "yellow",
|
||||||
|
|
||||||
|
"score": 0,
|
||||||
|
|
||||||
|
"time_estimated": 0,
|
||||||
|
|
||||||
|
"date_due": 0,
|
||||||
|
|
||||||
|
"creator_id": 1,
|
||||||
|
|
||||||
|
"date_creation": 1431991532,
|
||||||
|
|
||||||
|
"date_modification": 1431991532,
|
||||||
|
|
||||||
|
"date_moved": 1431991532,
|
||||||
|
|
||||||
|
"position": 1,
|
||||||
|
|
||||||
|
"task_id": 1
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Изменение задачи:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
"event_name": "task.update",
|
||||||
|
|
||||||
|
"event_data": {
|
||||||
|
|
||||||
|
"id": "1",
|
||||||
|
|
||||||
|
"title": "Demo",
|
||||||
|
|
||||||
|
"description": "",
|
||||||
|
|
||||||
|
"date_creation": "1431991532",
|
||||||
|
|
||||||
|
"color_id": "yellow",
|
||||||
|
|
||||||
|
"project_id": "1",
|
||||||
|
|
||||||
|
"column_id": "1",
|
||||||
|
|
||||||
|
"owner_id": "1",
|
||||||
|
|
||||||
|
"position": "1",
|
||||||
|
|
||||||
|
"is_active": "1",
|
||||||
|
|
||||||
|
"date_completed": null,
|
||||||
|
|
||||||
|
"score": "0",
|
||||||
|
|
||||||
|
"date_due": "0",
|
||||||
|
|
||||||
|
"category_id": "2",
|
||||||
|
|
||||||
|
"creator_id": "1",
|
||||||
|
|
||||||
|
"date_modification": 1431991603,
|
||||||
|
|
||||||
|
"reference": "",
|
||||||
|
|
||||||
|
"date_started": 1431993600,
|
||||||
|
|
||||||
|
"time_spent": 0,
|
||||||
|
|
||||||
|
"time_estimated": 0,
|
||||||
|
|
||||||
|
"swimlane_id": "0",
|
||||||
|
|
||||||
|
"date_moved": "1431991572",
|
||||||
|
|
||||||
|
"recurrence_status": "0",
|
||||||
|
|
||||||
|
"recurrence_trigger": "0",
|
||||||
|
|
||||||
|
"recurrence_factor": "0",
|
||||||
|
|
||||||
|
"recurrence_timeframe": "0",
|
||||||
|
|
||||||
|
"recurrence_basedate": "0",
|
||||||
|
|
||||||
|
"recurrence_parent": null,
|
||||||
|
|
||||||
|
"recurrence_child": null,
|
||||||
|
|
||||||
|
"task_id": "1",
|
||||||
|
|
||||||
|
"changes": {
|
||||||
|
|
||||||
|
"category_id": "2"
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
События изменеия задачи имеют поле `changes`{.docutils .literal}, которое содержит обновленные значения.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Перемещение задачи в другую колонку:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
"event_name": "task.move.column",
|
||||||
|
|
||||||
|
"event_data": {
|
||||||
|
|
||||||
|
"task_id": "1",
|
||||||
|
|
||||||
|
"project_id": "1",
|
||||||
|
|
||||||
|
"position": 1,
|
||||||
|
|
||||||
|
"column_id": "1",
|
||||||
|
|
||||||
|
"swimlane_id": "0",
|
||||||
|
|
||||||
|
"src_column_id": "2",
|
||||||
|
|
||||||
|
"dst_column_id": "1",
|
||||||
|
|
||||||
|
"date_moved": "1431991532",
|
||||||
|
|
||||||
|
"recurrence_status": "0",
|
||||||
|
|
||||||
|
"recurrence_trigger": "0"
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Перемещение задачи в другое место:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
"event_name": "task.move.position",
|
||||||
|
|
||||||
|
"event_data": {
|
||||||
|
|
||||||
|
"task_id": "2",
|
||||||
|
|
||||||
|
"project_id": "1",
|
||||||
|
|
||||||
|
"position": 1,
|
||||||
|
|
||||||
|
"column_id": "1",
|
||||||
|
|
||||||
|
"swimlane_id": "0",
|
||||||
|
|
||||||
|
"src_column_id": "1",
|
||||||
|
|
||||||
|
"dst_column_id": "1",
|
||||||
|
|
||||||
|
"date_moved": "1431996905",
|
||||||
|
|
||||||
|
"recurrence_status": "0",
|
||||||
|
|
||||||
|
"recurrence_trigger": "0"
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Создание комментария:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
"event_name": "comment.create",
|
||||||
|
|
||||||
|
"event_data": {
|
||||||
|
|
||||||
|
"id": 1,
|
||||||
|
|
||||||
|
"task_id": "1",
|
||||||
|
|
||||||
|
"user_id": "1",
|
||||||
|
|
||||||
|
"comment": "test",
|
||||||
|
|
||||||
|
"date_creation": 1431991615
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Изменение комментария:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
"event_name": "comment.update",
|
||||||
|
|
||||||
|
"event_data": {
|
||||||
|
|
||||||
|
"id": "1",
|
||||||
|
|
||||||
|
"task_id": "1",
|
||||||
|
|
||||||
|
"user_id": "1",
|
||||||
|
|
||||||
|
"comment": "test edit"
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Создание подзадачи:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
"event_name": "subtask.create",
|
||||||
|
|
||||||
|
"event_data": {
|
||||||
|
|
||||||
|
"id": 3,
|
||||||
|
|
||||||
|
"task_id": "1",
|
||||||
|
|
||||||
|
"title": "Test",
|
||||||
|
|
||||||
|
"user_id": "1",
|
||||||
|
|
||||||
|
"time_estimated": "2",
|
||||||
|
|
||||||
|
"position": 3
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Изменение подзадачи:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
"event_name": "subtask.update",
|
||||||
|
|
||||||
|
"event_data": {
|
||||||
|
|
||||||
|
"id": "1",
|
||||||
|
|
||||||
|
"status": 1,
|
||||||
|
|
||||||
|
"task_id": "1"
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Загрузка файла:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
"event_name": "file.create",
|
||||||
|
|
||||||
|
"event_data": {
|
||||||
|
|
||||||
|
"task_id": "1",
|
||||||
|
|
||||||
|
"name": "test.png"
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Создан снимок экрана:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
"event_name": "file.create",
|
||||||
|
|
||||||
|
"event_data": {
|
||||||
|
|
||||||
|
"task_id": "2",
|
||||||
|
|
||||||
|
"name": "Screenshot taken May 19, 2015 at 10:56 AM"
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
80
doc/ru_RU/what-is-kanban.markdown
Normal file
80
doc/ru_RU/what-is-kanban.markdown
Normal file
@@ -0,0 +1,80 @@
|
|||||||
|
Что такое Kanban?
|
||||||
|
=================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Kanban - методология, которая первоначально применила компания Toyota для увеличения производительности. Описание в википедии - [Канбан доска](https://ru.wikipedia.org/wiki/%D0%9A%D0%B0%D0%BD%D0%B1%D0%B0%D0%BD-%D0%B4%D0%BE%D1%81%D0%BA%D0%B0)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Смысл Kanban заключается в следующем:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Визуализация рабочих процессов
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Уменьшение времени для достижения цели
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Визуализация рабочих процессов[¶](#visualize-your-workflow "Ссылка на этот заголовок")
|
||||||
|
--------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Ваш рабочий процесс отображается на доске и вы ясно видете картину вашего проекта
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Каждая колонка представляет шаг вашего рабочего процесса
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Сосредоточте внимание и избегайте многозадачности[¶](#bring-focus-and-avoid-multitasking "Ссылка на этот заголовок")
|
||||||
|
--------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Каждая фаза может иметь работу ограниченную временем
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Уменьшайте объем для определения узких мест
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Ограничте количество одновременно выполняемых задач
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Подсчет производительности и улучшений[¶](#measure-performance-and-improvement "Ссылка на этот заголовок")
|
||||||
|
----------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Kanban использует время выполнения (lead time) и время цикла (cycle time) для подсчета производительности:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- **Время выполнения**: Время между созданием задачи и ее завершением
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- **Время цикла**: Время между началом выполнения задачи и ее завершением
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Например, вам заложено время выполнения - 100 дней, а затратили на выполнение задачи (время цикла) всего 1 час.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
253
doc/ru_RU/windows-apache-installation.markdown
Normal file
253
doc/ru_RU/windows-apache-installation.markdown
Normal file
@@ -0,0 +1,253 @@
|
|||||||
|
Установка Канборд на Windows Server и Apache
|
||||||
|
============================================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Это руководство поможет вам шаг за шагом установить Канборд на Windows Server с Apache и PHP
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
**Внимание**: Если у вас 64 разрядная платформа, то вам нужно выбрать “x64”, и выберите “x86” для 32 разрядной операционной системы.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Установка распространяемого пакета Visual C++[¶](#visual-c-redistributable-installation "Ссылка на этот заголовок")
|
||||||
|
-------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
PHP и Apache скомпилированы с Visual Studio, поэтому вам нужно установить эту библиотеку, если вы не сделали это ранее.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
1. Скачайте библиотеку с [официального вебсайта Microsoft](http://www.microsoft.com/en-us/download/details.aspx?id=30679)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2. Запустите установку `vcredist_x64.exe` или `vcredist_x86.exe`, в соответствии с вашей платформой
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Установка Apache[¶](#apache-installation "Ссылка на этот заголовок")
|
||||||
|
--------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
1. Скачайте исходники Apache с [Apache Lounge](http://www.apachelounge.com/download/)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2. Разархивируйте Apache24 в каталог `C:\Apache24`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Назначение имени сервера[¶](#define-the-server-name "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Откройте файл `C:\Apache24\conf\httpd.conf` и добавьте директиву:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ServerName localhost
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Установка сервиса Apache[¶](#install-the-apache-service "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Откройте консоль (`cmd.exe`), перейдите в каталог `C:\Apache24\bin` и установите сервис Apache:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
cd C:\Apache24\bin
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Install the windows service
|
||||||
|
|
||||||
|
httpd.exe -k install
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Установка ApacheMonitor[¶](#install-apachemonitor "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Выполните `C:\Apache24\bin\ApacheMonitor.exe` и добавьте его в автозагрузку.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Теперь во всплывающем меню, при нажатии правой кнопки мыши на иконке, нажмите запустить Apache
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Проверка работы Apache[¶](#check-the-apache-installation "Ссылка на этот заголовок")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
В браузере откройте <http://localhost/>. Вы должны увидеть пустую страницу и текст “It works!”.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Установка PHP[¶](#php-installation "Ссылка на этот заголовок")
|
||||||
|
--------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
1. Скачайте последнюю стабильную версию PHP с [официального сайта PHP](http://windows.php.net/download/), выберите версию **Thread Safe** и используйте соответствующую разрядность: x86 or x64.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2. Разархивируйте файлы в `C:\php`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
3. Перейдите в каталог PHP (`C:\php`) и переименуйе файл `php.ini-production` в `php.ini`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Отредактируйте `php.ini`:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Раскоментируйте директорию расширений:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
extension_dir = "C:/php/ext"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Раскоментируйте следующие модули PHP:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
extension=php_gd2.dll
|
||||||
|
|
||||||
|
extension=php_ldap.dll
|
||||||
|
|
||||||
|
extension=php_mbstring.dll
|
||||||
|
|
||||||
|
extension=php_openssl.dll
|
||||||
|
|
||||||
|
extension=php_pdo_sqlite.dll
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Установите часовой пояс:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
date.timezone = America/Montreal
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Список всех поддерживаемых часовых поясов можно посмотреть в [документации PHP](http://php.net/manual/en/timezones.america.php).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Загрузка модулей PHP для Apache:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Добавьте следующие строки конфигурации в файл `C:\Apache24\conf\httpd.conf`:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
LoadModule php5_module "c:/php/php5apache2_4.dll"
|
||||||
|
|
||||||
|
AddHandler application/x-httpd-php .php
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# configure the path to php.ini
|
||||||
|
|
||||||
|
PHPIniDir "C:/php"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# change this directive
|
||||||
|
|
||||||
|
DirectoryIndex index.php index.html
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Перезапустите Apache.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Проверка работы PHP:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Создайте файл `phpinfo.php` в каталоге `C:\Apache24\htdocs`:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<?php
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
phpinfo();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
?>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Откройте в браузере [http://localhost/phpinfo.php](http://localhost/phpinfo.php) и вы должны увидеть информацию о PHP.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Устновка Канборд[¶](#kanboard-installation "Ссылка на этот заголовок")
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- [Скачайте zip файл](https://kanboard.net/downloads)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Разархивируйте архив в `C:\Apache24\htdocs\kanboard`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Откройте в браузере <http://localhost/kanboard/>. Ура. Теперь вы можете работать в Канборд. Все легко и просто.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Учетная запись и пароль по умолчанию - **admin/admin**
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Протестировано на[¶](#tested-configuration "Ссылка на этот заголовок")
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Windows 2008 R2 / Apache 2.4.12 / PHP 5.6.8
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Примечание[¶](#notes "Ссылка на этот заголовок")
|
||||||
|
------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Некоторые функции Канборда требуют выполнять [запуск ежедневных фоновых задач](cronjob.markdown).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
150
doc/ru_RU/windows-iis-installation.markdown
Normal file
150
doc/ru_RU/windows-iis-installation.markdown
Normal file
@@ -0,0 +1,150 @@
|
|||||||
|
Инсталяция Kanboard на Windows 2008/2012 с IIS
|
||||||
|
==============================================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Это пошаговое руководство поможет вам установить Канборд на Windows Server с IIS и PHP.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Установка PHP[¶](#php-installation "Ссылка на этот заголовок")
|
||||||
|
--------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Установите IIS на ваш Windows сервер (Добавьте новую роль и не забудьте включить CGI/FastCGI)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- При инсталяции PHP можете использовать следующую официальную документацию:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- [Microsoft IIS 5.1 and IIS 6.0](http://php.net/manual/en/install.windows.iis6.php)
|
||||||
|
|
||||||
|
- [Microsoft IIS 7.0 and later](http://php.net/manual/en/install.windows.iis7.php)
|
||||||
|
|
||||||
|
- [PHP for Windows is available here](http://windows.php.net/download/)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Отредактируйте `php.ini`, раскоментируйте эти PHP модули:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
extension=php_gd2.dll
|
||||||
|
|
||||||
|
extension=php_ldap.dll
|
||||||
|
|
||||||
|
extension=php_mbstring.dll
|
||||||
|
|
||||||
|
extension=php_openssl.dll
|
||||||
|
|
||||||
|
extension=php_pdo_sqlite.dll
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Установите часовой пояс
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
date.timezone = America/Montreal
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Список поддерживаемых часовых поясов можно посмотреть в [документации PHP](http://php.net/manual/en/timezones.america.php).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Проверьте, что PHP работает корректно:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Перейдите в корневой каталог IIS `C:\inetpub\wwwroot` и создайте файл `phpinfo.php`, со следующим содержимым:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<?php
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
phpinfo();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
?>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
В браузере откройте страницу `http://localhost/phpinfo.php` и вы должны увидеть текущие настройки PHP. Если вы видите ошибку 500, значит что-то сделано неправильно при установке.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Примечание:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Если вы используете PHP \< 5.4, то необходимо включить короткие теги (short tags) в php.ini
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Не забудьте включить необходимые php расширения, упомянутые выше
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Если вы наблюдаете ошибку “the library MSVCP110.dll is missing”, то возможно вам нужно скачать распространяемый пакет Visual C++ для Visual Studio с сайта Microsoft.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Установка Канборд[¶](#kanboard-installation "Ссылка на этот заголовок")
|
||||||
|
-----------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Скачайте zip файл
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Распакуйте архив в `C:\inetpub\wwwroot\kanboard` (например)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Убедитесь, что у пользователя вебсервера IIS имеется доступ на запись на директорию `data`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Откройте веб браузер и используйте Kanboard <http://localhost/kanboard/>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Пользователь и пароль по умолчанию - **admin/admin**
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Работа Канборд тестировалось на[¶](#tested-configurations "Ссылка на этот заголовок")
|
||||||
|
-------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Windows 2008 R2 Standard Edition / IIS 7.5 / PHP 5.5.16
|
||||||
|
|
||||||
|
- Windows 2012 Standard Edition / IIS 8.5 / PHP 5.3.29
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Примечание[¶](#notes "Ссылка на этот заголовок")
|
||||||
|
------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Некоторые возможности Канборда требуют [запуск выполнения ежедневных фоновых задач](cronjob.markdown).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Русская документация Kanboard](http://kanboard.ru/doc/)
|
||||||
|
|
||||||
22
doc/web.config
Normal file
22
doc/web.config
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<configuration>
|
||||||
|
<system.webServer>
|
||||||
|
<defaultDocument>
|
||||||
|
<files>
|
||||||
|
<clear />
|
||||||
|
<add value="index.php" />
|
||||||
|
</files>
|
||||||
|
</defaultDocument>
|
||||||
|
<rewrite>
|
||||||
|
<rules>
|
||||||
|
<rule name="Kanboard URL Rewrite" stopProcessing="true">
|
||||||
|
<match url="^(.*)$" ignoreCase="false" />
|
||||||
|
<conditions logicalGrouping="MatchAll">
|
||||||
|
<add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
|
||||||
|
</conditions>
|
||||||
|
<action type="Rewrite" url="index.php" appendQueryString="true" />
|
||||||
|
</rule>
|
||||||
|
</rules>
|
||||||
|
</rewrite>
|
||||||
|
</system.webServer>
|
||||||
|
</configuration>
|
||||||
Reference in New Issue
Block a user