|
Общее Веб-разработка в целом, идеи, проекты... |
22.02.2010, 13:50
|
#1
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Реализация форума
Пока я не начал проектировать таблицы для форума интересует следующий вопрос: Как реализовать возможность подсветки непрочитанных сообщений? И нюансы, возникающие в связи с этим.
|
(Offline)
|
|
22.02.2010, 16:35
|
#2
|
Модератор
Регистрация: 21.12.2006
Сообщений: 564
Написано 79 полезных сообщений (для 203 пользователей)
|
Ответ: Реализация форума
в таблице сообщений добавлять поле Shown. Или что-то типа того.
Если true - подсвечивать сообщение.
|
(Offline)
|
|
22.02.2010, 17:14
|
#3
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Реализация форума
Интересно как это сделать для каждого пользователя?
|
(Offline)
|
|
22.02.2010, 21:55
|
#4
|
Модератор
Регистрация: 21.12.2006
Сообщений: 564
Написано 79 полезных сообщений (для 203 пользователей)
|
Ответ: Реализация форума
O_o
+--------------+----------------+-------------+----------+
| Message ID | UserFrom ID | UserTo ID | Readed |
+--------------+----------------+-------------+----------+
|........... 1 |............. 2 |.......... 5 |....... 0 |
Логика
write "<class id=\" ";
if (READED == 0) then
write "unreaded";
else write "readed";
write "\" ";
Пример стиля:
unreaded {color: #00f; background: #ddd}
|
(Offline)
|
|
22.02.2010, 21:58
|
#5
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Реализация форума
эээ я вообще-то говорил не о личных сообщениях, а о сообщениях форума... и тему так назвал...
|
(Offline)
|
|
22.02.2010, 22:08
|
#6
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Реализация форума
Насчёт вывода новых - тут просто:
Когда пользователь выходит с форума, ему назначается номер (возрастающий), последнего поста, далее, когда он заходит, ему выводят все темы, где есть сообщения выше номером.
Насчёт не прочитанных - то тут, у каждого пользователя таблица нужна.
Одно глобальное значение, для оптимизации, которое хранит номер самого старого не прочитанного сообщения. Если нажать кнопку - Все сообщения прочитаны, то это число будет номером последнего сообщения на форуме.
Далее, в этой таблице, есть простая запись: номер сообщения, и тру, если прочитан. Если не прочитано, то записи естественно не будет.
Ну и для оптимизации, стимулировать пользователя, почаще жать - все сообщения прочитаны.
Вроди как нормально должно быть..
Я правдо форумов не писал, хз если честно, есть ли лучше вариант? =)
|
(Offline)
|
|
Эти 3 пользователя(ей) сказали Спасибо moka за это полезное сообщение:
|
|
22.02.2010, 22:13
|
#7
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Реализация форума
2MoKa
Спасибо за мысль, буду думать по этому поводу интересно, как поймать выход пользователя )) считать каждое его действие выходом?
Если у кого есть еще мысли, то не молчите пожалуйста!
|
(Offline)
|
|
22.02.2010, 22:26
|
#8
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Реализация форума
Полюбому, на форуме должны быть процессы, которые выполняются периодически, хотя бы чтобы отловить прерывание сессии - тогда и пишем.
Ну можно обновлять и когда угодно, хотя бы при каждом переходе по любой ссылке на форуме (обработчик в начале, всяких запросов и сессии).
Но я хз если честно, насколько это плохо/хорошо, делать записи в MySQL каждые например 2 секунды, от каждого пользователя (думаю вроди как нормально )
|
(Offline)
|
|
22.02.2010, 22:59
|
#9
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Реализация форума
Я думаю вряд ли такие процессы есть, скорее всего часть информации обновляется когда пользователь занимается серфингом по форуму, а часть когда заходит через определенный промежуток времени, например более чем за 5 - 15 минут как на булке считается количество пользователей онлайн...
|
(Offline)
|
|
22.02.2010, 23:22
|
#10
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Реализация форума
Процессы, такие существуют, и есть ряд библиотек для работы с ними. Но в данном случае, тоже не уверен что они актуальны..
Но список обновления юзверей онлайн - это опять же, лучше делать таким процессом, чем делать запросы по пользователям, постоянно!
И также например дни рождения, зачем делать выборки каждый раз показывая дни рождения, если приложение, запускаемое раз в сутки, будет откладывать маленькую инфу, в отдельную табличку - много шустрее, неправда ли?
|
(Offline)
|
|
23.02.2010, 09:47
|
#11
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Реализация форума
Так то оно так, но vBulletin написан на PHP и я пока не представляю как скриптовый движок может выполнять такие задачи... разве что выполнять их при первом запросе пользователя на новый день...
|
(Offline)
|
|
01.12.2011, 03:24
|
#12
|
Оператор ЭВМ
Регистрация: 11.11.2011
Адрес: Ростов-на-Дону
Сообщений: 41
Написано 9 полезных сообщений (для 17 пользователей)
|
Ответ: Реализация форума
форум-это просто )тема старая, но нужная, поделюсь идеями и решениями ) писал как на файлах, так и на БД форумы.
|
(Offline)
|
|
01.12.2011, 03:51
|
#13
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Ответ: Реализация форума
Следующим нововведением на булке будет большой баннер "А вы уверены, что ваш посту тут будет кому-то интересен спустя годы?" в темах, где больше полугода не писали.
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо ABTOMAT за это полезное сообщение:
|
|
01.12.2011, 21:06
|
#14
|
Оператор ЭВМ
Регистрация: 11.11.2011
Адрес: Ростов-на-Дону
Сообщений: 41
Написано 9 полезных сообщений (для 17 пользователей)
|
Ответ: Реализация форума
Не буду молчать)) скажу, да.будет интересен. так как каждый день кто то решает перейти на РНР , писать что то свое, задумывается о создании форума, и как каждому новичку нужен "пинок" =) а я рад это сделать ))))) даже спустя и года два)))
|
(Offline)
|
|
02.12.2011, 01:50
|
#15
|
Задрот
Регистрация: 24.07.2009
Адрес: Ивановская область, г. Кинешма
Сообщений: 1,574
Написано 407 полезных сообщений (для 863 пользователей)
|
Ответ: Реализация форума
мм... Ajax каждую минуту, на определенный скрипт, обновляющий бд? и отдельный процесс, который парсит ВНЕЗАПНУЮ потерю связи с клиентом?
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 12:22.
|