Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 9, 2008 06:15:57

yaroslaver
От:
Зарегистрирован: 2008-09-09
Сообщения: 44
Репутация: +  0  -
Профиль   Отправить e-mail  

Модуль "кто он-лайн"?

Добрый день,

есть сие в природе для Plone3 (или P2)?
пытался в рассылке (на гугле, группа “plone-ru”) узнать - но там похоже все модераторы на морях квасятся и сообщения уже “много времени” не доходят…

так вот, нужен модуль, показывающий кто из зарегистрированных юзеров сейчас на сайте, есть такое в природе? я что-то не нашел…

ну или с чего начать реализацию? муслей нет что-то по этому поводу….
подскажите плз



Отредактировано (Сен. 9, 2008 06:16:31)

Офлайн

#2 Сен. 9, 2008 12:52:29

astoon
От:
Зарегистрирован: 2007-04-09
Сообщения: 335
Репутация: +  2  -
Профиль   Отправить e-mail  

Модуль "кто он-лайн"?

Я прямо в данную секунду делаю что-то подобное для Zope3 (без Плона). :) В Плоне наверное есть продукт, надо искать.
А делается просто, варанты разные. Например:
1) Событие в формах login и logout
2) Хандлер для этого события, работающий с глобальной утилитой, которая хранит эту инфу.
3) Вьюлет “Кто он-лайн” читающий данную утилиту.
В нем же (или в другом, надо чтоб он был на всех страничках сайта) - берем self.request.principal.id и “обновляем” утилиту.
4) Таймер в этой самой утилите.



Офлайн

#3 Сен. 9, 2008 13:12:15

astoon
От:
Зарегистрирован: 2007-04-09
Сообщения: 335
Репутация: +  2  -
Профиль   Отправить e-mail  

Модуль "кто он-лайн"?

Вчерашний анализ исходников и архивов в списках рассылки zope-разработчиков показал, что все предложения вводить в стандартную аутентификацию специальное событие “login the site” были отклонены, так как это большой вопрос - когда юзер зашел на сайт и когда вышел. Аутентификация в Zope3 и в Plone - plagguble, решения разные в разных случаях. Поэтому мое решение - вызывать событие в форме.
Сессии - опять же не всегда используются, у меня в текущих проектах например нет.
Так что, пока думаю, это нормальное решение, а там жизнь покажет.
В Плоне правда использается не PAU, а PAS, глянь в исходники, может там есть событие, хотя наврядли.



Офлайн

#4 Сен. 10, 2008 02:21:19

yaroslaver
От:
Зарегистрирован: 2008-09-09
Сообщения: 44
Репутация: +  0  -
Профиль   Отправить e-mail  

Модуль "кто он-лайн"?

Посмотрел кстати, как оно реализовано на всяких пыхыпы-движках…
там есть некая табличка с временем последней активности юзера на странице, т.е. как только чел иыкает в какую-нить ссылку - в эту таблицу пишется время, когда он тыкнул.
а в портлете выводятся те юзеры из этой таблицы, у которых последнее действие было меньше чем N минут назад.

впринципе, простая реализация, но мне почему-то кажется что будет “лишняя” нагрузка на zope при более менее нормальной посещаемости, или вытерпит?



Офлайн

#5 Сен. 10, 2008 03:37:00

astoon
От:
Зарегистрирован: 2007-04-09
Сообщения: 335
Репутация: +  2  -
Профиль   Отправить e-mail  

Модуль "кто он-лайн"?

yaroslaver
Посмотрел кстати, как оно реализовано на всяких пыхыпы-движках…
там есть некая табличка с временем последней активности юзера на странице, т.е. как только чел иыкает в какую-нить ссылку - в эту таблицу пишется время, когда он тыкнул.
а в портлете выводятся те юзеры из этой таблицы, у которых последнее действие было меньше чем N минут назад.
так я то же самое и предложил ведь:
astoon
В нем же (или в другом, надо чтоб он был на всех страничках сайта) - берем self.request.principal.id и “обновляем” утилиту.
впринципе, простая реализация, но мне почему-то кажется что будет “лишняя” нагрузка на zope при более менее нормальной посещаемости, или вытерпит?
глупости. откуда кажется ?



Офлайн

#6 Сен. 10, 2008 03:40:52

yaroslaver
От:
Зарегистрирован: 2008-09-09
Сообщения: 44
Репутация: +  0  -
Профиль   Отправить e-mail  

Модуль "кто он-лайн"?

эм.. ну… я наверно не силен еще в специальной терминологии… сорри…

а кажется так… на мой взгляд, если “много” челов будет довольно активно ходить по сайту то и запись в таблицу будет идти очень активно… или это незначительная “нагрузка”?



Офлайн

#7 Сен. 10, 2008 04:47:13

astoon
От:
Зарегистрирован: 2007-04-09
Сообщения: 335
Репутация: +  2  -
Профиль   Отправить e-mail  

Модуль "кто он-лайн"?

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



Офлайн

#8 Сен. 10, 2008 04:53:41

yaroslaver
От:
Зарегистрирован: 2008-09-09
Сообщения: 44
Репутация: +  0  -
Профиль   Отправить e-mail  

Модуль "кто он-лайн"?

ага, понял… пошел делать ;)
спасибо…



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version