Новые комментарии

При прошлом обновлении все было круто, за исключением того, что Quip повел себя под нагрузкой как последняя скотина. Даже кэширование не спасло!

Загружать страницу 2-3 секунды нифига не интересно, поэтому я зарылся в код на двое суток и дописал комментарии до самостоятельного состояния.

Да-да, для MODX Revolution, можно сказать, появились быстрые и удобные Ajax-комментарии. Они входят в комплект пакета Tickets, который рулит здесь разделом вопросы. Внешне особо ничего не изменилось, только стало гораздо быстрее.

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

Что касается скорости — каждый может оценить сам. Наш эпичный тред из 315 комментариев (больше темы у меня нет) грузится за ~0.45 сек. Я даже кэшировать ничего не стал — и так хорошо.

Заодно представляю новую плюшку в разработке расширений — fastMode. У меня это означает, что чанки оформления не проходят обработку вообще. В них только заменяются плейсхолдеры на значения (банальным str_replace()), а все остальное вырезается. То есть, чанки, сниппеты, условия, фильтры и тд в этом режиме идут лесом — выходит очень быстро.
Если же его отключить, то комментарии работают раза в 2-3 медленнее. Зато можно напихать всякого барахла и нудеть, какой MODX тормозной.
Надеюсь, эта опция приживется и в других компонентах. Кому мнтересно — дам ссылки на куски кода, там ничего сложного.

Осталось только избавиться еще от Articles и писать заметки прямо с фронтенда, для полного счастья. Только, боюсь, Jevix не пропустит мои изыски с форматированием. Надо подумать.

Желательно пожмакать раза 2-3 Ctrl+F5, чтобы обновились скрипты и стили.

P.S. Забыл сказать, Quip не советую использовать вообще. Более тормозного компонента я еще не видел. Только для объемов до 20-30 комментариев на страницу.

Новые комментарии доступны для всех в составе компонента Tickets!


Следующая заметка
Новости про курсы обучения
Предыдущая заметка
Обновил сайт


Комментарии ()

  1. Alex Vakhitov 09 ноября 2012, 20:34 # 0
    Отличный компонент, правда сейчас целая эпопея была с тем почему текст комментария не показывается, а оказалось нужен Jevix
    1. Василий Наумкин 09 ноября 2012, 20:39 # 0
      Ну, он же для энтузиастов.

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

      Поправлю, позже. Щас вам должно прийти письмо с уведомлением об этом комментарии =)
      1. Alex Vakhitov 09 ноября 2012, 20:57 # 0
        Да, письмо пришло (: Вообще Quip рядом не стоит по скорости работы с вашим компонентом. Ну и в документации нужды тоже особой не вижу, все и так понятно
        1. Василий Наумкин 09 ноября 2012, 20:59 # 0
          Это радует!

          Правда, по правам доступа мне самому только недавно все стало понятно =) Но комментарии могут использоваться отдельно от Тикетов, расчёт был такой.
          1. Alex Vakhitov 09 ноября 2012, 21:08 # 0
            Я еще до этого не добрался, пока работу комментариев смотрю, и возможность использования на продакшене (:
        2. Alex Vakhitov 10 ноября 2012, 07:43 # 0
          Наверное еще желательно сделать отдельный сниппет для вывода количества комментариев, метод то есть в классе Tickets. Иначе думаю вас завалят вопросами, типо, как мне получить количество комментариев? (:
          1. Василий Наумкин 10 ноября 2012, 08:17 # 0
            Компонент не выкладывается в репозиторий, разрабатывается для нужд Simple Dream и меня.
            Поэтому — побоку на вопросы.
            1. Alex Vakhitov 10 ноября 2012, 08:40 # 0
              Понятно. Я вот занялся внедрением в админку комментариев, как это в Quip было ревлизовано, то не удобно напрямую через mysql запросы на удаление делать. (:
              1. Василий Наумкин 10 ноября 2012, 08:48 # 0
                У меня это следующим этапом идет.
      2. Иван Брежнев 10 ноября 2012, 00:16 # 0
        Красота)))
        1. Иван Брежнев 10 ноября 2012, 00:22 # 0
          Василий, это я баловался)) От анонима можно комменты отправлять))
          Прошу прощения за пустые комменты.
          1. Василий Наумкин 10 ноября 2012, 03:17 # 0
            Баловаться надо на своем сайте.

            Заблокирован до воскресенья.
            1. Василий Наумкин 10 ноября 2012, 09:31 # 0
              Закрыл недоработку.

              Разблокировал тебя за (надеюсь) хорошие намерения. 119 комментариев всякой херни, согласись, было как то многовато, для демонстрации факта, что я забыл прописать право на создание комментария?

              В общем, первая реабилитация репрессированнх «низачто» жертв режима состоялась!
              1. Иван Брежнев 10 ноября 2012, 10:33 # 0
                Не думал что ты на это можешь обидеться. Я просто через REST консоль пробовал тестировать, смотрел какие ответы сервер возвращает и т.д.
                1. Василий Наумкин 10 ноября 2012, 10:37 # 0
                  Я не обиделся, а применил воспитательные меры.

                  Как будто не знаешь, что на чужих публичных ресурсах не надо тренироваться. За это даже в гражданском кодексе статься есть.

                  Недоработку ты увидел, спасибо. Я ее исправил. Но 119 комментариев огромного размера, со всякой фигней, ни на почте, ни на сайте мне не нужны. Мне пришлось в 6 утра вычищать все это безобразие.
                  А люди которые заходили на сайт до того, как я проснулся, это все видели.

                  Короче, не надо так делать, ибо действительно обижусь.
                  1. Иван Брежнев 10 ноября 2012, 10:45 # 0
                    ок.
                    Кстати задай для всех картинок максимальный размер, а то ты видел что большие картинки делают
                    1. Василий Наумкин 10 ноября 2012, 10:48 # 0
                      Сделал.
                      В комментах максимум 500px + overflow:auto, если что. А в тикетах — 750px, максимально.
                      1. Иван Брежнев 10 ноября 2012, 11:13 # 0
                        Еще был момент что в нулевой тред получилось коммент добавить, он появился в правом блоке комментов
                        1. Василий Наумкин 10 ноября 2012, 11:29 # 0
                          О, еще одно спасибо! Проверка то на наличие треда есть, да у меня откуда то появился нулевой.

                          А, понятно — при заходе юзером на коннектор для комментариев создавался нулевой тред. Больше такого не будет.
                          1. Иван Брежнев 10 ноября 2012, 11:39 # 0
                            И забыл написать, пустой коммент можно тоже добавить!
                            1. Иван Брежнев 10 ноября 2012, 11:40 # 0
                              Т.е. даже если переменная text просто пустая
                              1. Василий Наумкин 10 ноября 2012, 11:42 # 0
                                При отправке проверяется на jQuery, хотя через & nbsp; можно.
                                Сейчас добавлю еще проверочку.
                                1. Иван Брежнев 10 ноября 2012, 11:43 # 0
                                  Я просто не через форму пробовал отправлять.
                                  А если через форму то достаточно просто 0 написать
                                  1. Василий Наумкин 10 ноября 2012, 11:44 # 0
                                    Таких умников можно забанить (это намек), ведь требуется авторизация и uid юзера + ip фиксируются.

                                    Но щас все равно допишу проверки в процессор.

                                    1. Иван Брежнев 10 ноября 2012, 11:45 # 0
                                      Я любитель проверок.
                                      1. Иван Брежнев 10 ноября 2012, 11:46 # 0
                                        Вдруг попадется один обиженный и начнет гадить!)
                                        1. Иван Брежнев 10 ноября 2012, 11:48 # 0
                                          Вот если бы я решил напакастить то точно не использовал бы свой логин, да и IP сменить секундное дело. В нете куча бесплатных прокси
                                          1. Василий Наумкин 10 ноября 2012, 11:51 # 0
                                            Я ж говорю — забанится он быстро, а камменты почистятся.
                                            Надо только админку написать для этого удобную.

                                            Попробуй пустые комменты поотправлять.

                                            1. Василий Наумкин 10 ноября 2012, 11:53 # 0
                                              Я не против, скорее даже за — но надо же и меру знать.

                                              Кстати, улучшил предпросмотр. Теперь не только текст появляется, а как бы готовый коммент.
                          2. Комментарий был удален.
                            1. Алексей Романов 10 ноября 2012, 05:06 # 0
                              Вы молодец. Очень красиво сделали, и главное как быстро работает!

                              А не подскажите как можно использовать на своём маленьком сайте, и чтобы гости тоже могли оставлять комментарии?

                              Заранее огромное спасибо. И здоровья вам крепкого!
                              1. Василий Наумкин 10 ноября 2012, 08:14 # 0
                                Никак, на гостей не рассчитано. Это усложнит и затормозит компонент, а выгоды никакой.

                                Делайте быстрый вход через Loginza, у всех есть учетка где-нибудь.
                              2. Комментарий был удален.
                                1. Александр Наумов 10 ноября 2012, 16:23 # 0
                                  Спасибо, «неприлично» быстро страницы грузятся!
                                  1. Василий Наумкин 10 ноября 2012, 16:27 # 0
                                    Главное, чтобы голова не закружилась!!!
                                  2. Василий Краковецкий 10 ноября 2012, 19:52 # 0
                                    в хроме новые комментарии не работают
                                    1. Василий Краковецкий 10 ноября 2012, 19:52 # 0
                                      ReferenceError: saveComment is not defined [http://bezumkin.ru/blog/2012/06/18/13:1569]
                                      1. Василий Краковецкий 10 ноября 2012, 19:53 # 0
                                        кстати а не предусмотрена возможность редактировать комментарии?
                                      2. Василий Наумкин 10 ноября 2012, 20:26 # 0
                                        Я же специально указал в заметке:
                                        Же­ла­тель­но по­ж­ма­кать ра­за 2-3 Ctrl+F5, чтобы об­но­ви­лись скрип­ты и сти­ли.

                                        Редактирования пока нет, зато есть предпросмотр.
                                        1. Василий Краковецкий 10 ноября 2012, 20:28 # 0
                                          во! работает!
                                          1. Василий Наумкин 10 ноября 2012, 20:29 # 0
                                            Чудеса, да и только!
                                            1. Василий Краковецкий 10 ноября 2012, 20:33 # 0
                                              Но всетаки насчет удаления и редактирования комментариев подумайте, думаю проще и лучше будет реализовать через переписывание контента комментария на «комментраний был удален %username%» или изменение и дописку в конце «комментарий был изменен %username% 11.11.1111 г.».
                                              1. Василий Наумкин 10 ноября 2012, 20:47 # 0
                                                Вас два комментария чуть выше с надписью
                                                Комментарий был удален.
                                                ни на какие мысли не наводят?

                                                Спасибо за совет.
                                                1. Василий Краковецкий 10 ноября 2012, 21:25 # 0
                                                  Спасибо Вам за чудесные дополнения, по мере возможности пытаюсь помочь. Не обессудьте если где-то перекапитанил.
                                                  1. Василий Наумкин 10 ноября 2012, 22:33 # 0
                                                    =)
                                                    Нормально!
                                      3. Андрей Розум 13 ноября 2012, 11:31 # 0
                                        Эпич­ный тред открылся моментально. Респект и уважуха! :)
                                        1. Viktor Minator 15 ноября 2012, 02:20 # 0
                                          modError — откуда это?
                                          установил jevix & tickets, импортнул данные попил чая. отображение в менеджере пока (я так понял) не предусмотрено? :)
                                          1. Василий Наумкин 15 ноября 2012, 04:37 # 0
                                            modError — из MODX.

                                            Админка в пути — есть более важные дела на данный момент.
                                            1. Viktor Minator 15 ноября 2012, 11:01 # 0
                                              блин. почему же у меня ошибку выдавало — не понятно.
                                              ладн. будем ждать =) спасибо за ответ.
                                          2. Евгений 13 октября 2014, 12:14 # 0
                                            2 вопроса, подскажите пожалуйста

                                            1) Включен Суффикс контейнера ".html"
                                            Создаю раздел с тикетами «новости», затем создаю тикет «новость1», при просмотре результата получается адрес:

                                            mysite.ru/novosti.html/novost1.html

                                            что нужно настроить что б получилось так:

                                            mysite.ru/novosti/novost1.html

                                            2) Почему при создании тикета в поле СОДЕРЖИМОЕ, не работаю html теги?
                                            Добавление новых комментариев отключено.