Разрабатываем документацию с помощью NPJ: эффективно и удобно!::Журнал СА 11.2005
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Подписка
Архив номеров
Где купить
Наука и технологии
Авторам
Рекламодателям
Контакты
   

  Опросы
  Статьи

Дата-центры  

Дата-центры: есть ли опасность утечки данных?

Российские компании уже несколько лет испытывают дефицит вычислительных мощностей. Рост числа проектов,

 Читать далее...

Событие  

В банке рассола ждет сисадмина с полей фрактал-кукумбер

Читайте впечатления о слете ДСА 2024, рассказанные волонтером и участником слета

 Читать далее...

Организация бесперебойной работы  

Бесперебойная работа ИТ-инфраструктуры в режиме 24/7 Как обеспечить ее в нынешних условиях?

Год назад ИТ-компания «Крок» провела исследование «Ключевые тренды сервисного рынка 2023». Результаты

 Читать далее...

Книжная полка  

Читайте и познавайте мир технологий!

Издательство «БХВ» продолжает радовать выпуском интересных и полезных, к тому же прекрасно

 Читать далее...

СУБД PostgreSQL  

СУБД Postgres Pro

Сертификация по новым требованиям ФСТЭК и роль администратора без доступа к данным

 Читать далее...

Критическая инфраструктура  

КИИ для оператора связи. Готовы ли компании к повышению уровня кибербезопасности?

Похоже, что провайдеры и операторы связи начали забывать о требованиях законодательства

 Читать далее...

Архитектура ПО  

Архитектурные метрики. Качество архитектуры и способность системы к эволюционированию

Обычно соответствие программного продукта требованиям мы проверяем через скоуп вполне себе понятных

 Читать далее...

Как хорошо вы это знаете  

Что вам известно о разработках компании ARinteg?

Компания ARinteg (ООО «АРинтег») – системный интегратор на российском рынке ИБ –

 Читать далее...

Графические редакторы  

Рисование абстрактных гор в стиле Paper Cut

Векторный графический редактор Inkscape – яркий представитель той прослойки open source, с

 Читать далее...

День сисадмина  

Учите матчасть! Или как стать системным администратором

Лето – время не только отпусков, но и хорошая возможность определиться с профессией

 Читать далее...

День сисадмина  

Живой айтишник – это всегда движение. Остановка смерти подобна

Наши авторы рассказывают о своем опыте и дают советы начинающим системным администраторам.

 Читать далее...

Виртуализация  

Рынок решений для виртуализации

По данным «Обзора российского рынка инфраструктурного ПО и перспектив его развития», сделанного

 Читать далее...

Книжная полка  

Как стать креативным и востребованным

Издательский дом «Питер» предлагает новинки компьютерной литературы, а также книги по бизнесу

 Читать далее...

Книжная полка  

От создания сайтов до разработки и реализации API

В издательстве «БХВ» недавно вышли книги, которые будут интересны системным администраторам, создателям

 Читать далее...

1001 и 1 книга  
19.03.2018г.
Просмотров: 6238
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

 Читать далее...

12.03.2018г.
Просмотров: 6945
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

 Читать далее...

12.03.2018г.
Просмотров: 4231
Комментарии: 0
Глубокое обучение с точки зрения практика

 Читать далее...

12.03.2018г.
Просмотров: 3015
Комментарии: 0
Изучаем pandas

 Читать далее...

12.03.2018г.
Просмотров: 3812
Комментарии: 0
Программирование на языке Rust (Цветное издание)

 Читать далее...

19.12.2017г.
Просмотров: 3827
Комментарии: 0
Глубокое обучение

 Читать далее...

19.12.2017г.
Просмотров: 6323
Комментарии: 0
Анализ социальных медиа на Python

 Читать далее...

19.12.2017г.
Просмотров: 3174
Комментарии: 0
Основы блокчейна

 Читать далее...

19.12.2017г.
Просмотров: 3466
Комментарии: 0
Java 9. Полный обзор нововведений

 Читать далее...

16.02.2017г.
Просмотров: 7284
Комментарии: 0
Опоздавших не бывает, или книга о стеке

 Читать далее...

17.05.2016г.
Просмотров: 10649
Комментарии: 0
Теория вычислений для программистов

 Читать далее...

30.03.2015г.
Просмотров: 12370
Комментарии: 0
От математики к обобщенному программированию

 Читать далее...

18.02.2014г.
Просмотров: 14006
Комментарии: 0
Рецензия на книгу «Читаем Тьюринга»

 Читать далее...

13.02.2014г.
Просмотров: 9132
Комментарии: 0
Читайте, размышляйте, действуйте

 Читать далее...

12.02.2014г.
Просмотров: 7084
Комментарии: 0
Рисуем наши мысли

 Читать далее...

10.02.2014г.
Просмотров: 5393
Комментарии: 3
Страна в цифрах

 Читать далее...

18.12.2013г.
Просмотров: 4622
Комментарии: 0
Большие данные меняют нашу жизнь

 Читать далее...

18.12.2013г.
Просмотров: 3432
Комментарии: 0
Компьютерные технологии – корень зла для точки роста

 Читать далее...

04.12.2013г.
Просмотров: 3165
Комментарии: 0
Паутина в облаках

 Читать далее...

03.12.2013г.
Просмотров: 3405
Комментарии: 0
Рецензия на книгу «MongoDB в действии»

 Читать далее...

02.12.2013г.
Просмотров: 3031
Комментарии: 0
Не думай о минутах свысока

 Читать далее...

Друзья сайта  

 Разрабатываем документацию с помощью NPJ: эффективно и удобно!

Архив номеров / 2005 / Выпуск №11 (36) / Разрабатываем документацию с помощью NPJ: эффективно и удобно!

Рубрика: Администрирование /  Продукты и решения

АЛЕКСЕЙ КОРШУНОВ

Разрабатываем документацию с помощью NPJ: эффективно и удобно!

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

Особенно если сеть состоит из более чем одного сервера и пяти рабочих станций. В случае с Linux-серверами это правило действительно вдвойне, потому как способов настроить один и тот же сервис может быть не два и даже не три.

Очень часто работа с Open Source-проектом (не важно, его разработка или установка) тесно связана с чтением и написанием документации. Все мы знаем, что память человека обладает избирательностью и имеет свойство убирать «на дальнюю полку» неиспользуемые в данный момент знания. Количество же таких знаний напрямую зависит от вашего опыта работы и размера серверного парка вашей компании.

По своему опыту могу сказать, что пара десятков грамотно написанных (собственноручно) документов по настройке «типовых» решений – сильно облегчают жизнь и навсегда избавляют от мучительных воспоминаний. Больше нет раздумий о том, что же я на этот раз забыл куда прописать и какой нюанс, встретившийся когда-то, никак не может всплыть из глубин моей памяти. Не стану отрицать, наверное, существуют супер-профессионалы, которые помнят всё и всегда, но мне такие не известны. Гуру, с которыми мне приходилось общаться, нет-нет да и говорили в ответ на вопрос «Что-то такое было... Я точно не помню».

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

Что такое NPJ

Для разработки документации из наиболее удобных инструментов можно выделить «НетПроектЖурнал» или просто NPJ. Он построен на принципах работы любого Open Source-проекта. Люди объединяются в сообщества (рабочие группы) и работают над какой-либо документацией. Для примера ведения проекта могу привести весьма простой, но от того не менее удобный биллинг «cake» (http://npj.ru/cake). В данном случае сайт проекта является и его главной страницей, и местом разработки документации, и местом поддержки проекта, так как NPJ – гибкий инструмент и фактически может выступать в любом качестве. Для примера ресурса, основная цель которого разработка и сбор документации, могу привести npj.akeeper.ru. Учитывая весьма продвинутые средства поиска по узлу NPJ – это крайне удобный инструмент.

Суть удобств:

  • Установка и настройка, как правило, занимает 5-10 минут.
  • Гибкость архитектуры позволяет создавать на вашем узле практически всё что угодно – от банального блога (есть ресурс, где NPJ используется для ведения личных дневников livejournal) до серьёзного ресурса по разработке, представлению и ведению проекта.
  • Сквозная авторизация на узлах других систем (о ней чуть ниже) позволяет вам принимать участие в работе на любых узлах, подключённых к общей сети NPJ-узлов.
  • На одном узле может быть создано сколь угодно много рабочих групп, каждой из которых допустимо заниматься своим независимым проектом.
  • Рабочие группы могут быть публичные, премодерируемые, скрытые.
  • Любая страница внутри узла может выступать в любом качестве – от обычного документа, до формы форума (об этом тоже чуть позже).
  • Помимо участия в рабочих группах пользователь узла всегда имеет собственный личный журнал и возможность создания своих документов.
  • Гибкость настройки системы прав позволяет определить, кто, к чему, какой будет иметь доступ. (Это касается как документов и записей рабочей группы, так и документов с записями любого пользователя. Только вы решаете, с каким доступом создаете запись или документ.)
  • Несколько способов представления индекса и разбиения по категориям всей документации рабочей группы.
  • Легкость поиска по всему узлу.
  • В узле, при условии соответствующей настройки доступа, комментировать можно всё, а получать комментарии и отвечать на них можно прямо из вашего почтового клиента. (Больше никаких идиотских писем: «Появился новый комментарий, на который вы подписаны. Пройдите по ссылке, чтобы его увидеть» – забудьте! Жить стало значительно проще и удобнее.)
  • При разработке документации ведётся история её изменения, которую всегда можно просмотреть и точно узнать, какие правки и добавления были произведены. Более того, всегда можно вернуться к одной из сохранённых версий документа.
  • Документ можно анонсировать по рабочим группам, сообщив таким образом о его существовании. Есть возможность создать дайджест.
  • Благодаря Wiki-разметке, писать документы не просто, а очень просто. И крайне приятно.
  • Интерфейс для каждой группы, пользователя настраивается индивидуально.
  • Возможность прямо с центральной страницы увидеть все документы, изменения в документах всех пользователей, ленту всех пользователей, ленту всех анонсов, список изменений в дайджестах и так далее.
  • Поддержка RSS.
  • Есть багтрекер.

Выше я упоминал сквозную авторизацию на разных узлах. Дело в том, что каждый узел «НетПроектЖурнала» имеет возможность войти в объединённую общую сеть. Это производится нажатием пары ссылок в настройках. Механизм работы этой системы довольно прост – при заходе на любую гостевую NPJ система находит куки-файл от родного (для вас) хоста и запрашивает у него вашу авторизацию. Если ваш хост авторизацию подтверждает, то на гостевом узле вы будете представлены под именем yournick@yourhost, и вся ваша деятельность перестаёт быть анонимной. Почему это важно?

Благодаря авторизованной таким образом деятельности вы можете подписаться на уведомления с разных узлов. Это одна из самых полезных функций NPJ. Можно получать уведомления о:

  • Создании новых документов. В том числе, получать в письме весь новый документ, со всей разметкой.
  • Изменениях в существующих документах.
  • Анонсах на узлах (о создании новых групп, сообществ, разработок).
  • Новых комментариях к записям, в том числе отвечать на эти комментарии прямо из вашей любимой почтовой программы.
  • Прочие уведомления.

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

Потенциальный «минус», который довольно скоро бросается в глаза, – отсутствие возможности загрузки на сервер узла файлов через веб-интерфейс. Другими словами, если вы хотите разместить в документе или где-то ещё ссылку на файл, то для размещения этого файла на сервере вам придётся воспользоваться помощью других сервисов.

Ещё одна деталь, на которую хотелось бы обратить ваше внимание.NPJ написан c применением концепций ООП, а следовательно, добавление функциональности не составляет особого труда. Например, в мою NPJ-систему были внесены необходимые изменения, которые позволили использовать одну общую базу пользователей как для этой системы, так и для phpbb2 форума. Это оказалось весьма удобно, а реализация не заняла и двух дней.

Как NPJ выглядит и работает

Для установки NPJ-узла не требуется неординарных усилий. Всё происходит гладко, и система встаёт, что называется, из коробки. На сайте проекта (http://www.npj.ru) содержится детальная информация по установке, и там же можно всегда скачать последнюю версию системы. Начать работу лучше всего с изучения страницы http://npj.ru/npjdev/release. Для работы NPJ необходимы: Apache (возможно, он так же будет работать и с другими веб-серверами), MySQL, а также PHP. На сайте проекта нет информации о минимально необходимой конфигурации компьютера для установки. Однако я устанавливал NPJ на Linux-машины следующей конфигурации (PIII, 256 Мб RAM, 10 Гб HDD) и никаких проблем в работе не замечал.

Я не буду описывать процесс конфигурирования нового узла, так как уже выше было сказано – исчерпывающая информация находится на сайте разработчиков (который представляет из себя такой же NPJ-узел). Единственное, обращу ваше внимание на две настройки. Если вы хотите получать уведомления на почту, то придётся создать почтовый аккаунт для NPJ и обеспечить к нему pop3-доступ. Настройки для этого прописываются в файле config_tunes.php. И если вы хотите принимать участие в работе на других узлах с теми приятными мелочами, что были описаны выше, включите интеграцию вашего узла в общую сеть. Это делается двумя кликами на странице администрирования – http://npj.example.ru/manage/nns.

После установки в вашем распоряжении будет одна группа, по умолчанию называющаяся node@имяузла, а также личная область, доступная всем пользователям (см. рис. 1).

Рисунок 1. Пример внешнего вида личного пространства

Рисунок 1. Пример внешнего вида личного пространства

Вы можете выбрать несколько вариантов оформления узла для вас, а также умолчания для тех пользователей, которые не сделали собственных предустановок. Первое делается в настройках вашего профиля, а второе, соответственно, в настройках узла. По умолчанию выставлен стиль «simplifica», но многие предпочитают более аскетичный стиль «academic». Мне, правда, не нравится ни тот, ни другой, так как их функциональность для меня не подходит. Я использую «minikui», который вы можете видеть на рис. 1. Его основное преимущество – удобство в быстром доступе к множеству функций и свойств страницы. Например, к своему стыду, я так и не понял, как в стиле «academic» добиться быстрого и удобного (а главное постоянного, вне зависимости от просматриваемой страницы) доступа к поиску.

Есть и другие причины заглянуть в пользовательские настройки. Например, там есть выбор между использованием вики/вака разметки и более наглядного редактора в стиле MS Word.

В личной области вы можете вести свой дневник (как тот же livejournal) и, например, таким образом протоколировать для себя разработки на узле. Там же у вас есть возможность создавать собственные документы, не привязанные ни к какой рабочей группе. Строго говоря, рабочие группы вообще не обязательный атрибут, если узел создавался не с целью обеспечения какого-либо проекта, которым занимаются много людей. Мне известно немало случаев, когда NPJ ставили на собственной локальной машине и использовали исключительно в личных целях.

Как только вы увидите всё это богатство, возникнет вопрос – как же всем этим пользоваться. К сожалению или к счастью, NPJ имеет достаточно высокий «уровень вхождения», поэтому на первых порах у пользователей возникает множество вопросов о способах взаимодействия с узлом. Здесь на помощь приходит выражение, которое уже прозвучало выше, – каждая страница узла – это «пластилин», из которого вы можете «лепить» что угодно. Для того, чтобы понять, о чем я говорю, просто кликните дважды на любой странице узла. Например, на центральной. И если вы обладаете администраторскими правами – получите окно для редактирования страницы (см. рис. 2).

Рисунок 2. Начинать творить можно отсюда

Рисунок 2. Начинать творить можно отсюда

Начиная с этого момента вы можете как угодно до неузнаваемости изменить главную страницу вашего узла. Воспользуйтесь ссылкой на описание различных тегов и разметки – http://www.npj.ru/node/chastyevoprosy/zapisizhurnala/wikisintaksis. Есть неписаные стандарты оформления главной страницы. Однако следовать им вовсе не обязательно. Вы можете посмотреть, как могут выглядеть заглавные страницы просто попутешествовав по разным узлам.

Рисунок 3. Типичное оформление главной страницы узла

Рисунок 3. Типичное оформление главной страницы узла

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

Рабочие группы на узлах NPJ – это фактически разграничение прав между пользователями узла. Они существуют для определения политики выдачи (отображения) информации, с которой работают члены группы, а также для определения прав доступа каждого члена. Группы могут быть публичными, премодерируемыми, а также, как уже упоминалось, скрытыми.

Рисунок 4. Рассматриваем группы более внимательно

Рисунок 4. Рассматриваем группы более внимательно

Члены групп могут обладать разными правами, от читательских до менеджерских (администраторских). Разумеется, в пределах своих групп. Если пользователь является менеджером пусть даже основной рабочей группы node@имяузла – это не означает, что он становится администратором узла.

Если вы создали рабочую группу (или же решили использовать уже существующую), то можете сразу приступить к оформлению и наполнению её материалами. Для этого достаточно зайти на страницу группы, которая, как правило, выглядит http://имяузла/имярабгруппы и точно так же, как на центральной странице, кликнуть на ней дважды. Откроется уже знакомое окно редактирования.

Оформление первой страницы рабочей группы может состоять из рубрикатора материалов, алфавитного списка и т. п. Причем для использования, например, рубрикатора, вам потребуется только добавить код на страницу, рубрики будут отображаться автоматически. (Разумеется, если при вводе документов, вы будете учитывать необходимость указания рубрики для документа.)

Для пробы описанных выше возможностей давайте создадим на странице новой рабочей группы ссылку на два объекта. Допустим, что первая ссылка будет документом, а вторая – оглавлением (см. рис. 5).

Рисунок 5. Начинаем мять «пластилин»

Рисунок 5. Начинаем мять «пластилин»

После сохранения мы увидим подчёркнутые пунктиром наши ссылки и знак вопроса в конце. При клике на этот знак вопроса нам будет предложено создать не существующий пока объект.

Теперь заполним первую страницу текстом, а на второй сделаем оглавление (см. рис. 6).

Рисунок 6. Две инкарнации одинаковых страниц

Рисунок 6. Две инкарнации одинаковых страниц

Как вы видите, от того, что страницы нами предназначались для разных целей, – суть их не изменилась. Мы можем в первый документ добавить оглавление какого-нибудь нового раздела. А можем, наоборот, на второй созданной странице написать текст и разместить (к примеру) картинку.

В любой момент вы можете просмотреть код практически любой страницы (причем необязательно только вашего узла). Для этого достаточно набрать http://npj.example.ru/page/source, и вы получите указанную страницу в wiki-разметке.

Надеюсь, теперь вы поняли, что каждая страница NPJ-узла – это шаблон, в котором может находиться всё, что вам заблагорассудится. Фактически это можно представить как кучу html-файлов, которые между собой увязаны так, как вы сами посчитали необходимым. От обычных html-текстов их отличает только удобство использования, удобство редактирования и прочие «полезности», что уже были озвучены выше.

Использование NPJ в работе

Какую конкретно документацию вести в NPJ, решать вам. От себя я могу поделиться той схемой, благодаря которой у меня навсегда исчезла проблема ответа на вопрос (начальству или самому себе), что где находится и как оно работает. Эта схема использовалась в компании «Город-Инфо» (см. рис. 7).

Рисунок 7. Структура рабочей группы «Город-Инфо»

Рисунок 7. Структура рабочей группы «Город-Инфо»

Как видно из рисунка, фактически все области работы службы системных администраторов компании здесь освещены. Разумеется, часть информации не отображена на схеме и включена в пункты «прочее», но и того, что отображено, более чем достаточно для понимания. Стрелками отображены ссылки между разделами. Множество перекрёстных ссылок находится и внутри документов, но отобразить это на схеме не представляется возможным.

Там же системными администраторами компании велась разработка документации, которая впоследствии предоставлялась клиентам и заказчикам. NPJ позволяла не только вместе выполнять такие работы, но и отслеживать изменения в документе. А также предоставляла площадь для дебатов по поводу внесения тех или иных изменений. Впоследствии там же должна была начаться разработка целого пакета документации, так как именно это средство было признано наиболее подходящим для проведения такой работы (разработка с участием географически сильно удалённых пользователей), но к тому времени я покинул компанию.

Не буду рассказывать, как нам помогала в работе документация, составленная в NPJ весьма помагала в работе. Мы забыли, что такое «гадать» или в чем-то сомневаться. Просто открываешь браузер, и вся детальная информация перед глазами.

Выводы

Способов применения в работе узла NPJ ровно столько, сколько вы сможете придумать. Может быть, вы предпочтёте записывать в собственный журнал интересные находки «на будущее», а в документах сохранять, к примеру, особо удачные конфигурационные файлы или же их описание. Может быть, вы создадите отдельную рабочую группу, где будете вести всю документацию по своей сети. А может, вы посвятите свой узел поддержке какого-либо проекта, разработкой которого в данный момент занимаетесь или только планируете заняться.

Многие тонкости работы NPJ остались за рамками статьи. Причин для этого несколько. Во-первых, несмотря на то, что я давно пользуюсь этой системой, для меня ещё не все тонкости раскрыты. Во-вторых, многое из оставленного за рамками статьи относится к редко используемому, и далеко не всем будет интересно. Например, работа с «Сообществами», внутри которых создавать документы нельзя. Эта такая дискуссионная форма, но применения ей я не нашёл, поэтому в своём рассказе пропустил. А самую сложную проблему в использовании NPJ, понимание, как это работает, хочется надеяться, я помог вам разрешить.

Одно могу сказать вам точно, после того, как привыкаешь пользоваться в работе таким удобным инструментом, он становится незаменимым помощником. И это неудивительно. Вы не тратите время на поиск места для сохранения мыслей или целого документа, не мучаетесь с построением красивой структуры, не страдаете от некорректно работающего поиска, который никак не хочет выдать требуемое – вы просто делаете свою работу.


Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-45
E-mail: sa@samag.ru