[Tickets] Версия 1.14.1-pl — последние комментарии и аннотация
Вышла Tickets 1.14.1-pl — патч к версии 1.14.0 от 12 июля.
Основная работа в этом релизе — над TicketLatest: ускорили выборку последних комментариев, убрали лишнее чтение содержимого тикетов и исправили ошибки SQL при включённом ONLY_FULL_GROUP_BY. Также добавили настройку длины автоматической аннотации, расширили параметры TicketForm и исправили несколько проблем, обнаруженных после предыдущего релиза.
Производительность TicketLatest
В режиме &action=`comments` без &user сниппет теперь начинает выборку с TicketThread и сортирует комментарии по полю comment_time. Для этого в таблицу tickets_threads добавлен индекс, который создаётся резолвером при обновлении пакета.
Также:
Автоматическая аннотация
Добавлена настройка tickets.autocut_text_length со значением по умолчанию 0.
Она работает совместно с tickets.auto_introtext. Если в тексте нет тега , а аннотация пуста, Tickets может заполнить её первыми N видимыми символами текста.
При этом тикет длиннее tickets.ticket_max_cut можно сохранить с фронтенда без . Сам текст тикета не изменяется.
При значении 0 сохраняется прежнее поведение: длинный тикет без с фронтенда не сохранится.
Например, чтобы автоматически формировать аннотацию длиной 500 символов, установите tickets.autocut_text_length = 500 и включите tickets.auto_introtext.
Подробнее: #218.
Новые параметры TicketForm
В TicketForm добавлены два параметра:
Настройки по умолчанию
В системные настройки добавлены параметры, которые раньше уже использовались внутри кода:
Также исправлено описание tickets.section_content_default: значение по умолчанию пустое, а вывод списка дочерних тикетов эта настройка не определяет.
Подробнее: #221.
Исправления
Совместимость
Tickets 1.14.1-pl предназначен для MODX Revolution 2.x и требует PHP 8.0+.
Порт на MODX 3 остаётся отдельной задачей.
Если обнаружите проблему или хотите предложить улучшение, создавайте issue в репозитории Tickets.
Если компонент полезен вашим проектам и вы хотите поддержать его дальнейшее развитие:
Основная работа в этом релизе — над TicketLatest: ускорили выборку последних комментариев, убрали лишнее чтение содержимого тикетов и исправили ошибки SQL при включённом ONLY_FULL_GROUP_BY. Также добавили настройку длины автоматической аннотации, расширили параметры TicketForm и исправили несколько проблем, обнаруженных после предыдущего релиза.
Производительность TicketLatest
В режиме &action=`comments` без &user сниппет теперь начинает выборку с TicketThread и сортирует комментарии по полю comment_time. Для этого в таблицу tickets_threads добавлен индекс, который создаётся резолвером при обновлении пакета.
Также:
- Убрано чтение Ticket.content при выводе комментариев — на больших выборках оно приводило к избыточной нагрузке на запрос.
- Исправлена ошибка SQL 1055 при включённом ONLY_FULL_GROUP_BY.
- В режиме комментариев sortby=createdon теперь тоже использует comment_time.
- Из Section и Profile выбираются только поля, необходимые для чанка.
- Значение sortby по умолчанию теперь пустое: сниппет самостоятельно выбирает поле сортировки в зависимости от режима работы.
Автоматическая аннотация
Добавлена настройка tickets.autocut_text_length со значением по умолчанию 0.
Она работает совместно с tickets.auto_introtext. Если в тексте нет тега , а аннотация пуста, Tickets может заполнить её первыми N видимыми символами текста.
При этом тикет длиннее tickets.ticket_max_cut можно сохранить с фронтенда без . Сам текст тикета не изменяется.
При значении 0 сохраняется прежнее поведение: длинный тикет без с фронтенда не сохранится.
Например, чтобы автоматически формировать аннотацию длиной 500 символов, установите tickets.autocut_text_length = 500 и включите tickets.auto_introtext.
Подробнее: #218.
Новые параметры TicketForm
В TicketForm добавлены два параметра:
- &exclude — исключает указанные разделы из списка доступных. При редактировании тикета его текущий раздел остаётся в списке.
- &redirectTo — задаёт ресурс, на который пользователь попадёт после публикации нового тикета. Значение 0 сохраняет переход на созданный тикет. Для черновиков продолжает использоваться &redirectUnpublished.
Настройки по умолчанию
В системные настройки добавлены параметры, которые раньше уже использовались внутри кода:
- tickets.disable_jevix_default
- tickets.process_tags_default
- tickets.ticket_show_in_tree_default
- tickets.section_id_as_alias
- Семь настроек весов рейтинга автора tickets.rating_*_default.
Также исправлено описание tickets.section_content_default: значение по умолчанию пустое, а вывод списка дочерних тикетов эта настройка не определяет.
Подробнее: #221.
Исправления
- При снятии тикета с публикации фронтенд больше не падает из-за вызова isDirty() без имени поля. В MODX 2.x используемая версия xPDO требует аргумент.
- В TicketLatest с &action=`Tickets` теперь корректно выбирается чанк тикета. Раньше при обработке &tpl до приведения регистра мог подставляться чанк комментария.
- Очистка корзины удаляет ветки комментариев и у обычных ресурсов. У тикетов удаление ветки resource-{id} по-прежнему выполняет Ticket::remove().
Совместимость
Tickets 1.14.1-pl предназначен для MODX Revolution 2.x и требует PHP 8.0+.
Порт на MODX 3 остаётся отдельной задачей.
Если обнаружите проблему или хотите предложить улучшение, создавайте issue в репозитории Tickets.
Если компонент полезен вашим проектам и вы хотите поддержать его дальнейшее развитие:
- Сбербанк: поддержать разработку.
- Тинькофф: поддержать разработку.
Техническая поддержка MODX
Сайт лежит, тормозит или остался без разработчика?
Переезд с MODX 2 на 3, PHP 7 на 8, скорость и безопасность. Поддержка со сроками и ответственностью, а не совет в чате.
Подробнее
Реклама
0
Комментарии: 0