Сьогодні багато організацій замислюються про необхідність впровадження системи групової роботи. Тут особливо цікаві OpenSource рішення. Далі розглянемо Tine 2.0.
Системи групової роботи дозволяють об'єднати дані зберігаються на персональних комп'ютерах користувача в єдиний інформаційний простір. В результаті отримуємо можливість оптимізувати робочі процеси і прискорити прийняття рішень. Користувач ж отримує єдину робочу середу в якій він може обмінюватися даними - загальну адресну книгу, календар в якому можна планувати робочий час, кошти комунікації і багато іншого. Найбільш просунуті системи групової роботи пропонують до того ж деякі можливості управління ресурсами і взаємодії з клієнтами (ERP і CRM). В результаті плюсів таке рішення дає багато, головний мінус це власне необхідність його безболісного впровадження.
У журналі вже не один раз розглядалися OpenSource рішення групової роботи. У сьогоднішньому огляді розберемо детально функції, які надає Tine 2.0.
Можливості Tine 2.0
Проект Tine 2.0 (http://www.tine20.org/) виник в результаті відгалуження системи групової роботи eGroupWare з'явилися в середині 2007 року після дискусій з приводу подальшого розвитку наступної версії eGroupWare 2.0. Ідеї були сприйняті не всіма розробниками, особливо актуальним стало питання забезпечення сумісності, в результаті проект отримав нове ім'я і через деякий час зовсім відокремився від eGroupWare. Спільнота добре прийняло Tine 2.0. У 2008 році він виграв номінацію кращий новий проект в 2008 року на SourceForge.net і в 2009 став фіналістом міжнародного конкурсу Les Trophées du Libre, правда не потрапивши в число призерів. Поширюється Tine 2.0 за ліцензією GNU GPL. Також як і eGroupWare Tine 2.0 написаний на PHP і в роботі використовує базу даних MySQL.
Проект Tine 2.0 реалізує комбіновану систему, що включає засіб групової роботи, і деякі функції CRM і ERP, при цьому вельми вимоглива до ресурсів, що робить її дуже цікавим в деяких випадках. Створений за клієнт-серверної схемою, в якому клієнтською частиною є звичайний веб-браузер який входить до складу будь-якої операційної системи. Браузери в принципі будь-які. У списках сумісних вказані Mozilla Firefox, Internet Explorer, Opera, Apple Safari 2, Google Chrome / Chromium.
Організаційно сервер побудований з декількох компонентів. Адміністратор самостійно вибирає кінцевий склад додатків і встановлює до них доступ користувачів. Всього налічується 10 додатків.
В першу чергу це Addressbook - зручний менеджер контактів, що забезпечує єдину базу, що дозволяє користувачеві працювати з декількома адресними книгами. Найбільш часто використовувані контакти заносяться в Favorites. Власне кажучи, це єдиний додаток, яке встановлюється в Tine 2.0 за замовчуванням. Тут присутні всі найбільш поширені атрибути. Надіслати поштове повідомлення або зателефонувати, можна просто вибравши потрібного користувача в списку. Підтримується експорт окремої або обраних записів в файли PDF, CSV, ODS, XLS (це стосується і деяких інших додатків).
Далі дуже зручний і продуманий календар, доступні всі операції - додавання, редагування, повторення подій, нагадування, поширення події на декількох учасників. Крім цього інтерфейс підтримує можливість перетягування подій, тобто якщо час або день змінився, не потрібно викликати вікно редагування параметрів, просто переносимо подія, на потрібний день, захопивши його мишкою. Доступні для перегляду не тільки особистий календар, а й спільні календарі та календарі інших користувачів, до яких дозволений доступ (пункт Керувати правами доступу в обраному календарі, потім вказуються групи). Використовуючи cron можна увімкнути надсилання попереджень електронною поштою про майбутні події в календарі.
Власне модуль електронної пошти, що забезпечує веб-інтерфейс для роботи з протоколами SMTP і IMAP. Після установки користувач може самостійно прописати будь-яку кількість облікових записів для підключення до доступним SMTP і IMAP серверами. При необхідності адміністратор, скориставшись інформацією з Wiki проекту, може прив'язати Tine 2.0 до Postfix, Cyrus, Dovecot або Dbmail.
Не скажу, що це буде просто, але і складним процес назвати не можна.
Але у відсутності інтеграції до SMTP / IMAP сервісів по-замовчуванню, це є один цікавий момент - можна створити в організації інтегровану систему не маючи таких серверів. Наприклад організація може підключити домен до Яндекс.Почта, до поштових скриньок якого і будуть підключатися користувачі.
Сам Tine 2.0 може використовувати LDAP або базу даних (MySQL), відповідно і обрана поштова система повинна бути налаштована аналогічно. При установці SAMBA на сервері Tine 2.0 можлива синхронізація облікових записів, але цю функцію поки також не можна назвати завершеною. Для спрощення управління використовується концепція рольового доступу, в якій користувачі організовуються в групи, а доступ до конкретних додатків будується на основі ролей.
Додаток Voipmanager дозволяє адмініструвати і управляти VoIP сервером Asterisk 1.4 або 1.6. Таке управління реалізується одним з двох способів, через базу MySQL або CURL. Також Voipmanager зіставляє номери, в телефонній книзі дозволяючи зателефонувати користувачеві з Addressbook або за допомогою ще однієї програми зі складу Tine 2.0 - Phone. Можливість цікава, але з'явилася вона лише в останній версії і реалізована поки не зовсім зручно і малозрозумілою. До того ж документація на цей рахунок практично відсутня. Тестування показало, що в даний час підтримуються тільки кілька моделей телефонів розробки Snom Technology AG.
Плюс до всього. Менеджер завдань дозволяє створювати завдання, встановлювати пріоритети і розподіляти їх між співробітниками. Модуль обліку часу в який заносяться дані хто, коли і чим займався, створюючи відліку часу і прив'язуючи до них табеля. І CRM дозволяють взаємодіяти з клієнтом, відстежувати можливостей продажів і враховувати ресурси (товари та договору). Окремо встановлюється додаток ActiveSync, що дозволяє автоматично синхронізувати контакти та завдання з мобільними пристроями (в майбутніх версіях планується підтримка Funambol SyncML).
На сьогодні актуальна версія Maischa (травень 2011). Не дивлячись на наявність стабільного релізу, самі розробники не вважають Tine 2.0 закінченим продуктом, щоб переконатися в цьому досить подивитися Roadmap проекту. Так в найближчому майбутньому очікується поява деяких компонентів ERP і файлового менеджера. Додаток побудоване за принципами Web 2.0 поводиться аналогічно настільного, так при введенні даних в задачі або поштової адреси спрацьовує функція пошуку, в результаті пропонує варіанти автозаповнення записані в базі, є контекстне меню. Інтерфейс зручний, продуманий і локалізована, з його освоєнням впорається користувач з мінімальною підготовкою.
Установка Tine 2.0
У статті розглянемо установку Tine 2.0 на Ubuntu 10.04 LTS, хоча по суті практично все сказане, за винятком роботи з менеджером пакетів, буде актуально і для інших дистрибутивів Unix. В репозитарії Ubuntu потрібного пакету немає, тому варіант один - використання вихідних текстів. Для установки буде потрібно веб-сервер (Apache, Microsoft IIS, Lighttpd) з підтримкою PHP (5.2.3 і вище) і база MySQL 5.0 і вище. Для PHP необхідна підтримка модулів - ctype, date, xml, dom, SimpleXML, gd, iconv, json, mcrypt, mysql, pdo_mysql, SPL, zip і опціонально APC, LDAP і memcache. Процес установки і наступного налаштування можна назвати стандартним для такого типу додатків, однак більшість підготовчих операцій необхідно робити вручну, вводячи команди в консолі.
Встановлюємо серверні компоненти.
$ Sudo apt-get install mysql-server mysql-client apache2
Тепер необхідні модулі PHP. В Ubuntu знадобилося доустановити всього два пакети (php5-gd і php5-mcrypt) необхідних для коректної роботи Tine 2.0. В інших дистрибутивах ситуація може бути іншою. Втім, поспішати не варто, процес установки включає перевірку системи на наявність необхідних модулів, тоді і можна визначитися, що конкретно не вистачає.
$ Sudo apt-get install libapache2-mod-php5 php5-mysql php5-gd php5-mcrypt
Всі інші модулі були встановлені разом з системою або у вигляді залежностей. Перезапустити веб-сервер, щоб "не втратити" потім при установці нові модулі.
$ Sudo service apache2 restart
Створюємо базу даних і обліковий запис з потрібними привілеями.
$ Mysql -uroot -p mysql> CREATE DATABASE tine20db DEFAULT CHARACTER SET 'UTF8'; mysql> GRANT ALL PRIVILEGES ON tine20db. * TO 'tine20user' @ 'localhost' IDENTIFIED BY 'tine20pw';
Завантажуємо і розпаковуємо архіви. Зверніть увагу, ActiveSync поширюється окремим пакетом.
$ Wget -c http://www.tine20.org/downloads/2010-03-9/tine20-allinone.tar.bz2 $ wget -c http://www.tine20.org/downloads/2010-03-9 /tine20-activesync.tar.bz2 $ mkdir / var / www / tine20 $ cd / var / www / tine20 $ sudo tar ~ / xjvf tine20-allinone.tar.bz2 $ sudo tar ~ / xjvf tine20-activesync.tar.bz2
Перейменовуємо шаблон конфігураційного файлу.
$ Sudo mv config.inc.php.dist config.inc.php
Встановлюємо права доступу (в Ubuntu веб-сервер працює з правами www-data).
$ Sudo chown -R www-data: www-data / var / www / tine20 / *
Приступаємо до редагування конфігураційного файлу. Причому цей файл може бути розташований не тільки в поточному каталозі Tine 2.0, але і в / var / www, / var / www / library, / usr / share / php або / usr / share / pear.
$ Sudo nano config.inc.php array ( 'host' => 'localhost', // вузол на якому знаходиться сервер MySQL 'dbname' => 'tine20db', // назва бази даних // облікові дані для доступу до бази даних 'username' => 'tine20user', 'password' => 'tine20pw', 'adapter' => 'pdo_mysql', 'tableprefix' => 'tine20_',), // облікові дані для установки системи 'setupuser' => array ( 'username' => 'tine20setup', 'password' => 'setup'),);
Запускаємо програму установки, набравши в браузері http: //localhost/setup.php. З'являється вікно входу в меню адміністрування, в якому слід вибрати мову і вказати облікові дані, прописані в масиві setupuser.
Перший крок - приймаємо умови ліцензійної угоди та політики конфіденційності. Кнопка "Accept Term and Conditions" розміщена в лівому верхньому кутку і не відразу впадає в очі, також переміщення по наступним пунктам проводиться вручну його вибором, майстер автоматично НЕ перекидає далі. На другому кроці перевіряється наявність необхідних PHP розширень. Слід уважно переглянути список і якщо чогось не вистачає розібратися і доустановити самостійно.
Перевірка модулів PHP перед установкою Tine 2.0
На третьому кроці вказується обліковий запис адміністратора, а також параметри кешування, файлу журналу реєстрацій, місцезнаходження тимчасових файлів і файлів сесій. До слова всі ці дані можна відразу прописати в config.inc.php, на шаблоні є готові пункти. Причому перед початком налаштувань краще переконатися, що зміни в подальшому можна зберегти, тобто config.inc.php доступний для запису. Якщо кнопка називається "Config file is not writable" означає, слід уточнити дозволу файлу, і повторити процес установки, перезагрузив сторінку. Після натискання на кнопку "Зберегти конфігурацію" слід переглянути всі установки, все коректні параметри будуть підсвічені зеленої галочкою. Але якщо, наприклад вказаний каталог не існує, він буде відзначений червоним хрестиком, а значить його слід створити вручну задавши необхідні права доступу. Після того як проблема буде вирішена, просто натискаємо кнопку повторно. Крок четвертий "Програма користувача". Тут вибирається система аутентифікації користувачів (sql або ldap / ActiveDirectory), вказується логін і пароль який буде використовувати адміністратор і деякі інші параметри. Зберігаємо конфігурацію і переходимо до п'ятого кроку - Email. Після вибору пункту відзначаємо прапорцями пункти smtp і imap і налаштовуємо параметри доступу. І, нарешті, в останньому пункті слід визначити з додатками, які будуть доступні в поточному налаштуванню Tine 2.0. За замовчуванням крім базових компонентів і панелі адміністрування встановлюється лише адресна книга. Тому вибираємо додаток і в контекстному меню пункт "Встановити додаток". Зверніть увагу на залежності, якщо додаток залежить від інших, спочатку слід встановити всі залежності, а потім вже сам додаток. По закінченню можемо реєструватися з обліковими даними адміністратора зазначеного на четвертому кроці.
Інтерфейс Tine 2.0
Якщо порівняти інтерфейс управління Tine з іншими подібними рішеннями, то Tine трохи вибивається із загального ряду. Зазвичай вікно розділяється на кілька частин, зліва користувач вибирає потрібний компонент, у вікні праворуч з'являються доступні параметри або дані. У Tine все це реалізовано трохи по-іншому. Компоненти розбиті по вкладках, відкривши вкладку, зліва отримуємо список налаштувань в великому вікні праворуч - параметри. Причому за замовчуванням виводиться тільки вкладка Адресна книга, плюс псевдовкладка Tine 2.0, яка по суті є панеллю меню за допомогою якої відкриваються інші вкладки. Користувач сам вибирає склад вкладок (з дозволених його роллю), при виході з системи їх розташування запам'ятовується. Ймовірно, таке розташування налаштувань в кількох вкладках можна назвати зручним, тут скоріше справа в звичці.
Після установки ми маємо готову середу пропонує календар, веб-інтерфейс до SMTP / IMAP сервісів і CRM.
У Tine 2.0 вбудований зручний календар
Подальші дії адміністратора з налаштування сервісів надаються Tine умовно на три етапи:
- налаштувати інтерфейс власного облікового запису для зручної роботи;
- управління обліковими записами і додатками - створення акаунтів, груп і ролей, установка додатків, створення тегів (задає додатки з якими може працювати конкретний користувач);
- інтегрувати Tine 2.0 з іншими сервісами, які планується використовувати в Tine - поштовим IMAP / SMTP, синхронізація ActiveSync, аутентифікація OpenID і / або LDAP, Asterisk (все це розписано в відповідних документах в Wiki, плюс деяку інформацію можна отримати на форумі проекту, тому детально зупинятися немає сенсу).
Налаштування власного облікового запису проводиться в Tine 2.0 -> Параметри. Тут в 12 пунктах налаштовується - часовий пояс, мову інтерфейсу (за замовчуванням - автоматично), додаток за замовчуванням, налаштування відображення окремих додатків.
Тепер переходимо до другого кроку. Вибираємо меню Tine 2.0 -> Адміністратор і приступаємо до налаштувань. Як вже говорилося, в Tine 2.0 використовується концепція рольового доступу. Тому спочатку слід створити групи, потім ролі вказавши наявні програми і входять до складу групи, а потім вже облікові записи, розподіляючи їх по групах. В результаті якщо все правильно спланувати, кожен користувач отримає доступ лише до тих додатків, які йому дійсно необхідні.
Створення нового облікового запису
Для активації програми в ролі досить встановити прапорець в пункті Запуск (для Tinebase обов'язково, інакше інтерфейс просто не завантажиться), інші підпункти, як правило, вже пов'язані з адмініструванням. При великій кількості облікових записів простіше їх імпортувати, прописавши дані в CSV або XML файл (формат файлу описаний в документі User Import Howto в Wiki проекту).
Налаштування ролі
Експорт даних в PDF працює "з коробки", але за замовчуванням кириличні імена не відображаються. Проблема вирішується підміною шрифтів в config.inc.php: 'pdfexport' => array ( 'fontpath' => '/var/www/tine20/unifont.ttf', 'fontpathbold' => '/ var / www / tine20 / unifont .ttf ',' fontembed '=> true),
І щоб користувачі могли отримувати попередження про майбутню подію календаря, прописуємо в / etc / crontab запуск тригера:
* / 5 * * * * php /www/tine/tine20.php --method Tinebase.triggerAsyncEvents >> /var/log/cron.log
Але завдання має виконуватися від імені адміністратора Tine20 (або будь-якого користувача з відповідними правами), тому в config.inc.php слід додати рядок з ID цього облікового запису:
'Cronuserid' => 'a30bd ... 37',
Потрібний ID можна отримати, переглянувши таблицю 'tine20_account' в базі даних Tine 2.0.
***
Ймовірно, не кожен адміністратор захоче спробувати в роботі Tine 2.0, адже такі рішення як Zimbra ставляться однією командою, і всі компоненти спочатку працюють в тандемі. Але й відкидати Tine 2.0 не має сенсу, так як продукт швидко розвивається, в ньому постійно з'являються нові функції, та й наявні можуть задовольнити більшість організацій малого та середнього розміру.