Skram: автоматизируем отчеты по проектам


Из-за распределенности команды у нас на проектах практикуются ежедневные проектные чатики в скайпе, где каждый рассказывает чем он занимался и планирует заниматься в дальнейшем, возникали ли какие-то проблемы.

Сначала рассказ о сделанном и запланированных задачах происходил в свободной форме. После окончания чатика обязанностью ведущего было пройтись по логу и составить отчет по каждому участнику, после чего разослать его команде. Отчет занимал много времени и мой коллега Денис Карпов задумался об автоматизации задачи. Результатом стал плагин для скайпа Skram.

Возможности

Основная задача плагина — упрощение создания отчета при минимальном влиянии на формат общения. Задачу эту решили путем введения простых тегов для пометки сообщений. Рассмотрим простой пример:

skram master: #start:super-project-chat

skram master: Logging chat: #skrm.mstr/$asdfsadf234afs. Project: Super proJEcT.

skram master: Developer делал что?

developer: #done Сделал очень важную таску по проекту (XXX-102)
#plans посмотреть новый дефект
может все там работает как надо

developer: #blocker одмины не дают посмотреть ролик с вебинаром на ютубе :(

skram master: ок, спасибо. Тестер?

tester: #plans ждать новую сборку и проверить заресолвленные талоны

skram master: ок, всем спасибо

skram master: #end

Из этого диалога плагин выцепит, что разработчик занимался тем (#done) , что сделал очень важную таску по проекту и планирует (#plans) посмотреть новый дефект. Также он пожаловался (#blocker), что IT служба полные редиски и не даёт посмотреть вебинар, выложенный на ютуб. Тестировщик ничего не делал с момента последнего чатика и ждет (#plans) новой сборки приложения.

В этом диалоге есть 2 технических момента: начало и конец записи, которые задаются командами #start и #end соответсвенно. После ввода #end плагин автоматически откроет почтовый клиент с сформированным отчетом и заполненным списком адресатов:
Полученный отчет можно подредактировать (если нужно) и отправить адресатам.

Приведенные в качестве примера теги и шаблон по которому формируется отчет - не предопределены и настраиваются для каждого проекта. Плагин поддерживает любые теги, что позволяет гибко настроить формат чата и отчета под свои нужды, лишь бы шаблон вывода предусмотрел их отображение. Кроме того поддерживаются alias'ы, которые могут быть использованы для сокращения команд. В итоге можно писать не #done, а #d.

Настройки

Все настройки хранятся в ini файлах. Есть основной файл skram.ini, где содержится информация о заведенных проектах, путях где лежит файл с параметрами проекта и путь до шаблона, по которому сформируется отчет:
;файл с настройками нашего супер проекта и шаблон к нему
[super-project-chat]
ini=myprj.ini
template=common.html

[Properties]
rollingLogFileMaxBytes=5000000

Файл проекта выглядит так:

[Names]
#отображения skype имен на нормальные названия
skrm.mstr=Skram master
developer=Developer
tester=Tester
#о ! и ? читаем в документации :)
ignoredguy=!Петр Игноренко
optionalguy=?Иван Возможин
[Mail]
subject=Протокол чата по проекту Super proJEcT
to=proj-manager@company.com
cc=skrm-master@company.com; dev@company.com; tester@company.com

[Formatting]
date=%d/%m/%Y

[Aliases]
d=done
p=plans
n=notes
b=blockers

[Properties]
globalTags=blockers

Более подробно формат описан в документации (pdf)

Поддерживаемые платформы

На текущий момент версия плагина есть как для Windows так и для Linux.

Windows версия ориентирована на работу с Outlook и других почтовых клиентов пока не поддерживает.

Linux клиент использует indicator API для показа иконки в трее, поэтому завязана на убунту, но так как весь код по логированию вынесен отдельно , переписать эту часть не составит труда и под другие API. Завязки на почтовый клиент нет. Вместо этого для формирования отчета вызывается shell скрипт, который волен делать с результатом что хочет. Имеется заготовка для вызова Thunderbird.

Впечатление от owncloud 4.5 + syncclient

Недавно наконец то добрался до восстановления ownCloud на домашнем сервере.
Честно сказать до переустановки сервера я им мало пользовался, поставил больше для эксперимента. Причин этому было несколько:
  1. Тормоза при работе с большими файлами и папками с большим числом фотографий в высоком разрешении. От них старенькая машинка вставала на колени под нагрузкой.
  2. Очень сырой sync client под linux и windows. Достаточно вспомнить создание фантомных папок с названием как у уже имеющиеся папки. При попытке удалить такое чудо через веб интерфейс терлась и оригинальная папка со всей инфой
  3. Косяки с русскими символами при работе как через web, так и через sync client.
  4. В Sync клиенте нет никакой сигнализации о том, что же он делает. Это вам не дропбокс, который помечает значками файлы и папки в подконтрольной директории и сигнализирует сменой иконки в трее, когда идет синхронизация с сервером.
При работе с owncloud было видно, что софт еще сыроват. Нормальная работа получалась только через webdav, но это не сравнится по удобству с автоматичеки синхронизуемой папкой.

И вот, новая версия 4.5 (точнее 4.5.4) с обещаниями исправлений багов и улучшений в работе sync клиента под интересующие меня платформы.

Так как у меня не было никаких серьезных данных, переустанавливал с нуля. Установка проходит стандартно прямо по описанию в документации. Финальная настройка немного смущает переводом: из подписей не сразу понятно, что для инициализации базы просят имя и пароль пользователя с правами создания схемы и пользователя для owncloud. Интерфейс сильных изменений не претерпел, разве что сделали более гламурное отображение папок в разделе "Рисунки".

Из вкусного - добавился встроенный редактор текстовых файлов, так что заметку набросать или скрипт написать, можно прям в браузере.

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

До сих пор нет почти никакой сигнализации о том, чем же занимается sync клиент. Так что о появлении новых файлов или о том что все локальные изменения отправлены на сервер, остается только догадываться.

В целом owncloud уже можно пользоваться, но для важных вещей я бы рекомендовал провести тестовый период и почаще делать бэкапы :). Ждем дальнейшей полировки и устранений шероховатостей.