Доска задач
Закрытая канбан-доска для администраторов сайта на InstantCMS: ошибки, доработки и идеи в одном месте. Задачу можно записать с любой страницы сайта или админки в два клика, не уходя со страницы, а потом вести её по колонкам до «Готово».
Что умеет доска
- Четыре колонки: Новые → В работе → На проверке → Готово.
- Перетаскивание мышью и пальцем: между колонками и внутри колонки, порядок сохраняется. Есть управление с клавиатуры.
- Компактные карточки: в свёрнутом виде видны заголовок и короткие метки, подробности раскрываются щелчком.
- Ссылки: в задачу можно вставить полный адрес с
https://. На доске вместо длинного адреса — слово «Ссылка», она открывается в новой вкладке. - Срок, исполнитель, приоритет и чек-лист у каждой задачи.
- Поиск и фильтры: мои задачи, просроченные, важные.
- Быстрое добавление: круглая кнопка в углу каждой страницы, «+» в каждой колонке, кнопка в виджете панели управления.
- Защита от потери правок: если две вкладки или два администратора правят одну задачу, чужая работа не перезаписывается.
Что понадобится
| Требование | Пояснение |
|---|---|
| InstantCMS 2.18.2 | Ядро и шаблон сайта не изменяются |
| PHP 7.2–8.4 | Работа проверена на PHP 8.2, синтаксис — на 7.2, 8.2 и 8.4 |
| Современный браузер | Chrome, Edge, Firefox, Safari последних лет: используются окна dialog, Pointer Events и CSS :has() |
Установка и обновление
- Сделайте резервную копию файлов и базы данных сайта.
- Откройте Дополнения → Установить пакет дополнения, выберите архив и нажмите «Продолжить».
- Для новой установки берите
bugboard-<версия>.zip, для обновления — архив с пометкойupdate. Обновление подходит для любой прежней версии, задачи сохраняются.
При установке создаются таблицы {префикс}bugboard_issues (задачи) и {префикс}bugboard_meta (служебная отметка). При первой установке на доске появляются три задачи с пометкой «Демо» — их можно изменить или удалить, повторная установка их не вернёт. События before_print_head и admin_dashboard_block регистрируются автоматически.
Где открыть доску
- В админке: Компоненты → Доска задач. Вкладки «Доска задач», «Настройки» и «Документация», кнопки «Добавить задачу» и «Документация» в панели над доской. Открыть доску в админке
- На сайте: по адресу
/bugboard— та же доска, удобно, когда ошибка замечена прямо на странице сайта. - На главной странице админки — виджет со счётчиками и последними задачами.
Доску видят только администраторы. Для гостей и обычных пользователей адрес /bugboard не существует (ошибка 404).
Добавление задачи
Нажмите любую из кнопок: круглую плавающую кнопку в углу страницы, «Добавить задачу» над доской, «+» в заголовке колонки (задача сразу попадёт в эту колонку) или «Добавить задачу» в виджете панели управления. Откроется окно; обязательно только поле «Что нужно сделать?».
Поля задачи
| Поле | Что в него писать |
|---|---|
| Что нужно сделать? | Короткий заголовок, до 180 символов |
| Подробности | Что изменить и какой результат ожидается, до 10 000 символов. Сюда же — чек-лист и любые ссылки |
| Ссылка | Полный адрес с https:// или путь страницы этого сайта, например /news/novost |
| Приоритет | Обычный, Важный или Критичный. Важные и критичные отмечены цветом |
| Статус | Колонка доски |
| Исполнитель | Любой администратор сайта или «Не назначен» |
| Срок | Дата из календаря. На карточке: «Срок сегодня», «Срок завтра», «до 12 окт» или красная метка «Просрочено» |
Сохранить — кнопкой «Сохранить» или сочетанием Ctrl+Enter. Если закрыть окно с несохранённым текстом, доска переспросит.
Ссылки
Вставляйте адрес целиком, как он скопирован из браузера. На доске он показывается словом «Ссылка ↗» и открывается в новой вкладке, а полный адрес видно во всплывающей подсказке при наведении.
- Работает и в поле «Ссылка», и в тексте «Подробностей» — ссылок в тексте может быть сколько угодно.
- Точка, запятая или скобка сразу после адреса в ссылку не попадают.
- Адрес этого же сайта сохраняется как путь без части после
?и#: в таких хвостах бывают служебные коды и токены входа. Адреса других сайтов сохраняются как есть. - Принимаются только
http://иhttps://. Адреса видаjavascript:и с логином и паролем отклоняются.
Чек-лист
Каждая строка «Подробностей» вида - [ ] пункт становится флажком. Отмеченный пункт пишется как - [x] пункт.
Проверить форму обратной связи:
- [ ] отправка с телефона
- [x] письмо приходит администратору
- [ ] сообщение об успешной отправке
Флажки можно ставить прямо на раскрытой карточке — отметка сохраняется сразу, открывать окно редактирования не нужно. На свёрнутой карточке виден прогресс, например «☑ 1/3».
Карточки
В колонках карточки свёрнуты: заголовок (до двух строк) и строка меток — номер задачи, приоритет (если не обычный), срок, прогресс чек-листа, «Ссылка» и инициалы исполнителя. Ваши задачи отмечены синим кружком с инициалами.
- Раскрыть — щелчок по заголовку. Внутри: подробности, чек-лист, исполнитель, автор и дата, список статусов и кнопки «Редактировать», «Скопировать ссылку на задачу», «Удалить».
- «Развернуть все» / «Свернуть все» — кнопка над доской.
- Браузер запоминает, какие карточки раскрыты и какой фильтр выбран. Текст задач в браузере не хранится.
- Ссылка на задачу (кнопка со звеньями цепи) копирует адрес вида
…/bugboard#issue-12. По такой ссылке доска сама раскроет и подсветит задачу. - В колонке «Готово» показываются 10 карточек и кнопка «Показать все».
- Удаление окончательное, с подтверждением. Восстановить удалённую задачу через доску нельзя.
Перетаскивание
- Мышью — возьмите карточку за любое место (кроме раскрытой части) и отпустите в нужной колонке и на нужном месте. Пунктир показывает, куда встанет карточка.
- Пальцем на телефоне и планшете — тяните за значок ⠿ слева от заголовка. Остальная часть карточки прокручивает страницу как обычно.
- У края экрана страница прокручивается сама — так карточку можно донести до колонки ниже.
- Esc отменяет перенос.
- Порядок внутри колонки сохраняется для всех администраторов. Новая задача встаёт в начало своей колонки.
- Колонку можно сменить и без перетаскивания — списком статусов в раскрытой карточке.
С клавиатуры
Перейдите клавишей Tab на значок ⠿ нужной карточки: стрелки ↑ и ↓ меняют её место в колонке, ← и → переносят в соседнюю колонку (в её начало).
Поиск и фильтры
Поле «Поиск» ищет по заголовку, подробностям, ссылке, исполнителю и автору, а также по номеру: #12. Список «Показать»:
| Вариант | Что остаётся на доске |
|---|---|
| Все задачи | Всё |
| Мои задачи | Задачи, где исполнитель — вы |
| Без исполнителя | Задачи, которые никому не назначены |
| Просроченные | Срок прошёл, а задача не в «Готово» |
| Важные и критичные | Всё, кроме обычного приоритета |
При включённом поиске или фильтре карточки тоже можно перетаскивать: скрытые задачи остаются на своих местах.
Быстрые клавиши
| Клавиша | Действие |
|---|---|
N (или Т в русской раскладке) | Новая задача — на странице доски |
/ | Перейти в поиск |
Ctrl+Enter | Сохранить задачу в открытом окне |
Esc | Закрыть окно или отменить перетаскивание |
Плавающая кнопка
Синий кружок с иконкой в правом нижнем углу каждой страницы сайта и админки — его видят только администраторы. Нажатие открывает окно новой задачи; после сохранения рядом появится «Задача #N сохранена. Открыть доску».
- Отключить можно с любой страницы: наведите на кружок и нажмите маленький «×» (на телефоне он виден всегда). В окне выберите «Отключить» — кнопка пропадёт на сайте и в админке у всех администраторов. Или «Скрыть до закрытия вкладки» — только у вас и только до закрытия вкладки браузера.
- Включить снова можно только в админке: Компоненты → Доска задач → Настройки → флажок «Показывать плавающую кнопку „Добавить задачу“» → «Сохранить». Открыть настройки
Виджет панели управления
На главной странице админки — блок «Доска задач»: счётчики по колонкам, «Просрочено: N», кнопка «Добавить задачу», ссылка «Открыть доску» и пять последних открытых задач с приоритетом и исполнителем. Щелчок по задаче открывает её на доске.
Включается и выключается штатно: Панель управления → Настроить эту страницу → Доска задач. Отключение виджета не удаляет задачи.
Доступ и безопасность
- Доска, окна и кнопки доступны только вошедшим администраторам сайта. Модераторы и другие группы доступа не получают.
- Все изменения отправляются только формой с защитой от подделки запросов (CSRF).
- Текст задач выводится как обычный текст: HTML и скрипты в нём не выполняются.
- Если задачу одновременно правят двое, сохранится первая правка, а второй увидит просьбу обновить доску — его текст останется в окне.
- Ответы доски не кешируются и закрыты от поисковых систем.
Если что-то не так
| Признак | Что сделать |
|---|---|
| Нет круглой кнопки в углу | Проверьте флажок в Компоненты → Доска задач → Настройки. Если кнопку скрывали «до закрытия вкладки» — откройте сайт в новой вкладке |
| «Задача уже изменена или удалена другим администратором» | Нажмите «Обновить» над доской и повторите действие. Несохранённый текст перед этим скопируйте |
| «Сессия устарела» | Обновите страницу (сначала скопируйте несохранённый текст) |
| «Вставьте полную ссылку с https://…» | В поле «Ссылка» адрес без https:// и не начинается с /. Скопируйте адрес из строки браузера целиком |
| На телефоне карточка не перетаскивается | Тяните за значок ⠿ слева от заголовка, а не за текст |
| Доска не открывается, ошибка 404 | Вы не вошли на сайт или у учётной записи нет прав администратора |
| После обновления кнопки выглядят по-старому | Обновите страницу без кеша (Ctrl+F5) |
Удаление
Компоненты → Доска задач → Удалить. Задачи остаются в базе (таблицы {префикс}bugboard_issues и {префикс}bugboard_meta): после повторной установки доска вернётся со всеми задачами. Если задачи больше не нужны, удалите таблицы отдельно, предварительно сделав резервную копию.
Установщик покажет список файлов компонента для ручного удаления. Папку docs/_shared удалять не нужно: это общее оформление руководств других дополнений автора.