Spear
почемучка
Мини-сообщения каждому пользователю систему. Как правильно это реализовать?
Здравствуйте!
Появилась такая задача: время от мремени на проекте расширяется функционал, или изменяется существующий.
Нужно пользователям об этом сообщать. Лично.
Должно выглядеть так: вы зашли (например, в блог). И где-то на странце появляется текст (на ярком фоне), мол "Новая функция: вставка видео. Для использования клацните туда-сюда".
После определенных действий (например, пользователь воспользовался этой функцией, или нажал на кнопку "скрыть" в углу сообщения) - сообщение больше ему не показывается.
Пока что есть два варианта:
1. После нажатия "скрыть" (или после определенного действия) ставится кука, блокирующая это сообщение. Неудобно т.к. при наличии сотни таких сообщений и очистки кук юзеры сойдут сума. Да и как-то несерьезно.
2. Нужно как-то в бд записывать что юзер это сообщение просмотрел.
Если сделать просто таблицу вроде interface_tips_read с полями tip_id и user_id то, опять же, уже через неделю в ней будет достаточно много записей.
Есть, конечно, "типсы" которые будут актуальны, скажем, месяц. Некоторые, же, должны будут показывтаься каждому новому пользователю.
При таком варианте через месяц в таблице будет куча бесплоезной информации .например Юзер 123 ознакомился с типсом "345" (котоырй показывается каждому зарегистрированному.
Есть вариант немного другой структуры - вместо того чтобы хранить в БД информаци о том, кто какое сообщение прочитал, хранить информацию о том, кто какое сообщение ещё Не читал.
Например таблица user_interface_tips:
user_id
tip_id
send_date (чтобы удалять те, которые старше ХХ месяцев)
При регистрации делаем что-то вроде
$interface_tips->send_single ($user_id, 23); // ну, вроде как отправляем юзеру типс номер 23.
При внедрении новой фичи тоже $interface_tips->send_mass (98);
Ну и для отобраения делаем что-то вроде $tips = $interface_tips->get_all($user_id);
Клиника?
Здравствуйте!
Появилась такая задача: время от мремени на проекте расширяется функционал, или изменяется существующий.
Нужно пользователям об этом сообщать. Лично.
Должно выглядеть так: вы зашли (например, в блог). И где-то на странце появляется текст (на ярком фоне), мол "Новая функция: вставка видео. Для использования клацните туда-сюда".
После определенных действий (например, пользователь воспользовался этой функцией, или нажал на кнопку "скрыть" в углу сообщения) - сообщение больше ему не показывается.
Пока что есть два варианта:
1. После нажатия "скрыть" (или после определенного действия) ставится кука, блокирующая это сообщение. Неудобно т.к. при наличии сотни таких сообщений и очистки кук юзеры сойдут сума. Да и как-то несерьезно.
2. Нужно как-то в бд записывать что юзер это сообщение просмотрел.
Если сделать просто таблицу вроде interface_tips_read с полями tip_id и user_id то, опять же, уже через неделю в ней будет достаточно много записей.
Есть, конечно, "типсы" которые будут актуальны, скажем, месяц. Некоторые, же, должны будут показывтаься каждому новому пользователю.
При таком варианте через месяц в таблице будет куча бесплоезной информации .например Юзер 123 ознакомился с типсом "345" (котоырй показывается каждому зарегистрированному.
Есть вариант немного другой структуры - вместо того чтобы хранить в БД информаци о том, кто какое сообщение прочитал, хранить информацию о том, кто какое сообщение ещё Не читал.
Например таблица user_interface_tips:
user_id
tip_id
send_date (чтобы удалять те, которые старше ХХ месяцев)
При регистрации делаем что-то вроде
$interface_tips->send_single ($user_id, 23); // ну, вроде как отправляем юзеру типс номер 23.
При внедрении новой фичи тоже $interface_tips->send_mass (98);
Ну и для отобраения делаем что-то вроде $tips = $interface_tips->get_all($user_id);
Клиника?
