Modify

Opened 13 years ago

Last modified 10 years ago

#8987 assigned enhancement

Color overdue tasks in red

Reported by: Ryan J Ollos Owned by: Chris Nelson
Priority: normal Component: TracJsGanttPlugin
Severity: normal Keywords:
Cc: Trac Release: 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)?

Attachments (2)

ClosedTask.png (1.5 KB) - added by Ryan J Ollos 13 years ago.
example-duedate-and-today-coloring.png (19.2 KB) - added by Patrick Schaaf 13 years ago.
example for duedate coloring and today display

Download all attachments as: .zip

Change History (13)

comment:1 in reply to:  description ; Changed 13 years ago by Chris Nelson

Status: newassigned

Replying to rjollos:

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 ; Changed 13 years ago by Ryan J Ollos

Replying to ChrisNelson:

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 ; Changed 13 years ago by Chris Nelson

Replying to rjollos:

... 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 13 years ago by Ryan J Ollos

Replying to ChrisNelson:

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).

Changed 13 years ago by Ryan J Ollos

Attachment: ClosedTask.png added

comment:5 Changed 13 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 ; Changed 13 years ago by Chris Nelson

Replying to rjollos:

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 ; Changed 13 years ago by Ryan J Ollos

Replying to ChrisNelson:

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 13 years ago by Patrick Schaaf

example for duedate coloring and today display

comment:8 Changed 13 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:

example for duedate coloring and today display

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

Replying to rjollos:

... 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 ; Changed 13 years ago by Chris Nelson

Replying to rjollos:

... 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 13 years ago by Chris Nelson

Replying to ChrisNelson:

... 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
Set your email in Preferences
Action
as assigned The owner will remain Chris Nelson.

Add Comment


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

 
Note: See TracTickets for help on using tickets.