[Tickets] Сообщения

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


Как это работает?
Для общения выбираем слева пользователя, справа отражается переписка. Как в одноклассниках. Через определенный интервал времени (настраиваемый) проверяются новые сообщения и подгружаются через ajax. О новых сообщения пользователь получает уведомление по почте. Список пользователей формируется сниппетом pdoUsers, в котором указываются нужные условия. В данном случае, выводятся все пользователи группы MessageUsers, ну кроме, конечно, текущего пользователя. Пользователей в нее я добавлял через админку.
Сразу хочу сказать, что вопрос с оформлением я пока отложил. Я хотел выяснить, потянет Tickets или нет. Мне казалось, что должен потянуть. Оказалось, не казалось. Василий вложил в ядро достаточно функционала. Этой радостью я и поспешил поделиться со всеми. :)
Конечно, выглядит простовато. Но задачи сделать мегасистему не стояло. Но, в принципе, хотелось бы узнать, что от такого модуля ожидают? Чего не хватает?

Update. Теперь поближе посмотреть можно тут.
Пользователи: user1 (Джеки Чан), user2 (Чак Норрис), user3 (Памела Андерсон). Пароли: 123.
Сергей Шлоков
17 ноября 2014, 20:14
modx.pro
8
3 019
+14
Поблагодарить автора Отправить деньги

Комментарии: 20

Василий Столейков
18 ноября 2014, 01:20
0
Круто! Хотелось бы подробнее посмотреть как всё это сделано!
    Сергей Шлоков
    18 ноября 2014, 07:14
    +1
    Не поверишь, но все достаточно просто. :) Погоняю немножко, проверю и выложу описание.
    Wassi Wassinen
    18 ноября 2014, 03:08
    +1
    Дорогой ты мой человек, это мегакруто! :)

    Основа основ — как добавлять пользователей в список контактов. Вряд ли нам нужно пять тысяч пользователей зарегистрированных на портале? :)

    Следующий шаг — понять кому можно писать сообщения, а кому нет. Например, я юзер Петя и есть на портале юзер Вася, который постит интересные топики и новости. Я хочу написать Васе сообщение. Тыкаю специальную ссылку под топиком или новостью и Васе отправляется запрос — «Может ли пользователь Петя вам отправить сообщение (добавить вас в список контактов)». Все это можно изобразить настройками «приватности» в профиле: «Кто может отправлять вам сообщение без запроса, — например, — Все и анонимусы». И тогда Васе, вместо запроса, сразу уйдет сообщение и он добавится в список моих контактов.

    Небольшая полезность — вложенность диалогов как на айфоне.

    Сплю мало, речь бессвязна, если что-то непонятно написал — готов разъяснить. :)
      Сергей Шлоков
      18 ноября 2014, 07:35
      +1
      Основа основ — как добавлять пользователей в список контактов. Вряд ли нам нужно пять тысяч пользователей зарегистрированных на портале? :)
      Список пользователей формирует сниппет pdoUsers со всеми вытекающими мегавозможностями выбора. В моем случае, он выбирает пользователей из группы MessageUsers. А по какому условию добавлять в группу каждый может решить сам — в админке или сниппетом.

      Следующий шаг — понять кому можно писать сообщения, а кому нет… Все это можно изобразить настройками «приватности» в профиле:
      Про профиль мысль приходила, но пока ничего толкового. Правда сильно и не напрягался.

      Небольшая полезность — вложенность диалогов как на айфоне.
      Не знаком с айфонами. Дружу с самсунгом. В Whatsapp и Viber диалоги такие же плоские.

      Сплю мало, речь бессвязна, если что-то непонятно написал — готов разъяснить. :)
      Аналогично. Может поэтому я тебя и понимаю. :) Спасибо подробности.
        Сергей Шлоков
        18 ноября 2014, 07:55
        +2
        Спасибо подробности.
        Вот ведь сократил. :) Имел ввиду — спасибо за подробный комментарий.
        Сергей Шлоков
        18 ноября 2014, 10:56
        +2
        Ребят, подскажите, насколько будет правильно создать из этого дополнение, чтобы упростить подключение?
        Можно, конечно, написать инструкцию: добавить туда это, скачать эти файлы, создайте настройку, скопируйте сниппет. Но уж очень муторно писать и еще муторнее читать.
          Василий Наумкин
          18 ноября 2014, 11:10
          +3
          Нормально будет.

          Если это можно будет устанавливать на Tickets без проблем — все только обрадуются.
            Сергей Шлоков
            18 ноября 2014, 11:55
            +1
            Просто меня смущает то, что это не полноценный модуль, а, так сказать, надстройка, обвес. В системе должны стоять pdoTools и Tickets. Устанавливая мое дополнение человек должен понимать это. Хотя может я зря замарачиваюсь.
            Буду пробовать создать свой первый компонент. Акцент на «первый» как намек на терпение, ибо придется подождать. :)
              Василий Наумкин
              18 ноября 2014, 13:10
              +1
              А ты посмотри, как сам Tickets загружает pdoTools и Jevix в ресолвере.

              Точно так же и твой компонент может загрузить Tickets, а он подтянет всё остальное.
          Alexander V
          18 ноября 2014, 14:22
          0
          Будет круто, если получится функционал, как в Livestreet. Нравится тем, что можно организовать закрытое обсуждение.
            Сергей Шлоков
            18 ноября 2014, 14:28
            0
            Это можно сделать и в MODX через ограничение прав. Делаешь закрытый ресурс, доступ к которому имеют только избранные, и обсуждаешь размер булок Анфисы Чеховой :). Ну или стихи Есенина читаешь. Или в Livestreet как-то по другому?
              Alexander V
              18 ноября 2014, 14:48
              0
              Только выглядеть это должно, как сообщения.
            Павел Левин
            18 ноября 2014, 16:00
            0
            Прикольно на ЛС походит =) очень круто.
              Сергей Шлоков
              19 ноября 2014, 11:37
              +1
              Теперь поближе можно пощупать тут.
              3 пользователя: user1,user2,user3. Пароль для всех один — 123.
              Можно открыть в разных браузерах и попереписываться. Заодно и проверить на наличие багов.
                Наумов Алексей
                19 ноября 2014, 11:41
                0
                Не очень корректно как то:



                после добавления комментария ol и li оказались в одном ряду, и еще один ol вложен внутрь другого
                  Alexander V
                  19 ноября 2014, 11:44
                  0
                  Вёрстка наверное сейчас не главное?
                    Наумов Алексей
                    19 ноября 2014, 13:29
                    0
                    Лучше на начальном этапе поправить пару небольших ошибок, чем потом думать, куда пол сайта пропало из-за верстки или какого нибудь тега незакрытого
                    Сергей Шлоков
                    19 ноября 2014, 11:45
                    0
                    Такого не должно быть. Щас разберемся.
                      Сергей Шлоков
                      19 ноября 2014, 11:50
                      0
                      Поправил. Спасибо.
                    Сергей Шлоков
                    22 ноября 2014, 12:48
                    0
                    Подготовил пакет и инструкцию.
                      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                      20