Плагин "Мгновенный чат" адаптирован под LS 2.0

Всем привет,

Вместо обсуждений того, насколько умер ливстрит и вопросов «что дальше?» лучше, на мой взгляд, что-то сделать. Разработка новых плагинов и адаптация существующих — мой скромный вклад в развитие ls 2.0. Также, я всегда открыт для разработки новых плагинов, нужна лишь хорошая, востребованная идея.

Мой первый адаптированный плагин — Мгновенный чат. Следующие в списке — «Мгновенные сообщения» и «Реальный плагин», уже скоро.

Читать дальше →

Плагин "Мгновенные сообщения"

Всем привет!

Общение — важнейшая функция для любого интернет-сообщества, поэтому я сделал плагин, который выводит удобство общения в LiveStreet на новый уровень. В нем есть все необходимое к чему вы уже успели привыкнуть на других сайтах — мгновенный обмен сообщениями, окошко личных сообщений на каждой странице и многое другое.

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

Читать дальше →

Очередной чат или что же в других не так?

Добрый вечер.

Многие из нас хотят иметь в своем уютном сообществе хороший и удобный чат, но его попросту нет. Все чаты, которые я нашел, забирают новые сообщения раз в n секунд, что не позволяет общаться в реальном времени и необоснованно увеличивает нагрузку на сервер. Как так? 2015 год — мы все привыкли к мгновенным сообщениям, поэтому я запилил чат.

В чем его отличия?
1. Мгновенные сообщения.
— Чат сделан на базе «Реального плагина», который в свою очередь использует вебсокеты для мгновенной доставки сообщений.

2. Обращение по логину.
— Обратиться к кому-либо можно нажав на его ник или аватар.
— Обратиться можно к нескольким пользователям одновременно.
— Если же к вам обратились, то только для вас сообщение с обращением будет выделено цветом.
— Также обратиться к кому-либо можно просто написав в сообщении его логин со знаком @.

3. Синхронизация данных между клиентами.
— Если отредактировать свой профиль, то изменения мгновенно отобразятся у всех пользователей.

4. Ограничение общения в чате, бан.
— Администратор может забанить пользователя в чате и это также мгновенно синхронизируется между всеми.
— Сообщения забаненного пользователя зачеркнуты и более прозрачны.
— Бан временный, период бана настраивается в конфигурации.

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

6. Просмотр истории.
— Пролистав чат вверх можно загрузить более старые сообщения.

7. Отображение пользователей.
— Забаненный пользователь зачеркнут.
— Администратор выделен точкой.
— Если пользователь онлайн, об это сигнализирует надпись «Online» под его аватаром.
— Если у пользователя есть имя, то выводится оно, иначе логин. В конфигурации можно заставить выводить только логины.

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



Оценить вы можете сами на ls.bitberry.ru
Для вашего удобства я зарегистрировал двух пользователей:
login: admin и demo
password: demo123

Как сделать общение на своем сайте удобным или встречайте - "Реальный плагин"

Привет, LiveStreet!

Меня зовут Илья и это мой первый пост здесь несмотря на то, что я уже более года слежу за развитием проекта и активно использую livestreet.

Так уж вышло, что мне приходилось много общаться на сайте, основанном на ls и, конечно, я ощущал дискомфорт из-за отсутствия мгновенных сообщений, подобных тем, к которым мы все уже давно привыкли на vk.com. Тогда у меня и появилась цель сделать общение на ls удобным. И тут то все и началось — я создал новую ветку в git и на неделю ушел в разработку :)

Что из этого вышло?
Смотрите на видео


Читать дальше →

Чего я хочу для LiveStreet или HighLoad играет значение

Смысл этого топика не в том что бы изменить ход развития LiveStreet или отметить его недостатки — нет. LiveStreet была и будет системой ориентированной на широкие массы, поэтому требовать от нее большего я не в праве, но я могу изменять свои проекты, делать свои решения и предоставлять их на суд.

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

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

Redis(а может и Node.js)
Первое изменение которой я бы сделал в своем проекте — использовал Redis для хранения событий пользователей. Использование MySQL для таких вещей не самоубийсво, но все таки очень тормознутое решение нежели Redis, для которой шустрость второе имя. Ко всему прочему можно добавить возможность publish/subscribe, позволяющая в купе с node.js выводить уведомления такие же как в Вконтакте. Размышляя в этом направлении можно расширить границы использования этой БД. Для осуществления работы можно использовать библиотеку Rediska, разработанную с подачи нашего соотечественника.

Тем кто заинтересовался темой будет уютнее почитать подробности тут, чем читать обрывки вырезанных из текста абзацев — Redis.

MongoDB
Данных у нас много и все они хранятся в реляционной базе данных. Что если нам координально изменить парадигму хранения данных и использовать MongoDB. Выиграем мы и в скорости запросов и в скорости работы с данными продолжая использовать ORM, потому как в MongoDB оно организованно на уровне C++, а не эмулируются как сделанно в данный момент в LiveStreet. Но за это разработчикам стоит сказать отдельное спасибо, т.к это было действительно ценное решение ускоряющее разработку.

Подробности в виде презентации — Mongodb.

PS
Я просто показываю вам что вы можете сделать со своим LiveStreet и какой космос открыт перед вами :)

Если вы в этом шарите думаю все будут только рады перенять ваш опыт :)