forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Общее (http://forum.boolean.name/forumdisplay.php?f=139)
-   -   Реализация форума (http://forum.boolean.name/showthread.php?t=11990)

pax 22.02.2010 13:50

Реализация форума
 
Пока я не начал проектировать таблицы для форума интересует следующий вопрос: Как реализовать возможность подсветки непрочитанных сообщений? И нюансы, возникающие в связи с этим.

dector 22.02.2010 16:35

Ответ: Реализация форума
 
в таблице сообщений добавлять поле Shown. Или что-то типа того.
Если true - подсвечивать сообщение.

pax 22.02.2010 17:14

Ответ: Реализация форума
 
Интересно как это сделать для каждого пользователя?

dector 22.02.2010 21:55

Ответ: Реализация форума
 
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}

pax 22.02.2010 21:58

Ответ: Реализация форума
 
эээ я вообще-то говорил не о личных сообщениях, а о сообщениях форума... и тему так назвал...

moka 22.02.2010 22:08

Ответ: Реализация форума
 
Насчёт вывода новых - тут просто:
Когда пользователь выходит с форума, ему назначается номер (возрастающий), последнего поста, далее, когда он заходит, ему выводят все темы, где есть сообщения выше номером.

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

Ну и для оптимизации, стимулировать пользователя, почаще жать - все сообщения прочитаны.

Вроди как нормально должно быть..
Я правдо форумов не писал, хз если честно, есть ли лучше вариант? =)

pax 22.02.2010 22:13

Ответ: Реализация форума
 
2MoKa
Спасибо за мысль, буду думать по этому поводу :) интересно, как поймать выход пользователя )) считать каждое его действие выходом?

Если у кого есть еще мысли, то не молчите пожалуйста!

moka 22.02.2010 22:26

Ответ: Реализация форума
 
Полюбому, на форуме должны быть процессы, которые выполняются периодически, хотя бы чтобы отловить прерывание сессии - тогда и пишем.
Ну можно обновлять и когда угодно, хотя бы при каждом переходе по любой ссылке на форуме (обработчик в начале, всяких запросов и сессии).
Но я хз если честно, насколько это плохо/хорошо, делать записи в MySQL каждые например 2 секунды, от каждого пользователя (думаю вроди как нормально :) )

pax 22.02.2010 22:59

Ответ: Реализация форума
 
Я думаю вряд ли такие процессы есть, скорее всего часть информации обновляется когда пользователь занимается серфингом по форуму, а часть когда заходит через определенный промежуток времени, например более чем за 5 - 15 минут как на булке считается количество пользователей онлайн...

moka 22.02.2010 23:22

Ответ: Реализация форума
 
Процессы, такие существуют, и есть ряд библиотек для работы с ними. Но в данном случае, тоже не уверен что они актуальны..
Но список обновления юзверей онлайн - это опять же, лучше делать таким процессом, чем делать запросы по пользователям, постоянно!
И также например дни рождения, зачем делать выборки каждый раз показывая дни рождения, если приложение, запускаемое раз в сутки, будет откладывать маленькую инфу, в отдельную табличку - много шустрее, неправда ли?

pax 23.02.2010 09:47

Ответ: Реализация форума
 
Так то оно так, но vBulletin написан на PHP и я пока не представляю как скриптовый движок может выполнять такие задачи... разве что выполнять их при первом запросе пользователя на новый день...

treycerok 01.12.2011 03:24

Ответ: Реализация форума
 
форум-это просто )тема старая, но нужная, поделюсь идеями и решениями ) писал как на файлах, так и на БД форумы.

ABTOMAT 01.12.2011 03:51

Ответ: Реализация форума
 
Следующим нововведением на булке будет большой баннер "А вы уверены, что ваш посту тут будет кому-то интересен спустя годы?" в темах, где больше полугода не писали.

treycerok 01.12.2011 21:06

Ответ: Реализация форума
 
Не буду молчать)) скажу, да.будет интересен. так как каждый день кто то решает перейти на РНР , писать что то свое, задумывается о создании форума, и как каждому новичку нужен "пинок" =) а я рад это сделать ))))) даже спустя и года два)))

Reizel 02.12.2011 01:50

Ответ: Реализация форума
 
мм... Ajax каждую минуту, на определенный скрипт, обновляющий бд? и отдельный процесс, который парсит ВНЕЗАПНУЮ потерю связи с клиентом?


Часовой пояс GMT +4, время: 18:11.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot