О проекте

Данный сайт попытка повысить коммуникацию самых активных разработчиков на CMS Drupal - блоггеров. Если Вы ведете свой блог о Друпале, значит Вы готовы делиться вашими знаниями, помочь другим. Не всегда ваши знания доходят до потребителя. Задача данного сайта агрегировать знания различных блогов в единую ленту и привести на Ваши блоги активных пользователей.

Активность пользователей на Вашем сайте будет дополнительным стимулом к дальнейшей работе.

Удачи во всех Ваших начинаниях!

Выводим диаграмму Ганта и пробуем управлять проектами

-1 votes
+
-

Задача: создать систему, которая позволяет вести проекты и наглядно показывать сроки задач в рамках одного проекта.
Пояснение: Диаграмма Ганта (англ. Gantt chart, также ленточная диаграмма, график Ганта) — это популярный тип столбчатых диаграмм (гистограмм), который используется для иллюстрации плана, графика работ по какому-либо проекту.
Нам понадобятся:Drupal 6.26 — ядро системыViews 2.16 (на третей ветке работает крайне не стабильно) — для вывода представленияjsGantt — для вывода диаграммы ГантаCaseTracker — для реализации системы проектовCCK — для модификации типов материала.
Реализация
После установки CaseTracker в типах материалов появляются два новых типа — Project и Case. Project — тип материала для обозначения проекта. Это своего рода контейнер, куда впоследствии вкладываются материалы типа Case.
Для простоты понимания и сохранения единообразия представления я всё-таки предпочёл русификацию и назвал Project Проект, а Case Портфель. В дальнейшем материале я буду использовать именно русские обозначения.
Давайте смотреть, с чем мы имеем дело
Проект — всё достаточно просто. Обычная нода. Заголовок, текст сообщения, прикреплённые файлы. Для ведения простых проектов оптимально. Заголовок можно формировать программно, в тело ноды писать пояснения и требования, в прикрепляемых файлах документы к проекту.
Портфель — тут интереснее. При создании портфеля его необходимо «прикреплять» к какому-либо проекту. Также можно назначить ответственного сотрудника за данный «участок работы», выставить приоритет задачи и указать род задачи.
Соответственно, при создании проекта и наполнения его портфелями мы можем смотреть все состояния портфелей в рамках одного проекта.
Давайте реализовывать нашу задачу
Для начала нам необходимо добавить в портфель поле «продолжительность», с вводом даты начала и окончания портфеля. Для этого нам и был нужен CCK.
Дальше модуль CaseTracker предоставляет нам набор View для просмотра проектов, но я рекомендую немного доработать их для удобства представления.
Помимо выноса на форму отметок о состоянии портфеля и его приоритета выполнения в виде чекбоксов (понадобится Better Exposed Filters) рекомендую вынести и фильтр по дате.
Как настроить вывод диаграммы Ганта
Фильтр:
тип материала: Проект (раскрыт)
Опубликовано: да
Связи
Проект
Поля
Материал: заголовок
Продолжительность — дата начала
Продолжительность — дата окончания
Основные настройки
Стиль — jsGantt
Теперь самое главное — настройки jsGantt
Task title field: — заголовок
Start date field — продолжительность начало
End date field — продолжительность окончание
Progress, caption — ничего
Parent ID field — заголовок
Parent title field — заголовок
Depends on ID field — ничего
Color source — color based on relative progress
Default display format: — Day
Что это означает — ориентируясь на заголовок выводимой ноды, которая зависит от выбранного проекта (это связь, которую мы делали) мы сторим диаграмму Ганта, опираясь на поля «начало» и «окончание».
В итоге у вас должно получиться что-то вроде вот такого
Мы видим выбиралку проекта (для этого нам нужен был раскрытый фильтр) вынесенные чекбоксы состояния и приоритета и, собственно, саму диаграмму.
Tags: урокдиаграмма ганта

Полный оригинальный материал:

ASZh.com