Обновил сайт

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

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

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

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

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

Тест

bezumkinВасилий Наумкин
04.11.2012 20:31

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

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

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

Супер!!!

RasulAbu
05.11.2012 00:07

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

ViktorminatorViktor Minator
05.11.2012 03:59

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

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

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

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

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

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

ViktorminatorViktor Minator
05.11.2012 18:02

+1 =)

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

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

код

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

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

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

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

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

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

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

bezumkinВасилий Наумкин
05.11.2012 15: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 13:06

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

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

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

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

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

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

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

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

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

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

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

+1 сделаем

ViktorminatorViktor Minator
05.11.2012 15:24

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

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

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

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

ViktorminatorViktor Minator
05.11.2012 15:27

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

ViktorminatorViktor Minator
05.11.2012 15:28

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

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

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

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

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

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

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

Сменил имя

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

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

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

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

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

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

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

++ Много!!!

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

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

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

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

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

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

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

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

alex.vakhitovAlex Vakhitov
08.11.2012 15:07

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

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

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

d.pr/i/bgtH

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

alex.vakhitovAlex Vakhitov
08.11.2012 15:22

d.pr/i/WmUQ

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

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

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

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

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

alex.vakhitovAlex Vakhitov
08.11.2012 15:42

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

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

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

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

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

alex.vakhitovAlex Vakhitov
08.11.2012 16:03

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

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

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

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

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

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

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

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

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

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

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

+1

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

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

Пример:

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

и

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

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

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

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

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

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

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

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

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

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

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

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

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

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

alex.vakhitovAlex Vakhitov
08.11.2012 16:36

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

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

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

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

alex.vakhitovAlex Vakhitov
08.11.2012 16:50

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

alex.vakhitovAlex Vakhitov
08.11.2012 16:56

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

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

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

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

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

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

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

Рррррррр!

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ViktorminatorViktor Minator
08.11.2012 19:09

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

ViktorminatorViktor Minator
08.11.2012 19:22

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

Denys Butenko
08.11.2012 19:24

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

Denys Butenko
08.11.2012 19:25

Denys Butenko
08.11.2012 19:25

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

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

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

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

alex.vakhitovAlex Vakhitov
08.11.2012 19:31

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

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

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

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

Denys Butenko
08.11.2012 19:58

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

Denys Butenko
08.11.2012 19:59

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

Denys Butenko
08.11.2012 20:08

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

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

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

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

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

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

Denys Butenko
08.11.2012 20:11

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

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

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

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

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

П.С.

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

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

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

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

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

bezumkin
Василий Наумкин
13.08.2022 11:41
неужели, все глобальное, так просто можно взять и сделать Да, именно так. Мелкие затыки, конечно ж...
bezumkin
Василий Наумкин
13.08.2022 08:18
Killed говорит, что сервер прибивает задачу, скорее всего у провайдера есть какие-то лимиты по нагру...
bezumkin
Василий Наумкин
11.08.2022 15:46
Класс!! Рад, что тебе нравится! нужно добавить @click=&quot;showCart = true&quot; в: Спасибо, попра...
bezumkin
Василий Наумкин
09.08.2022 11:27
На здоровье!
inetlover
Александр Наумов
30.07.2022 19:58
Василий, спасибо большое! Первый вариант помог, не было вот этой настройки: php_value[sys_temp_dir].
bezumkin
Василий Наумкин
12.07.2022 20:40
Всё как обычно, в самом начале файла конфига import axios from &#x27;axios&#x27;
bezumkin
Василий Наумкин
06.07.2022 14:06
Базовый Vue, базовый ES 6: импорт-экспорт модулей, вот это всё. Если что-то будет непонятно - просто...
bezumkin
Василий Наумкин
06.07.2022 11:19
Спасибо, что читаешь!
bezumkin
Василий Наумкин
05.07.2022 11:40
На здоровье!
inetlover
Александр Наумов
03.07.2022 23:36
Василий, спасибо! Все понятно!