[EVO] Управление проектами на базе MODX (pm.MODX)

Уже давольно давно ищу приятную систему для учета проектов и задач
долгое время пользовалься Redmine, так же перепробовал множество других решений
но так ничего легкого и быстрого не нашел :(

В итоге посетила мысль: а почему бы не сделать свое ?

Для начала определился с задачей:
-Нужна система для учета задач и проектов для небольшого колектива
-Проекты создает админ + указываемт кто учавствует в проекте
-Внутри проекта создавать задачи могут те кто учавствует в проекте
-Задача состоит из: Статус, Важность, Сроки, Кто выполняет, Описание, Файлы, todo-лист, комментарии
-Само собой уведомление о любых изменениях в проекте на почту

вот собственно базовый функционал который нужен, все остальное использовал крайне редко потому выполнение выше перечисленных пунктов было более чем достаточно для того что б выбросить Redmine и использовать свое решение:)

Кому интересно что получилось прошу под кат


Сразу пару картинок:
Главная страничка
Страничка проекта
Страничка задачи
Редактирование задачи
Редактирование задачи
В итоге получилось простое и легкое решение :)
Теперь расскажу немного что же там внутри:

Пользователи — это менеджеры MODX пока их только 2 вида:
Админ и Менеджер разница в том что Админ может создавать проекты

Проекты и задачи — документы MODX сделал так что б на данном этапе было легко и просто органировать редактирование из фронта да и на этапе Бетта версии легче понять какой функционал нужен и что потом переделать

Комментарии к задачам — JotX

Вывод задач на фронте — Ditto, опять же на данном этапе этого более чем дальше если будет не хватать то можно будет сделать узкопрофильный сниппет

Далее пару слов про уведомления
— с комментариями все просто, написал небольшой снипет который отдавал jotx список email куда отправлять
суть: отправлять всем кто учавствует в проекте но не отправлять себе

— с добавлением и редактированием проектов и задач все немного сложнее пришлось писать плагин на событие сохрание документа. За этот плагин большое спасибо akool . Плагин работает так же как и уведомление комментариев, тоесть отправляет всем кто в проекте но не отправляет тому кто редактировал

Редактирование с фронта
Эту задачу решил с помощью QM+ единственное отключив верхнюю панель и создав свои кнопки для вызова лайтбокса.

Ну и пару слов о приватности:
авторизация пользователей идет через стандартную site.com/manager/
далее сразу редиректит на главную страничку.
Далее пользователь видит только те проекты в которых он учавствует

Ну а доступ в админку закрыт простым плагином который проверяет роль менеджера и редиректит его из админки если это не Админ)

вот пока собственно все
текущий релиз: pm.MODX 0.1 beta

p.s. Решение разрабатывается под свои нужды, сразу как готовый сайт
вот думаю оставить блоге разработка или перенести в блог сайты на MODX?

16 комментариев

avatar
Вывод задач на фронте — Ditto, опять же на данном этапе этого более чем дальше если будет не хватать то можно будет сделать узкопрофильный сниппет

DocLister уже на подходе;-) Обкатываю на 2 проектах. В первом случае как замена Ditto, а во втором случае как относительно легкий способ начать работать со своими таблицами

Эту задачу решил с помощью QM+ единственное отключив верхнюю панель и создав свои кнопки для вызова лайтбокса.

Я смотрю у тебя там и MM постарался для вывода нужных полей. Вообще интересно очень особенно в связке с плагином, который проверяет доступ. По идее можно с легкостью любой проект так организовывать на добавление инфы с фронта.

Оставить блоге разработка

Оставить. Как будет готовый проект напишешь топик в другой блог.

Кстати, а как теги обрабатываются. В evo они же под чистую вырезаются если с фронта публиковать — там хак protect.inc.php нужен. Хотя у тебя получается iframe бэкенда. Ну а все-таки. Просто пока не заморачивались? Мне просто для www.agel-nash.ru пришлось плагин jevix вешать на сохранине документа и там реплэйсить, чтобы даже менеджер не мог вставить теги MODX и лишние html теги в определенные документы.
avatar
теги можно вот так вырезать:

/**
 * TSVpre
 *
 * Замена квадратных скобок в вызовах сниппетов, плейсхолдерах и TV, находящихся между тегами <pre></pre>
 *
 * @author      Serg24, privat_tel@mail.ru, http://tsv.org.ua 
 * @category    plugin
 * @version     1.0
 * @license     http://www.gnu.org/copyleft/gpl.html GNU Public License (GPL)
 * @internal    @events OnLoadWebDocument
 * @internal    @modx_category 
 * @internal    @installset base
 */

$e = &$modx->Event;
switch ($e->name) {
    case "OnLoadWebDocument":
        $str = $modx->documentObject['content'];
        preg_match_all("/<pre.*?{\/<\/pre>/s", $str, $matches, PREG_OFFSET_CAPTURE);
        if (!$block_count = count($matches[0]))
        {
           $str = str_replace("[","[",$str);
           $modx->documentObject['content'] = str_replace("]","]",$str);
        }
        $str_result = '';
        $cursor = 0;

        for($i=0; $i < $block_count; $i++)
        {
            $str_result .= str_replace("]","]", substr($str, $cursor, $matches[0][$i][1]-$cursor)) . $matches[0][$i][0];
            $str_result .= str_replace("[","[", substr($str, $cursor, $matches[0][$i][1]-$cursor)) . $matches[0][$i][0];
            $cursor = $matches[0][$i][1] + strlen($matches[0][$i][0]);
        }
        $str_result .= str_replace("]","]", substr($str, $cursor));
        $str_result .= str_replace("[","[", substr($str, $cursor));
        $modx->documentObject['content'] = $str_result;

        break;
        
    default:    // stop here
        return; 
        break;  
}

Создаем плагин TSVpreReplace на событие OnLoadWebDocument.
avatar
Ай теги не верно поменялись
& # 9 1 и & # 9 3 вместо [ ]
avatar
С QM+ оказалось все изумительно просто и хорошо можно куда угодно вешать кнопки редактировать если интересно могу простой снипет для этого дела написать )
через снипет так что б если не менеджет то что б кнопок не было )
avatar
Очень круто!
Жду релиз
Стиль админки как от 2 версии или у меня косоглазие?
avatar
Это стиль админки такой просто )
а так это на моей сборке:
github.com/dmi3yy/modx.evo.custom/
avatar
Мне самому интересно — будет ли у этого решения публичный релиз.
Пока там все пригодно для пользования, и уже даже используется.
Но надо еще обкатывать, тестировать, допиливать детали.
avatar
Ради интереса, Дим, Мегаплан не пробовали?
avatar
Это из которого письма сутки идут?
avatar
Ой, да ладно, у него вообще вагон и маленькая тележка проблем, начиная с мелких багов и заканчивая просто не адекватной ТП, но я не об этом) Мне просто интересно, был ли опыт использования)
avatar
Я намеревался и внимательно на него смотрел. Но не решился долго пользоваться в связи с избытком ненужных функций.
avatar
Мы уже года 3–4 пользуемся, пробовали много чего ещё, следим более-менее за происходящим в этой сфере. У Мегаплана есть куча всяких плюсов и минусов, но самый огромный плюс именно в количестве функционала)
avatar
А плюс этого решения на modx в том, что оно полностью удовлетворяет потребности, а при желании то, что надо можно дописать, изменить, убрать. =)
И, как показала практика, это не требует много времени.
avatar
=) Да кто ж спорит-то)
avatar
есть релиз ?;)
avatar
Ушел на трелло ;)
Если нужно могу поискать и поделиться
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.