Opened 8 years ago

# Hierarchie of ProjectPlan and a parameter

Reported by: Owned by: didley@… Andreas low ProjectPlanPlugin normal 0.11

### Description

Is it possible to have an parameter to change the hierarchie of Plans?

Right now comes on level

• version
• milestone

Is it possible to have

• parameter(my own field)
• milestone

?

didley

### comment:1 Changed 8 years ago by didley@…

I would to add another level. If it's possible it would be very good to have

• parameter(my own field)
• milestone
• parameter(my own field)

didley

### comment:2 Changed 8 years ago by Matthias

Priority: normal → low new → assigned

Thanks for the Feature Request,

There was a similar Idea in development/planning phase but it was dropped due to complexity and other issues. The current Hierarchical Render cant do this and it would be very risky to introduce this feature.

But it is possible (with some time and effort) to write a new, more generic hierarchical Renderer with selectable hierarchie, the basic idea is in the current "static" hierarchical Renderer. This needs several extension in ticket/ticketfield processing and code/image generation.

I'll have a look into this but it'll take some time.

regards,

### comment:3 Changed 7 years ago by Sebastián Zaffarano

I attach a file with a patch for this ticket. The solution was implement a renderer (CustomGVRenderer) which receives a parameter (group_by) with a list of ticket's fields, for example:

   [[ProjectPlan(renderer=customgvrender,group_by=milestone->version->owner->component)]]


To do: make a gvhierarchical implementation similar, which I hope to begin today or tomorrow. Comments and improvements welcome!

makadev: Since the project is updated very often, do you can include the patch in the trunk?

### comment:4 follow-up:  5 Changed 7 years ago by didley@…

I checked the patch. It is possible to group with custom fields also. The idea isn't bad but the output is just a big picture for me because I'm using Trac with one environment with a lot of projects in it. Like trac hacks.

If I grouping for projects the output is a width picture. It would be good to have the possibility to filter for a special project for example. I used it in combination with

[[ProjectPlan(macroid=filtered,renderer=customgvrender,group_by=project,filter_milestone=Shipping FST1.2)]]


This output is manageable. A filter for other fields would be good also.

### comment:5 in reply to:  4 Changed 7 years ago by Sebastián Zaffarano

didley,

what's a project in your trac environment? for me, a project is a new trac environment (trac-admin /path/to/environment initdb). I'm not understand your filter, because in trac-hacks a "project" is a component, then, you can group by component too, zB:

[[ProjectPlan(macroid=filtered,renderer=customgvrender,group_by=component,filter_milestone=Shipping FST1.2)]]


Or if you want, make N graphs, filtering by component:

[[ProjectPlan(macroid=filtered,renderer=customgvrender,group_by=component,filter_component=ProjectA)]]
[[ProjectPlan(macroid=filtered,renderer=customgvrender,group_by=component,filter_component=ProjectB)]]
.... usw


Or what you think is, that a single macro makes a separate chart for each project/component in a trac environment?

Please explain better, if I didn't understand you. Thank you very much for your response.

Sebastián.

I checked the patch. It is possible to group with custom fields also. The idea isn't bad but the output is just a big picture for me because I'm using Trac with one environment with a lot of projects in it. Like trac hacks.

If I grouping for projects the output is a width picture. It would be good to have the possibility to filter for a special project for example. I used it in combination with

[ProjectPlan(macroid=filtered,renderer=customgvrender,group_by=project,filter_milestone=Shipping FST1.2)]]


This output is manageable. A filter for other fields would be good also.

### comment:6 Changed 7 years ago by didley@…

Sebastian,

you are right. It was late yesterday and my description is wrong. Sorry for that. I created a custom field named "project". With this I use one trac environment to keep more than one project. In one environment I have round about 18 projects. To keep the projects in view it would be good to have a präsentation like this for example:

[[ProjectPlan(macroid=filtered,renderer=customgvrender,group_by=milestone->component,filter_project=FST1.2)]]


If I now using for example

[[ProjectPlan(renderer=customgvrender,group_by=project->milestone->type)]]


I got all tickets, round about 300, in one row as picture. This long row is not manageable.

The original of ProjectPlan is to have one box with different labels and after by click of one label it expands the next hierarchie.

So I think grouping is a good idea but it will work more comfortable in combination with a filter function.

In this case I would write

[[ProjectPlan(renderer=customgvrender,group_by=project=anyProject->milestone=anyMilestone->type=requirement)]]


And the cream of it would be to have a "Or" statement for the filter.

I hope now is more clear which functionalty it should have.

didley

### comment:7 Changed 7 years ago by Andreas

Owner: changed from Matthias to Andreas assigned → new

### comment:8 Changed 7 years ago by Andreas

Status: new → assigned

Sebastián and didley,

thanks for the interesting discussion. The idea is very good and a excellent extension of the ProjectPlan Plugin. I've talked to makadev today and we will leave the beta phase after one or two iterations. And we would like to integrate the patch.

Sebastián: Do you think, you should adapt you patch after the more precise response of didley? I have not looked at you implementation, however this ticket is now integrated into our internal roadmap.

Have fun, anbo

### comment:9 Changed 7 years ago by Sebastián Zaffarano

didley, anbo,

I understood the petition of Didley, and no problem, I will begin to adapt the patch. I hope to have something for the weekend.

Sebastián

### comment:10 Changed 7 years ago by Andreas

Sebastián,

that's very nice. A new version before next weekend (March 6th) will be fine.

Have fun, Andreas

### comment:11 Changed 7 years ago by Sebastián Zaffarano

Hallo didley, anbo,

I'm attach a patch with the changes we talked on Friday:

[[ProjectPlan(renderer=customgvrender,group_by=project=anyProject->milestone=anyMilestone->type=requirement)]]


The patch also slightly improves the generation of the links to the queries (attribute URL of dot subgraph), which in my previous patch had some problems.

I hope this week do an implementation of GVCollapsedHRenderer (registered as "gvhierarchical") so that it also supports the parameter group_by, do you agree?

Greetings, Sebastián.

### comment:12 Changed 7 years ago by didley@…

Hello,

now I found time to check the plugin with patch above.

I checked out the newest ProjectPlan and patched objects from project-plan-r7729.patch.tgz.

If I use

[[ProjectPlan(renderer=customgvrender,group_by=project=PPS)]]


it works. I see all Tickets for Project PPS. But it's still a long row. I can't collapse it.

If I use

[[ProjectPlan(renderer=customgvrender,group_by=project=PPS->type=requirement)]]


to get all Tickets for Project PPS with type requirement. This works not. Now I receive all Tickets.

didley

### Modify Ticket

Change Properties