Обратите внимание, что новости можно получать по RSS.
X
-

Информационные технологии, Infused Bytes - архив

25 октября 2001, 00:00 (7110 дней назад, №6061)PHPGroupWare - совместная работа над проектом

PHPGroupWare (далее "PGW") - сравнительно новое приложение, предназначенное для совместной работы над проектами (в том числе, когда разработчики географически удалены друг от друга). По-английски это называется "multi-user groupware suite". Основная идея заключается в том, что несколько человек по ходу работы над проектом иногда заходят на сайт типа www.youroffice.ru/pgw и отмечают что уже сделано, что еще планируется сделать, в какие сроки, насколько важна та или иная часть проекта, обмениваются сообщениями в форуме, читают новости. При этом руководитель проекта получает возможность контролировать процесс. Также в системе предусмотрены некие общие сервисы (email, news, файловый архив).

Особенностью PGW по сравнению с другими продуктами этой категории (обычно упоминают MS Exchange) является тот факт, что он полностью реализован на PHP (+ MySql либо Postgres), имеет web интерфейс, возможность написания собственных дополнительных модулей (используя документированный API), свободно доступен под GNU лицензией.

Различные варианты web интерфейса PGW (default, verdilak, id_society, justweb).

Каждый модуль представлен иконкой (строчкой) общего меню системы. Например Calendar, ToDoList, Manual, Notes, AddressBook.

На данный момент в PGW входят следующие модули (любой из них можно сделать "главным" - он будет запускаться при входе в систему):

Календарь (Calendar)

Позволяет отмечать события, включая название, описание, приоритет, начальную и конечную дату/время, категорию, участников (Participants) - из числа пользователей системы.
Участники события могут подтвердить свое участие - для этого предусмотрены состояния: "Подтверждаю" (Accepted), "Отказываюсь" (Rejected), "Пробую" (Tentative), "Нет ответа" (No response).

События можно пометить повторяющимися (ежедневно, еженедельно, ежемесячно, ежегодно).

Если событие по времени пересекается с уже введенным - выдается предупреждение (которое можно игнорировать).

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

Через модуль Admin можно ввести даты праздников которые будут автоматически отмечаться в календаре.

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

Список дел (To do list)

Позволяет планировать дела (todo) составляя их список и помечая для каждого срочность (Urgency), начальную и конечную дату, завершенность (в процентах), категорию. Список может быть отсортирован по одному из признаков.
Внутри дело может разбиваться на дела второго уровня (sub) - "этапы".
Также есть поиск.

Можно посмотреть "View Matrix of actual Month" - как распределяются все дела по дням текущего месяца (срочность выделяется цветом, видны пересечения дел по времени).

Серьезным недостатком являются затруднения с передачей дел от одного пользователя к другому. Хотя через Preferences можно сделать список своих дел доступным другому пользователю (или группе), однако, к примеру, "View Matrix of actual Month" будет работать только у пользователя который создал список.

Печально, что между Календарем и Списком дел нет связи. Изменения в Списке дел не отражаются в Календаре (равно как и наоборот). Это сильно ограничивает возможности по общей оценке использования времени, состояния работ.

AddressBook

Адресная книга. В числе прочего (множество полей для каждого человека) позволяет экспорт и импорт записей (в форматах Netscape, Outlook, Palm Desktop). Каждая запись может быть привязана к выбранной категории.
Есть также поиск и фильтры.

Notes

Простая записная книжка. Записки могут быть привязаны к выбранной категории. Дата записки проставляется автоматически. Есть поиск.

Общими для перечисленных приложений (Calendar, ToDo List, Notes, Address Book) являются понятия:

Категория (Category) - список категорий, определяется через модуль Admin. Поддерживаются вложенные категории (для каждой можно указать предка и потомка). Существуют глобальные категории и категории локальные для каждого модуля.
На практике можно использовать категории для разделения данных и записей при работе по нескольким проектам.

Приоритет (Priority, Urgency) - обычный, низкий, высокий (Normal, Low, High).

Private (Личное) - если заметка/событие отмечено как Личное, оно не показывается другим пользователям. Обычно предоставляется возможность фильтровать выводимые события/дела по этому признаку (например - показывать только личные).

File Manager

Организует "файловую систему" с разграничением доступа пользователей PGW к файлам. Операции: Upload, Download, Create, Edit, Copy, Delete, Rename.

Администратор (Admin)

Предназначен для установки глобальных параметров и для настройки конкретных модулей. Доступен только администратору.
Сюда, в частности, входит: 

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

Добавление/редактирование групп (перечисление модулей доступных пользователям в данной группе, помещение пользователей в выбранную группу).

Добавление/редактирование модулей (имя, заголовок, статус, где должна находится иконка, возможен ли анонимный доступ к модулю).

Добавление/редактирование категорий.

Список текущих пользователей, статистика по работе пользователей в системе (когда, кто и сколько пользовался системой).

и другое..

Установки (Preferences)

Предназначены для изменения настроек интерфейса и настройки модулей под текущего пользователя.
В частности позволяет: изменить пароль, формат даты, язык, вид интерфейса.

Показывать меню в виде иконок и/или текста.

Выбрать интерфейс/шаблон из предлагаемых (default, justweb, verdilak, idsociety), цвета и шрифты.

Ограничение/разрешение доступа к своим данным других пользователей.

Другие модули

Кроме того, есть еще два-три десятка модулей из которых можно упомянуть:

Bookmarks, BookKeeping, Chat, Forum, Headlines, EMail, NNTP, Polls, Wap, Weather.

Большинство из них требует дополнительной установки (помимо установки самого PGW). 

Поддержка языков/стран

Об этом следует сказать особо. PGW является многоязычным.
Текстовые сообщения, меню и т.п. вынесены в отдельные файлы, которые при необходимости можно перевести на русский язык. 
Можно также установить нужный формат отображения даты/времени, национальную денежную единицу, часовой пояс.

По умолчанию в PGW включена поддержка English/American. Чтобы добавить поддержку русского языка, нужно произвести как минимум следующие действия:

До создания таблиц (то есть, до шага N1 установки PGW) необходимо в файле setup/sql/common_default_records.inc.php заменить:

@$phpgw_setup->db->query("INSERT INTO languages (lang_id, lang_name, available) values ('ru','Russian','No')");

на:

@$phpgw_setup->db->query("INSERT INTO languages (lang_id, lang_name, available) values ('ru','Russian','Yes')");

и создать файл /setup/phpgw_ru.lang из одной строчки:

charset#common#ru#windows-1251

(# - табуляция)

Затем, после создания таблиц, на шаге N3 (language management) нажать "Manage Languages", пометить "Russian", нажать "Install".

И уже в Preferences для данного пользователя выбрать язык "Russian".

Такие действия позволят использовать русские буквы в формах, однако интерфейс останется английским. В перспективе кто-нибудь, вероятно, его переведет (для этого в файле /setup/phpgw_ru.lang нужно перечислить соответствие русских слов английским ключевым словам (см. /setup/phpgw_en.lang и другие *.lang файлы).
Если перевод для какого-либо ключевого слова отсутствует, то на экране отображается само это слово (английское) с символом '*' в конце.

Написание собственных/дополнительных модулей. API.

В PGW существует документированная возможность написания собственных модулей. Насколько можно понять из API, обмен данными между приложениями не предусмотрен. Однако модулю доступны ряд функций и переменных которые, к примеру, позволяют:

- Вывести стандартное меню PGW;
- Узнать права доступа и другую информацию о текущем пользователе, и/или группе;
- Разместить в Preferences и Admin блок относящийся к собственному модулю;
- Осуществлять доступ к базе данных, файловой системе, управление сессиями;

Можно отметить, что в PGW поддерживается шифрование через библиотеку mcrypt;

Появились первые сторонние разработки модулей к PGW. Например SkyBoard - http://www.tms-px.co.jp/

Недостатки

Перечислю недостатки, поскольку плюсы достаточно очевидны. Итак:

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

2.Почти полное отсутствие документации.

3.Периодически возникают ситуации обработка которых не предусмотрена (выдаются PHP ошибки).

Учитывая, что это лишь версия 0.9.12, можно надеяться, что проблемы (2) и (3) будут решены. Однако (1) - скорее идея, нежели недоработка. Конечно, кое-то можно сделать написав собственные модули.

Кстати, на www.hotscripts.com PGW оценивают как 4.3 из 5 баллов.

Ссылки


Опубликовано: Пётр Соболев

Случайная заметка

4549 дней назад, 05:3229 октября 2008 Немного расскажу про Google Base, в контексте предоставляемого гуглом Google Base API. "Google Base is a place where you can easily submit all types of online and offline content, which we'll make searchable on Google (if your content isn't online yet, we'll put it there). You can describe any item you post with attributes, which will help people find it when they do related searches. In fact, based on your items' relevance, users may find them in their results for searches on Google Product Search and even our main Google web ...далее

Избранное

1439 дней назад, 01:575 мая 2017 Часть 1: От четырёх до восьми Я люблю читать воспоминания людей, заставших первые шаги вычислительной техники в их стране. В них всегда есть какая-то романтика, причём какого она рода — сильно зависит от того, с каких компьютеров люди начали. Обычно это определяется обстоятельствами — местом работы, учёбы, а иногда и вовсе — ...далее

951 день назад, 20:305 сентября 2018 "Finally, we come to the instruction we've all been waiting for – SEX!" / из статьи про микропроцессор CDP1802 / В начале 1970-х в США были весьма популярны простые электронные игры типа Pong (в СССР их аналоги появились в продаже через 5-10 лет). Как правило, такие игры не имели микропроцессора и памяти в современном понимании этих слов, а строились на жёсткой ...далее