Opened 7 years ago

# Color overdue tasks in red

Reported by: Owned by: Ryan J Ollos Chris Nelson normal TracJsGanttPlugin normal 0.11

### Description

Do you think it is possible to extend the colorBy option to include some specific status such as overdue (red) and duetoday (yellow)?

### comment:1 in reply to:  description ; follow-up:  2 Changed 7 years ago by Chris Nelson

Status: new → assigned

Do you think it is possible to extend the colorBy option to include some specific status such as overdue (red) and duetoday (yellow)?

I like the idea but what would you call it? Currently it's colorBy=fieldname and fieldname could be a custom field that the user makes up. How do I avoid a collision? Add showOverdue=1 or something? If you specify showOverdue and colorBy it's an error?

I think I'd prefer to do colorBy=#schedule or something. That would introduce # (or whatever we choose) as a meta character. Is there are Trac precedent for that? What characters -- if any -- are illegal in field names?

### comment:2 in reply to:  1 ; follow-ups:  3  9 Changed 7 years ago by Ryan J Ollos

I like the idea but what would you call it? Currently it's colorBy=fieldname and fieldname could be a custom field that the user makes up. How do I avoid a collision? Add showOverdue=1 or something? If you specify showOverdue and colorBy it's an error?

You raise some good questions ... I don't have an immediate suggestion. We should maybe do some research; look at what other plugins have done and try to find a good pattern.

I can't think of any other rules that I'd want to color by other than overdue. Can you think of any off-hand?

### comment:3 in reply to:  2 ; follow-up:  4 Changed 7 years ago by Chris Nelson

... You raise some good questions ... I don't have an immediate suggestion. We should maybe do some research; look at what other plugins have done and try to find a good pattern.

I can't think of any other rules that I'd want to color by other than overdue. Can you think of any off-hand?

No, I can't.

What is the definition of "overdue"? If I have a 4-day task that is half done and due tomorrow, is it overdue? Surely no completed task (closed ticket) is overdue. Or would you color it red if the date it closed was after its scheduled completion? I'd assume that the point of this coloring is to highlight where you need to pay attention, not chastise you for past failures.

### comment:4 in reply to:  3 Changed 7 years ago by Ryan J Ollos

What is the definition of "overdue"? If I have a 4-day task that is half done and due tomorrow, is it overdue? Surely no completed task (closed ticket) is overdue. Or would you color it red if the date it closed was after its scheduled completion? I'd assume that the point of this coloring is to highlight where you need to pay attention, not chastise you for past failures.

I was thinking of this in a pretty simple way - just highlight in red those tickets that are open and today > duedate. When the ticket is closed, the red highlighting goes away. As you mention, the point is to highlight where to pay attention, and my manager would like to know where we are starting to 'slip' and how many tickets are 'slipping' (his words).

### comment:5 follow-up:  6 Changed 7 years ago by Ryan J Ollos

I like how a closed task displays a grey bar through the middle of the task. Maybe an overdue task could just show a bright red bar in this same location (which of course, is just a minor aesthetic issue and doesn't resolve some of the other questions we've been discussing).

### comment:6 in reply to:  5 ; follow-up:  7 Changed 7 years ago by Chris Nelson

I like how a closed task displays a grey bar through the middle of the task. Maybe an overdue task could just show a bright red bar in this same location (which of course, is just a minor aesthetic issue and doesn't resolve some of the other questions we've been discussing).

If we color the *progress bar* instead of the task, there's no conflict with colorBy! Just add a showOverdue or something to change the color of the progress bar from grey (default) to grey/yellow/red (OK, today, overdue).

### comment:7 in reply to:  6 ; follow-up:  10 Changed 7 years ago by Ryan J Ollos

If we color the *progress bar* instead of the task, there's no conflict with colorBy! Just add a showOverdue or something to change the color of the progress bar from grey (default) to grey/yellow/red (OK, today, overdue).

Ahhh, I didn't even realize that was a progress bar. Still learning the subtleties of the chart ...

The only problem that would present would be that an overdue task with no progress would not be colored. But perhaps it is possible to color the border of the task bar as well, or something like that? In the image above, it looks like the task has a grey border around it. I wonder how visible it would be though.

Another option (if possible) would be to color the text of the task description. Though I can think up ways to do this all day, but not having any experience with JS, I have no idea how practical they are ;)

### Changed 7 years ago by Patrick Schaaf

example for duedate coloring and today display

### comment:8 Changed 7 years ago by Patrick Schaaf

For my trac setup, we decided to keep overdue and start/end dates completely separate. Anything done specially wrt "overdueness" should probably use a separate fields.overdue specification, instead of overloading fields.finish.

Regarding visual representation, what about coloring the table row background in a pastell red color from the start of overdue to the right margin of the chart - regardless of the current date?

Regarding the current date - would it be possible to make that stand out by background coloring of the day's heading field, and possibly by having a thin black border around that day's "column" in the chart?

Here's a gimped fake of what I mean:

### comment:9 in reply to:  2 Changed 6 years ago by Chris Nelson

... I can't think of any other rules that I'd want to color by other than overdue. Can you think of any off-hand?

I'm not sure if this is a different rule or part of the same: I'd draw a distinction between tasks which are behind schedule (progress bar before today) and overdue (open and finish date before today). Maybe those are yellow and red coloring of the "showLateness" rule or something.

### comment:10 in reply to:  7 ; follow-up:  11 Changed 6 years ago by Chris Nelson

... Another option (if possible) would be to color the text of the task description. Though I can think up ways to do this all day, but not having any experience with JS, I have no idea how practical they are ;)

I'm mostly done with a change that colors the task description background (on the left) the same color as the task bar on the right. I think that's better than coloring based on lateness.

I think the options for noting overdue (which we still have to define) are the task border and the row background.

### comment:11 in reply to:  10 Changed 6 years ago by Chris Nelson

... I think the options for noting overdue (which we still have to define) are the task border and the row background.

I wonder, though, what other Gantts (e.g., in Microsoft Project) do.

### Modify Ticket

Change Properties