The goals for triage keep evolving... this is an attempt to summarize
things, and to figure out what's still to be done.
(Personally, I still believe that conflating personal triage state with
what others think the state is, while trying to use triage status to
announce newly-received items, is really confusing: Is it in the Now
section because I put it there, or because the boss who shared that item
with me wants me to work on it right away, or just because it's an item
that just got here, or because I tried to send it and my mail server
barfed? ... All that said, I'm just trying to understand what's being
requested so I can implement it.)
First, here's how things are right now:
- The user sees triage status in two ways: sectioning and sorting within
the table, and the color of the buttons displayed on each item's row in
the table and in the detail view of that item.
- Every item has a "section triage status"; it always determines the
sectioning and sorting within the table.
- Every item _can_ have an "unpurged triage status", which overrides the
section triage status when determining the color of both buttons. If no
unpurged triage status value is present, the section triage status is
used to determine the color. Clicking either button stores the "next"
color in "unpurged triage status" (even if no previous value existed for
it).
- Each of these two values has a corresponding last-changed timestamp,
which is used for ordering within each triage-status value (so two
items, both with section triage status = Now, will appear ordered by how
recently they became Now). To get the proper sort direction, this value
isn't a datetime - it's a *negated* count of seconds since the epoch in UTC.
- Sharing includes the section triage status and its timestamp only if
the sharer has chosen to "share triage status" in the Publish Collection
dialog. The unpurged triage status is never shared (currently), nor is
its timestamp.
- Purging occurs when the user clicks the "Triage" button in the
toolbar: each item in the displayed collection that has an unpurged
triage status attribute gets the unpurged triage status (and its
last-changed timestamp) copied over the section triage status, then both
unpurged triage status and its timestamp are removed from the item.
- When an item is created, its section triage status is set to Now and
its section triage last changed time is set to the current time.
- An internal reminder is maintained on events with start times in the
future: this reminder fires at an absolute time. When this happens, the
reminder firing mechanism sets the section triage status to Now and the
corresponding last-changed time to that absolute time.
- When a new item is received via sharing (and email?), and the share
isn't sharing triage status, we set its section triage status according
to its displayDate (that is, the value we'd display in the date column),
if it has one: displayDate in the past gets Done, otherwise Later. If we
do this, we set the section triage last-changed timestamp to that
displayDate value as well.
- In a recurring series (specifically, in the code in the recurrence
branch), every modification in a recurring series shows up in the
dashboard, and each modification has its own triage status and unpurged
triage status. Recurrence code goes and creates new modifications (and
deletes Done modifications) as appropriate based on the current date so
that at least one Done and one Later modification exists. (This bullet
point brought to you by Jeffrey :-) ).
OK, so, the future: Mimi's writeup here:
http://wiki.osafoundation.org/bin/view/Journal/WhosTriageStatusIsItAnyway
says:
So the proposal for Preview is to:
1. Use the 'Section Triage status' (which we already have today
Triage and Purge workflow) as the user's Focus status.
2. The 'Real' or 'Color Triage status' is the actual status of the
item.
Given this mental model, we can revisit our use cases above and say
that when Updates and Errors happen, items are moved to the top of the
NOW section and have a 'Section Triage status' = NOW, without affect
their 'Real' or 'Color Triage status'.
Similarly events that come and go can have their 'Real' or 'Color
Triage status' changed to DONE without disqualifying them from
remaining in the user's focus, or NOW section.
Events scheduled for the future can have their 'Real' or 'Color Triage
status' automatically set to LATER without disqualifying them from
remaining in the user's focus, or NOW section.
Only when the user clicks the Triage button does 'Section Triage
status' rationalize with 'Color Triage status'.
(Neither triage status value is more "actual" or "real" than the other,
and both have color effects in the UI, so I'm sticking with the
"unpurged triage status" name I used above.)
It sounds like there are some conditions (error, update received) in
which we want to force the sort order, while leaving the button color
alone (which is slightly different from what we do now: this will
require preserving the old "section triage status" in "unpurged triage
status", thus creating an unpurged condition).
In other conditions (arrival of non-updates? I'm not sure what specific
cases, but they'd better be exclusive of the above conditions!), we want
to leave the sort order alone, but force the button color. This just
means setting "unpurged triage status", except that we probably
shouldn't if there's already a value there (since it's probably the
user's, though it might be left around from an earlier sync if the user
hasn't purged).
In both these cases, clicking Triage would cause the "unpurged triage
status" value to be copied over the "section triage status", then forgotten.
Mimi, does this sound like what you're asking for?
...Bryan
Philippe Bossut wrote:
Grant Baillie wrote:
The proposed behaviour makes sense to me. I can't speak Mr Stearns,
but it looks to me as if this would be a case of "more of the same".
I'm not that sure. We now have 2 triage status: the focus status
(where it shows in the section) and its real status (its "color"
status). I understand that we do already have that with the new
"suspended triage" feature in the Dashboard but I'm not sure. So the
question is simply: Will a click on the "Triage" toolbar button just
clear up all these distinctions? I suppose it will (so that it will
be indeed "more of the same") but that's not what I'm reading in the
scenarios (or, at least, it's ambiguous).
We need stearns reading for sure...
Cheers,
- Philippe
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Open Source Applications Foundation "Design" mailing list
http://lists.osafoundation.org/mailman/listinfo/design
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Open Source Applications Foundation "Design" mailing list
http://lists.osafoundation.org/mailman/listinfo/design
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Open Source Applications Foundation "Design" mailing list
http://lists.osafoundation.org/mailman/listinfo/design