NPJ
NPJ / НПЖ (Net Project Journal Software / НетПроектЖурнал) — CMS c открытым исходным кодом, распространяемая под GNU GPL. Написан на PHP, в качестве базы данных использует MySQL. Сфера применения — организация общения и совместной работы над документами группы людей, вне зависимости от их географического положения, также может эффективно использоваться для блогов и новостных ресурсов.
NPJ | |
---|---|
Тип | CMS |
Разработчик |
Кусо «Сару» Мендокуси Роман Иванов Алексей Кулаков Максим Долгов |
Написана на | PHP |
Операционная система | Cross-platform |
Последняя версия | 1.9 (июнь 2005) |
Лицензия | GNU General Public License |
Сайт | npj.ru |
Идеология
Разработчики НПЖ попытались совместить в рамках единого проекта концепции wiki-сайта и блога. Регистрируясь на узле npj, пользователь создаёт аккаунт и получает в своё распоряжение пространство для создания документов в концепции wiki (размещаемых на сайте и редактируемых непосредственно на нём с помощью вики-механизма), а также персональную «ленту», в которую может делать блоговые записи. Одним из видов блоговых записей, доступных в системе, являются так называемые «анонсы» документов — при создании и редактировании любого своего документа пользователь получает возможность тут же создать и разместить в ленте краткое уведомление о документе. Как записи в ленте, так и документы допускают комментирование.
Для документов в НПЖ действуют все те же возможности, которые предоставляются движком WackoWiki — перекрёстные ссылки, вики-разметка, создание кластеров (каталогов и подкаталогов) документов. В качестве средства редактирования документов и записей поддерживается одновременно три механизма: аналогичный WackoWiki онлайн-редактор, использующий вики-разметку, WYSIWYG-редактор со стандартным набором оформительских возможностей (подобный редактору записей ЖЖ), либо прямой ввод html-текста. Поддерживается хранение всех предыдущих версий документов и механизм сравнения версий.
Помимо личных аккаунтов, система позволяет создавать группы, в которых могут регистрироваться многие пользователи. Группа имеет собственную ленту, механизм администрирования, управляемый её хозяином, и собственные документы, доступные всем членам группы. Механизм групп разработан в расчёте на использование по принципу «группа=проект», то есть в группе регистрируются пользователи, совместно работающие над некоторым проектом. Соответственно, они имеют доступ к набору документов проекта и используют ленту для анонсирования изменений в проекте и публичной (внутри проекта) переписки.
Для документов и записей в ленте пользователя действует механизм разграничения доступа: могут устанавливаться ограничения на чтение, редактирование и комментирование документов и записей.
Понятие «друга», принятое в большинстве блог-движков, в НПЖ заменено на два различных понятия: «корреспондент» и «конфидент», заключающие в себе функции «дружественности» по отдельности. Например, в «Живом журнале», объявив кого-либо «другом», пользователь одновременно получает два неразделимых эффекта — начинает видеть журнальные записи «друга» в своей ленте и даёт «другу» доступ к собственным записям со статусом «только для друзей». В НПЖ пользователь объявляет кого-либо «конфидентом», если хочет, чтобы тот имел доступ к записям ограниченного доступа, или «корреспондентом», чтобы видеть его записи в своей ленте. Один и тот же пользователь может быть объявлен только «конфидентом», только «корреспондентом», либо обоими сразу (во втором случае эффект будет такой же, как при объявлении «друга» в других блогах).
Ядро НПЖ поддерживает создание группы узлов, связанных между собой и обеспечивающих авторизованную работу пользователей, зарегистрированных на одном из узлов, на всех узлах группы.
История проекта
Разрабатывать NPJ начала команда, занимавшаяся до этого развитием wiki-движка WackoWiki. Наиболее активно разработка велась в 2004—2005 годах. Первоначально движок выпускался под несвободной лицензией, что было связано с обязательствами разработчиков перед спонсором проекта.
В июне 2005 года выпущена текущая версия NPJ 1.9 — наиболее развитая из всех выпущенных. Она вышла уже под лицензией GNU GPL. Сайт проекта представлял собой работающий узел НПЖ со свободной регистрацией и содержал несколько сотен активно используемых учётных записей. Параллельно разрабатывались несколько проектов на основе НПЖ, в частности, багтрекер.
Начиная с 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/ - сайт разработчиков системы NPJ
- http://npj.ru/npjdev/release - страница загрузки NPJ 1.9
http://dev.olspire.com/ Архивная копия от 15 июля 2008 на Wayback Machine - сайт разработки новой версии NPJ (будет называться NPJnext)
- https://web.archive.org/web/20090526083450/http://dev.olspire.com/Dokumentacija - структурированная и дополненная документация по NPJ 1.9
https://web.archive.org/web/20080608071159/http://ahe.org.ru/npj/ - о применении NPJ
См. также
Статьи об NPJ
NPJ — эффективное средство для ведения проектов и документации (недоступная ссылка) - «Системный администратор»