Введение
Модульность архитектуры несомненно является одним из преимуществ системы групповой работы TeamWox. Интегрировать модуль в систему очень просто. И если для написания модуля все же необходимо владеть языками программирования (в частности, С++), то процесс интеграции не вызовет затруднений даже у обычного пользователя. В этом вы убедитесь, прочитав эту статью.
Процесс добавления модуля мы рассмотрим на примере готового учебного модуля Hello World, который входит в комплект средств разработки TeamWox SDK. Этот простой модуль с традиционным для всех программистов названием предоставлен в исходных кодах с подробными комментариями. Модуль содержит две простые страницы, на которых различными способами выводятся простые текстовые данные. Чтобы скомпилировать и добавить его в TeamWox, нам потребуются 3 компонента:
Сервер TeamWox. Прежде всего нам потребуется установить локальный тестовый сервер TeamWox. Именно локальный сервер, поскольку процесс добавления модулей подразумевает частые перезапуски сервера, а для рабочего сервера TeamWox это неприемлемо. На подробностях установки мы не будем останавливаться, поскольку они детально изложены в Инструкции по установке сервера TeamWox.
TeamWox SDK. Этот комплект средств разработки включает в себя полноценный TeamWox API и два учебных модуля Hello World и Board (модуль Board входит в состав TeamWox) c полными исходными кодами. Установите TeamWox SDK, загрузив дистрибутив. По умолчанию TeamWox SDK устанавливается в папку
C:\Program Files\TeamWox SDK\
, но вы можете выбрать любую другую папку.Компилятор Visual C++. Для компиляции исходных кодов модулей TeamWox необходим Microsoft Visual C++ начиная с версии 2005, причем вы можете воспользоваться также бесплатной версией Express Edition!
Express-версию компилятора Microsoft Visual C++ можно загрузить со страницы http://www.microsoft.com/express/Downloads. Выберите язык интерфейса (в числе прочих доступен и русский!) и нажмите кнопку "Free Download". Программа установки загрузит необходимые файлы из Интернета. Для экономии трафика и времени можно отказаться от установки дополнительных компонентов. По окончании установки перезагрузите компьютер.
Настройка программного окружения
Перед тем как добавить новый модуль, нам потребуется должным образом настроить наше программное окружение.
Сервер TeamWox способен работать в двух режимах — как служба Windows и как консольное приложение. Работа в качестве службы — это штатный режим. При разработке и отладке модулей крайне важно просматривать журнал работы системы. Такой функционал доступен только в консольном режиме работы сервера. Кроме того, при внесении изменений в модуль необходимо перезапускать сервер TeamWox, а в штатном режиме делать это несколько неудобно, поскольку приходится каждый раз останавливать и запускать службу TeamWox.
Поэтому мы настроим сервер как консольное приложение:
Удалите службу сервера TeamWox. Для этого в командной строке Windows перейдите в папку установки TeamWox и выполните команду:
<папка_установки_TeamWox>\teamwox.exe /uninstalПосле этого можно убедиться, что служба 'TeamWox Server' отсутствует в списке служб Windows.
Запустите сервер TeamWox как консольное приложение. Для этого в папке установки TeamWox выполните команду:
<папка_установки_TeamWox>\teamwox.exe /console
Теперь для запуска сервера достаточно выполнить консольную команду (можете для удобства записать ее в bat-файл), а для его остановки — в консоли можно нажать Ctrl+C или просто закрыть окно консоли.
Компиляция и установка модуля
Итак, теперь у нас все готово, можно начинать. На примере учебного проекта с традиционным именем Hello World рассмотрим компиляцию и добавление модуля в TeamWox. Этот проект расположен в папке <папка_установки_TeamWox SDK>\Modules\HelloWorld\
.
1. В Microsoft Visual C++ 2008 Express Edition откроем проект HelloWorld.vcproj
, выбрав Open | Project/Solution
из меню File
.
2. Скомпилируем проект. Для этого выберите меню Build | Build Solution
или нажмите F7
. Проект по умолчанию компилируется в папку <папка_установки_TeamWox SDK>\Modules\HelloWorld\final\
.
3. Если в данный момент у вас запущен и работает сервер TeamWox — остановите его, нажав в консоли Ctrl+C
.
4. Теперь перейдите в папку <папка_установки_TeamWox>\modules\
и создайте в ней новую папку для нашего модуля \helloworld
. Скопируйте в нее содержимое папки \final
(включая вложенные папки \res
и \templates
).
final\
хранятся ресурсы модуля — шаблоны страниц, изображения, скрипты и прочие ресурсы, которые необходимы для отображения и функционирования страниц модуля.5. Запустите сервер TeamWox, выполнив еще раз команду teamwox.exe /console
.
6. Подключившись к системе, вы сразу же узнаете о добавлении нового модуля — всем пользователям из группы Администраторы автоматически назначается соответствующее задание:
Включение модуля
Наш модуль helloworld
добавился в систему, однако он пока еще не загружен. Теперь администраторам TeamWox необходимо разрешить его использование. Для каждого нового модуля эта процедура делается всего один раз.
1. Перейдите в раздел Administration на вкладку Modules.
2. Нажмите Turn on, после чего остановите и заново запустите сервер.
3. Снова перейдите в раздел Administration на вкладку Modules. Модуль Hello World теперь загружен. Сменилась пиктограмма, а также название модуля.
Настройка прав доступа
Теперь нам нужно назначить права доступа пользователей к этому модулю, так как по умолчанию они не выставлены, и модуль недоступен никому. Эта процедура также делается один раз.
1. В разделе Administration перейдите на вкладку Groups, выберите группу Все, перейдите на вкладку Permissions и задайте полный доступ к модулю Hello World для всех пользователей, установив соответствующие галочки.
2. Сохраните изменения кнопкой Update и снова подключитесь к системе TeamWox. Теперь модуль Hello World доступен для всех пользователей.
Настройка проекта Visual C++
При разработке и тестировании модулей разумно будет автоматизировать некоторые этапы из рассмотренной выше инструкции. В частности, мы можем настроить проект HelloWorld.vcproj
так, чтобы результирующие файлы после компиляции перемещались сразу в папку <папка_установки_TeamWox>\modules\helloworld\
, а модуль после компиляции запускался в составе консольного приложения TeamWox.
1. В Visual Studio зайдите в свойства проекта HelloWorld.vcproj
, выбрав из меню Project | Properties
или нажав Alt+F7
.
2. В группе Configuration Properties
перейдите в раздел Linker
, затем в подраздел General
.
3. Измените папку назначения, в которую будет помещаться результирующий файл HelloWorld.dll
. Для этого измените строчку Output File
с .\final\$(ProjectName).dll
на <папка_установки_TeamWox\Modules\helloworld\$(ProjectName).dll
.
4. В группе Configuration Properties
перейдите в раздел Debugging
.
5. Для параметра Command укажите путь к файлу <папка_установки_TeamWox>\teamwox.exe
.
6. Поскольку мы запускаем сервер TeamWox как консольное приложение, необходимо также указать параметр командной строки. Поэтому для параметра Command Arguments
введите /console
.
7. Нажмите OK
и сохраните проект.
8. Теперь, чтобы запустить скомпилированный модуль Hello World вместе с сервером TeamWox, достаточно выбрать Start Without Debugging
из меню Debug
или нажать Ctrl+F5
.
Ctrl+C
или просто закройте окно консоли.
Заключение
Итак, первый шаг на пути расширения возможностей TeamWox сделан. В дальнейшем планируется выпустить цикл статей, в которых детально рассматриваются добавление страниц, работа с базой данных, использование хранилища файлов и многое другое.
- Как добавить готовый модуль в TeamWox
- Как добавить страницу в модуль TeamWox
- Построение пользовательского интерфейса
- Взаимодействие с СУБД
- Создание пользовательских отчетов
- Файловое хранилище - Часть 1
- Файловое хранилище - Часть 2
- Настройка окружения пользовательских модулей - Часть 1
- Настройка окружения пользовательских модулей - Часть 2
- Поиск и фильтрация - Часть 1
- Поиск и фильтрация - Часть 2
- Настройка "Онлайн-консультанта" на вашем сайте
- Как создать дополнительный языковой пакет для TeamWox
2010.06.09