Thunderbird:Activity Manager: Difference between revisions

no edit summary
(saving process section before i lose that)
No edit summary
 
(10 intermediate revisions by 2 users not shown)
Line 1: Line 1:
'''NOTE''': The content on this page has been moved to MDC: [http://developer.mozilla.org/en/Thunderbird/Activity_Manager Activity Manager], [http://developer.mozilla.org/en/Thunderbird/Activity_Manager_interfaces Activity Manager Interfaces] and [http://developer.mozilla.org/en/Extensions/Thunderbird/HowTos/Activity_Manager Activity Manager Examples]
{{draft}}
{{draft}}


== Activity Manager ==
== Activity Manager ==


There are 2 major pieces to the Activity Manager.
Is a simple component that understands how do display a combination of user activity and history.  The activity manager works in conjunction with the [[Thunderbird:Interactive Status Bar]] to give the user the right level of notifications concerning what Thunderbird is doing on it's own and how Thunderbird has handled user requests.


* [[Thunderbird:Activity Manager/Service]] — collects errors and events from the components inside Thunderbird and translates information for display in the [[Thunderbird:Activity Manager/Window|Activity Manager Window]]
* [[Thunderbird:Interactive Status Bar]] — displays important events and process activity to the user
* [[Thunderbird:Activity Manager/Window]] — displays information about and gives actions related to the system and user actions performed according to the [[Thunderbird:Activity Manager/Service|Activity Manager Service]]
* [[Thunderbird:Activity Manager/Window]] — displays a more detailed summary of activity for each process and event with relevant actions for each item


The Activity Manager Service is recording actions performed by the user and some actions taken by Thunderbird.  While the Activity Manager Window is providing an interaction point for the user see what actions were performed in the past as well as what actions are currently being processed by Thunderbird.
Events are persistent in the Activity Manager, they should be saved for a set period of time which can be determined after some performance work and testing.


Development for the Activity Manager can be tracked in {{bug|257942}}
Development for the Activity Manager can be tracked in {{bug|257942}}
While the Activity Manager can show more detailed information about any specific item, the [[Thunderbird:Interactive Status Bar]] only shows some of the high level events.


== Activity Items ==
== Activity Items ==
Line 38: Line 38:
** Not all processes need to convert to events (such as sending mail)
** Not all processes need to convert to events (such as sending mail)


Singular and likely active items means a process keeps a transient statusThe display of a process can be transient or remain indefinitely in the activity manager journal; however there is only oneProcesses can create events or errors for the Activity Manager but processes themselves are not events or errors.
There is no failure state included in the process state, there is only try again and wait for input.  This is intentional because there should  never be a time that Thunderbird completely quits on it's user, it can and should continue trying until it has succeeded or been told to cancelDuring this period of continually trying it's important that, through these changes, the user is aware of what Thunderbird is doing and has the capability to alter it's actions by cancelling the try again process.
 
Processes should (essentially) be directly attached to a server URL.  With incoming email accounts and outgoing email accounts the errors are almost always problems with server connectionsWhen a connection fails the group of actions running will often all block at the same issue, be it trying the connection again or waiting for user input.  Therefore by creating a relationship of process to server with multiple actions in the process we can have a user interface where single actions are available to ''try now'' for all actions running in a process.


Active Processes are always sorted at the top of the Activity Manager Window while they are active.  Once a process is finished it converts to an event and is sorted like an event.
''Sort Order''


Here are 2 examples of processes:
An active process is always sorted at the top of the Activity Manager Window by start time while it is active.  Once a process is finished it can convert to an event and then is sorted like an event.  If a process is in the Try Again state it is sorted above active processes and a process in the Waiting for Input state is sorted above all.
 
''Here are 2 examples of processes''


==== Account Activity ====
==== Account Activity ====


A Process connected to the mail account which creates multiple events for different activities.  This is the parent process essentially responsible for the connections between thunderbird and a mail server.  As it synchronizes mail or performs user initiated actions it can create events or errors in the Activity Manager.
A Process connected to the mail account which creates multiple events for different activities.  This is the parent process essentially responsible for the connections between Thunderbird and a mail server.  As it synchronizes mail or performs user initiated actions it can create events or errors in the Activity Manager.
 
A single account process can perform multiple actions at the same time, for example. 
 
<pre>
+--------------------------------------------------------------------+
| Moz Mail                                                    ( v ) |
|                                                                    |
|      [=====================                ]  100 of 300 messages  |
|      Synchronizing Folder 'bugs'                                  |
|      [============                        ]  3 of 20 messages    |
|      Moving Conversation from 'Inbox' to 'Personal'              |
|      [===============================      ]  23 of 30 messages    |
|      Filtering messages in 'Inbox'                                |
|                                                                    |
+--------------------------------------------------------------------+
</pre>
 
''More examples at the [[Thunderbird:Activity Manager/Process/Account Activity|Account Activity]] page''
 


Possible Events Created:
Possible Events Created
* Moved - Folder / Message / Conversation
* Moved - Folder / Message / Conversation
* Copied - Folder / Message / Conversation  
* Copied - Folder / Message / Conversation  
* Deleted - Folder / Message / Conversation
* Deleted - Folder / Message / Conversation


Possible Errors Created
Possible Try Again States
* Server Password Error
* Connection Error
* Server Connection Error
 
Possible Waiting for Input State
* Password Error
 
Possible Finished State
* Completed Sync


==== Sending Mail ====
==== Sending Mail ====


A parent process which represents the connection to an SMTP server.  The display of this process is transient and so only appears when needed.  Once the connection to the server is made this process can display progress as it creates Sent Message events for each message sent.
A parent process which represents the connection to an SMTP server.  The display of this process is transient, therefore on finished state it disappears from the Activity Manager Window leaving behind only the Sent Mail Events.


Once the connection to the server is made this process can display progress as it creates Sent Message events for each message sent.
<pre>
+--------------------------------------------------------------------+
| Account - /Default SMTP/                                          |
|                                                                    |
|      [=====================                ]  10 of 30 messages    |
|      Sending Messages                                            |
|                                                                    |
+--------------------------------------------------------------------+
</pre>


=== Errors ===
Possible Events Created
* Sent Message


Errors are items attached to a process.  The indicate a problem that can't be reconciled by Thunderbird.
Possible Try Again States
* Connection Error
* General Error


Errors may be shown to the user and therefore should only be used sparingly.
Possible Waiting for Input State
* Password Error


By default anytime an error occurs that Thunderbird may be able to recover from by trying again we do not use an error.  Instead the process displays it's status as trying again after a certain timeout with an option to ''try now'' for the user skip the timeout period.
Finished State
* ''Disappear''


=== Events ===
=== Events ===
Line 76: Line 120:
The goal of an event is to provide a historical context to the user about actions they performed, such as sending mail or deleting contacts.  In future versions events could have an and undo context to all people to recover from operations they didn't intend.
The goal of an event is to provide a historical context to the user about actions they performed, such as sending mail or deleting contacts.  In future versions events could have an and undo context to all people to recover from operations they didn't intend.


== Old Designs ==
== Relevant Links ==
 
These designs need to be cleaned up and associated with examples above.
 
<pre>
+---------------------------------------------------------------+
| Synchronize _GMail_ messages                          10:30am |
| [=================================================    ]  (x) |
| 1 minute remaining -- 146 of 148 _new messages_              |
+---------------------------------------------------------------+
</pre>
 
 
<pre>
+---------------------------------------------------------------+
| Synchronize _GMail_ messages                        yesterday |
| Canceled                                                  (&) |
+---------------------------------------------------------------+
</pre>
 
 
<pre>
+---------------------------------------------------------------+
| Sent message _Road Trip Plans_                        10:30am |
| to:joe@example.com, 1 attachment                              |
+---------------------------------------------------------------+
| Moving _Road Trip Plans_ to _Archives_                10:32am |
| to:joe@example.com, 1 attachment                              |
+---------------------------------------------------------------+
</pre>
 
''Much of this taken from the blog post [http://clarkbw.net/blog/2008/06/04/activity-is-the-new-download/ Activity is the new Download]''


* [http://clarkbw.net/blog/2008/06/04/activity-is-the-new-download/ Activity is the new Download]
* [http://clarkbw.net/designs/interactive-status-bar/ interactive status bar designs]


== Relevant Bugs ==
== Relevant Bugs ==
Confirmed users
371

edits