NPJ next: Документация/ПервыйСеминар ...

Главная | Каталог | Изменения | НовыеКомментарии | Пользователи | Вам запрещён доступРегистрация | Вход:  Пароль:  

Первый семинар для разработчиков НПЖ

Оглавление документа

1. Что такое НПЖ по своей сути


Для начала скажем, чем НПЖ не является:

  1. НПЖ это не CMS
  2. НПЖ это не сайт

Чем же НПЖ является?

  1. НПЖ это технология (набор инструментов)
  2. НПЖ это набор концепций применения этих инструментов

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

2. Основные концепции НПЖ


Мы поговорим о том, что из себя представляет НПЖ как информационная ситема.

2.1. Сеть узлов


НПЖ, в отличии, например, от ЖЖ, не отдельный сервер, а сеть узлов, которые между собой могут общаться по какому-то внутреннему простенькому протоколу.
Идея в том, что НПЖ это не единичная инсталяция. Т.е. узлы подняты в разных местах и как-то общаются.

Вопрос — А зачем?
Ответ — это социальный аспект. Люди в жизни кластеризованы по каким-то признакам. Например кто-то из нас увлекается настольными играми, а другие программированием. Эти группы могут пересекаться. С ростом групп пересечения становятся реже0.

Вопрос — А почему не создать один сервер?
Ответ — причин несколько.
  1. Чтоб не нарушать первое правило Чак Нориса и не складывать все сервера в одну кучу.
  2. Внутригородской трафик!
    1. Создать условия для наиболее комфортного локального поведения
    2. Оставить возможность ходить в другие системы.
Есть и другие причины

Вопрос — а как я увижу сообщения другой группы1?
Ответ — Пока никак, это в планах.
Сейчас мы будем говорить в о тех вещах которые уже хорошо реализованы. О планах потом.

2.2. Структура пространства


Структура адресации отличной от url
Внутри НПЖ есть своя система имен
Это позволяет легко перевезти сервер и не бояться потерять домен
Кроме того это позволяет разграничить пространство и дает дополнительные функциональные возможности.

Поэтому одно из наиболее важных понятий — нпж адрес.
например
kukutz@npj:test
логин @ идентифкатор узла : адрес документа который часто называется таг.

Сейчас давайте посмотрим на картину: (картина)

Левая половина это пространство узла
такая вот конструкция kukutz@npj называется аккаунтом
У каждого аккаунта есть своя хона в которой хранятся записи

У рабочей группы все примерно то же самое, только сообщений собственных у нее нет.

Таким образом все что после двоееточия локально для аккаунта

Вопрос: можнот ли в нпж документ вне аккаунта?
Ответ: нет. В схеме нпж адресации этого нет. Узел состоит из набора аккаунтов. Аккаунт состоит из набора записей (сообщения и документы)

Плюс есть еще гостевые аккаунты (правое полушарие). В правом полушарии живут гостевые и реплицированные аккаунты. У каждого пользователя с чужого узла есть своя учетная запись. Когда пользователь с чужого узла приходит на наш узел у него создается учетная запись.
Вопрос: а какой вид этой учетной записи?

схема такая:
родная учетная запись/узел:адрес документа
kukutz@jetstyle/npj:чегонибудь

Откуда НПЖ знает что там есть у другого узла?
Это возможно благодоря серверу имен. Раз в день происходит обновление списка узлов.

Когда какой-то пользователь пишет корректный нпж адрес другого узла, ссылка подхватывается и преобразуется в корректный урл.
Когда пользователь с другого узла приходит на наш узел
Когда мы работаем с НПЖ адресацией мы отвязаны от урла совсем
А где мы ее используем?
Везде.
Это логическая адресация над адресацией физической (которая например лучше работает с русским языком)
Вопрос с заковыркой: а если сервер на нестандартном порту?
А можно. Это фактически надстройка над ДНС. В нпж есть как бы свой нейм сервер.

[лакуна]
у гостевой записи нет документов но могут пообщаться сообщения
про адресацию мы будем говорить более глубоко и подробно, потому что сама идея преобразуется в программные решения, достаточно оригинальна (нетривиальна?)

2.3. Адресация

2.4. Дневник

2.5. Сообщения и документы


Это все лежит в одной таблице.
Докумнет которотко это один флаг бд и все что вытекает (доступ, собирается или не собрается в ленты)
Сообщения собираются в ленты.
Документы можно редактировать нескольким людям и гибко настраивать права, использовать древовидную рубрикацию. Адрес состоит из любых букв, в т.ч. русских (подчеркивание не является значимым символом)
у сообщения адрес всегда численый.
К одному и тому же нпж адресу можно большим количеством способов дописать много разных урлов.

[лакуна — вопрос жарика, ответ кусо]

А если у меня документ хочет назваться с цифры?
Облом нельзя

Одно из ограничений — номер поста всегда больше 3000

Почему?

Потому что урл адреса может выглядеть так:
/2004/12/09/3780 — адрес сообщения за число
/3780 — адрес сообщения

адрес больше трех тысяч — чтобы отстроиться от календарных дат.

Пошла критика решения от янченко. Решения не идеально потому что это мешает мне иметь правильное название.
Ответ — а название это и не адрес. Ограничения касается адреса а не названия.
Жарик — это несущественные мелочи
Кусо — для того чтобы система работала быстрее мы несколько огничеваем свободу пользователя там где это не существенно.

Вопрос. а какую функцию несет дата в урле? декоративную?
Навигационную

А почему бы не делать префик перед годом?
Потому, что обошлись и потому что это дает много полезного.

Зачем документы называются с буквы? Чтобы легко было его отличить от поста. Это дает нам массу преимуществ. Например с вики адресацией. Пост всега в корне журнала.

А в чем отличие поста от документа?
Разница в предназначении.
Посты нужны для обмена перодической информацией. Потому что они быстро устаревают
Документ имеет более постоянную ценность. Например спецификация.

Адреса единыжды созданы не меняются.
Переименования пока нет. Проще создать новый и убить старый документ. Это не очень важно потому что название независимо от адреса. Когда изменится контент и нам захочется сменить заголовок мы сможем это сделать. Система нас защищает от неосознанного изменения адреса.

Сообщение имеет одного автора и только автор может править сообщение
Документ может править тот кому даны права. Прав огромное куча. (перечисление прав)

В чем недостаток НПЖ — очень для много нет интерфейса хотя система технически умеет очень многое.

Есть владелец и есть автор

Концепция владельства ложится на концепцию личного пространства

Синенькая дрянь это пространство пользователя. Он является ее владельцем и имеет все права на это

Рабочая группа — владельцем является менеджер рабочей группы.

Быть опубликованным и находится во владении это разные вещи.

Когда закрепляется ситуация владения? В момент создания. Адрес однозначно определяет владельца.
Владелец это тот кто имеет ультимейт права. например вновь созданные модераторы все равно не смогут вынести владельца — а наоборот можно.

Автор документа всегда совпадает с его владелец
Если пользователь создал документ в рабочей группы то автор пользователь а владелец – рабочая группа.

Насколько архитектурно рабочая группа отличается от пользователя. И то и другое аккаунты. У пользователя есть еще некоторые вещи которой рг не обладает — например пользователь умеет логинится.

Все ли имеют право создавать рабочие группы?
Это зависит от настроек узла. Они позволяют очень гибко настраивать права. Это то что имеет отношение к классам журналов.

У сообщений и документов разные модели управления доступом.

У документа очень много разных настроек доступа.
У сообщения всего три: создние редактивавние (автор) просмотри и комментирование.
Обычно кто видит тот и комментирует. Если комментирование не запрещено вообще.

3. А теперь про френдов


Пользователь может иметь корресподентов (типа френдов ЖЖ) и конфидентов (и это аналог френдов в ЖЖ) — те кому дан привелигрованный доступ. Плюс есть отношения владельца.
Тот кто создал аккаунт является его владельцем.
Ты сохраняешь права владельца. Можно внести такую настройку когда новые аккаунты регистрируют только регистрированные. Вассал моего вассала не мой вассал.

Коменты отдельная фича.

Комент никогда нельзя редактировать.
комментарий может удалить владелец комментария и владелец записи
только владелец записи может заморозить дискуссию
а про фильтр сообщества мы говорить не будем.
а если убить аккаунт то коменты в чужих сообщениях выжувут.

категория доступа в рг [лакуна]
права отличаются тем что являются ранговыми — тот кто выше умеет все что тот что ниже

Архитектурно те кого мы читаем в ленте — это рубрики.
Аккаунт и документ — частный случай рубрики
Соответственно кореспонденты — список рубрик. Архитектурно можно подписывать не на аккаунт а на его рубрики

про мылтеграцию — что она есть [лакуна]

что с защитой? если например идет пербор парлоя не блокируется ли айдишник? нет.
Зато есть защита от спама.

[j,ibhyfz kfreyf ghj, tpjgfcnyjcnm]

4. модули


Все что было раньше это ядро системы
Модуль это такая штука которая позволяет делать все что угодно

5. Вопросы


Уникален ли псевдо случайный номер поста. Да. Это специально генерируется
А почему не подряд. Для того чтобы нельзя было перебирать посты одного человека. Чтобы не секлось что человек написать посты в закрытый доступ. Так мы затрудняем проникновение в прайваси.

На НПЖ ру я зарегистрирован как макс долгов. а на джетстайле как просто макс. и если я обра раза поставил помнить меня всегда то кем меня будет авторизовать. По правилу старшинства — сначала родной узел. если ты не с радного узла то мы смотрим с какого узла ты раньше приходил в последний раз.

0 это я не понял почему
1 имеется ввиду узел

 
Один файл. [Показать файлы/форму]
Комментариев нет. [Показать комментарии/форму]
Поделиться ссылкой