Единый форум поддержки

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Единый форум поддержки » Новые возможности форумов » Новые возможности: Мгновенные уведомления


Новые возможности: Мгновенные уведомления

Сообщений 1 страница 20 из 83

1

Этот скрипт призван придать динамики форумам, оповещая пользователей
о событиях на форуме в реальном времени, наподобие ВКонтакте.
Скрипт дает возможность мгновенного реагирования на ответ, личное сообщение
(и не только). Теперь Вы не пропустите ни одного события!

Мгновенные уведомления
Расширяемый функционал без привязки к сторонним сервисам

https://i.imgur.com/MfSzaN4.png
(скриншот 1)
https://i.imgur.com/OZGKwkJ.png
(скриншот 2)
https://i.imgur.com/gFBtgCe.png
(скриншот 3)
https://i.imgur.com/COW3ifX.png
(скриншот 4)

Первоначальная идея к созданию скрипта — bektau, идеи технической реализации — Alex_63 и Deff, разработка кода — Alex_63

Особенности и преимущества


  ●  Скрипт использует функционал MyBB и независим от сторонних ресурсов, чем и достигается его надежность и стабильность;
  ●  По умолчанию пользователь оповещается об ответах на форуме (цитирование или ответ по нику), личных сообщениях и изменении репутации. Имеется возможность расширения, т.е. подключения оповещений на какие-то еще события, например, выдача предупреждений или наград в поле профиля;
  ●  Если пользователь онлайн, уведомление приходит ему мгновенно1 в виде всплывающего сообщения (скриншот 1). Непрочитанные уведомления отображаются в списке (скриншот 2), открывающемся по клику на пункт меню "Уведомления".
  ●  Уведомление становится просмотренным при клике на него (с переходом по заданной в уведомлении ссылке), при закрытии, через 10 секунд после активности на странице (движение курсора, прокрутка) или при открытии списка уведомлений. Просмотренные уведомления сохраняются ниже в том же списке под надписью "Просмотренные" (список просмотренных можно очистить).
  ●  Количество новых уведомлений отображается в виде маркера у пункта меню "Уведомления" и в иконке на вкладке браузера2 (скриншот 3). На мобильных устройствах маркер новых уведомлений отображается у пункта меню "Профиль".
  ●  Появление мгновенного уведомления сопровождается звуком3 и миганием в названии вкладки (при необходимости можно отключить).
  ●  Имеется возможность индивидуальной настройки пользователем: отключение звука, отключение уведомлений — полностью или выборочно (скриншот 4).
  ●  Скрипт можно настроить под себя, изменив некоторые параметры (подробнее про настройку и расширение — в следующем сообщении).
  ●  Допускается установка также и на форумах RusFF, при этом стандартные уведомления автоматически отключаются.

Установка и подключение

Скрипт предоставляется по платной (бессрочной) подписке (при установке на 1 форум — 3500 рублей, при установке сразу на 2 и более форумов — 3000 рублей за каждый).
Перед оплатой полной подписки дается возможность бесплатного подключения на пробный период — 10 дней.

Код устанавливается в HTML верх:

<!-- Мгновенные уведомления © Alex_63, 2019 -->
<link rel="stylesheet" type="text/css" href="http://forumfiles.ru/f/ru/bestbb/notifications.css" />
<script type="text/javascript" src="http://forumfiles.ru/f/ru/bestbb/notifications.js"></script>
<script type="text/javascript">
notifications.token = '
3c2261762a7e8dd6d3c23b01b91928137d7850bc'; // Токен форума
notifications.key = '
l2qj2yclah47'; // Ключ подписки
</script>

Токен форума (notifications.token) и ключ подписки (notifications.key) выдаются по запросу для каждого форума отдельно. Для подключения скрипта обращайтесь в ЛС, указав адрес форума и срок подписки (тестовый на 10 дней или бессрочный).
Подробности установки и способов оплаты также можно уточнить в ЛС.

При возникновении сложностей с установкой пишите в ЛС данные от аккаунта с админ-правами (возможно, тестового), помощь в установке предоставляется бесплатно.


Количество заказов, возможно, будет ограниченным, поэтому советуем тестировать и заказывать уже сейчас :flag:

Внимание! Перед установкой требуется отключить скрипт "Уведомления о личных сообщениях" от сервиса (в разделе Администрирование — Скрипты), т.к. он фактически дублирует функционал и, кроме того, вступает в конфликт.


За 3 дня до истечения срока подписки администраторы оповещаются всплывающим уведомлением, сообщающим о необходимости продления.

Поскольку есть возможность расширения функционала, приветствуются ваши идеи по добавлению новых оповещаемых событий (при технической возможности реализации будут реализоваться бесплатно).

Протестировать работу скрипта можно на демо-форуме notifications.rusff.ru
(используйте пиар-вход или читательский вход, можно войти с обоих аккаунтов и отправлять друг другу уведомления)
Скрипт установлен также и на этом форуме, так что здесь тоже можно наблюдать работу уведомлений :)

Кроме того, скрипт опробован и успешно используется на форумах:
  ●  fso.forum.cool
  (отзывы)
  ●  perscitium.mybb.ru  (отзывы)
  ●  cnc.userforum.ru
(и не только :flag:)


1 В течение ~4 секунд после оповещаемого события
2 Для некоторых браузеров (например, Edge и Safari, не поддерживающих изменение favicon) количество непрочитанных отображается в названии вкладки
3 Браузер Safari не поддерживает автовоспроизведение аудио, поэтому звук в нем, скорее всего, будет игнорироваться

+9

2

Оформление, настройка и расширение функционала Уведомлений

Оформление

Некоторые селекторы, используемые в скрипте Уведомлений:

Селектор

Элемент

.notification
(или .jGrowl-notification)

Всплывающее мгновенное уведомление (во втором случае — все jGrowl-уведомления).

.notification.notification-left .notification-image

Аватар в уведомлении (всплывающем и в списке).
Например,

.notification-left .notification-image {
  border-radius: 4px; /* делаем аватар квадратным */
}

#notify-link .unreads, #navpm .unreads

Маркер количества непрочитанных сообщений (около пункта меню "Уведомления"). При изменении цвета шрифта и фона этого маркера автоматически перекрасится в те же цвета и маркер в иконке вкладки.
Например,

#navpm .unreads {
  background: #ffea00;
  color: #333;
}

.unread-notifications .modal-inner

Модальное окно со списком и настройками уведомлений.

.unread-notifications #notifications-wrap

Селектор-обертка списка уведомлений.

.unread-notifications #notifications-wrap [id$="-title"]

Заголовки "Новые" и "Просмотренные" в модальном окне уведомлений.

.unread-notifications #notifications

Таблица — список новых уведомлений.
Например, можно подсветить непрочитанные полупрозрачным фоном:

#notifications td {
  background-color: rgba(0,255,39,.1) !important;
}

.unread-notifications #notifications-stored

Таблица — список просмотренных уведомлений.

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

Расширенные настройки

Параметр

Значение

notifications.enabled

false — отключить функцию уведомлений (по умолчанию — true)

notifications.soundEnabled

false — отключить звук в уведомлениях для всех пользователей (по умолчанию — true)

notifications.life

число — время (в миллисекундах) отображения всплывающего уведомления после реакции пользователя (по умолчанию — 10000)

notifications.blinkInterval

число — интервал мигания вкладки (в миллисекундах), для отключения мигания используется значение -1 (по умолчанию — 1000)

notifications.blinkAllTabs

false — отключить мигание всех вкладок, кроме последней активной (по умолчанию — true)

notifications.position

'top-left' 'top-right' 'bottom-left' — положение блока всплывающих уведомлений (по умолчанию — внизу справа: 'bottom-right')

notifications.maxNumberStored

число — количество сохраняемых просмотренных уведомлений (по умолчанию — 50)

Дополнительные настройки устанавливаются в HTML верх ниже скрипта Уведомлений (в тегах <script></script>).

Подключение новых событий и изменение существующих: Notifications SDK (для разработчиков)

Работа скрипта уведомлений осуществляется по следующему принципу: уведомляющий отправляет метку адресату (например, при ответе в теме - тому, кому отвечает), на стороне адресата при наличии новых меток вызывается отображение соответствующего уведомления на основе заданного шаблона с переданными в метке свойствами (в частности, данные отправителя).

Для добавления метки уведомления на ключ конкретного пользователя используется метод notifications.add:

Код:
notifications.add(кому, 'тип', {user_id: от кого, username: 'ник', avatar: 'аватар', своеСвойство: 'значениеСвойства'});

кому, от кого — число (ID пользователя);
'тип' — ключевое слово (строка), обозначающее тип уведомления (используется для группировки однотипных уведомлений и в качестве селектора);
Остальные параметры — опциональны (обычно указывается ID отправляющего, ник и ссылка на аватар, а также некоторые свойства, используемые при выводе уведомления). Аватар и ник при их отсутствии заменены на значения по умолчанию (например, для гостей или пользователей, не установивших аватар), соответственно, в переменных UserLogin и UserAvatar.
Каждое уведомление имеет временную метку, содержащую информацию о времени (в миллисекундах), когда оно было отправлено (по UTC, в Unix-формате).
Метку уведомления рекомендуется отправлять после того, как действие было подтверждено (например, для отправки уведомления об ответе тестируется реальное наличие поста с ответом на странице после его отправки).

Для задания шаблона отображения для конкретного типа уведомления используется метод notifications.addTemplate:

Код:
notifications.addTemplate('тип', {
    title: 'Заголовок уведомления',
    url: 'шаблон ссылки, по которой будет происходить переход при клике на уведомление',
    html: 'шаблон HTML содержимого уведомления, где {PROPERTY} будет значением свойства property, переданного в объекте в notifications.add()'
});

'тип' — тот же самый, который передается в метод notifications.add();
'Заголовок уведомления' выводится во всплывающем уведомлении и в пользовательском блоке настроек уведомлений (в списке опционального отключения).
В url и html можно использовать переданные в метке свойства, например '<a href="/profile.php?id={USER_ID}">{USERNAME}</a>', где паттерны в {} заменятся автоматически на значения соответствующих свойств.
Можно добавить параметр sound (ссылка на mp3-файл), который будет воспроизводиться при получении мгновенного уведомления заданного типа. Этот параметр опционален и не является обязательным, при его отсутствии используется стандартное звуковое оповещение.
Если передать в параметр sound значение false, то уведомления данного типа будут беззвучными.

Также можно изменить любой из стандартных шаблонов, например, задать свой HTML или звук.
Например, notifications.templates.reply.sound = 'ссылка на Ваш mp3-файл';

Если шаблон уведомления для какого-то типа не будет задан, то уведомления этого типа не будут всплывать и отображаться в списке. Это можно использовать, например, для каких-то технических оповещений (например, динамического обновления какого-либо содержимого страницы). Появление таких уведомлений можно отследить по событию notifications.new:

Код:
$(document).on('notifications.new', function(event, data) {
    var notifies = data['тип'];
    for (var timestamp in notifies) {
        //...
    }
});

data содержит объект с метками всех только что пришедших уведомлений (в том числе отображаемых, имеющих шаблон).
Пример содержимого data:

Код:
{
    "reply": {
        "1549963688933": {
            "user_id": 5,
            "username": "test2",
            "avatar": "/i/default_avatar.jpg",
            "id": 357, 
            "title": "tstPoll2-6",
            "text": "проверка уведомлений"
        },
        "1549963711523": {
            "user_id": 5,
            "username": "test2",
            "avatar": "/i/default_avatar.jpg",
            "id": 358,
            "title": "tstPoll2-6",
            "text": "test asdasd"
        }
    },
    "vote": {
        "1550994170383": {
            "user_id": 3,
            "username": "Deff",
            "avatar": "/img/avatars/0015/c4/3f/4-1477313043.png",
            "change": "повысил", 
            "id": 363,
            "title": "Тестовое сообщение"
        }
    }
}

+4

3

В планах (в качестве бесплатных дополнений, устанавливаемых отдельно):
  ●  Уведомления об обновлениях в важных темах (из списка, заданного администрацией форума) каждому пользователю;
  ●  Уведомления о новых сообщениях в темах, на которые подписан пользователь;
  ●  (!) Подписка на появление новых тем в форуме с мгновенным уведомлением;
  ●  Уведомления о регистрации новых участников;
  ●  Уведомления о выдаваемых предупреждениях и наградах (в доп.поле профиля).

+5

4

идея хороша  :cool: реализацию в действии пока не видел
а цена как такая получилась? не критикую, просто из любопытства )

0

5

Скрипт классный. Снимаю шляпу :)
Но за деньги.. как то не красиво, на едином то форуме поддержки..
Думаю под коммерцию нужно отдельный раздел или даже форум.
Или это нормально, практикуется? Эх.. ЕТП уже не тот!  :D

0

6

prizrak
По идее, начал Дука, у него Лаба платная, 360 в год для не русфф, и вдобавок не работает

Скрытый текст:

Для просмотра скрытого текста - войдите или зарегистрируйтесь.

Отредактировано Deff (Вт, 26 Фев 2019 23:01:13)

+1

7

Deff
я совсем не осуждаю, более того, как человек далёкий от скриптов, тем не менее предполагаю сколько нужно сил, знаний и времени потратить чтобы создать такой скрипт, поэтому считаю что денег за него можно без зазрения совести просить столько сколько считает и оценивает автор, то что обозначено в первом посте думаю для данной работы - копейки, скрипт такой имхо стоит намного дороже :)

просто я не помню за последние 10 лет на ЕТП чтобы скрипты продавались с этом разделе.
всегда знал что любой новичок зайдя сюда на ЕТП может рассчитывать на помощь великих гуру, советом и скриптом никто обделён не будет)
а тут бац, коммерция
:D

0

8

prizrak написал(а):

просто я не помню за последние 10 лет на ЕТП чтобы скрипты продавались с этом разделе.

Лаборатория Qboards — новые возможности для ваших форумов
В перво посту написано чо на тест(было первые полгода или чуть боле). реально (имхо и в теме есть - платно, но возможно чисто через личку

вот с конца => Лаборатория Qboards — новые возможности для ваших форумов

Отредактировано Deff (Вт, 26 Фев 2019 23:13:46)

0

9

Скрытый текст:

Для просмотра скрытого текста - войдите или зарегистрируйтесь.

+2

10

Deff
ну раз Макс не поощряет но и не запрещает коммерцию на ЕТП, значит мона  :cool:

+1

11

Romych написал(а):

Дело понятное, любой труд должен оплачиваться, но боюсь цена слишком завышена. Могу ошибаться, но вряд ли найдётся 100 форумов готовых заплатить такую цену,

Ну я так понял ему новый ноут нужен, старый подыхает или уже сдох, для планов на 100 форумов цену нун ессенно снижать, думаю пока не до этого(может уже сдохнуть, ибо на 100 форумов это год раскрутки (судя по скорости установки кода от Дуки)

Отредактировано Deff (Вт, 26 Фев 2019 23:27:44)

0

12

Хм, весьма интересная уведомлялка
А по поводу платных скриптов, лично мое мнение:
Ребят, ну ведь мотивация к развитию она быть должна.  И это было бы весьма здорово, если по мимо бесплатного софта, у нас появятся на порядок интереснее, платные варианты.  :cool:

+2

13

Alex_63, нашел прикол с уведомлениями - не работает прямая ссылка:
https://i.imgur.com/NUHkFne.png
Вот оригинал сообщения:
https://i.imgur.com/Fp2xoy3.png
Кстати, хорошо бы, чтобы как то отбражалось близко к оригиналу, ну там типа цитата и т.п.

Alex_63 написал(а):

Скрипт предоставляется по платной (бессрочной) подписке (при установке на 1 форум — 3500 рублей, при установке сразу на 2 и более форумов — 3000 рублей за каждый).
Перед оплатой полной подписки дается возможность бесплатного подключения на пробный период — 10 дней.

Есть момент с трактовкой данного текста:
- Подписка - это как бы временный период, то бишь оплата за определенный период..
- Бессрочная подписка - это как бы уже не подписка, а оплата за собственно скрипт..

Лучше, на мой взгляд переписать этот абзац, чтобы было более понятно.. Кстати, может стоит ввести именно подписку - скажем:
1. Пробный (бесплатный) период: 10 дней
2. Подписка: 300 рублей месяц
3. Покупка скрипта навсегда: 3500 рублей

+1

14

kolobdur74
В ответе берётся ток текст, чтобы увидеть не текстовый контент с тегами  переходите по ссылке на ответ, по иному не получится, ибо контент из поста берётся ток текстовый, ибо обрезается по колву символов(при несимвольном будут обрезаться теги), есть ограничение по максимальному колву контента(при текущем уведомлении - 50 уведо) с тегами число сократится на порядок

Отредактировано Deff (Ср, 27 Фев 2019 16:48:21)

+3

15

Deff написал(а):

В ответе берётся ток текст, чтобы увидеть не текстовый контент с тегами  переходите по ссылке на ответ, по иному не получится, ибо контент из поста берётся ток текстовый, ибо обрезается по колву символов(при несимвольном будут обрезаться теги)

А окраской нельзя? Скажем ссылку окрасить в красный цвет, чтобы сплошным текстом не шло?

0

16

мне кажется подписка на тему нужна оч. я вконтахте подписываюсь на уведомления. интересно узнавать

0

17

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

+2

18

kolobdur74 написал(а):

А окраской нельзя? Скажем ссылку окрасить в красный цвет, чтобы сплошным текстом не шло?

Имхо чичас более интересно и в процессе добавочные фичи, см пост 3...

Предложения по небольшим изменениям сейчас здорово отвлекут, ибо несвернутый скрипт на 50-60 кб( 6-7 страниц текста) править достаточно тяжко ибо нужно тестирование влияния доводок на весь скрипт (когда такая простынь, казалось бы простые доводки в итоге приводят к плачевным результатам)

Добавочные фичи делаются отдельным скриптом дополнением не влезая в основной код

Отредактировано Deff (Ср, 27 Фев 2019 16:55:08)

+3

19

kolobdur74 написал(а):

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

Ну если вы не кликнули всплывающее черное - они переносятся в новые по ссылки уведо (ибо если одновременно несколько уведомлений, вы их сразу вряд ли успеете кликнуть)
Сравнение-удаление ссылок по которым вы перешли без клика всплывающего сообщения и тех что висят в уведомлениях(в свернутом окне) - затруднительно, ибо в уведо ссылки через pid - поста (ибо число постов на странице юзер может сменить, или АМС пост перенести, уведомление ведь может быть с прошлого входа на форум)

/viewtopic.php?pid=940040#p940040

а поход юзера по страницам осуществляется по ссылкам через ID - темы

/viewtopic.php?id=38567&p=1

Отредактировано Deff (Ср, 27 Фев 2019 17:12:25)

+1

20

Alex_63
Офигеть!
А что на счёт миграции с форума на форум? С текстовика на основной например? Ты в БД записываешь адреса подключённых форумов? Если пользователь купит уведомления для одного форума, а через время решит перенести их на другой форум, отключив от первого?

В мобильной версии иконка закрытия съехала:

Свернутый текст

https://i.imgur.com/AZYYMJy.png

Я бы с удовольствием приобрёл скрипт, если б форум был..

Ответьте кто-нибудь, пожалуйста, потестировать :)

+2


Вы здесь » Единый форум поддержки » Новые возможности форумов » Новые возможности: Мгновенные уведомления