Николай Ланец
8 апр. 2013 г., 0:10

Система проектов на сайте нашего Клуба

Немного забегая вперед, хочу анонсировать ввод нового, очень важного функционала на нашем сайте: системы управления проектами. Уже сейчас можно опробовать совсем небольшую формочку: modxclub.ru/proektyi.html (пока не открывается)
Форма многим может показаться невзрачной, но пусть это не вводит вас в заблуждение:-) Техническая сторона этого вопроса очень обширная, и реализация заняла совсем не мало времени.
Основные сущности этой системы:

Задачи. К примеру «разработать дизайн сайта», или «запрограммировать сайт». Эти задачи могут так же разбиваться на подзадачи, к примеру, программирование сайта можно разбить на «установить движок сайта», «натянуть верстку» и т.п. Так же это могут бытьразделенные по технической направленности задачи (баги, улучшения и т.п.). В общем это составляющая системы «Задача — Выполнение», то есть чтобы можно было определить задачу, и на выходе получить статус «Выполнено».
Комментарии к задачам. Комментарии нужны, чтобы можно было запросить уточнение, создать краткий отчет по выполнению задачи и т.п., чтобы не приходилось каждый раз изкать где-то в почте переписки, перенаправлять письма другим участникам проекта и т.п.
Проекты. Это собирающая сущность. То есть, к примеру, есть проект «modxclub.ru». Это в целом. Но по нему понадобятся отдельные задачи, связанные с программированием, версткой, текстами и т.п. Вот в этом проекте уже будут создаваться задачи, и по ним будут идти комментарии.
Вообще, кто уже успел поработать на bitbucket.org, тому все это очень понятно должно быть.
Что дальше? А дальше распределение доступов ко всему этому. И вот это оказалось конечно же самой сложной частью этой реализации. Дело в том, что MODX изначально рассчитан только на распределение прав для групп пользователей, а по моей задумке надо, чтобы можно было управлять доступами как для групп пользователей, так и для отдельных пользователей. Так же на мой взгляд в MODX есть еще одно упущение: с этим наверняка сталкивались те, кто хоть раз пытался настроить права доступов в MODX: дав доступ на что-то чужой группе пользователей, забыв про свою, администратор терял доступ к этой сущности. Так вот, мне кажется правильно было бы ввести такое понятие, как owner (то есть владелец). Если я создал какой-то документ, то я априори должен иметь все права на этот объект. Сейчас этого в MODX нет. Но это я ввел в нашей новой системе (кстати, называется она modZilla). В итоге, если я владелец проекта или задачи, то не зависимо ни от чего, я всегда буду иметь полный доступ в этому объекту.
А сейчас расскажу бизнес-логику всего этого.

Допустим, я создаю новый проект, и создаю несколько отдельных задач. На каждую задачу будут объявляться свои требования и бюджеты. Любой специалист нашего клуба будет иметь возможность откликнуться на этот проект. Пока что в общих чертах все как на фрилансе. Но: далее я определяю одного главного исполнителя. Этот исполнитель берет на себя полные обязательства по выполнению конкретной взятой задачи (хотя конечно изначально для проекта может быть выбран главный проект-менеджер, но пока мы разберем частный случай). Так вот, далее этот исполнитель может либо самостоятельно выполнить всю задачу, и весь бюджет положить себе в карман, а может разбить задачу на дочерние задачи, для каждой задачи объявить собственный бюджет, и найти исполнителей под каждую задачу в отдельности. Сам же обеспечивает функции проект-менеджера и контроллера, дабы обеспечить четкой выполнение проекта. На все это будет очень гибкая система прав. К примеру можно будет сразу определить, могут ли пользователи видеть бюджет задачи или нет, могут ли отвечать на задачу и могут ли вообще видеть эту задачу (к примеру, если у вас уже есть своя группа специалистов, и вы создаете внутреннюю задачу).
В общем, по задумке, это не только повысит у нас здесь управляемость проектами, но и позволит привлечь больше новых проектов со стороны. Очень скоро главная страница сайта будет переделана и будет давать четкое представление, что здесь можно или найти исполнителя, или заказчика. Конечно, многие скажут, что на том же free-lance.ru есть проекты и заказчики, но там нет таких инструментов по управлению проектами и для командной работы. И у меня еще очень много идей, которые будут реализованы, и благодаря которым технологически мы будем обходить free-lance.ru очень сильно.
Прошу, вопросы и пожелания.
Хорошая задумка)
Оно изначально так все задумывалось, просто не все сразу получается внедрить.
Когда начнем? :)
Со следующей недели. На выходных буду программировать интерфейсы. Потом недельку будем гонять, и будем в публику запускать.

Добавить комментарий