View source for WackoWiki – инструмент для групповой разработки

WackoWiki - инструмент для groupware

{{toc numerate=1}}

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

file:050103ww_0_v3.png

===Истоки возникновения идеи===

Сама по себе идея (?groupware групповое программное обеспечение?) не так уж и нова. Вся разработка программного обеспечения в UNIX ведется с помощью уже ставшего классическим CVS. Для чего же в таком случае нужна еще одна система - а именно Wiki и ее клоны?

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

Собственно, для этого и предназначены веб-интерфейсы групповой разработки, называемые также web-groupware. Фактически про настройку и установку одного из таких интерфейсов и пойдет речь.

===Подготовка почвы===

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

  * Apache или другой веб-сервер, поддерживающий установку PHP;
  * интерпретатор динамического веб-контента PHP;
  * MariaDB или MySQL.

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

===Установка на Windows===

Установка на платформе Windows проходит без осложнений. Последовательность довольно типична для веб-приложений.

  * Скачиваем дистрибутив WackoWiki. Тут необходимо небольшое пояснение. В случае установки только на MS Windows следует скачать архив типа zip. Его можно распаковать подручными средствами вроде 7Zip.

  * Создаем директорию, которая станет корневой для WackoWiki. Пускай, к примеру, это будет d:\prog\wakowiki, в которую и распаковываем архив.

  * Прописываем в конфигурации Apache псевдоним (Alias). Это позволяет вынести файлы за пределы корневой директории веб-сервера. В моем случае конфигурационный файл веб-сервера находится в каталоге D:\Program Files\Apache Group\Apache\conf. Для того чтобы указать, что веб-каталог ~http://server/wakowiki/ соответствует локальной директории d:\prog\wakowiki\, следует в конфигурацию Apache добавить следующие строки:
  %%
      Alias  /wakowiki/  "D:/prog/wakowiki/"  
      <Directory  "D:/prog/wakowiki/">  
          Options  Indexes  MultiViews  ExecCGI  
          AllowOverride  None  
          Order  allow,deny  
          Allow  from  all  
      </Directory>  
  %%
  После того как псевдоним добавлен, следует перезагрузить Apache, выполнив последовательно две команды:
  %%
      net  stop  apache  
      net  start  apache  
  %%
  * Создаем базу данных MySQL с именем wako и пользователя MySQL-сервера, который имеет права на доступ к таблицам этой базы. Эту процедуру можно проделать с помощью одной из административных утилит, описанных в этой статье.

===Веб-инсталлятор===

После того как все подготовительные шаги выполнены, следует запустить программу установки WackoWiki. Для этого достаточно в браузере набрать путь, указывающий на псевдоним WackoWiki (у меня это ~http://server/wakowiki/). Процедура установки практически всех веб-приложений схожа: вначале следует указать параметры установки, потом задать параметры базы данных и в конце пройти финальную проверку правильности введенных данных. В нашем случае ничего особенного нет. На первом экране установки инсталлятор спросит язык для установки приложения. Второй экран установочного скрипта попросит ввести реквизиты подключения к базе данных (их вы задавали при создании пользователя и базы данных MySQL), префикс имен таблиц базы данных (полезно, если вы имеете доступ только к одной базе данных). Далее следует указать имя администратора (слово должно иметь смешанный регистр, например, подойдет SysAdmin). Кроме того, необходимо отредактировать базовый URL и указать, включен ли у вас mod_rewrite в веб-сервере.

file:/wackowiki_r6_ru_install_1.png?caption

===Нюанс с mod_rewrite===

Если вы выбираете вариант установки с выключенным mod_rewrite, то следует указать параметр **базовый URL** следующим способом: ##~http://server/wackowiki/##.

Для того чтобы отключить (или включить) использование mod_rewrite, после окончания процесса установки WackoWiki достаточно будет отредактировать конфигурационный файл, который создаст инсталлятор в корне веб-директории WackoWiki. Следует всего лишь отредактировать строчку **'rewrite_mode' => 1**. Если mod_rewrite не должен использоваться в управлении WackoWiki, то следует указать **'rewrite_mode' => 0**. Более подробно прочитать про mod_rewrite можно в этой статье.

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

На следующем экране установки инсталлятор попробует создать конфигурационный файл config/config.php. Если у веб-сервера не будет достаточных прав доступа для создания такого файла, инсталлятор сообщит вам про это и выведет содержимое конфигурационного файла. В случае если создание конфигурационного файла прошло успешно, инсталлятор предупредит вас про необходимость защиты от взлома WackoWiki путем установки атрибута "только чтение" на конфигурационный файл.

===Установка на Linux===

Создание базы и пользователя под Linux
%%(cl)
mysql> create database wacko;
Query OK, 1 row affected (0.00 sec)

mysql> grant all privileges on wacko.* to user123@localhost identified by '12345';
Query OK, 0 rows affected (0.00 sec)

mysql> use wacko;
Database changed
%%

Собственно процесс установки для ОС Linux мало чем отличается от приведенной последовательности. В случае с Linux вам необходимо установить недостающие пакеты (apache, mysql, php). Для администрирования базы данных MySQL в среде Х можно установить, например, пакет MySQL CC либо создать базу данных и пользователя для нее с помощью консольной утилиты MySQL. 

===Особенности редактирования страниц===

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

===По умолчанию редактирование запрещено===

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

file:050104waka3_02.jpg

===Концепция создания новых страниц===

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

Идеология построения WackoWiki позволяет получить минимальное количество "мертвых" ссылок в вашей структуре данных. Фактически, если у вас появляется ссылка, вы можете тут же наполнить ее содержимым.

===Пара слов о форматировании текста===

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

  * выделение различными стилями (##""**текст**""## - полужирный, ##""//текст//""## - курсив и т. п.);
  * указание заголовков (##""==Оглавление==""## - самый большой заголовок, ##""===заголовок поменьше===""##);
  * вставка листингов (##""%%код%%""##);
  * вставка гипертекстовых ссылок (##""[[Ссылка]]""## или ##""((МояСсылка Название))""##);
  * отступы и нумерованные списки;
  * цитирование текста (##""<[Цитирование текста]>""##);
  * страничные сноски (##""[[#1]]""## - нумерованная сноска);
  * таблицы (с рамкой или без);
  * вставка элементов HTML-форм;
  * макросы (##""::+::""## - текущая дата).

===Форматеры===

В WackoWiki можно добавлять свои обработчики текста. В стандартной поставке идут форматеры PHP-скриптов, комментариев, логов Chat, SQL-запросов. Есть форматеры для вывода HTML, CSS и исходников программ на Pascal и Java. Любой форматер (то есть форматированный текст) можно вывести в "обертке" (рамка с указанными параметрами).

===Административные функции WackoWiki===

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

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

Ссылки по теме
  * ((/HomePage WakoWiki — система интерактивного управления групповыми проектами))
  * ((/Doc/Русский/Статьи/ЧтоТакоеВики Что такое Вики, и как её использовать в своих проектах))
  * ((/Doc/Русский/WackoСинтаксис Список шаблонов для форматирования текста WakoWiki))
  * ((/Doc/Русский/Разметка Разметка))