Обновил сайт

Ну что, факир протрезвел и вопросы переехали на компонент 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 построим свою систему.

Следующая заметка →
Новые комментарии
Комментарии (72)
Denys Butenko
04.11.2012 23:33

Годные комментарии) Hypercomments блочится AdBlock'ом по умолчанию. Только кнопку Post русифицировать нужно)

bezumkinВасилий Наумкин
04.11.2012 23:51

Да, меня это очень удивило дня 2 назад. Собственно, отсюда и спешка.

argnistВиталий Киреев
04.11.2012 23:57

Тест

bezumkinВасилий Наумкин
05.11.2012 00:31

Нормально, работает =)

Можно и код вставлять теперь:

<?php
echo "hello World!";
inetloverАлександр Наумов
05.11.2012 03:00

Супер!!!

RasulAbu
05.11.2012 04:07

Действительно круто!

ViktorminatorViktor Minator
05.11.2012 07:59

Жалко, что Лайка нету, поэтому пишу словами — супер, мне нравится!

bezumkinВасилий Наумкин
05.11.2012 09:39

Рейтингов, скорее всего, и не будет — этой социальной херни развелось вокруг слишком много.

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

bezumkinВасилий Наумкин
05.11.2012 21:56

Решили — прикручу +1. Минусов не будет.

ViktorminatorViktor Minator
05.11.2012 22:02

+1 =)

SimpleDreamLLCВиталик
05.11.2012 16:57

«Проверка связи» — проверка связи

код

— Можно добавить нумерованные и маркированные списки, кнопки табуляции вправо-влево, цитаты, выбор типа заголовка и т.д.? d.pr/i/wXxa

Загрузить файл нельзя будет?

— Ну и я за "+1".

SimpleDreamLLCВиталик
05.11.2012 17:00

+ Может добавить возможность отредактировать сообщение в течение какого-то времени (как в basecamp)?

+ Руссифицировать тайтлы у кнопок.

Все остальное — чудесно.

bezumkinВасилий Наумкин
05.11.2012 19:22

Про редактирование надо как следует подумать, пока отложил.

А тайтлы русифицировал — это быстро. Можно хоть что добавлять вот таким массивом:

{onTab: {keepDefault:false, replaceWith:"	"}
,markupSet: [
    {name:"Жирный", className: "btn-bold", key:"B", openWith:"<b>", closeWith:"</b>" }
    ,{name:"Курсив", className: "btn-italic", key:"I", openWith:"<i>", closeWith:"</i>"  }
    ,{name:"Подчёркнутый", className: "btn-underline", key:"U", openWith:"<u>", closeWith:"</u>" }
    ,{name:"Зачёркнутый", className: "btn-stroke", key:"S", openWith:"<s>", closeWith:"</s>" }
    ,{separator:"---------------"}
    ,{name:"Код", className: "btn-code", openWith:"<code>", closeWith:"

"} ,{name:"Вставить ссылку", className: "btn-link", openWith:"", closeWith:"" } ,{name:"Вставить картинку", className: "btn-picture", replaceWith:"" } ]}

Редактор — замечательный MarkItUp, но ничего не мешает и TinyMCE подключить — было бы желание.

SimpleDreamLLCВиталик
05.11.2012 17:06

Но самая прикольная реализация у нового basecamp-а мне кажется. d.pr/i/Kuav

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

bezumkinВасилий Наумкин
05.11.2012 18:32

Что-то мне подсказывает, что там работает целая толпа специалистов покруче меня, поэтому пока просто завидовать.

Если и делать, то в последнюю очередь.

SimpleDreamLLCВиталик
05.11.2012 19:00

Да, само собой. Пусть вектором развития будет дальнейшим

bezumkinВасилий Наумкин
05.11.2012 17:08

Писать можно любой html, Jevix отфильтрует все согласно текущих правил.

В редакторе все кнопки гибко настраивается, прям в админке.

Загрузки файлов пока не будет, а там посмотрим. Можно грузить хоть куда и давать ссылку

+1 сделаем

ViktorminatorViktor Minator
05.11.2012 19:24

И если можно добавить в функционал возможность отписки от комментариев. Типа «Отписаться от рассылки данного треда».

bezumkinВасилий Наумкин
05.11.2012 19:26

При отправке коммента есть чекбокс «Уведомлять о новых ответах». Щас уберу его чекнутость по умолчанию.

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

ViktorminatorViktor Minator
05.11.2012 19:27

Спасибо. А то я не заметил как чекнул и теперь «я в курсе всех событий» =)

ViktorminatorViktor Minator
05.11.2012 19:28

бляха снова чекнул =))))

SimpleDreamLLCВиталик
05.11.2012 19:36

d.pr/i/YgS6 — отступ нужно добавить от «Пользователь» и убрать «Спасибо, Квип»

bezumkinВасилий Наумкин
05.11.2012 20:34

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

В Quip это вообще как то странно сделано — либо ты получаешь все ответы из темы, либо никаких. Закончу с кэшированием ветки комментов и займусь этим.

SimpleDreamLLCВиталик
05.11.2012 19:37

Сменил имя

SimpleDreamLLCВиталик
05.11.2012 21:06

d.pr/i/eCeK — переделать бы в «5 ноября 2012 в 15:37»

bezumkinВасилий Наумкин
05.11.2012 21:31

Виталь, это все чисто эстетические украшения, которые не имеют никакого значения, если 100 комментариев грузятся 6 секунд. Точнее, они еще и увеличат это время.,

Так что, все потом.

inetloverАлександр Наумов
05.11.2012 23:49

Ко­неч­но, несрав­нен­но про­ще при­кру­тить LiveStreet, но для ме­ня это ста­ло бы про­фес­сио­наль­ным по­зо­ром. Луч­ше мы вме­сте с Simple Dream по­стро­им свою си­сте­му.

++ Много!!!

bezumkinВасилий Наумкин
06.11.2012 00:24

Ну правда, иначе я это не могу расценивать. Так ведь можно и с Joomla сайт скрестить, и с Bitrix.

В чем тут преимущество MODX? Это же LiveStreet работает, а MODX только запросы передаёт. Про дизайн я вообще молчу — на modx.com он отлично смотрится, но там «сайт-визитка», а тут блоги с комментариями.

Было что? LiveStreet + Evolution.

А стало что? LiveStreet + Revolution + дизайн, похожий на официальный сайт. Прогресс, етить.

Кстати, спасибо вам за то, что напомнили мне про

тег для цитаты

Добавил в редактор кнопочку. Если не выводится — Ctrl+F5.

alex.vakhitovAlex Vakhitov
08.11.2012 19:07

Для себя отметил, что иконки очень расплывчатые в редакторе, раздражает аж пипец (:

А так все очень круто, сам уже долгий срок мечтаю сделать свои комментарии с блекджеком и ш… преферансом и дамами.

SimpleDreamLLCВиталик
08.11.2012 19:09

d.pr/i/bgtH

Как вам такой вариант?

alex.vakhitovAlex Vakhitov
08.11.2012 19:22

d.pr/i/WmUQ

Вот как у меня выглядят значки просто, тут фактор привыкания к хорошему играет и уже автоматически на глаза попадает и раздражения вызывает.

А на вашем скриншоте все более четкое

bezumkinВасилий Наумкин
08.11.2012 19:29

А у меня вот так — четко и красиво.

Видно у вас какой-то новомодный retina или еще не знаю что.

alex.vakhitovAlex Vakhitov
08.11.2012 19:42

Вот у вас на скриншоте выглядит нормально, а у меня видимо из-за ретины размазано.

bezumkinВасилий Наумкин
08.11.2012 19:48

Для ретины вроде как то надо извращаться.

Я не умею, и проверить не на чем. Если пришлете такие иконки для ретины — сделаю.

Кстати, брал я их отсюда, бесплатные.

alex.vakhitovAlex Vakhitov
08.11.2012 20:03

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

Вообще в css есть специальное свойство для подмены картинок в ретине на более крупные, можно провести у вас эксперимент с этим. Я могу сделать тот же сет толь в два раза больше а вы пропишите свойство и посмотрим как это работает

inetloverАлександр Наумов
08.11.2012 20:08

У меня тоже размытые.

А еще, так же и лого здесь размыто и иконка твитера из футера смазана.

bezumkinВасилий Наумкин
08.11.2012 20:29

— По моему, вы слишком много кушать.

— В каком смысле?

— В смысле, зажрались!

© Ширли-Мырли

SimpleDreamLLCВиталик
08.11.2012 20:31

+1

inetloverАлександр Наумов
08.11.2012 20:42

Я от вас ничего не требую!

Пример:

https://dl.dropbox.com/u/49531936/modx/bez.png

и

https://dl.dropbox.com/u/49531936/modx/bez.png

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

inetloverАлександр Наумов
08.11.2012 20:44

Вторая правильная ссылка https://dl.dropbox.com/u/49531936/modx/atl.png

bezumkinВасилий Наумкин
08.11.2012 20:49

Иконки MODX одинакового размера должны быть, а у вас — разные.

Может просто масштаб моего сайта увеличен в браузере? Они же запоминают, даже если случайно Ctrl+scroll.

inetloverАлександр Наумов
08.11.2012 21:55

Извиняюсь, мой косяк.

Почему-то в первый раз Ctrl+0 не сработал, отсюда и сделал неверные выводы.

bezumkinВасилий Наумкин
08.11.2012 20:44

На скрине смазана как раз иконка Хабра — я ее сам рисовал.

А твиттерная и гугловая шли вместе с купленной темой.

Я ж программист, а не дизайнер. Делаю так, чтобы у меня на компе смотрелось хорошо. Ретин под рукой нет, талантов верстальщика тоже. Поэтому — как могу.

alex.vakhitovAlex Vakhitov
08.11.2012 20:36

Все остальное нормально выглядит, учитывая 90% совсем не приспособленных сайтов. Даже отлично все!

bezumkinВасилий Наумкин
08.11.2012 20:26

Конечно, присылайте!

Иконки я сам собирал в спрайт, а я еще тот умелец в этих вопросах.

alex.vakhitovAlex Vakhitov
08.11.2012 20:50

Кстати, сейчас делая спрайт заметил что иконки в Про версии отличаются от обычной

alex.vakhitovAlex Vakhitov
08.11.2012 20:56

Куда вам отправить кстати?

bezumkinВасилий Наумкин
08.11.2012 20:58

Да хоть сюда, ссылкой прицепить.

Ну или на мыло — ya@bezumkin.ru

SimpleDreamLLCВиталик
08.11.2012 21:21

Вот сейчас бы прикрепление файлов пригодилось :)

bezumkinВасилий Наумкин
08.11.2012 21:51

Рррррррр!

SimpleDreamLLCВиталик
08.11.2012 20:27
bezumkinВасилий Наумкин
08.11.2012 20:33

Прочитал по диагонали и снова понял, насколько верстка «не мое» =)

bezumkinВасилий Наумкин
08.11.2012 20:38

И ваще, это все фигня!

Вот у меня без Quip комментарии уже грузятся в режиме полного процессинга 0,9 сек, а без процессинга (то есть не понимая фильтры и сниппеты в чанках) — 0,15 сек.

На почти 200 комментариев, без кэша.

bezumkinВасилий Наумкин
08.11.2012 19:20

У меня все отлично выглядит, может из-за FullHD экрана.

Присылайте свой вариант иконок — прикрутить недолго.

SimpleDreamLLCВиталик
08.11.2012 20:43

Попросил дизайнера сделать нужные иконки. Какие еще нужны?

bezumkinВасилий Наумкин
08.11.2012 20:47

Все нынешние кнопки видны при создании тикета.

Но добавить можем любые кнопки, ограничений нет.

Для начала, думаю, достаточно эти правильно перерисовать.

bezumkinВасилий Наумкин
08.11.2012 23:16

Делаем Ctrl+f5 пару раз и должны появиться новые иконки.

ViktorminatorViktor Minator
08.11.2012 23:09

да, действительно были расплывчатые, а сейчас более четчё стали…

ViktorminatorViktor Minator
08.11.2012 23:22

в общем у меня B & T & I расплывчатые…

Denys Butenko
08.11.2012 23:24

По моему после обновления хуже стало)

Denys Butenko
08.11.2012 23:25

Denys Butenko
08.11.2012 23:25

Не хочет с ДБ картинки показывать :(

bezumkinВасилий Наумкин
08.11.2012 23:29

https надо убирать.

Заменил картинки на старые, а для ретиноводов оставил новые. И нашим и вашим, короче.

alex.vakhitovAlex Vakhitov
08.11.2012 23:31

Сравните две картинки d.pr/i/WmUQ и d.pr/i/DkVu

bezumkinВасилий Наумкин
08.11.2012 23:45

Исправил этот недостаток с https адресами для картинок.

Заодно и ftp добавил =)

Denys Butenko
08.11.2012 23:58

А font-awesome не пробовали?

Denys Butenko
08.11.2012 23:59

Хотя, по иконкам это он и есть, видимо. Тогда вопрос, использовать как шрифт)

Denys Butenko
09.11.2012 00:08

Вот такое предложение:

Добавить кнопку «вверх» и «вниз», когда открываешь страницу, хочется в самый вниз, а когда все комментарии прочитаны хочется вверх, колесиком утомительно крутить, приходится ползунок справа двигать.

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

bezumkinВасилий Наумкин
09.11.2012 00:10

Спасибо конечно, только я немного занят переписыванием кода комментариев, чтобы избавиться от тормозного Quip.

Как закончу — сразу примусь за стрелочки.

Denys Butenko
09.11.2012 00:11

Я не настаиваю и не тороплю, просто, еще одна идея в копилку)

98b503e504239ead5cc360331СикретНаме
14.11.2012 17:19

Ещё идея «в копилочку» — кнопочки «home» и «end» — отлично себя зарекомендовали ещё на эоны назад :0))))

Опережая разговоры об удобстве, скорости итд — поверьте на слово, хоткеи намного быстрее — я изучил их и мышу юзаю только в двух случаях -, если криво сделано и кнопки не пашут (например, space не снимает/не ставит галочу в чекбоксе «чужой комп» на входе ВКонтакте, а энтерит) или, если позу менять лениво, а мыша рядом.

В итоге — ненужный функционал. Для юзверя. Но мы же не такие?! :0)

П.С.

Даже в MODX наковырял хокеи на какие-то, как раз на наиболее частые телодвижения — ммм :0)

bezumkinВасилий Наумкин
14.11.2012 17:24

Вот тут есть про хоткеи в Рево.

Туда еще надо добавить как минимум Ctrl+Shift+S (сохранить и закрыть окно).

Про обычный Ctrl+S, думаю, все и так знают.

inetlover
Александр Наумов
06.02.2023 00:48
Ок, спасибо!
inetlover
Александр Наумов
28.01.2023 18:27
Классно, все работает!
inetlover
Александр Наумов
24.01.2023 18:31
Понял, спасибо!
inetlover
Александр Наумов
16.01.2023 16:41
Понял, спасибо!
gvozdb
Павел Гвоздь
15.01.2023 13:47
Теперь понял. Благодарю!
bezumkin
Василий Наумкин
14.01.2023 05:16
Да, мне тоже нравится Vite и он по умолчанию используется в Vue 3 и Nuxt 3. Более того, он вроде как...
inetlover
Александр Наумов
09.01.2023 14:35
Ясно, спасибо!
bezumkin
Василий Наумкин
29.12.2022 04:19
На здоровье!
inetlover
Александр Наумов
04.12.2022 15:12
Понятно, спасибо! А то в интернете пишут о минусах разных я и сомневаться стал.
born2slip
pishnaa istntome
22.11.2022 14:06
огромное спасибо! )