Обновил сайт
Ну что, факир протрезвел и вопросы переехали на компонент Tickets, версии 0.1.1-beta.
Секрет в том, что если работать на копии сайта - то никуда не спешишь, и все отлично выходит.
Система прав у MODX работает как надо - просто у меня была тупая опечатка, причем, в двух местах.
Quip тоже победился очень просто - комментарии нужно сохранять в БД уже с parent, а не добавлять его после. Тогда он сам прекрасно заполняет таблицу closure и дерево комментариев работает без проблем.
Итак, что нового?
-
Тикеты теперь CRC, то есть class_key у них не не modResource, а Ticket
-
Их можно создавать в разных разделах, но у нас пока только один такой - вопросы.
-
В тикеты добавлена система прав, чтобы разруливать работу в разделах.
-
Тонна исправлений и улучшений, включая редактирование своих вопросов.
-
Самое главное - встроенные комментарии на базе Quip.
Для работы с Quip я написал кучу кода, который подключает его файлы и переопределяет нужные методы. Таким образом сохранена вся админка, при переписанном фронтенде. Комментарии фильтруются Jevix, понимают теги, подписки на треды и полностью на аяксе.
Насколько я знаю, таких комментариев на MODX еще не было.
Вся разработка этого компонента оплачена, как обычно, Simple Dream. Версия очень ранняя, могут быть глюки и баги, о которых прошу писать мне.
Исходный код лежит на Github, использовать на свой страх и риск. Документации нет, на вопросы "а как прикрутить" не отвечаю. Только для самостоятельных энтузиастов.
Обновлено 05.11.2012
Прикрутил кэш к комментариям, получилось неплохо, на мой взгляд. Из-за многочисленных особенностей разжиревшего quip, самолета сделать никак не получится. Поэтому, рано или поздно, нынешние модернезированные комментарии превратятся в "чисто свои" комментарии, без лишней фигни.
Когда это будет - не знаю, так что сейчас сделал кэширование комментариев треда.
Суть его в том, что после первого получения комментов, их массив сохраняется в кэш бессрочно, а при добавлении комментария - обновляется. Причем, не весь целиком, а путем запихивания нового коммента в нужное место массива, согласно ветвления.
И обновление кэша, и загрузка почти мгновенные. Теперь время жрет только их рендер, но от него пока никуда не уйти. Хранить оформленные комментарии не хочется, ибо при любом изменении чанка придется чистить все кэшированные ветки и генерировать заново.
А так выходит компромис между скоростью и универсальностью.
Кэш треда можно очистить только вручную, он не реагирует ни на обновление тикета, ни сайта целиком. Конечно, если вы увидите после обновления страницы, что ваш комментарий не на своем месте - пишите мне, исправлю. Хотя, гонял сегодня это дело весь день, и вроде все учёл.
Итак, самый эпичный тред (315 комментариев) грузился 12,6146 s и жрал 25,25 Mb. Теперь - 2,2379 s и 7,75 Mb.
Не супер быстро, конечно, но явно лучше, чем было. Дальше буду отрезать от quip куски функционала, так как его авторы вместо оптимизаций сделали пагинацию да и бросили как есть. Мол, у кого тормозит - выводите поменьше комментов за раз.
Конечно, несравненно проще прикрутить LiveStreet, но для меня это стало бы профессиональным позором. Лучше мы вместе с Simple Dream построим свою систему.
0
👍
👎
❤️
🔥
😮
😢
😀
😡
4 459
04.11.2012, 18:39:15
72 комментария
bezumkin.ru
Личный сайт Василия Наумкина
Прямой эфир
Дмитрий
21.12.2024, 13:27:06
Здравствуйте.В ModX есть полезная функция "заморозить url родителя". При ее включении вместо:
УРЛ п...
Дмитрий
14.12.2024, 09:10:38
Василий, прошу прощения, тупанул, не разобрался сразу. Фреймворк отличный! "Чистый лист" на vue, рис...
Василий Наумкин
05.12.2024, 20:01:14
В итоге основная ошибка была в неправильном общем root в Nginx, из-за чего запросы не улетали на фай...
Василий Наумкин
01.07.2024, 11:56:41
Да, верно, именно так.
А в контроллере, скорее всего, ловить данные методом post.
Василий Наумкин
26.06.2024, 09:38:15
О, точно, вылезает если не залогинен.
Спасибо, исправил!
Василий Наумкин
09.04.2024, 04:45:01
> Ошибка 500
Это не похоже на ошибку Nginx, это скорее всего ошибка PHP - надо смотреть его логи.
...
Уровни подписки
Спасибо!
500 ₽ в месяц
Эта подписка ничего не даёт, просто возможность сказать спасибо за мои заметки. Подписчики отмечаются зелёненьким цветом в комментариях.
Большое спасибо!
1 000 ₽ в месяц
И эта подписка не даёт ничего, кроме оранжевого цвета в комментариях и возможности сказать спасибо, но уже большое!
блекджеком и ш… преферансом и дамами.T& I расплывчатые…