Agatov
Новичок
Дерево комментариев и фоновое обновление
Доброго времени суток.
Прикидываю вот как лучше сделать сабж. Чуть подробнее:
Древо комментариев хранится в БД ( Nested Sets - т.е. вся инфа о вложенности хранится в двух полях LEFT и RIGHT ).При первом обращении к странице оно отдаётся полностью. Далее нужно, чтобы добавлялись только непрочитанные юзером комментарии. Для этого планирую завести отдельную табличку в которой хранится id последнего прочитанного комментария + общее количество прочитанных комментариев в дереве. Естесственно с последующим перемещением этой таблицы в память.
Планирую делать так:
На первом шаге скрипт по базе генерит xml который потом кормится скрипту на стороне клиента. Скрипт по нему строит дерево. В дальнейшем, при обновлении дерева, код выбирает из БД все непрочитанные коменты и передаёт их скрипту, который достраивает дерево в необходимых местах.
Первичный XML планирую сделать такой:
<tree>
<comment>
... some params
<children>
<comment>
<chilren>
........
</children>
</comment>
</children>
</comment>
</tree>
Предпологается, что будет один корневой комментарий, который выводится не будет. Остальные - его потомки.
Нормален ли такой подход? Или может можно как-нибудь проще?
----
Как при обновлении дать понять скрипту какие потомки куда достраиваются? Это главный вопрос - ведь понять какой комментарий в какой вложен можно только при просмотре всего древа. Не слать же каждый раз xml дерева целиком? Или я заблуждаюсь?
-~{}~ 10.12.08 22:04:
P.S.
похожее по функционалу дерево комментов имеется на хабре. Ну, по крайней мере видимая его ( функционала ) часть сходится. Как оно устроено у них внутри остаётся только догадываться.
Доброго времени суток.
Прикидываю вот как лучше сделать сабж. Чуть подробнее:
Древо комментариев хранится в БД ( Nested Sets - т.е. вся инфа о вложенности хранится в двух полях LEFT и RIGHT ).При первом обращении к странице оно отдаётся полностью. Далее нужно, чтобы добавлялись только непрочитанные юзером комментарии. Для этого планирую завести отдельную табличку в которой хранится id последнего прочитанного комментария + общее количество прочитанных комментариев в дереве. Естесственно с последующим перемещением этой таблицы в память.
Планирую делать так:
На первом шаге скрипт по базе генерит xml который потом кормится скрипту на стороне клиента. Скрипт по нему строит дерево. В дальнейшем, при обновлении дерева, код выбирает из БД все непрочитанные коменты и передаёт их скрипту, который достраивает дерево в необходимых местах.
Первичный XML планирую сделать такой:
<tree>
<comment>
... some params
<children>
<comment>
<chilren>
........
</children>
</comment>
</children>
</comment>
</tree>
Предпологается, что будет один корневой комментарий, который выводится не будет. Остальные - его потомки.
Нормален ли такой подход? Или может можно как-нибудь проще?
----
Как при обновлении дать понять скрипту какие потомки куда достраиваются? Это главный вопрос - ведь понять какой комментарий в какой вложен можно только при просмотре всего древа. Не слать же каждый раз xml дерева целиком? Или я заблуждаюсь?
-~{}~ 10.12.08 22:04:
P.S.
похожее по функционалу дерево комментов имеется на хабре. Ну, по крайней мере видимая его ( функционала ) часть сходится. Как оно устроено у них внутри остаётся только догадываться.
