От Novik Ответить на сообщение
К Mikl Ответить по почте
Дата 02.05.2015 13:03:34 Найти в дереве
Рубрики Прочее; Современность; Администрации; Версия для печати

Re: Краткое описание.

Приветствую.
>Да, с API все намного лучше.
>Буду дорабатываться.

Сервер хранит массив последних событий в дереве, до 4К элементов, при переполнении старшая половина массива чистится.
Запрос выдается в форме /nvk/forum/0/tree?xml=lastEvent
где lastEvent - id события, с которого осуществляется выдача (не включительно). Если lastEvent==-1 то выдается массив целиком.
Если события с таким id не найдено, отдается 201 Protocol mismatch с пустым телом ответа.
В противном случае ответ включает в себя секцию [lastEvent] где прописан id последнего события и ряд событий.
Формат события
1) Добавление статьи в ветку
[event no="%X" type="add" parent="%X"]
no - id статьи в шестнадцатеричном виде
parent - id родителя статьи в шестнадцатеричном виде
Далее элементы [title], [author], [date], [size] (в байтах) и [crc] (CRC статьи, adler32 от мета-данных статьи)
2) Удаление статьи
[event no="%X" type="del" parent="%X"/]
3) Смена родителя
[event no="%X" type="parent" parent="%X"/]
4) Фиксация ветки в дереве
[event no="%X" type="fix" mode="%u" /]
Возможные значения mode
0 - закрепление ветки убрано
1 - закрепление ветки с прибитем кверху
256 - закрепление ветки без прибития кверху

Прочее.

Запрос ответов на статью в xml форме, формат тот же, что и выше, будут только события типа "add", пример
http://vif2ne.ru/nvk/forum/0/co/2692768.htm?xml

Выдача текста статьи без layout, пример
http://vif2ne.ru/nvk/forum/0/co/2692768.htm?plain

Получить список пользователей, имя которых начинается с подстройки name (не менее 3 символов), нужна авторизация, пример
http://vif2ne.ru/nvk/forum/0/security/peoplelist?xml=1&name=Nov

P.S. Ввиду того, что обработку html entities я в свое время реализовал криво, квадратные скобки в тексте выше нужно заменить на угловые.