[Open Source] Решение - «Realtime»
Предисловие
В век постоянного прогресса и движения вперед важно не остаться за бортом, а для этого нужны инструменты позволяющие реагировать на события без промедления.
Вместо пиара
Вконтакте, одноклассники, фэйсбук, твиттер, гугл уже давно используют силу обновлений в реальном времени, создав своим пользователям комфортные условия для общения
Что это
Это инструмент для вас, вашего сайта, разработчиков, позволяющее создавать свои real-time дополнения для livestreet'a. Он состоит из node.js сервера и плагина для livestreet.Сервер realtime берет на себя роль связующего звена между пользователем и livestreet'ом, который передает серверу данные при наступления запланированного события.
В базовую комплектацию входят:
- Моментальные уведомления о событиях:
— новом топике в блоге на который вы подписаны,
— новом комментарии в вашем топике,
— ответе на комментарий,
— новом личном сообщении,
— ответе на личное сообщение,
— добавлении вас в друзья
- Моментальная подгрузка комментариев и личных сообщений для авторизированных пользователей
Цели
Предоставить функционал перечисленный выше, создающий на вашем сайте ощущение вовлечения во все происходящие на сайте события, вплоть до новых комментариев к статьям и личной переписке. Помимо этого дать инструмент для разработчиков неравнодушных к real-time технологиям.Для разработчиков и мечтателей
Теперь вы ничем не ограничены и можете создавать чаты, следить за событиями, мониторить пользователей, возможно писать игры, уведомлять об изменениях, подгружать новости и многое другое.Плагин открыт и не обновлялся с появления livestreet 1.*, поэтому всех желающих приглашаю на его модификацию и допиливание.
Скачать Realtime для LiveStreet 5.1
P.S Автор не обещает оперативную поддержку и стабильную работу.
32 комментария
Вам большое спасибо)
Под 1.* работать он не будет в виду использования различной верстки и js кода. php часть тоже в 1.* улучшилась и упростила задачи для плагина, но все доработка оставлю для умов заинтересованных и желающих продвинуть данное решение вперед с помощью коммитов.
Я все бодаюсь с Access-Control-Allow-Origin, дошел до «Cannot use wildcard in Access-Control-Allow-Origin when credentials flag is true»
Я таки завел =)
еще не ставил, но просмотрел сделанный вами мануал — от него стало тепло на сердце :)
В консольке Google Chorme:
В логе nodejs приложения:
Хинт тем кто будет ставить:
Отключайте сжатие JS файлов
Без этого дело даже до ошибки «not allowed by Access-Control-Allow-Origin» не доходит т.к. крешится раньше.
Если запускать nodejs приложение под Windows:
1. В конфигах сервера и плагина указывайте порт вместо unix-сокета.
2. При установке «npm install socket.io» понадобится Microsoft Visual studio 2008 express (на всякий пожарный и «Microsoft Windows SDK for Windows Server 2008 and .NET Framework 3.5») и вот это code.google.com/p/msinttypes/ т.к. к моему удивлению, и не только моему, stdint.h в Visual studio 2008 (и выше) нет.
Можно чуть форсировать установку и прежде чем ставить «socket.io» поставить «ws» (именно ему и нужна пересборка под платформу), а после уже ставить «socket.io».
server/node_modules/socket.io/lib/manager.js определеил жестко origin
примерно в 779 строке добавил
это нужно добавить перед проверкой
Нужно разобраться откуда там origin должен браться и почему не приходит, но времени пока на это нет.
Можно для теста в plugins/realtime/lib/js/client.js пульнуть заголовками этими.
Вот тут мужик с этим же «Access-Control-Allow-Origin» долбался benbuckman.net/tech/12/04/cracking-cross-domainallow-origin-nut
stackoverflow.com/questions/3595515/xmlhttprequest-error-origin-null-is-not-allowed-by-access-control-allow-origin
До НГ у меня решительно нет возможности более детально разобраться (ремонт, переезд да и работа зло). Если у вас получится, выкладывайте изменения на github