Разрабатываем документацию с помощью NPJ: эффективно и удобно!
Ведение документации на свою рабочую сеть давно стало правилом хорошего тона для любого уважающего и считающего себя профессионалом системного администратора. Дело здесь вовсе не в служебных обязанностях, а скорее в прямой необходимости. Особенно если сеть состоит из более чем одного сервераи пяти рабочих станций. В случае с Linux-серверами это правило действительно вдвойне, потому как способов настроить один и тот же сервис может быть не два и даже не три.
Очень часто работа с Open Source-проектом (не важно, его разработка или установка) тесно связана с чтением и написанием документации. Все мы знаем, что память человека обладает избирательностью и имеет свойство убирать «на дальнюю полку» неиспользуемые в данный момент знания. Количество же таких знаний напрямую зависит от вашего опыта работы и размера серверного парка вашей компании.
По своему опыту могу сказать, что пара десятков грамотно написанных (собственноручно) документов по настройке «типовых» решений – сильно облегчают жизнь и навсегда избавляют от мучительных воспоминаний. Больше нет раздумий о том, что же я на этот раз забыл куда прописать и какой нюанс, встретившийся когда-то, никак не может всплыть из глубин моей памяти. Не стану отрицать, наверное, существуют супер-профессионалы, которые помнят всё и всегда, но мне такие не известны. Гуру, с которыми мне приходилось общаться, нет-нет да и говорили в ответ на вопрос «Что-то такое было... Я точно не помню».
|
|
К чему я всё это? А к тому, что привычку писать (хотя бы даже для себя) документацию о настройке сервисов, в которых столкнулись с проблемами, о встретившихся тонкостях и особенностях – можно смело назвать весьма полезной привычкой и крайне необходимой практикой. Это логическое продолжение привычки многих людей – записывать в КПК, документы и другие менее удобные для поиска информации источники.
Для разработки документации из наиболее удобных инструментов можно выделить «НетПроектЖурнал» или просто NPJ. Он построен на принципах работы любого Open Source-проекта. Люди объединяются в сообщества (рабочие группы) и работают над какой-либо документацией. Для примера ведения проекта могу привести весьма простой, но от того не менее удобный биллинг «cake» (https://npj.ru/cake). В данном случае сайт проекта является и его главной страницей, и местом разработки документации, и местом поддержки проекта, так как NPJ – гибкий инструмент и фактически может выступать в любом качестве. Для примера ресурса, основная цель которого разработка и сбор документации, могу привести npj.akeeper.ru. Учитывая весьма продвинутые средства поиска по узлу NPJ – это крайне удобный инструмент.
|
|
Суть удобств:
ü Установка и настройка, как правило, занимает 5-10 минут.
ü Гибкость архитектуры позволяет создавать на вашем узле практически всё что угодно – от банального блога (есть ресурс, где NPJ используется для ведения личных дневников livejournal) до серьёзного ресурса по разработке, представлению и ведению проекта.
ü Сквозная авторизация на узлах других систем (о ней чуть ниже) позволяет вам принимать участие в работе на любых узлах, подключённых к общей сети NPJ-узлов.
ü На одном узле может быть создано сколь угодно много рабочих групп, каждой из которых допустимо заниматься своим независимым проектом.
ü Рабочие группы могут быть публичные, премодерируемые, скрытые.
ü Любая страница внутри узла может выступать в любом качестве – от обычного документа, до формы форума (об этом тоже чуть позже).
ü Помимо участия в рабочих группах пользователь узла всегда имеет собственный личный журнал и возможность создания своих документов.
ü Гибкость настройки системы прав позволяет определить, кто, к чему, какой будет иметь доступ. (Это касается как документов и записей рабочей группы, так и документов с записями любого пользователя. Только вы решаете, с каким доступом создаете запись или документ.)
ü Несколько способов представления индекса и разбиения по категориям всей документации рабочей группы.
ü Легкость поиска по всему узлу.
ü В узле, при условии соответствующей настройки доступа, комментировать можно всё, а получать комментарии и отвечать на них можно прямо из вашего почтового клиента. (Больше никаких идиотских писем: «Появился новый комментарий, на который вы подписаны. Пройдите по ссылке, чтобы его увидеть» – забудьте! Жить стало значительно проще и удобнее.)
ü При разработке документации ведётся история её изменения, которую всегда можно просмотретьи точно узнать, какие правки и добавления были произведены. Более того, всегда можно вернуться к одной из сохранённых версий документа.
ü Документ можно анонсировать по рабочим группам, сообщив таким образом о его существовании.
ü Есть возможность создать дайджест.
ü Благодаря Wiki-разметке, писать документы не просто, а очень просто. И крайне приятно.
ü Интерфейс для каждой группы, пользователя настраивается индивидуально.
ü Возможность прямо с центральной страницы увидеть все документы, изменения в документах всех пользователей, ленту всех пользователей, ленту всех анонсов, список изменений в дайджестах и так далее.
ü Поддержка RSS.
ü Есть багтрекер.
Выше я упоминал сквозную авторизацию на разных узлах. Дело в том, что каждый узел «НетПроектЖурнала» имеет возможность войти в объединённую общую сеть. Это производится нажатием пары ссылок в настройках. Механизм работы этой системы довольно прост – при заходе на любую гостевую NPJ система находит куки-файл от родного (для вас) хоста и запрашивает у него вашу авторизацию. Если ваш хост авторизацию подтверждает, то на гостевом узле вы будете представлены под именем yournick@yourhost, и вся ваша деятельность перестаёт быть анонимной.
Почему это важно?
Благодаря авторизованной таким образом деятельности вы можете подписаться на уведомления с разных узлов. Это одна из самых полезных функций NPJ. Можно получать уведомления о:
ü Создании новых документов. В томчисле, получать в письме весь новый документ, со всей разметкой.
ü Изменениях в существующих документах.
ü Анонсах на узлах (о создании новых групп, сообществ, разработок).
ü Новых комментариях к записям, в том числе отвечать на эти комментарии прямо из вашей любимой почтовой программы.
|
|
ü Прочие уведомления.
Особого внимания заслуживает то, что любая страница журнала может выступать в совершенно разных качествах. Для пояснения необходимо немного рассказать об архитектуре этой системы. Суть архитектуры «НетПроектЖурнал» можно было бы охарактеризовать как «вот вам пластилин, что на ум пришло, то и лепите». Это значит, что каждая страница доступна для редактирования и может как содержать информацию в самой себе, так и являться (например) оглавлением для раздела. Вы можете создать ссылку в теле страницы на объект, который не существует. А сразу после сохранения созданной страницы можно перейти на эту ссылку и тут же создать документ, который будет по ней располагаться. И только вам решать, будет это документом или очередным оглавлением, каталогом, индексом, гостевой книгой или чем-то ещё.
Потенциальный «минус», который довольно скоро бросается в глаза, – отсутствие возможности загрузки на сервер узла файлов через веб-интерфейс. Другими словами, если вы хотите разместить в документе или где-то ещё ссылку на файл, то для размещения этого файла на сервере вам придётся воспользоваться помощью других сервисов.
Ещё одна деталь, на которую хотелось бы обратить ваше внимание. NPJ написан c применением концепций ООП, а следовательно, добавление функциональности не составляет особого труда. Например, в мою NPJ-систему были внесены необходимые изменения, которые позволили использовать одну общую базу пользователей как для этой системы, так и для phpbb2 форума. Это оказалось весьма удобно, а реализация не заняла и двух дней.