Обновил Tickets, версия 0.5.0

Вслед за Jevix, я обновил и Tickets. Изменений довольно много, большинство весьма серьёзные.

- Немного переделал менеджерские страницы тикетов. Можно использовать TinyMCE и другие редакторы. Последний Ace не работает, причем со всеми ресурсами, не только тикетами. Видно, автор увлёкся экспериментами с "аяксовой админкой".

- Улучшил окно работы с комментарием. Теперь при развороте окна на весь экран увеличивается поле редактирования. Для скорости и истории в каждый комментарий сохраняются имя и email автора, на момент создания записи. В новой версии их можно изменить, на профиль юзера это никак не влияет.

- Автоматическая генерация поля introtext, основываясь на положении тега cut. Раньше для вывода списка тикетов на странице использовался сниппет, который вызывался в каждом чанке и криво разбирал контент. То есть, getResources приходилось доставать контент страницы и запускать дополнительный сниппет на каждый результат. Грустно было.

Сейчас же, если при создании тикета в процессор не присылается поле introtext, то оно генерируется автоматом, причем, через Jevix. То есть, в introtext у вас всегда готовый кусок текста до cut, или то, что вы туда сами написали. Заодно, это будет дисциплинировать авторов, ибо если не указать cut - то introtext не будет и этот тикет в списке будет очень сиротливо смотреться.

Вообще, это отдельная тема с неуказанием cut. Есть 2 варианта - выводить весь документ или не выводить ничего, мне больше нравится второй вариант. Также, все жти изменения радикально ускоряют вывод списка тикетов в getResources и подобных сниппетах. Контент "по умолчанию" для новой секции тоже изменён - убрал &includeContent=1.

- Следствие из предыдущего пункта - при выводе страницы тикета тег cut превращается в якорь. Заодно изменил чанк вывода списка тикетов, чтобы ссылка шла на этот якорь.

- Еще одно следствие - cниппет tagCut удалён.

- Новый параметр в админке - отключить Jevix. Если активировать, контент страницы будет выводиться не фильтрованным. Использовать только если сами пишите заметки в админке, иначе сайт быстро похакают. Очень, очень советую все-таки форматировать ваши тексты так, чтобы Jevix их пропускал (тем более, он прекрасно настраивается - набор параметров Ticket).

Ведь кроме фильтрации, он еще и типографирует ваш текст, а с новой версии умеет менять куски текста регулярками.

- Новый параметр в админке - обрабатывать теги MODX. Тут надо немного пояснить: в классе Ticket встроена защита от подсовывания модыксовых тегов в создаваемый ресурс. Если вы получаете любое поле этого документа, то в нем, по умолчанию, фильтруются все MODX тэги - скобочки заменяются сущностями и парсер их не обрабатывает.

Даже при выборке через другой сниппет вы не увидите нефильтрованных тегов (если он достаёт значения через $resource->get(), а не напрямую из БД).

Так вот, если у ресурса включить параметр обрабатывать теги MODX - то теги будут отдаваться "как есть" и парсер их обработает. Это касается именно метода get для класса Ticket.

Имейте в виду, что контент на собственной странице тикета выдаётся другой функцией, $resource->getContent(), которая вызывает Jevix и он тоже нейтрализует теги. То есть, если вы включите этот пункт, но не включите предыдущий - то теги будут работать во всех полях страницы, кроме контента. Чтобы работали и в контенте - придется Jevix отключить.

- Добавил системные настройки для выставления умолчания этих двух опасных параметров для новых документов. Вообще, изменить эти параметры у тикета их можно только в админке, с фронтенда - никак нельзя.

- Переделан вывод последних комментариев. Раньше была сложная выборка, которая осталась еще со времен Quip, но теперь это в прошлом. У треда комментариев добавлены 2 поля: с последним комментарием и его датой - они и выбираются.

В общем, драматическое увеличение скорости. За пинок в этом направлении спасибо Евгению Борисову.

Если вы обновляете компонент, то сначала в блоке последних будет пусто, но не пугайтесь - нужно просто походить по тикетам и последние комменты забьются в таблицу тредов автоматом.

В общем, Tickets приведены в полную готовность для работы в качестве персонального блога. На своём сайте я уже избавился от Articles и остального ненужного барахла. Стало гораздо проще, значительно быстрее и просто удобнее.

← Предыдущая заметка
Обновил Jevix, версия 1.1.0
Следующая заметка →
HybridAuth для MODX Revolution
Комментарии (40)
ViktorminatorViktor Minator
28.11.2012 20:23

Если раньше я не успевал изучать минишоп, то теперь я не успеваю обновлять тикеты. А что будет дальше? (^.^)

Alexandr Semenov
28.11.2012 21:30

Планируется ли разграничить права пользователей на просмотр только своих тикетов, а менеджера (админа) на просмотр всех?

bezumkinВасилий Наумкин
29.11.2012 00:51

Пока не вижу смысла зашивать это внутрь компонента — это его усложнит.

У каждого тикета есть createdby — по нему можно проверять, кому что показывать. Не забывайте, что в getResources можно уточнять выборку, а при загрузке страницы проверять юзера плагином по OnLoadWebDocument.

gasergeГалич Сергей
29.11.2012 05:06

круть) наконецто от articles можно избавляться)

Peter Zenin
29.11.2012 10:53

От будут отдельно комменты?

У меня у Quip не работал threading, а он очень нужен.

bezumkinВасилий Наумкин
29.11.2012 11:00

Зачем?

Они прекрасно работают в составе компонента Tickets. Создавать тикеты вас никто не заставляет.

Алексей П
01.12.2012 18:10

А если не создавать тикет комментарии будут видны в админке?

bezumkinВасилий Наумкин
02.12.2012 02:56

Пока работа с комментариями в админке возможна только на странице тикета.

6ec97607e5227ae50c425ea8b6321f7dEvgenij Schemelev
04.12.2012 07:56

Подскажите, пожалуйста, в каком направлении копать чтобы сделать постраничное разбиение страницы со списком всех комментариев.

bezumkinВасилий Наумкин
04.12.2012 08:01

Разбить контент страницы поможет Pagebreaker

Комментарии на страницы не разбиваются принципиально.

Denys Butenko
04.12.2012 19:28

Предлагаю в следующей версии добавить в раздел тикетов пункт «тип ресурса» для обратной смены типа ресурса.

bezumkinВасилий Наумкин
05.12.2012 03:25

Чтобы на сайте в мгновения ока появился нефильтрованный ресурс, набитый XSS и тегами MODX?

Нет уж.

Denys Butenko
05.12.2012 11:11

Если причина в этом, тогда понял. Просто, например, я случайно изменил тип ресурса не в том документе, а назад убрать никак (только через бд), хотя по сути этот документ не содержит тикетов.

b37506afa5f7d22be9c59361a58f9db5Андрей Розум
04.12.2012 21:04

Блин, пока ковыряюсь в своей рутине появляется столько того, что хочется опробовать. Когда бы все успеть. :D

RasulAbu
07.12.2012 13:44

Не «показывать в меню» для раздела тикетов не работает?

bezumkinВасилий Наумкин
07.12.2012 23:06

Работает.

Просто, как и у Тикета, обновление раздела старается не чистить кэш всего сайта.

k07nAndrei Kilin
11.12.2012 11:56

тем более, он прекрасно настраивается — набор параметров Ticket

Поменял в наборе параметров размер видео, но размер остался прежний. Набор надо как-то отдельно подключать?

bezumkinВасилий Наумкин
11.12.2012 12:45

Кэш?

k07nAndrei Kilin
11.12.2012 12:56

Чистил и в админке и коре. + Пост новый создавал после изменения параметров.

bezumkinВасилий Наумкин
11.12.2012 16:35

Не судьба, значит.

А у меня работает.

k07nAndrei Kilin
12.12.2012 07:25

Блин, даже стыдно, не заметил, что там 2 выражения, у «youtu.be» сменил размер, а ссылку вставляю yоutube.com %)

bezumkinВасилий Наумкин
12.12.2012 07:47

Обычное дело =)

gasergeГалич Сергей
11.12.2012 14:20

Василий, подскажи

вопрос по псевдониму статьи, планируется вводить?

или куда покопать?

bezumkinВасилий Наумкин
11.12.2012 16:33

Неа, не планируется.

Это система блогов\тикетов. Гляньте на Хабр и LiveStreet CMS — у страниц нет имён, только номера.

gasergeГалич Сергей
11.12.2012 16:44

ясно, ну я так поинтересовался, мало ли

Алексей П
21.12.2012 18:35

Подскажите пожалуйста какой файл отвечает за вывод комментариев в админке? Хочу переделать, чтобы была возможность просматривать и редактировать комментарии независимо от тикетов.

bezumkinВасилий Наумкин
22.12.2012 00:09

Как вы собираетесь что-то «переделывать», если вам нужно «подсказать файл»?

Алексей П
22.12.2012 02:43

Примерно такого ответа я и ожидал) В прошлой версии тикетов желаемый результат достигался простым комментированием строк, где подключались js скрипты из раздела section. Да, это коряво и наверное не правильно, но все же работало, а большего мне и не надо. Сейчас такая фишка не прокатывает. Думал, что для Вас, как разработчика, не составит труда подсказать, так как Вы в своем коде лучше ориентируетесь чем я. А мне придется потратить много времени пока я достигну того же результата. Но если Вам все-таки затруднительно, то прошу прощения за беспокойство.

bezumkinВасилий Наумкин
22.12.2012 04:17

Не знаю, что вы там комментировали и зачем.

Сейчас есть управление комментариями отдельного тикета и всего раздела тикетов.

При этом, комменты могут работать на любой странице и в будущем я планирую отдельную админку, для управления этими «нетикетными» комментами.

Отсюда мне не ясно, что вы там собрались переделывать, когда нужно делать специальный раздел админки.

Алексей П
22.12.2012 06:15

Но пока нет отдельной админки для комментов можно же подкорректировать существующую, чтобы комменты выводились не по тредам а все подряд. Т.к. сама система тикетов мне не нужна, а только комментарии.

А когда Вы планируете сделать отдельную админку? Просто есть ли смысл ждать…

bezumkinВасилий Наумкин
22.12.2012 07:40

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

Алексей П
22.12.2012 08:32

Отлично! Спасибо!

bezumkinВасилий Наумкин
24.12.2012 18:07
Мордынский Николай
18.03.2013 08:36

Василий, не подскажешь как подключить редактор тини мсе к полю интротекст. Решения 2 ух летней давности с плагином на событие onDocFormPrerender

    
global $replace_richtexteditor;
$replace_richtexteditor[] = "introtext";
bezumkinВасилий Наумкин
18.03.2013 08:39

Зачем?

Поле Introtext формируется автоматически, если в тексте есть тег cut. Всё до него пройдет через Jevix и сохранится в Introtext.

В любом случае, нет, не знаю =)

Мордынский Николай
18.03.2013 08:44

не не не я не про тикетс и не про minishop2 )) мне хотелось бы прикрутить к обычному ресурсу .. понятно спасибо мб кто еще знает)

RasulAbu
18.03.2013 10:40

Кстати, я как-то жаловался, но вижу проблемы с пользователями которые не хотят ставить cut так и не ушли, может добавить еще формирование из контента, типа https://gist.github.com/govza/4757842

PostcoderSlava Beico
07.05.2013 13:37

делаю вызов сниппета с &includeContent=1 а в чанке:

<div class="dcontent">
    [[+content:limit=`200`]] 
            </div>
Yani
07.10.2014 06:50

Василий, доброе утро . А можно отключить автоматическую генерацию интротекста и оставлять его пустым?

bezumkinВасилий Наумкин
07.10.2014 06:58

Нет.

bezumkin
Василий Наумкин
04.07.2022 23:34
Что-то странное у тебя произошло: миграция есть, и вроде как выполнена, но таблицы при этом отсутств...
inetlover
Александр Наумов
03.07.2022 20:36
Василий, спасибо! Все понятно!
bezumkin
Василий Наумкин
02.07.2022 20:28
Спасибо, поправил!
bezumkin
Василий Наумкин
30.06.2022 03:58
Есть ли возможность формировать &quot;friendly URL aliases&quot;, используя аналог translit MODx? ...
bezumkin
Василий Наумкин
27.06.2022 03:32
Спасибо за исправления, очень выручаешь =) Но учитывая количество не описаных в заметке дополнительн...
bezumkin
Василий Наумкин
27.06.2022 03:10
что будет использоваться для вывода многоуровневого меню Посмотри как работают комментарии на этом ...
bezumkin
Василий Наумкин
25.06.2022 11:56
Поправил, спасибо!
bezumkin
Василий Наумкин
21.06.2022 01:58
onLoad(data) { this.total = data.total }, и onLoad({total}) { this.total = total }, В нашем случ...
bezumkin
Василий Наумкин
20.06.2022 14:01
Прекрасно тебя понимаю, я когда сам в этом разбирался - голова дымилась. Но зато теперь прямо-таки п...
bezumkin
Василий Наумкин
20.06.2022 09:30
Не надо, оно по умолчанию так - я просто чуть более подробно написал.