Народ, а я возвращаюсь к своим баранам. если помните, как-то писал про activity streams - поток действий пользователей.
Но, напомню, все не так просто(к примеру вывести действия одного пользователя) как кажется. необходимо следующее:
1) Выводить действия других пользователей, которые взаимодействуют с объектом с которым ты взаимодействуешь. К примеру: юзер1 меняет статус задачи1 проекта1 на статус2; юзер1 меняет статус задачи2 проекта2 на статус3; юзер2 видит это у себя в потоке событий, все разложенное по проектам, а не в общем потоке событий.
2) Даже более того, выводить так же события, которые зависят не явно. Ну, к примеру: Есть задача1 и задача2; задача1 - parent для задачи2 и у них разные исполнители(юзер1 и юзер2). Юзер1 меняет статус задачи1 на статус2 и у юзера2 в потоке событий показывается это. Т.е. связь идет строго между объектами, которые взаимодействуют между собой. Но не напрямую.
3) Хотелось бы повесить создание событий на сигналы, но для этого мне нужен юзер/объект/что-угодно воздействующий на другой объект. Сигналы такое передавать не умеют же? Отсюда вывод, что надо покрывать весь код "в нужных местах" вызовами создания события. Но это ***ц ибо мест, где может изменятся тот же статус - множество. Вплоть до API.
4) Каждое событие может нести доп инфу, к примеру: с какого статуса на какой статус было поменяно.
5) Для каждого типа события(а они должны различаться) должен быть свой шаблон отображения.
6) Для пользователей в разных группах - разное кол-во отображения инфы. К примеру для супервайзера - вся инфа по проекту, который он ведет. Для артиста - только инфа по объектам с которыми он связан на прямую, либо не явно.
Проще сказать вот так: юзверь должен знать все что ему надо в пределах его работы.
Юзаю django-activity-stream. не плохая вещь, реализовывает очень многое, но этого сильно не достаточно. ЧТо делать - ума не приложу. Писать с нуля - проблемно, и в первую очередь именно из-за того, что не знаю с какой стороны подойти. форкать и Переписывать actstream тоже слабенький вариант... пока разберусь в коде...
Народ, поразмышляйте со мной плиз:)