WackoWiki – инструмент для групповой разработки
WackoWiki - инструмент для groupware
В ходе любого мало-мальски длительного проекта, не важно проектирование ли это корпоративного сайта, создание бизнес-плана, написание книги либо разработка программной системы, встает вопрос о методах систематизации полученных данных. Такой вопрос является всего лишь следствием необходимости по ходу дела обрабатывать получаемые результаты и корректировать их с учетом вновь обнаруженных входных данных. Особенно остро этот вопрос встает, когда идет речь о способах взаимодействия в рамках одного проекта нескольких людей или организаций. Для таких целей как раз и созданы интерактивные веб-страницы Wiki. Рассматриваемая система имеет целый ряд необычных способностей и очень развитый шаблонный язык.
1. Истоки возникновения идеи
Сама по себе идея groupware не так уж и нова. Вся разработка программного обеспечения в UNIX ведется с помощью уже ставшего классическим CVS. Для чего же в таком случае нужна еще одна система - а именно Wiki и ее клоны?
Дело в том, что применение CVS и подобных ей инструментов сопряжено с некоторыми неудобствами для самих пользователей. Во-первых, кто-то должен установить сервер и дать доступ всем желающим к нему. Во-вторых, нужно обучить работников пользоваться интерфейсами управления, которые не так уж и просты сами по себе и предполагают знание массы терминов. Хорошо, если проект ведется при участии профессиональных программистов. А что делать, если в него вовлечены, например, маркетологи и отдел логистики?
Собственно, для этого и предназначены веб-интерфейсы групповой разработки, называемые также web-groupware. Фактически про настройку и установку одного из таких интерфейсов и пойдет речь.
2. Подготовка почвы
Для того чтобы успешно установить WackoWiki, необходим минимальный комплект настроенного программного обеспечения:
- Apache или другой веб-сервер, поддерживающий установку PHP;
- интерпретатор динамического веб-контента PHP;
- MariaDB или MySQL.
Про настройку этого программного обеспечения вы можете почитать на официальных сайтах указанных программных продуктов, я же сосредоточусь на самой установке WackoWiki.
3. Установка на 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-сервера, который имеет права на доступ к таблицам этой базы. Эту процедуру можно проделать с помощью одной из административных утилит, описанных в этой статье.
4. Веб-инсталлятор
После того как все подготовительные шаги выполнены, следует запустить программу установки WackoWiki. Для этого достаточно в браузере набрать путь, указывающий на псевдоним WackoWiki (у меня это http://server/wakowiki/). Процедура установки практически всех веб-приложений схожа: вначале следует указать параметры установки, потом задать параметры базы данных и в конце пройти финальную проверку правильности введенных данных. В нашем случае ничего особенного нет. На первом экране установки инсталлятор спросит язык для установки приложения. Второй экран установочного скрипта попросит ввести реквизиты подключения к базе данных (их вы задавали при создании пользователя и базы данных MySQL), префикс имен таблиц базы данных (полезно, если вы имеете доступ только к одной базе данных). Далее следует указать имя администратора (слово должно иметь смешанный регистр, например, подойдет SysAdmin). Кроме того, необходимо отредактировать базовый URL и указать, включен ли у вас mod_rewrite в веб-сервере.
5. Нюанс с 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 путем установки атрибута "только чтение" на конфигурационный файл.
6. Установка на Linux
Создание базы и пользователя под Linux
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.
7. Особенности редактирования страниц
Одной из наиболее понравившихся особенностей WackoWiki оказалась способность переходить к редактированию текущей страницы по двойному клику на контенте веб-страницы. В процессе редактирования вы можете как угодно изменять содержимое средней части страницы. Следует отметить, однако, ряд важных моментов, которые помогут при "быстром старте" в WackoWiki.
8. По умолчанию редактирование запрещено
По умолчанию редактирование всех страниц возможно только для зарегистрированных пользователей (пароль и имя-фамилию администратора вы указали при инсталляции системы). Поэтому перед выполнением всех действий следует зайти в систему или зарегистрироваться.
9. Концепция создания новых страниц
Процесс создания новой страницы происходит путем прописывания так называемой пустой ссылки. Словосочетание, состоящее из нескольких слов, написанных с большой буквы, и без пробелов (например - МойВебСайт) - это в WackoWiki ссылка. Дописав строку МоиВебПроекты в режиме редактирования страницы и указав WackoWiki на необходимость записать текущую страницу, вы получаете "непривязанную ссылку" к странице "Мои Веб Проекты". Причем вся элегантность состоит в том, что страница не создастся, пока вы этого не захотите сами. Для создания просто необходимо перейти по ссылке, которая появится рядом с указанной вами надписью "Мои Веб Проекты". После того как вы сохраните новую страницу, она автоматически привяжется к своей ссылке-родителю.
Идеология построения WackoWiki позволяет получить минимальное количество "мертвых" ссылок в вашей структуре данных. Фактически, если у вас появляется ссылка, вы можете тут же наполнить ее содержимым.
10. Пара слов о форматировании текста
WackoWiki обладает продвинутым механизмом форматирования текста. Встроенный редактор позволяет сделать только небольшую часть действий с помощью "горячих" клавиш. Основная часть функций остается как бы за кадром. Приведу лишь некоторые возможности форматирования текста в WackoWiki:
- выделение различными стилями (
**текст**
- полужирный,//текст//
- курсив и т. п.); - указание заголовков (
==Оглавление==
- самый большой заголовок,===заголовок поменьше===
); - вставка листингов (
%%код%%
); - вставка гипертекстовых ссылок (
[[Ссылка]]
или((МояСсылка Название))
); - отступы и нумерованные списки;
- цитирование текста (
<[Цитирование текста]>
); - страничные сноски (
[[#1]]
- нумерованная сноска); - таблицы (с рамкой или без);
- вставка элементов HTML-форм;
- макросы (
::+::
- текущая дата).
11. Форматеры
В WackoWiki можно добавлять свои обработчики текста. В стандартной поставке идут форматеры PHP-скриптов, комментариев, логов Chat, SQL-запросов. Есть форматеры для вывода HTML, CSS и исходников программ на Pascal и Java. Любой форматер (то есть форматированный текст) можно вывести в "обертке" (рамка с указанными параметрами).
12. Административные функции WackoWiki
Система имеет богатый набор административных функций. Для управления доступом можно указать пользователей, которые имеют права на запись или чтение указанной страницы. Есть возможность удалить (безвозвратно) любую страницу. К каждой странице можно прикрепить файл или указать комментарий. Но самые интересные возможности - это просмотр сделанных изменений и вывод отчетов. То есть, если вы редактируете какой-то документ группой, все внесенные изменения будут видны в контексте автора и времени внесения. Есть возможность просмотреть любое состояние страницы и сравнить его с другим состоянием, а также отказаться от уже внесенных изменений (достаточно вызвать на редактирование нужную вам версию и сохранить ее).
WackoWiki открыта для доработок и новых идей. Поэтому такая система как нельзя лучше подходит для совместной разработки документации, сбора данных, управления и накопления знаний. При всех своих возможностях WackoWiki может стать для вас незаменимым помощником в процессе групповых разработок и в индивидуальных творческих изысканиях.
Ссылки по теме