Topic: Способы хранения данных о непрочитанных сообщениях
Какой способ хранения данных о новых непрочитанных сообщениях вы считаете самым удобным и эффективным?
Какие есть предложения для будущей версии?
You are not logged in. Please login or register.
Какой способ хранения данных о новых непрочитанных сообщениях вы считаете самым удобным и эффективным?
Какие есть предложения для будущей версии?
В принципе, то что оно отмечается жирно выделенным на это особого внимания никто не обращает. Это факт.
Но я тут имею ввиду саму систему ведения записи о новых сообщениях на форуме. Может неправильно выразился, сейчас переформулирую. То есть, какие есть реализации, может у других CMS какие либо эффективные и не повернутые решения.
Если писать в бд, не будет ли сильно снижена производительность?
У меня была как то идея реализовать уведомления - аля "push browser notifications", сами пусш уведомления отбрасываем, так как там поддерживается только протокол HTTPS (HTTP гуляет лесом), а вот принцип можно позаимствовать.
А именно, когда приходит новое сообщение, появляется небольшой прямоугольник справа сверху, геде написано: имя отправителя, дата и справа крестик, что бы эту хрень удалить. Пришло письмо, появилось оно и висит, пришло еще одно, добавилось еще окно ниже предыдущего.
Если получателю не интересен собеседник, ткнул на крест - закрыл ненужное окно, наоборот, если интересен, ткнул в тело окна - перешел к сообщению.
Как то, так...
P.S. походу не о том написал. Я имел ввиду способ уведомления а не записи и хранения.
Запись в базу наверное самый надежный способ, ибо "печеньки" на каждом устройстве свои. А что бы сервер не уставал от запросов, нужно это дело совмещать. Зашел клиент, проверяем "печеньку" на существование, если есть, порядок, читаем данные с нее, если нет - запрос в базу и сохраняем "печеньку"!
Ты имеешь ввиду типа как на фейсбуке? У меня на бегете от сапорта так приходит уведомление. Расширением это сделать реально?
$matches[2]
$matches[2]
Вообще то эту тему я создал для поиска лучшего решения, чем есть сейчас. Я имею ввиду хранения и записи данных о непро,итанных темах самим ядром.
PunBB, имеешь ввиду - "push browser notifications"?
Реально, но не нужно ибо требования к реализации там будь здоров:
Включённые расширения PHP: GMP и OpenSSL.
HTTPS должен быть включён.
Push-уведомления будут приходить только в поддерживаемых браузерах.
Да, есть еще люди сидящие на HTTP (это я о себе ).
Можно сделать что то на подобие, но не используя этот протокол!
Что бы места эти сообщения на экране много не занимали, сделать минимальную высоту (скажем 1см), ну и длину что бы вместить: Имя отправителя, Время отправления, ну крест - закрывашку. (думаю 15-20см).
Не, тогда это не наш вариант
Наша цель остается той же: реактивность, легкость, простота в пользовании и управлении
Я перелопатил кучу статей в интернете, но по сравнению с ними в punbb реализация просто совершенна, за исключением, что в разных браузерах не отмечаются они.
Есть такой вот вариант: добавить поле в таблицу пользователей, по типу того как устроено расширение Трекед Топикс, и функцию определяющую использование юзером более одного браузера, либо включать чекбоксом. Потому что переписывать функцию придется, да и ничего лучшего вобщем то пока и нет
функцию определяющую использование юзером более одного браузера
Есть вариант лучше, я о нем уже писал выше:
Запись в базу наверное самый надежный способ, ибо "печеньки" на каждом устройстве свои. А что бы сервер не уставал от запросов, нужно это дело совмещать. Зашел клиент, проверяем "печеньку" на существование, если есть, порядок, читаем данные с нее, если нет - запрос в базу и сохраняем "печеньку"!
Зашел клиент, проверяем "печеньку" на существование, если есть, порядок, читаем данные с нее, если нет - запрос в базу и сохраняем "печеньку"!
что ты подразумеваешь под "печенькой"? что то после болезни не могу ссоразить
Если писать в бд, не будет ли сильно снижена производительность?
Снижается - факт. По крайней мере с существующим расширением db track или как там его.
COOKIES
Получается на данный момент в движке самый лучший вариант, но только нежно научить его определять устройства, иначе юзеры по сто раз будут перечитывать одни и те же сообщения. Проблем особенно актуальна, когда юзер пользуется 5-8ю устройствами! Бывает и такое
Слушайте, когда уствновлено то расширение, track topics, не лучше ли вначале проверять значение переменной массива $forum_user['tracked_topics'], если пусто то уже не трогать и печеньки и функции не вызывать?
Слушайте, когда уствновлено то расширение, track topics, не лучше ли вначале проверять значение переменной массива $forum_user['tracked_topics'], если пусто то уже не трогать и печеньки и функции не...
Надо пробовать, я движок до конца не изучал как там все. Где бы структуру полностью посмотреть чтобы понять куда к чему, так как сидеть и копать времени просто нет.
kirpich, структуру хорошо видно на GitHub у версии punbb 1.4.4.
Сейчас в связке с расширением Tracked Topics все работает идеально, учитывая, что в новую версию мы добавили пометку прочитанного только на той странице, где находятся новые сообщения.
$matches[2]
Но имеется какой то странный баг с тем, что (редко, но бывает), помечаются все новые сообщения прочитанными. Странный, потому, что никому еще не удалось его отловить.
Об этом отписался kisa, у меня тоже пару раз было, но не придал тогда особого значения.
$matches[2]
Я не знаю, может это связано с какими то аякс запросами и при добавления проверки страницы с новыми сообщениями эта ошибка больше не повторится, тогда было бы супер.
Если все чисто, то можно было добавить этот функционал в само ядро, так как это устраняет недопонимание, почему на разных устройствах сообщения не помечаются как прочтенные.
$matches[2]
Пока используем как заплатку в виде расширения, но встроить функционал нужно.
И если до выпуска 1.4.6 функционал пройдет успешную обкатку, то в будущем внесем поле и эту реализацию в ядро.
Я эту гадость уже могу спровоцировать по желанию. Хочешь, дам пароль от "куклы" для тренировки модераторов и прочих тестов на кроководе - посмотришь. Нужно завести аккаунт, не заходить им на форум с недельку, а потом интенсивно попросматривать новые темы. В какой-то момент все ещё непрочитанные темы становятся прочитанными.
Надпись "новые сообщения" тоже реагирует совместно с индикацией пометками. В какой-то момент исчезает с нечитанных тем. Может это поможет диагностике.
Такое ощущение, что у системы в какой-то момент не хватает места, чтоб всё запомнить.
Generated in 0.064 seconds (71% PHP - 29% DB) with 25 queries