Modify

Opened 7 years ago

Last modified 6 years ago

#1971 new enhancement

Multi milestone chart

Reported by: chradev Owned by: mape
Priority: normal Component: TimeVisualizerPlugin
Severity: normal Keywords:
Cc: Trac Release: 0.10

Description

Tanks for a good plugin (even as startup).
I try to make complete development environment around Trac. It will run as a multi project and feature reach staff and it is good in its front page to see project's activities and some work history (see: http://ethercom.sogodi.com:9999/projects - connection could be slow).
I plan to invoke chart generated by timevisualizerplugin from tram plugin's web front-end. So it is good idea to generate chart with all milestones for given project (with some kind of legend of course).
If it is interesting for you I can collaborate to make your plugin better.

Attachments (0)

Change History (5)

comment:1 Changed 7 years ago by mape

I checked ur link - very interesting set of stuff! I've never used tram or tracforge or any other multiproject solution and ur 'all' project seemed really usefull (especially for me when I run those my mini projects).

One of ur trac environments timeline had some entries relating to automated builds - that's something I really would like to see in my projects. I've considered cruise control but so far I have not had time to evaluate it (especially against Symbian projects, which I mostly involve with). Maven looks also interesting but again, there has not been time to investigate it deeper - especially against Symbian development practices.

I'm not sure what kind of enhangements u are considering but feel free to make proposals and own implementations and share them with us all. I could merge changes to my development trunk. If changes are too radical, we could consider having competing branches in SVN, or u could create own hack. I don't have very much time during this year for this 'home work' development. Thus I probably keep my version quite simple. Simplicity is also quite essential because people in my projects range from specialists to trainee.

U mentioned that overall graph should not be targeted to certain milestone. Well it doesn't have to be. Try the macro withouth any parameters - it will render all ticket hours in trac environment. targetmilestone, targetcomponent and targetticket are just used to filter result - so if u omit them all, u get all tickets in all milestones and in any component.

comment:2 follow-up: Changed 7 years ago by chradev

Thanks for your notes. Proposed feature work and it is good for usage in some cases. My idea is to have a graph showing milestones in different curves together. It is useful in projects with many parallel milestones as we plan to have.

Integrating tram and tracforge together for multi-project trac installation was almost successful. Unfortunately, neither trac is planned as multi-project tracking system nor both plugins are developed to be used together. So I have an idea for starting a new project based on above 2 plugins and CreateProjectPlugin for implementing of temporary solution until trac become really multi-project. Unfortunately, I am not a proficient in Python so I will search contributors for this idea.

About continuous integration (CI) there are many good candidates. Besides Cruise Control Apache has one good project Continuum. It is very simple to get build in a few minutes after installing it. Unfortunately, both they are written in Java and are more resource hungry and hard for extension. I plan to test Bitten soon. It is fully integrated with trac as plugin and has 2 phase building chain. On the other hand its building system could be extended with plugins witch is very good for specific targets. All above CI projects are well integrated with trac and have interfaces to make ant, maven 1/2 and shell targets. Probably shell targets are the best solution for embedded development. Unfortunately, we plan to have post processing for building of images for number of platforms, automated flashing and running functional tests. All this is very hard to be performed by standard CI tools so we will need of adding of specific build targets witch is probably simpler in Bitten. In case of interest for collaboration you could contact me directly on chradev at sogodi dot com.

comment:3 in reply to: ↑ 2 Changed 7 years ago by mape

Replying to chradev:

Proposed feature work and it is good for usage in some cases. My idea is to have a graph showing milestones in different curves together. It is useful in projects with many parallel milestones as we plan to have.

Current implementation really needs to be refactored so that one can get each graph data separately and then finally draw each with different color etc. However, I'm afraiding that that this won't happen very soon.

I'm wondering, what kind of syntax one would use in burndown macro. Maybe it could be something like this in the future:

[[BurnDown(
  width=600,
  height=200,
  start=2007-08-31,
  end=2007-09-15T12:00:00+02:00,
  line=(color=#000,targetmilestone=milestone1,component=comp1)
  line=(color=#F00,targetmilestone=milestone1,component=comp2)
  )]]

comment:4 Changed 7 years ago by mape

And yes, the proposal above would not solve your original multiproject problem. Sharing data & features between environments doesn't seem very feasilbe for me. Maybe if one had shared db... or one would implement xmlrpc provider for data gathering and then client to render all that together...

Hmm, there could be more straightforward hack there: load svg graphs from different environments, then replace colors for each and just bundling data together. It could work with quite small work. Unfortunately I don't have time to play with this idea..

comment:5 Changed 6 years ago by mape

I've been working on this subject... 0.7 has pluggable data producers, each rendered as own line in the graph... However, it is not very easy to use yet, so I'll need to play with it for a while...

Add Comment

Modify Ticket

Action
as new .
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.