Система тикетов на базе блоголёта: bugtracker и feature reqester
25.08.2009Блоголёт развивается, и со временем становиться все сложнее отследить, какие ошибки еще не исправлены и какие новые фичи не реализованы. И это при условии, что проектом рулит один человек. Стоит присоединится хотя бы паре человек и управление проектом может превратиться в хаос. Есть давно опробованные решения: багтрекер и фича рекуестер (последнее меня особенно веселит в русской транскрипции). Прикручивать готовые решения нет желания - придется разбираться как минимум в настройке.
Собственно вопрос в другом - как на базе блоголёта организовать систему тикетов, коим подмножеством (на мой взгляд) являются багтрекер и фича рекуестер. Как же можно без особых усилий превратить блоголёт в тикет систему? Я не долго думал над решением.
Надо разрешить пользователям самостоятельно создавать новые посты и изменить шаблон списка комментариев. Посты, понятное дело, в особой рубрике/разделе - они не будут появляться в общем списке постов. Тикет (ошибка или новая фича) может находится в одном из двух состояний: открытый или закрытый. Это соответствует открытому или закрытому состоянию поста - никаких новых свойств не добавляется. У тикета есть дата создания - как и в обычном посте, а дата закрытия - дата последнего комментария. Для тикета все же необходимы новые свойства - срочность (низкая, средняя, высокая), раздел (например плагины, темы, ядро, xmlrpc...),собствено тип (баг, фича, тикет на консультацию). Более чем вероятно необходимо для некоторых случаев прикрепленные файлы (скриншот, лог, результат работы...) - чтобы можно было управлять тикетом вместе с файлами одним кликом: если удалять, то удалять и прикрепленные к тикету файлы. Чтобы добавить новые свойства достаточно сделать новый класс TTicket порожденным от TPost, и иметь отдельный список тикетов отличный от постов - также сделать класс наследник от TPosts - TTickets. Тикеты будут иметь свои собственные категории - свой экземпляр TCategories и TTags. А чтобы тикет система не была блогом для посетителей изменить шаблон таким образом, чтобы комментарии в нем не были списком комментариев, а были списком ответов на тикет - как не знаю, но примерно понятно. Форма отправки комментария будет называться формой сабмита тикета. Список тикетов можно сортировать и по времени и по статусу - открыт/закрыт.
Таким образом получается отдельный сайт - его можно поместить в подпапку или в поддомен. Можно, конечно, напрячься и сделать тикет систему частью единого сайта, но кажется это добавить только проблем при реализации, чем очевидных плюсов. Я склоняюсь к подпапкам, где в каждой папке будет багтрекер и фича рекуестер - практически сходные по функционалу сайты.
Интересное получится решение на базе блоголёта, при этом без особого геморроя - будет работать также легко и просто. Мне идея нравится и я ее реализую.
Комментарии (10) на запись “Система тикетов на базе блоголёта: bugtracker и feature reqester”
Оставить комментарий
+ Передача рефера для уточнения единичных локальных ошибок.
+фильтрация по ip + доставка уедомлений по почте с возможностью настройки из админки.
Был на Вашем сайте поддержки с реализованной тикет-системой. Система замечательная, только пока сыровата (имхо). Вот собственно сырости:
- на сайте нет прямой ссылки на зайти в свой аккаунт уже зарегеному. Ну хорошо, уже не первый день варюсь в этой кухне, и искрю с самой КМС, сообразил, как зайти. Но это не очень удобно. Впрочем это не самое жесть.
- нет возможности в своем аккаунте поменять пароль. А сгенеренные, присылаемые, настолько "кратки и запоминающие", что их вводить только сохранив перед этим где-нть в файле, и Ctrl+C Ctrl+V. Убедительная просьба: дозвольте возможность менять паролшь, чтобы можно было сделать легко запоминающийся.
- написал тикет. Он попал не в открытые, а в черновики - это нормально? После этого попытался написать еще один - выдало, что у меня нет одобренных тикетов, и больше низзя. Но самое жесть, что попытался отредактировать уже отправленный, укоротить заголовок, ибо при длинных заголовках в списке выглядит некошерно. Тоже низзя - выдало, что нет такого. Это только у меня так (карма чтоли такая отвратная? :-D), или такое случается?
На всякий случай: там зареген с таким-же ником, как в этом комменте.
ЗЫ: использую Еперу, только ее родимую. Могет в этом дело, или всеже в моей карме?
Да про ссылку залогинится/регистрироватся правда, надо будет это в меню добавить, ноэто пожалуй не баг движка. Про смену пароля - да, это так, пароли генерруются длинные и это хорошо, так как повышается безопасность. Про ручной ввод нового пароля в тикет системе подумаю - для админа есть такая возможность, для пользователей тикет системы наверно нет (точно сейчас не помню).
Для нового пользователя действуют ограничения на новые тикеты - до 3 одобренных модератором тикетов они все будут в черновиках: это защита от возможного спама, так как тикет система позволяет каждому зарегисттрироваться и создать тикет. До 3 тикетов также есть одно ограничение - нельзя создать новый пока нетодобренных.
Может быть я излишне пароноидален - до сих пор спама не было в тикет системе и эти меры предосторожности скорее предназначены на будущее.
Ясно. Примерно так и предполагал. Для пользователей точно нет возможности смены пароля - еще раз проверил.
Хорошо, но почему не разрешило редактировать отосланный тикет, когда он еще был не одобрен,и что означает статус - черновик, и нафик он, если нельзя черновик редактировать?
Кстати, самый простой вариант поддержки - гугл-группа. Тоже правда, заспамливается, но там есть режим присоединения к группе только по одобрению администрации.
А небольшой форум (ExBB, PunBB, FluxBB)- удобнее тикетов (имхо), хотя конечно, есть риск заспамливания. Но наверняка есть готовое антиспам-решение. И на форум потребуются 1 или больше модеров, плюс дополнительная нагрузка на хост - понимаю.
Вообще то черновик можно редактировать, по крайней мере предпологается - проверю, поправлю. Форум я отверг изначально - 10 комментов на страницу, много мусорной инфы. В тикете есть много разных свойств: тип (ошибка, пожелание, вопрос, задача), состояние (открыт, исправлено, дубликат и так далее), номер версии, операционная система, код. В форуме этого нет. А ткаже голосвание и вики прямо в тексте тикета и прочее. Форум гораздо хуже.
Про группы/мейллисты думал, но пока мало людей и решение на тикетах незавсимо.