[TicketMessages] Обзор новых возможностей

Так как спрос на дальнейшее развитие оказался достаточно высоким, то решил выделить сегодня денек. Предложений было много, поэтому было над чем подумать. Да еще всё усложнялось из-за ограничения — не трогать ядро Tickets. Вот что с наскока получилось сделать.


Что теперь может:
— Добавлять и удалять пользователей в сообщение — аватарки пользователей появляются на панели.
— Проверять на новые сообщения в ветках. Работает кривовато из-за ограничения Tickets.
— Можно блокировать и удалять диалоги в веб интерфейсе.



В виде пакета я пока не оформлял, так как остались еще вопросы. Жду ваших предложений или замечаний по сделанным доработкам.
Сергей Шлоков
18 июня 2015, 16:58
modx.pro
2 557
+3
Поблагодарить автора Отправить деньги

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

Alexander V
18 июня 2015, 20:07
0
Добавлять и удалять пользователей
Куда?
Alexander V
18 июня 2015, 20:11
0
Круто наверное. От нас, что требуется?
    Сергей Шлоков
    18 июня 2015, 20:21
    0
    Да собственно, ничего особенного не требуется. Если есть предложения или замечания, озвучить. А я в выходные постараюсь все привести к окончательному варианту.
      Alexander V
      18 июня 2015, 20:25
      0
      время добавить в колонку
        Сергей Шлоков
        18 июня 2015, 20:27
        0
        Время чего и в какую колонку?
          Alexander V
          18 июня 2015, 20:32
          0
          Время последнего ответа в переписке в левой колонке. Возможно и начала диалога. Как вариант сортировка переписок перетаскиванием. Сортировка какая-то нужна короче. Или по последнему ответу или вручную пользователем или по времени создания диалога. А ещё круче, если пользователь сможет пометить как-то диалог, например «Обсуждение встречи».
          Вывод уведомлений о новом сообщении в любом месте на сайте.
            Сергей Шлоков
            18 июня 2015, 20:42
            0
            Сейчас сортировка по времени создания диалога, новые сверху. Но сортировка по последнему ответу наверно будет удобнее.
    but1head
    19 июня 2015, 00:29
    0
    Pusher. там бесплатно 100.000 сообщений в день, пользователей можно определять через callback «user_id_[[!+modx.user.id]]»

    Через js ничего ставить надо, по php пока не понятно

    На этой основе можно и сделать сообщения без tickets
      Сергей Шлоков
      19 июня 2015, 07:18
      0
      А ссылочку можно.
        but1head
        19 июня 2015, 12:49
        0
        pusher.com/
        key можно получить после создания приложения на сайте.

        Ограничения на триале: 20 подключенных пользователей, 100.000 сообщений в день.
        <script src="//js.pusher.com/2.2/pusher.min.js"></script>
        <script>
            var pusher = new Pusher('key');
            var channel = pusher.subscribe('test_channel');
            channel.bind('my_event_[[!+modx.user.id:empty=`guest`]]', function(data) {
             	console.log(data);
            });
        </script>
        а на сайте pusher в разделе debug:

        channel: test_channel
        event: my_event_guest (пришлет сообщение всем не залогиненным, если пользователь с айди 5 то my_event_5)
        data: `{«message»:«test»}`

        логика: пользователь при заходе на сайт подписывается на канал оповещений через channel.bing(event), данные можно из php высылать на pusher, а он в свою очередь вышлет на канал. Каждому залогиненному пользователю можно сделать свой канал через подписку на канал.

        Осталось разобраться в php части, что бы сообщения лились в бд и выводились в диалоге.
        вот php server side:
        github.com/pusher/pusher-http-php
        require('Pusher.php');
        
        $app_id = 'app_id';
        $app_key = 'app_key';
        $app_secret = 'app_secret';
        
        $pusher = new Pusher($app_key, $app_secret, $app_id);
        
        $data['message'] = 'hello world';
        $pusher->trigger('test_channel', 'my_event', $data);
        p.s. можем вместе заняться разработкой, тоже в этом заинтересован. skype: nikoz-spb
          Сергей Шлоков
          19 июня 2015, 13:01
          0
          Это еще один чат. Типа Чатры, который у modstore.pro.
          p.s. можем вместе заняться разработкой, тоже в этом заинтересован.
          А какая там нужна разработка. Там просто подключение и все.
            but1head
            19 июня 2015, 13:02
            0
            Этот чат через каналы = личным сообщения, «как вконтакте» ©
              Сергей Шлоков
              19 июня 2015, 13:07
              0
              Нормальный чат. Как и другие. А я для MODX решение предлагаю. Простенькое.
              П.С. Нормальный чат и должен быть через вэбсокеты.
      Стас
      Стас
      19 июня 2015, 21:07
      0
      Норм. Но тестирование нужно. Добавлять людей отличная возможность. А если их 300 будет? Там клиенты, там продавцы?
        Сергей Шлоков
        19 июня 2015, 21:50
        0
        Не потянет он 300. И использовать его для чата я бы не советовал. Он больше подойдет для общения с сотрудниками компании.
        Для чата нужно другое решение, через вэбсокеты. И таких решений уже достаточно в сети. Иначе это будет настоящая DDOS атака на твой сервер — 300 человек ходят по сайту + каждую секунду идут запросы по чату. Хана сайту.
        Еще раз напомню. Это для решение для тех, кто уже использует Tickets и хочет кроме комментариев еще и сообщения получить. Два в одном. Например, на этом ресурсе это вполне могло бы пригодится. Иногда возникает какой-то вопрос к конкретному человеку. И тут TicketMessages мог бы помочь. Т.е. онлайн не нужен.
          Стас
          Стас
          19 июня 2015, 22:52
          0
          Привет! Только ты не учитываешь, что это будут только
          зарегистрированные пользователи. Поэтому нет смысла им проводить такие
          атаки. Особенно после модерации.
          Для гостей нужен отдельный подход.
        Стас
        Стас
        19 июня 2015, 21:09
        +1
        А в целом, я не ошибся, это хорошая штука. Еще нужно загрузку файлов добавить.
          Сергей Шлоков
          19 июня 2015, 21:53
          0
          Он использует функционал Tickets, а там такой возможности нет. Вернее, у тикетов есть, а у комментариев нет. А мессаджи — это комментарии. Будет это у Tickets, будет и тут.
          Стас
          Стас
          19 июня 2015, 21:32
          0
          ну и еще по группам пользователей разделять. это просто я так делал.
            Alexander V
            19 июня 2015, 23:05
            +1
            Сформулируйте предназначение, от этого и будем отталкиваться.
            Как я это вижу:
            Modx+Tickets подойдёт для небольших и средних сообществ, например, как здесь. Исходя из этого личка нужна по сути перекинутся сообщениями, например контактами или что-то в этом духе. Максимум пригласить несколько человек в беседу, чтобы обсудить какой-то момент.
            Все эти мульки с мегачатами нафик не нужны. Нужны нормальные уведомления и навигация по диалогам. Блокировка пользователя от которого не желаете получать сообщения.
              Сергей Шлоков
              20 июня 2015, 08:19
              0
              Не добавить, не убавить. Именно так это вижу и я.
              Просто представьте, что разбираясь с Tickets вы увидели, что заложенный в него функционал позволяет использовать комментарии как личные сообщения. Нужно лишь немнооооожечко доработать. Некоторым это показалось интересным и вы свое решение предложили сообществу. Это не какой-то супер-пупер мегачат. Это тот же замечательный Tickets с небольшой плюшкой. Вот и все.
              Кроме того, я показал еще один вариант использования Tickets — в качестве симпатичной книги отзывов.
              Т.е. это просто небольшие расширения для Tickets. Не больше не меньше.

              П.С. А возможность расширять диалог люди просили, поэтому я это и сделал.
              П.П.С. Думаю, что Tickets подойдет и для большого сообщества. Люди вот на нем не хилые форумы делают. Наверно, такие личные сообщения на форумах могли бы пригодится.
              Alexander V
              19 июня 2015, 23:11
              0
              Ради интереса посмотрите, как реализована личка (приватные топики) в esotalk.org/
                Стас
                Стас
                19 июня 2015, 23:17
                0
                Например на этом сайте. Здесь человек не меньше 500. Я предлагаю чат делать в полном объеме только для зарегистрированных. Кто будет спамить, отключить не проблема.
                  Alexander V
                  19 июня 2015, 23:27
                  0
                  Всего пользователей: 3 025
                  Тикетов в день: 4.51
                  Комментариев в день: 28.73
                  Понятное дело, что тут троллинг и горячие темы отсутствуют. Давайте теперь представим сколько тут будет сообщений в личку. Да их почти не будет. Нет смысла огород городить.
                  Я считаю, что это вполне среднее по размеру сообщество.
                    Стас
                    Стас
                    19 июня 2015, 23:34
                    0
                    и учтите, сейчас многие коммерческие сайты требуют сохранять переписку
                    с клиентами.
                    Ваше дело не отказываться от своего детища, а найти ему применение. А
                    оно есть, я уверен, я редко ошибаюсь в таких вещах.
                      Alexander V
                      19 июня 2015, 23:37
                      0
                      ох вас и занесло…
                        Стас
                        Стас
                        19 июня 2015, 23:51
                        0
                        После клика по одному из представителей снизу
                        выдвигается форма для обмена сообщениями.
                        Система помнит все сообщения. Каждое
                        сообщение идет с датой и временем.
                        Сообщения визуально уходят под плашку с ником
                        представителя. Справа — полоса скроллинга,
                        позволяющая прокрутить сообщения. На плашке
                        — кнопка с меню и крест “закрыть”.
                        При нажатии на ключ появляется доп. меню,
                        позволяющее в том числе развернуть переписку
                        во весь экран
                        Меню также позволяет прикрепить файл
                        до 150 кБ или пожаловаться на спам.
                        При клике на “новые сообшения”
                        сверху выдвигается окно с сообщениями.
                        Если новых сообщений нет,
                        Поля сообщений окрашены в 20%
                        от цвета статуса.
                        На начало сообщения отводится 1 строчка.
                        Продолжение текста автоматически
                        отсекается и заменяется на многоточие.
                        Слова не обрубаются.
                        иконка прикрепленного файла
                        выравнивается по юзерпику и отстоит
                        от краю поля на такой же интервал.
                        Ник, текст и время выравниваются слева:
                        при клике на “все сообщения”
                        попадаем на список входящих
                        (см. следующую страницу)
                        при клике на поле сообщения здесь (внизу) выходит
                        окно для обмена сообщениями с данным посетителем
                        (см. предыдущие страницы)
                        после клика на “все сообщения”
                        попадаем сюда — на список входящих
                        сообщений с возможностью развернуть
                        переписку с каждым контактным лицом
                          Стас
                          Стас
                          19 июня 2015, 23:52
                          0
                          а ты говоришь — меня занесло
                Стас
                Стас
                19 июня 2015, 23:28
                0
                и учтите, сейчас многие коммерческие сайты требуют сохранять переписку с клиентами.
                  Стас
                  Стас
                  20 июня 2015, 00:15
                  0
                  Саиое главное — это здесь
                  Система помнит все сообщения. Каждое
                  сообщение идет с датой и временем.
                    Стас
                    Стас
                    07 июля 2015, 22:37
                    0
                    Работа идет хотя б или нет?
                    Если нет хотя б решение выложил, а то так обнадежил.
                      Сергей Шлоков
                      18 августа 2015, 07:50
                      0
                      Я пока не знаю как решить проблему с показом непрочитанных сообщений. А это важная вещь. В текущей модели Tickets факт просмотра комментариев завязан на ресурс, а не на ветки. Т.е. если на одной странице несколько веток (а у меня каждая переписка — это ветка) и в каждой есть новые комментарии (сообщения), то при просмотре одной ветки во всех остальных ветках счетчик новых комментариев обнуляется. Так что разработка этого компонента зашла в тупик. Перспективы не наблюдается.
                        Alexander V
                        18 августа 2015, 09:34
                        -1
                        Ну и незачем тогда цепляться за Tickets. Делай, как считаешь нужным.
                          Воеводский Михаил
                          18 августа 2015, 10:01
                          +1
                          Затем, что вся базовая логика компонента прицеплена к Tickets.
                            Василий Наумкин
                            18 августа 2015, 10:12
                            +1
                            Затем, что тогда придётся писать всё самостоятельно и у нас будет еще один очень похожий компонент, но со своими особенностями. А Tickets при этом всё равно никуда не денется.

                            Можно добавить новую таблицу и фиксировать туда именно время просмотра ветки при её загрузке.
                            Это не требует модификации Tickeеs — своя сторонняя таблица.
                              Alexander V
                              18 августа 2015, 13:12
                              0
                              Почему-то сразу подумал про таблицу. Я к тому, что можно что-то добавить, а не переделывать сам Tickets.
                                Стас
                                Стас
                                06 октября 2015, 02:23
                                0
                                html5 умеет использовать websocket, копай в этом направлении
                        Ruslan Butakov
                        24 декабря 2015, 12:37
                        0
                        Не планируете пока выкладывать эту бета версию?
                          Сергей Шлоков
                          24 декабря 2015, 18:53
                          0
                          Да забросил я это дело. Василий озвучил, что в планах есть создание решения для сообщений, поэтому я решил, что не имеет смысла городить огород.
                            Ruslan Butakov
                            24 декабря 2015, 22:34
                            0
                            А можете выложить на гит тот вариант что в этом топике?
                              Сергей Шлоков
                              25 декабря 2015, 11:55
                              +2
                              Как минимум, надо причесать сначала. Щас не до этого. После Нового года постараюсь.
                                Алексей
                                11 февраля 2016, 18:52
                                0
                                когда ждать обновления?
                                  Сергей Шлоков
                                  11 февраля 2016, 21:19
                                  0
                                  Не знаю. Я уже не помню чего я там понаделал. А разбираться ни времени, ни желания нету.
                                    Алексей
                                    11 февраля 2016, 21:34
                                    0
                                    а то что в видео можно, можно прикрутить есть ссылка на файлы или на гигхаб?
                          Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                          45