Opened 8 years ago

Closed 6 years ago

#5555 closed defect (fixed)

Setting the time period to 50 days makes the chart disappear without message.

Reported by: Heiko Graeber Owned by: Joachim Hoessler
Priority: normal Component: EstimationToolsPlugin
Severity: normal Keywords: 7lima
Cc: Trac Release: 0.11


The BurndownChart macro is very useful to show the project's progress unless you need it for a longer period of time which is common in the projects I work for. One example for this is the following invocation:

[[BurndownChart(milestone=Release4.8, startdate=2009-06-10, enddate=2009-07-31)]]

which produces just an empty image tagged "Burndown". The macro might process a longer period of time or at least show a warning message to the user so [s]he might figure out how to use the macro in a way that works. Alternatively, this could be documented in the Wiki if it is not possible to fix the limitation.

I observed this using a Trac 0.10.4 installation.

Attachments (0)

Change History (5)

comment:1 Changed 7 years ago by anonymous

This is most likely to do with limit of google charts URL size. If you check url used by empty image and bring it up in a brower you will see the google chart error message if it is this.

comment:2 Changed 6 years ago by Odd Simon Simonsen

#8686 closed as duplicate.

For server-side charts we can actually switch to 'POST' quite easily, so this patch should increase the limit from 2K to 16K (according to

  • estimationtools/

    diff --git a/estimationtools/ b/estimationtools/
    a b  
    6464        return req.path_info == '/estimationtools/chart'
    6565    def process_request(self, req):
    6666        req.perm.require('TICKET_VIEW')
    67         url = '' % req.args.get('data', '')
    68         self.log.debug("Fetching chart using url: %s" % repr(url))
    69         chart = urllib2.urlopen(url.encode('utf-8'))
     67        data = req.args.get('data', '')
     68        opener = urllib2.build_opener(urllib2.HTTPHandler())
     69        chart_req = urllib2.Request('', data=data)
     70        self.log.debug("Fetch chart, %r + data: %r" % (chart_req.get_method(), data))
     71        chart =
    7072        for header, value in chart.headers.items():
    7173            req.send_header(header, value)
    7274        req.write(

comment:3 Changed 6 years ago by falkb

Yessssssss! Your patch works well. Event that error logging mentioned in duplicate ticket #8686 is away now. Great work, mate! :-) This ticket can be closed now.

comment:4 Changed 6 years ago by Odd Simon Simonsen

(In [10048]) EstimationToolsPlugin: Slight rework of server-side charts, switching to using POST requests to Google internally. References #5555.

comment:5 Changed 6 years ago by Odd Simon Simonsen

Resolution: fixed
Status: newclosed
Trac Release: 0.100.11

Right, committed the patch switching to POST for server-side charts. Realistically this is the best that can be done for this, as we can't really redo the regular client-side requests based on <img/> tags. That would be way too involved.

So, I'm closing this as 'fixed'. Enable serverside_chart setting to overcome the 'HTTPError: HTTP Error 414: Request-URI Too Large' limitation.

Modify Ticket

as closed The owner will remain Joachim Hoessler.
The resolution will be deleted. Next status will be 'reopened'.

Add Comment

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

Note: See TracTickets for help on using tickets.