NPJ


NPJ
Тип CMS
Разработчик Кусо «Сару» Мендокуси
Роман Иванов
Алексей Кулаков
Максим Долгов
Написана на PHP
Операционная система Cross-platform
Последняя версия 1.9 (июнь 2005)
Лицензия GNU General Public License
Сайт npj.ru

NPJ / НПЖ (Net Project Journal Software / НетПроектЖурнал) — CMS c открытым исходным кодом, распространяемая под GNU GPL. Написан на PHP, в качестве базы данных использует MySQL. Сфера применения — организация общения и совместной работы над документами группы людей, вне зависимости от их географического положения, также может эффективно использоваться для блогов и новостных ресурсов.

Идеология

Разработчики НПЖ попытались совместить в рамках единого проекта концепции wiki-сайта и блога. Регистрируясь на узле npj, пользователь создаёт аккаунт и получает в своё распоряжение пространство для создания документов в концепции wiki (размещаемых на сайте и редактируемых непосредственно на нём с помощью вики-механизма), а также персональную «ленту», в которую может делать блоговые записи. Одним из видов блоговых записей, доступных в системе, являются так называемые «анонсы» документов — при создании и редактировании любого своего документа пользователь получает возможность тут же создать и разместить в ленте краткое уведомление о документе. Как записи в ленте, так и документы допускают комментирование.

Для документов в НПЖ действуют все те же возможности, которые предоставляются движком WackoWiki — перекрёстные ссылки, вики-разметка, создание кластеров (каталогов и подкаталогов) документов. В качестве средства редактирования документов и записей поддерживается одновременно три механизма: аналогичный WackoWiki онлайн-редактор, использующий вики-разметку, WYSIWYG-редактор со стандартным набором оформительских возможностей (подобный редактору записей ЖЖ), либо прямой ввод html-текста. Поддерживается хранение всех предыдущих версий документов и механизм сравнения версий.

Помимо личных аккаунтов, система позволяет создавать группы, в которых могут регистрироваться многие пользователи. Группа имеет собственную ленту, механизм администрирования, управляемый её хозяином, и собственные документы, доступные всем членам группы. Механизм групп разработан в расчёте на использование по принципу «группа=проект», то есть в группе регистрируются пользователи, совместно работающие над некоторым проектом. Соответственно, они имеют доступ к набору документов проекта и используют ленту для анонсирования изменений в проекте и публичной (внутри проекта) переписки.

Для документов и записей в ленте пользователя действует механизм разграничения доступа: могут устанавливаться ограничения на чтение, редактирование и комментирование документов и записей.

Понятие «друга», принятое в большинстве блог-движков, в НПЖ заменено на два различных понятия: «корреспондент» и «конфидент», заключающие в себе функции «дружественности» по отдельности. Например, в «Живом журнале», объявив кого-либо «другом», пользователь одновременно получает два неразделимых эффекта — начинает видеть журнальные записи «друга» в своей ленте и даёт «другу» доступ к собственным записям со статусом «только для друзей». В НПЖ пользователь объявляет кого-либо «конфидентом», если хочет, чтобы тот имел доступ к записям ограниченного доступа, или «корреспондентом», чтобы видеть его записи в своей ленте. Один и тот же пользователь может быть объявлен только «конфидентом», только «корреспондентом», либо обоими сразу (во втором случае эффект будет такой же, как при объявлении «друга» в других блогах).

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

История проекта

Разрабатывать NPJ начала команда, занимавшаяся до этого развитием wiki-движка WackoWiki. Наиболее активно разработка велась в 2004—2005 годах. Первоначально движок выпускался под несвободной лицензией, что было связано с обязательствами разработчиков перед спонсором проекта.

В июне 2005 года выпущена текущая версия NPJ 1.9 — наиболее развитая из всех выпущенных. Она вышла уже под лицензией GNU GPL. Сайт проекта Архивная копия от 5 июля 2008 на Wayback Machine представлял собой работающий узел НПЖ со свободной регистрацией и содержал несколько сотен активно используемых учётных записей. Параллельно разрабатывались несколько проектов на основе НПЖ, в частности, багтрекер.

Начиная с 2006 года активность разработки резко снизилась. Версия 2.0 так и не была выпущена. До 2008 года сайт npj.ru продолжал функционировать, но со временем превратился, главным образом, в место для размещения спама. С 1 сентября 2008 года на официальном сайте появилось сообщение о том, что проект заморожен «в связи с отсутствием ресурсов на разработку», содержимое сайта перенесено на зеркало и оставлено в режиме «только для чтения».

В начале 2008 года было объявлено о разработке NPJ next — нового поколения движка NPJ, которой занялась другая команда разработчиков, взяв за основу NPJ 1.9. На данный момент опубликовано незначительное количество изменений в исходном движке.

Возможности версии 1.9

После установки на NPJ сервере формируется узел, который можно интегрировать в NPJ-сеть с другими узлами NPJ.

На каждом узле NPJ доступны следующие возможности:

  • создание новых пользователей/аккаунтов (содержащих персональный журнал-блог, и пространство для хранения документов)
  • настройка профилей пользователей с аватарами
  • создание в каждом журнале сообщений и документов
  • возможность объединения сообщений в ленты
  • контроль версий документов пользователей
  • гибкие настройки прав доступа для сообщений и документов:
    • возможность указать от 1 до 4 групп ваших конфидентов, которые могут читать сообщение
    • полноценная система ACL в документах (для каждого документа есть до 8 различных «действий», права на которые можно настраивать по отдельности)
  • создание сообществ и рабочих групп
    • сообщества предназначены для глобальной рубрикации сообщений по определённой тематике
      • сообщества предназначены только для публикации сообщений
    • рабочие группы предназначены для совместной работы по какой-то проблеме или теме
      • рабочие группы позволяют также создавать документы, и выстраивать иерархию взаимоотношений в РГ
  • объединение сообщений в ленты, такие как:
    • личная лента
    • лента корреспондентов
    • лента сообщества
    • лента всех пользователей узла
    • лента рубрики
    • лента анонсов
    • и др.
  • работа с wiki-разметкой, обычным текстом и WYSIWYG-редактором
  • рубрикация записей по древовидному рубрикатору
  • полнотекстовый поиск (с определёнными ограничениями)
  • подписка на любой документ, кластер документов, ленту и т. п.
  • публикация документов и сообщений через почтовый клиент
  • возможность ответа на комментарии из почтового клиента
  • RSS-вид для любой ленты
  • анонсирование событий и документов
  • внедрение в документы тонко настраиваемых динамических элементов — «экшнов», таких как:
    • ленты новых сообщений и списки последних изменений в документах
    • списки документов в определённых кластерах или рубриках
    • ссылки на текущий документ и автооглавление текущего документа
    • текст другого документа или его автооглавление
    • списки пользователей и другие действия, описанные в документации
  • поддержка единой схемы адресации любого элемента системы

После интеграции узла в NPJ-Сеть вы получаете следующие дополнительные возможности:

  • возможность идентифицировать пользователей с других узлов на своём (не совместим с OpenID)
  • возможность пользователям вашего узла быть идентифицированными на других узлах (не совместим с OpenID)
  • репликация новых сообщений и комментариев с других узлов на ваш
  • возможность репликации сообщений и комментариев с вашего узла на другие узлы

Сайты по теме

http://npj.ru/ Архивная копия от 5 июля 2008 на Wayback Machine - сайт разработчиков системы NPJ

http://dev.olspire.com/ Архивная копия от 15 июля 2008 на Wayback Machine - сайт разработки новой версии NPJ (будет называться NPJnext)

https://web.archive.org/web/20080608071159/http://ahe.org.ru/npj/ - о применении NPJ



См. также

Статьи об NPJ

NPJ — эффективное средство для ведения проектов и документации (недоступная ссылка) - «Системный администратор»