| Сводка | Пользовательские коллекции связанных тем | |
| Ссылка на репозиторий | https://github.com/Alteras1/discourse-collections | |
| Руководство по установке | Как установить плагины в Discourse |
Предпросмотр
Мобильная версия
Коллекции
Этот плагин позволяет пользователям создавать коллекции тем, которые отображаются при просмотре соответствующих тем. Коллекции могут включать любые URL-адреса и будут видны на всех связанных темах. Коллекции можно организовывать в разделы, и любые изменения в коллекции отражаются на всех связанных темах. Нет ограничений на связь тем, поэтому пользователи могут создавать коллекции через категории/теги.
Заголовок и описание
Необязательное поле для ввода. Если оно заполнено, данные будут отображаться в верхней части списка.
Разделы
Необязательная организационная функция. Добавив заголовок раздела, можно разделить коллекцию на секции, которые будут отображаться в виде раскрывающихся списков.
Подколлекции
Пользователи также могут создавать подколлекции, которые отображаются только для одной темы, позволяя пользователям добавлять релевантные URL-адреса (например, конкретные сообщения или внешние ресурсы) только для этой темы. Добавленные URL-адреса тем не будут связаны.
Разрешения
Плагин позволяет любому пользователю создавать коллекции для своих собственных тем. По умолчанию пользователи могут ссылаться только на свои темы и должны добавлять других пользователей в качестве сопровождающих, которые могут добавлять свои темы в коллекцию. Эту настройку можно отключить, предоставив только определенным группам полный контроль над любой коллекцией (по умолчанию это сотрудники и пользователи с уровнем TL4).
Демонстрация разрешений
Настройки
| Название | Описание |
|---|---|
| collections enabled | Включить/отключить плагин. По умолчанию: true |
| collection by topic owner | Разрешить автору темы создавать коллекции. По умолчанию: true |
| collection by topic owner allow groups | Ограничить авторов тем, которые могут создавать коллекции. Ограничивает collection by topic owner. По умолчанию: TL1 |
| collection modification by allowed groups | Группы, имеющие право создавать/изменять любые коллекции. По умолчанию: Admin Moderators TL4. |
| sections in subcollection | Разрешить заголовки разделов в подколлекциях. По умолчанию: true |
Альтернативы
Этот плагин во многом вдохновлен (и в какой-то момент был основан на) плагине Discourse Doc Categories. Хотя плагин Doc Categories имеет хороший механизм индексации и отличное отображение, его дизайн был ориентирован на страницы в стиле вики, где всё собрано в одной категории. Аналогично, индексация зависит от форматированного текстового ввода в отдельной теме, что имеет свои плюсы и минусы.
Компонент темы DiscoTOC - automatic table of contents также позволяет организовывать ссылки вне тела сообщения, но ограничен одной темой.
Если ваша цель — просто организация в стиле вики, то Discourse Doc Categories будет более подходящим вариантом. Если вам нужно, чтобы только некоторые страницы имели связанные темы, то лучше выбрать DiscoTOC - automatic table of contents.
Примечания
Изначально этот плагин был разработан для поддержки форума, на котором я состою, при его переходе на Discourse. Поскольку это форум, ориентированный на написание текстов, пользователи ведут отдельные темы для разных целей, что приводит к ситуации, когда ссылки между темами из разных категорий практически необходимы. Чтобы облегчить это, я создал этот плагин, чтобы помочь пользователям самостоятельно организоваться.
Существовал альтернативный сценарий, когда это был бы просто компонент темы, где индексация осуществлялась бы через введенные пользователем div-блоки с URL-адресами других сообщений. Однако после разработки 90% инструментов, мастеров и кода для этого я понял, что это того не стоит, и пользователи, скорее всего, пропустят все написанные руководства и будут жаловаться на то, почему что-то не работает. Поэтому этот путь был заброшен. Честно говоря, это не плохое решение, так как оно было бы гораздо более легковесным, чем плагин, но это возложило бы на пользователей лишнюю нагрузку по обеспечению правильного форматирования не только в одном сообщении, но и в нескольких.
В настоящее время я пометил это как experimental, так как я еще не на 100% определился с функциями интерфейса (например, иконки) и системой разрешений. Кроме того, мне нужно добавить автоматизированные модульные тесты.

