Как стать автором
Обновить

Комментарии 140

Здорово :) Мне нравится.
Спасибо! приятно, что моя работа вызывает положительные эмоции :)
Вы не поверите, но мне тоже понравилось! :)
Спасибо :)
интересная вещь, спасибо!
календаря и загруженности участников в нем не хватает — никак нельзя планировать загрузку группы
По правде сказать, есть много функций, которых нет в opentodo. Я черпал вдохновение из книги Getting Real :) Однако, не исключено, что функционал будет расширен в будущем.
Спасибо, открыл для себя интересную книгу=)
Не за что :) Книга супер, мне очень помогла. Прямо проясняется в голове, когда читаешь :)
согласен. все наглядно и удобно.
считаю, что кому-то пригодится.
спасибо.
Хорошо сделано. Особенно хорошо выделяются закрытые задачи серым — отличная находка.

Из замечаний:

1. Массовое изменений статусов задач. Иногда хочется «принять» или «закрыть» несколько пунктов сразу. checkbox'ы слева, например, решили бы эту проблему.

2. Юзабилити (не знаю, насколько удобно остальным, мне бы было удобнее): повесить в списке задач onclick на всю ячейку, а не только ссылку. Если задача не очень большая, то приходится «тыкать» именно в ссылку, а быстрее кликнуть в произвольном месте.

3. Что с уведомлениями на почту? Они есть? Есть возможность получать, например, дайджест?

4. Было бы интересно получить интеграцию с Google Calendar.
Спасибо за ценные замечания.
Уведомления на почту есть — автор и ответственный получают письма о новых задачах, комментариях, файлах, изменении статуса задачи. При ответе на комментарий автор комментария получает письмо. Дайджеста, к сожалению, нет.
Было бы хорошо сделать возможность задавать какое-то определенное время для задачи, если она занимает меньше чем день, а так же возможность ввести реально потраченное время.
В целом очень удобно и просто.
Присоединяюсь к запросу возможности отслеживания запланированного/затраченного времени.
Отличная штука! Сегодня же поставлю и пущу в работу. Спасибо большое!
Давно ждал замену Мегаплана. Правда, пока не дотягивает, но, надеюсь, это только пока.
Спасибо!
Рад, что вам понравилось. Пользуйтесь на здоровье :)
>>Давно ждал замену Мегаплана. Правда, пока не дотягивает, но, надеюсь, это только пока.
а чем мегаплан не устраивает?
Всем устраивает, кроме того, что нужно платить. А так — крутая система. Мне нравится.
Еще не ставил, но думаю не разочеруюсь, как не как python а не какой нибудь php ;) Да и полезно будет в сорцах покапаться. Как раз через supervisord привяжу )
В этом прелесть Django — интересно читать исходники, и все понятно, как правило :) Кстати, когда-то писал на php нечто подобное, но проект до релиза не дотянул.
Исходники мне понравились :) Еще с самой первой публичной версии.
Использую уже давно Redmine и никуда дёргаться не хочется.
godlike, большое спасибо!
Давно мечтаю о такой простой и удобной штуковине, чтобы прикрутить ее к корпаративному сайту.
Покупать не хочется, т.к. их функциональность избыточна. А свободные либо долго перекраивать под себя, либо совсем уж…

Дай бог тебе невесту богатую! ;)

Еще раз спасибо!
Вам спасибо :)
И красивую! (невесту =)

Согласен с InfernoMonk, сам давно мечтаю, бумажные журналы задрали, но руки у меня самого не дойдут.
Спасибо!
Хорошее дополнение, что еще надо для счастья open source разработчику :-)
Выглядит очень приятно:)
Redmine круче в разы!
НЛО прилетело и опубликовало эту надпись здесь
Изначально там была аскетическая ссылка «скрыть завершенные». Решил сделать пока так, чтобы целостно вписалось в существующий интерфейс.
Вот блин! Космос, простите, НЛО, конечно же, слышет меня: только сегодня обсуждали с коллегой, что вот чего-то такого хочется. Так чтобы типа туду, но чтобы задачу назначить можно и статус проследить. Завтра вместе изучим :-)
Просто отлично. Думаю, если на проект не «положится», он вполне может выйти на серьёзный уровень.
НЛО прилетело и опубликовало эту надпись здесь
ооо типа мегаплана — проще чуть, без лишних фич. Круто.
кажется, это именно то, что я искал :) максимально просто. поставлю в офисе, а то задачи, разбросанные по почте, аське, сетевым папкам, блокнотам и на бумажках уже надоели. но календарь бы в перспективе все же не помешал
Уже нет. 404 ;)
Вообще активность в демо впечатляет…
404 и говорит, что сломалось :)
Говорит что такой задачи нет, просто дебаг включен в настройках, поэтому так выглядит.
А список задач, говорит, что она есть, но она завершена!
Еще одну нашел :)
Завершить задачу не получается. Ошибка:
Page not found (404)
Request Method: GET
Request URL: demo.opentodo.ru/tasks/276/to_done/

No Task matches the given query.

You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard 404 page.


Очень понравилась разработка.
Видимо ее удалили ) Все под одним логином сидят.
Так надо это красиво изобразить!
Все, убедили, отключил дебаг :)
а чем отличается от trac project? функционал тот же как мне показалось
Разработка супер, её можно установить на Google apps engine?
apps engine насколько мне известно не поддерживает django в полном объеме, было бы круто конечно
А поддржка sqlite там есть? Абсолютно не разбираюсь в питоне, а в описании не вижу списка поддерживаемых субд. :(
По идее должно работать с любой СУБД из поддерживаемых Django. Я не использовал raw sql. Только при установке возможно придется поправить пару запросов в \apps\todo\sql или после вручную выполнить если не сработают (там заполнение таблицы статусов и задачка в качестве примера)ю
Кроме того, можно свою авторизацию прикрутить при желании, например написать auth backend для поддержки LDAP. Django рулит :)
В настройках указывается тип базы данных, поэтому можно использовать все поддерживаемые django субд, в том числе и sqlite
Ага, понятно, спасибо. Это радует. :)
Фильтр задач бы прикрутить.
По автору, по дате и статусу.
Есть, над списком ссылка «применить фильтр»
Хотел поставить + в карму, но он уже там стоял :-)
Я надеюсь OpenTodo получится несложно портировать на google apps, в фронтэнд нужно перенести добавление пользователей (а то у гугла загрыта стандартная джанговская админка) а также немного переделать работу с БД, под особенности BigTable. Тогда OpenTodo пойдет в массы :-)
Когда последний раз интересовался apps engine, там как-то слишком уж урезано все было…
Неплохо бы тайм-трекинг и англоязычный интерфейс
молодцы!
а почему работа с задачей больше похожа на Мегаплан, чем на Basecamp? :)
А в Basecamp какая работа, галочку поставил и все. Или я что-то пропустил :) Вообще в бэйскэмпе поначалу создается впечатление хаоса, но потом, как ни странно, привыкаешь. По поводу жизненного цикла задач — писал когда-то багтрекер, статусы были похожими, но без «Одобрено». В процессе работы возникла необходимость контроля завершенных задач. В opentodo просто учел этот опыт, поэтому сделано так. Мегаплан тоже смотрел, конечно, продуманная штука :)
Милейшая штука =)
Судя по онлайн-версии, есть возможность прикладывания к задаче файлов, но, при этом, рядом со ссылкой нет иконки типа файлов. Мне кажется, при большом количестве приложений визуально так было бы намного легче ориентироваться.
Ну а вообще, молодцом, и в SOHO легко и! бесплатно! внедрить можно, и для прайвет-юзанья функционал необходимый и достаточный))
Иконки кстати есть для большинства распространенных форматов :) В IE правда не отображаются, ну да не беда, думаю тут немногие его использует.
спасибо, буду изучать исходники, сейчас диплом пишу на джанго :)
супер :) думаю защититесь на отлично, джанго помогает писать хороший код :)
Бабах!

TemplateSyntaxError at /tasks/294/
Caught an exception while rendering: malformed start tag, at line 1, column 34

Original Traceback (most recent call last):
File "/home/openminds/webapps/opentodo/lib/python2.5/django/template/debug.py", line 71, in render_node


Ууупс! (pardon)
Ну это плата за частично разрешенную разметку, которая не жестко эскейпится, как и должно быть в Django по умолчанию. В плане безопасности больше внимания уделил ограничению доступа к чужим проектам. А в своих можно творить что угодно, пытаться поломать и т.п., только смысла большого в этом нет :)
Приоритет.

Без такого свойства задачами управлять практически невозможно. Пока, насколько я понимаю, управлять можно лишь ориентируясь на сроки выполнения, по принципу «горит-не-горит». Но определять реальные сроки — такая мутотень… Куда проще назначить приоритет, а срок вообще не назначать. И сделать сколько успеешь, но самых важных.

P. S. Пользуюсь на работе JIRA, пользовался Mantis.
Небольшая подсказка — ответ на вопрос о приоритетах: в начале названия задачи можно написать что-то вроде (!!) или использовать цифры, потом сортировать список по названию задачи.
Приоритетами надо именно управлять, а не назначать их один раз сразу. Репортер кто-то из тестеров обычно, он не может сам выставить приоритет. А редактирования задач в opentodo вроде бы тоже не предусмотрено.

Да вообще, пихать в одно поле разнородные данные, половина из которых для этого поля вовсе не предназначена по смыслу — это нарушение всех канонов БД :)
Редактировать может автор и администратор. Если в проекте доверительные отношения, то можно дать права администратора нескольким людям. Вы, скорее всего, правы, но пока у меня достаточно смутные представления о канонах БД и управлении приоритетами, хотя звучит убедительно ) Хочу лишь заметить, что попытался реализовать некое целостное видение того, как все должно работать. А относительно некоторых функций пока такого понимания не сложилось, поэтому предпочел не загромождать интерфейс непродуманными вещами.
Ну вот, я почти об этом же написал только что (ниже), хотя не видел ещё этого коммента :) Всё правильно, пока только самое необходимое. А вот как вам решать, что необходимо, а что нет — тут ничего посоветовать не могу. Разве что… Может стоит посмотреть на несколько подобных систем, и выбрать то, что есть во всех? Пересечение множеств, так сказать. Думаю, с большой вероятностью, это и будет необходимый функционал.
Я не занудствую от нечего делать. Мне понравилось начало. Я действительно хочу помочь хотя бы советом. Я считаю, что ещё одна система подобного класса не будет лишней. Новая, лёгкая, не обросшая слишком большим количеством редкоиспользуемых функций, как большой корабль ракушками. Но необходимый функционал должен присутствовать в полном объёме. Иначе сильно сужается потенциальная «аудитория», а без достаточно широкой поддержки пользователей open source проекты, как правило, быстро загибаются.
Спасибо за совет, совсем не считаю, что вы занудствуете. Серьезно думаю, что пока по ощущению у меня нет окончательной ясности по вопросу приоритетов. Вопрос не такой уж простой, надо решить какие приоритеты, сколько их и т.п. Как это связано со сроками. Какая задача более приоритетна — у которой выше приоритет, но срок не определен или та, у которой дедлайн завтра. Вот сколько вопросов навскидку )
Тут наверное стоит выслушать тех, у кого побольше опыта управления проектами. Но в моей практике так сложилось — сроки ставятся очень редко. Обычно это идёт от потребностей клиента. Практически всегда у таких задач высокий приоритет. Если становится заметно, что к сроку не поспеваем, а задача действительно самая важная — ей ставится критический приоритет. В общем, как ни странно, конфликтов между приоритетами и сроками не возникает на практике, хотя я поначалу тоже немного терялся в этом вопросе. Наоборот, всё очень гибко и логично, оказывается. Но не исключено, конечно, что это дело привычки :) Поэтому и нельзя опираться только лишь на моё мнение.
Тоже верно, вообще считаю, что не стоит во всем уповать на софт, в реальной жизни люди общаются и могут договориться по некоторым вопросам. «какую задачу сейчас делать?» — «делай вот эту» :)
В реальной жизни, если у вас будет возможность выбирать коллег (я подбирал группу из 8 человек, практически на каждом собеседовании решал сам), то выбирайте тех, кто будет задавать другие вопросы: «Никто этим не занимается? Я возьму себе?» или «Вот этим надо бы заняться — как поделимся?». Мне все завидуют в кадровом вопросе. Говорят, повезло. Хе-хе :)
а что делать, если одному исполнителю ставят задачи 5 начальников, кто определяет приоритет?
Что делать? Сокращение кадров делать :) Уволить 4 начальников, и вопрос с расстановкой приоритетов решиться автоматически раз и навсегда. Иерархия — основа управленческих структур в данной реальности. Это пирамида, если уж по простому. Нефик нафик её кверху попом ставить.
Золотые слова… )
это в теории так, на практике бывают очень разные ситуации, например:
— SEOшники, 20 клиентов — 5 аккаунт менеджеров на этих клиентов и один оптимизатор который и выполняет оптимизацию, в итоге каждый из этих 5 аккаунтов считает, что оптимизатор (как исполнитель) должен делать задачи для его клиентов с максимальным приоритетом
— финансовая корпорация, 8 бизнес департаментов и один общий ИТ департамент, руководитель каждого бизнес департамента часто считает, что его задачи в ИТ самые приоритетные

и таких примеров много, ввиду того что это все достаточно успешные компании, странно считать, что они ничего не понимают в управленческой структуре и надо все нафиг переделать
«5 менеджеров» и «5 начальников» — это не одно и тоже. Любой начальник департамента — тоже не начальник IT-отдела, согласитесь. Так что, если расписать ситуации чуть подробнее, решение опять же очевидно. В случае с 5 менеджерами приоритеты расставляет исполнитель. Он один, и его не уволят — срал он на таких начальников, которых аж целых 5 :) А во втором случае — начальник IT-отдела рулит своей вотчиной, кто ж ещё.

Кстати, даже если в других компаниях именно такой бардак, как вы описали, их успешность ещё не доказывает полезность бардака. Может они успешны не благодаря, а вопреки этим негативным факторам? А положительный общий результат имеет другие причины?
«начальник» было не очень правильно слово, они не начальник над исполнителем, но они постановщики задач исполнителю, причем постановщики только задач в рамках того процесса, за который они отвечают
>>. В случае с 5 менеджерами приоритеты расставляет исполнитель
исходя из чего? из того, кто из клиентов ему больше нравится или для кого проще выполнять оптимизацию?
т.е. вы считаете, что когда исполнитель сам решает в каком порядке что делать — это не бардак и это нормальное управление?

>>А во втором случае — начальник IT-отдела рулит своей вотчиной
он рулит в том смысле, что решает, какие исполнители будут делать какие задачи, он решает насчет применяемых средств решения и архитектуры, а руководителей бизнес-департаментов не волнует на чем они там программируют и как, это как раз решает ИТшник, но их волнует в каком порядке их задачи будут решены

у вас какой-то очень черно-белый мир, в сложных процессах это не так — кто-то отвечает за техническую реализацию, кто-то выделяет деньги на это, кто-то ставит приоритеты исходя из потребностей бизнеса, а кто-то исполняет и не всегда это можно уложить в рамки пирамиды
Ситуация, когда 5 человек вроде как выше одного по рангу, и все 5 пытаются им управлять — абсурдна. Чем закончатся постоянные прочиворечивые требования? Исполнитель пойдёт жаловаться к вышестоящему над всеми этими пятью. Или один из пяти начальству телегу накатает на исполнителя за срыв сроков.

Зачем устраивать этот театр абсурда? Должен быть один человек, который решает, и берёт на себя ответственность за решения. Он не знает технических деталей, он не знает тонкостей работы с каждым клиентом, но он видит ситуацию в целом, сверху, и имеет достачно информации, чтобы принимать подобные решения. Ни исполнитель, ни любой из менеджеров всей ситуацией на этом уровне не владеют, у всех локальные интересы.

Ну и что тут чёрно-белого? Вроде бы простой здравый смысл без всякого идеализма. Вы правильно сказали — кто-то за что-то отвечает, каждый за своё. Но кто-то отвечает за всех. Один. Ну да, есть структуры, где сверху совет директоров или нечто подобное. Но это же только на самых верхних уровнях, для решения глобальных вопросов. Ниже меньше демократии. Вы ведь не предлагаете собирать этих пятерых постановщиков на собрания каждый раз, когда надо выставить приоритет очередной задачке?
люблю талантов и их проекты )
Как насчет использования markdown/чего-нибудь подобного в описании задач?
Чтобы не распыляться между тегами и вот «созданием списка дефисами».
Пробовал приручить несколько библиотек для разметки, что-то в них не понравилось, сейчас точно не скажу. Если в общих чертах — форматирование не соответствовало ожидаемому, то параграфы лишние при переводе строк, то еще что-то. Так что это вопрос пока остается открытым.
НЛО прилетело и опубликовало эту надпись здесь
шикарный продукт. ведь могут же быть нормальные программы!
*роняя скупую слезу системного администратора
Спасибо ) не знаю, за что вам минус поставили )
а какие планы на развитие системы если не секрет? а то впечатлило, хотелось бы узнать чего ждать в будущем.
Спасибо.
Присоединяюсь к вопросу. Проекты такого уровня просто не могут заглохнуть в зачаточном положении.
Есть ряд фич, над которыми думаю сейчас. Что конкретно реализую следующим — пока не определился ) Если взяться делать все подряд, то пострадает интерфейс, чего нельзя допустить. Возможно, это будут категории задач.
НЛО прилетело и опубликовало эту надпись здесь
Чисто функционально thn.gs/ (тоже на хабре пост был) нравится больше. Да и внешне тоже. Но это не GPL и исходников нет. Из пожеланий к opentodo — инлайн-редактирование заданий, без перезагрузки страницы. И добавление тоже с помощью всплывающего Javascript-окна. Было бы круто :-D
А скоро он (http://thn.gs/) станет еще лучше и красивее!.. )
А кстати — сразу после его запуска там были иконки из Things — их заставили убрать правообладатели? Было очень симпатично.
НЛО прилетело и опубликовало эту надпись здесь
в том то и дело, что opentodo можно поставить к себе на сервер и откастомайзить по своему
2rudyryk и 2plzen: что ж вы людей за дураков то считаете :) этож понятно что минус и поставить можно. просто обращаю внимание читателей (и автора поста тоже) на отличный сервис в тему.
слишком все просто:
— задачи иногда приходится группировать, к примеру есть таск Магазин в нем 10 тикетов на багфиксы;
— на задачу прогер должен ставить сколько времени он потратил на эту задачу;
— нужен фильтр по датам, чтобы было понятно кто, что делал за период;
— на проект добавлять людей — не все люди в компании учавствуют в проекте
— статусовдолжно быть больше — как ми нимум показывающие приоритет
это первое, что пришло в голову
На проект добавлять людей — так и сделано.
Статусы показывающие приоритет — не думаю, что хорошая идея. Тогда уж приоритет как отдельное поле, пока думаю над этим, как и над категориями задач.
да мы пользуемся статусами — открыт, взят, остановлен, переоткрыт, закончен, проверен, закрыт
ну и приоритеты это да
Посмотрите реализацию статусов в Emacs Org Mode :) — шикарно просто. Можно кастомизировать до посинения.
ссылка «Выйти» ведёт на проект в гуглокоде. как по мне, так это очень сомнительная фича.
Это только в демо версии )
Симпатично, но:
1) нет номеров задач в списке;
2) нет поиска по тексту задач.
Без этого, когда в системе накопится хотя бы сотня задач, с ней будет работать невозможно.
Поиск есть — в фильтре
Я всем надоел со своими просьбами прикрутить jabber.
Но в этом деле без него никуда, посему: было бы замечательно сделать возможность jabber-уведомлений.
браво, выглядит симпатично:)
Отличный проект. какую библиотеку для фильтрации html использовал?
Beautiful Soup
Система понравилась.
Позвольте поинтересоваться — а есть ли у неё локализация?
Можно ли сделать некоторым товарищам русский интерфейс, а некоторым — английский или, скажем, немецкий?
Локализации пока нет, но идея хорошая, подумаю над этим.
Если на дьянге сразу использовались возможности i18n и l10n то не должно составить великих трудов.
а древовидности не планировалось? (искал, не нашел)
просто, помоемускромномумнению, удобно разбивать задачу на подзадачи, создавая логические связи. Вместо того, чтобы держать все линейным списком
Не планировалось, но тоже думал, что «хорошо бы»! ) И при этом чтобы осталось также просто и понятно, в т.ч. при сортировке/фильтрации.
Оо, меня опередили. Тоже начал писать на джанго похожую штуковину. Под какой лицензией вы выпустили продукт? Могу ли я взять его за основу и доработать или влиться в проект?
Лицензия указана — GNU General Public License v3. Т.е. вы можете доработать и использовать для своих нужд, а если речь идет о распространении, то есть определенные правила, о них написано в тексте лицензии.

Что касается участия, то пока я до конца не определился с планируемыми улучшениями, но мне хотелось бы, чтобы проект сохранил целостность и продуманность. Что мне не нравится в некоторых open source продуктах, так это именно некоторая неряшливость что-ли, хотя функционал у многих серьезный и не хуже, чем у иных коммерческих решений. Но можно наколбасить разных полезных по отдельности прибамбасов, а собрать все в кучу уже сложнее :) По крайней мере пока у меня такое мнение, возможно, я ошибаюсь.
Шикарно! Это как раз то, что я искал.
Очень понравился интерфейс.
Хочу только заметить, что если цвет бэкграунда по умолчанию не белый, то страница немнго странно смотриться ;)
Для задач проекта неплохо бы иметь диаграммы Ганта

И закрытые проекты в забвение, в смысле забыть и все: )
Про закрытые проекты верно заметили, учту.
очень прошу прикрутить возможность назначать теги к тикетам.
в остальном все прекрасно. давно искал простую ситему контроля задач. и ваша оказалась в тему.
Спасибо за отзыв, теги (или категории?) нужная вещь, согласен.
Вышла версия 0.91 с несколькими багфиксами и косметическими улучшениями. Отписал в персональном блоге, скорее всего, туда и буду писать в дальнейшем.
Есть ли методика по обновлению? Думаю меняются не только файлы, но и база.
Если меняется структура базы, то на google code выкладываю дополнительный скрипт для ее обновления (существующие данные не затрагиваются). В 0.91 структура не изменилась.
У меня сложность с установкой возникла. Пытался развернуть под Win2003 сервер, после установки ничего не открывается. Сейчас ставлю под Debian 4.0 тоже что то не растет. База развенулась, но странички не открываются.
Напиши в личку подробнее, как устанавливал. Думаю в настройках веб-сервера дело, раз не открываются.
Подозреваю что проблема где-то в настройках сервера, но так как с python ранее не сталкивался разобраться с ходу не могу.
Привожу свои настройки, может кому пригодятся.

<VirtualHost 192.168.1.1:80>
ServerName work.domain.ru:80
DocumentRoot /var/www/vhosts/domain.ru/subdomains/work/httpdocs
CustomLog /var/www/vhosts/domain.ru/statistics/logs/access_log plesklog
ErrorLog /var/www/vhosts/domain.ru/statistics/logs/error_log
<Location "/">
SetHandler mod_python
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE opentodo.settings
PythonDebug On
<Location "/opentodo_media/">
SetHandler None

Файлы с opentodo положил сюда:
/usr/lib/python2.4/site-packages/opentodo/

читал здесь:
cargo.caml.ru/djangobook/ch20s03.html
P.S. хабр съел часть конфига…
Вопрос. Раньше я не сталкивался с аналогичным софтом, не знаю как там реализовано.
Допустим если через пол года будет большое кол-во проектов, в каждом по 20-40 задач, как то нужно будет наводить порядок, иначе выпадающий список будет неерально большим.

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

Либо сделать по разным страницам — заверешенные, архив, активные.
В следующей версии что-нибудь с этим сделаю, спасибо. С архивом хорошая идея )
А когда следующая версия ожидается?
Предположительно в течение месяца-двух.
Как обстоят дела? )
Не так быстро, как хотелось бы) Тем не менее, на днях снова приступил к работе. По ряду причин начал с интернационализации. Это первый опыт разработки многоязычных приложений на django, и в идеале, конечно, следовало предусмотреть такую возможность изначально, но думаю все будет ок.
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации

Истории