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/Русский/Разметка Разметка))