Изначально упрощенная адресация была взята из пользовательских нужд — короткий адрес писать проще, чем длинный.
1.1. Относительная адресация
У нас есть документ
kuso@npj:doc/MyDoc/Test2
[лакуна — что тут обджект]
способов относительной адресации существует несколько.
Один из наиболее часто осознано используемый — адресация вглубь.
!/test2 блок унаследован из ваке, см. статью про вака разметку
ссылка на один документ вглубь.
Понятно что ссылка на редактирование текущего документа всегда выглядит так:
!/edit
некоторые программные сущности могут этим пользоваться.
Самый частый неосознаный способ — создание соседа.
Пишется вики имя и НПЖ пытается адресовать соседа с таким именем.
например ЬнЕуые? ghtj, (взять подробности с картинки)
Это логика позволяет создать папку и работать с ней
Еще одна очень полезная штука — адресация соседа родителя.
../Doc2
она редко используется потому что она не очень очевидна, и не слишком нужна, потому что когда мы находимся на втором уровне — можно адресовать документ от корня
/doc2
Поскольку мы знаем что адреса начинающиеся с цифры выше 3000 это пост. Поэтому ссылка на цифру это сслка на пост 3457?
1.2. Способы упрощения аккунта
Если ты ведешь речь о пользователе (kuso) — то этот пользователь скорее всего с этого узла.
есть два способа записи:
kuso@:Doc2
kuso::Doc либо можно по русски (это как раз для этого двоеточия) Кусо::Доц
2. Конверсия НПЖ адреса в url
2.1. Прямое преобразование
есть две функции — одна делает преобразование в одну сторону, другая — в другую сторону.
Делаются две вещи:
понимаем местная ссылка или не местная ссылка [картинка с алгоритмом]
Если не местная то мы идем в БД за http://... потом преобразуем ардрес который у нас пришел. [лакуна — потому что мне не понятно не программист я]
Если это адрес локальный то мы понимаем каким образом локальна ссылка. если у нас ссылка сразу ведет на ноде один то см. п. 2. а если нет то [запутался c рассшифровкой алгоритма]
Дальше логика примерно следуюющая — мы пытаемся загрузить информацию из кэша об объекте который по данной ссылке сослан. Если у нас это получилось, (т.е. если это запись) то мы можем воспользоваться этой информацией. Есвли не получилось — то [что-то непонятное про блок звездочка]. А вторая ветка это рекорд. Из информации о журнале мы понимаем хочет ли ... оформлять красиво свои посты, и если хочет то мы дописываем сюда вот это вот ...
А что делается с документом? Ничего.
По уму мы можем прибегнуть хитрой процедуре распознавания заглавных букв и навтыкать подчеркиваний. Эта вещь которая есть в ваке но нет в НПЖ.
Это упрощенная схема.
Она не включает двух вещей.
Фильтр сообщества — это украшательство которое еще изменяет адрес
и
что-то что говорит что журнал находится на другом домене.
kuso.npj.ru/3889/
эта схема например активно используется в проекте мумак. Для понимаения всего остального это не слишком важно, потому что это надстройка над всем нпж, этакая вещь в себе.
2.2. Обратное преобразование
оно не имеет левой ветки вообще.
Несомненно было бы интересно распознавать чужие урлы тоже. Но это невсегда точно возможно, и реальной необходимости выполнять эту задачу нету.
Всё происходит примерно следующим образом.
[опять картинка с алгоритмом]
кусо говорит что-то мне вообще не понятное.
Урл который приходит или содержит специальное ключевое слово или нет
1. урл выглядит вот так: FOREIGN/NODE/LOGIN/.. — LOGIN@NODE2/NODE2
2. LOGIN/.. — LOGIN@NODE2
украшательство
2004/12/05/3859_test
разбор календаря
[картинка с алгоритмом]
если нечиго не осталось — это календарь
если цифры больше 3000 (что-то осталось) — это пост
Фильтр сообщества работает примерно также — смотрит если в урле in и если есть начинает отрезать фильтр сообщества. Жарик давайте подумаем — не начать ли нам обзор программной архитекторой. С другой стороны можно занятся (думает..думает...) архитектурой идеалогической. Есть пользователи, есть сообщества, есть рабочие группы, есть посты, они как-то связаны, как-то между ними распределены права... мне кажется что всё это нужно обсудить до спуска в программную архитектуру.
кусо (что-то проквантование). Было бы интересно составлять тезаурус.
Жарик про то что на идеологических семинарах lance@ имеет смысл присутсвовать а на архитектурных нет и поэтому их надо чередовать.
Кусо мы не погорили про общее устройство НПЖЖ как кучки программных скриптов. Когда он, eltn&
Жарик и Кусо, хором завтра в три часа, если Павел сможет присутствовать.