270
edits
| Line 177: | Line 177: | ||
=== Task List for Feature 2 === | === Task List for Feature 2 === | ||
Decision table for IMAP message operations. Current State (6th June 2008): | |||
{|border=1 | |||
| <b>Copying/Moving an IMAP message</b> || <center>1</center> || <center>2</center> || <center>3</center> || <center>4</center> || <center>5</center> || <center>6</center> || <center>7</center> || <center>8</center> || <center>9</center> || <center>10</center> || <center>11</center> || <center>12</center> | |||
|- | |||
| Source folder is in online mode || <center>Y</center> || <center>Y</center> || <center>Y</center> || <center>Y</center> || <center>N</center> || <center>N</center> || <center>N</center> || <center>N</center> || <center>N</center> || <center>N</center> || <center>N</center> || <center>N</center> | |||
|- | |||
| Destination folder is in online mode || <center>Y</center> || <center>Y</center> || <center>N</center> || <center>N</center> || <center>Y</center> || <center>Y</center> || <center>Y</center> || <center>Y</center> || <center>N</center> || <center>N</center> || <center>N</center> || <center>N</center> | |||
|- | |||
| TB is in online state || <center>Y</center> || <center>N</center> || <center>Y</center> || <center>N</center> || <center>Y</center> || <center>Y</center> || <center>N</center> || <center>N</center> || <center>Y</center> || <center>Y</center> || <center>N</center> || <center>N</center> | |||
|- | |||
| Message is available locally || - || - || - || - || <center>Y</center> || <center>N</center> || <center>Y</center> || <center>N</center> || <center>Y</center> || <center>N</center> || <center>Y</center> || <center>N</center> | |||
|- | |||
| <b><i>Actions</i></b>|| || || || || || || || || || || || | |||
|- | |||
| Remove the header from the source folder's database|| <center>X<sup>2</sup></center> || <center>X<sup>2</sup></center> || <center>X<sup>2</sup></center> || <center>X<sup>2</sup></center> || <center>X<sup>2</sup></center> || <center>X<sup>2</sup></center> || <center>X<sup>2</sup></center> || <center>X<sup>2</sup></center> || <center>X<sup>2</sup></center> || <center>X<sup>2</sup></center> || <center>X<sup>2</sup></center> || <center>X<sup>2</sup></center> | |||
|- | |||
| Add the new header into the destination folder's database|| <center>X<sup>1</sup></center> || <center>X</center> || <center>X<sup>1</sup></center> || <center>X</center> || <center>X<sup>1</sup></center> || <center>X<sup>1</sup></center> || <center>X</center> || <center>X</center> || <center>X<sup>1</sup></center> || <center>X<sup>1</sup></center> || <center>X</center> || <center>X</center> | |||
|- | |||
| Copy the message into the destination folder's <i>mbox</i> || || <center>X</center> || || || || || || <center>X</center> || || || <center>X</center> || | |||
|- | |||
|} | |||
<i>DELETE and MOVE are the same operations in case that DELETE means "move to Trash"</i> | |||
<sup>1</sup> If and only if the destination folder is already selected (having connection to the server) | |||
<sup>2</sup> Do not remove if the operation is COPY | |||
{|border=1 | |||
| <b>Selecting an IMAP message</b> || <center>1</center> || <center>2</center> || <center>3</center> || <center>4</center> | |||
|- | |||
| Message folder is in online mode || <center>Y</center> || <center>Y</center> || <center>N</center> || <center>N</center> | |||
|- | |||
| TB is in online state || <center>Y</center> || <center>N</center> || <center>Y</center> || <center>N</center> | |||
|- | |||
| <b><i>Actions</i></b>|| || || || | |||
|- | |||
| Fetch message from the server || <center>X</center> || <center>-</center> || <center>X</center> || <center>-</center> | |||
|- | |||
| Get local copy if available|| || <center>X</center> || || <center>X</center> | |||
|- | |||
| Store locally in the folder's <i>mbox</i> || || || <center>X</center> || | |||
|- | |||
|} | |||
{|border=1 | |||
| <b>Tagging an IMAP message</b> || <center>1</center> || <center>2</center> || <center>3</center> || <center>4</center> | |||
|- | |||
| Message folder is in online mode || <center>Y</center> || <center>Y</center> || <center>N</center> || <center>N</center> | |||
|- | |||
| TB is in online state || <center>Y</center> || <center>N</center> || <center>Y</center> || <center>N</center> | |||
|- | |||
| <b><i>Actions</i></b>|| || || || | |||
|- | |||
| Store the flag on || <center>server</center> || <center>local db</center> || <center>server</center> || <center>local db</center> | |||
|} | |||
{|border=1 | |||
| <b>Selecting an IMAP folder</b> || <center>1</center> || <center>2</center> || <center>3</center> || <center>4</center> | |||
|- | |||
| Message folder is in online mode || <center>Y</center> || <center>Y</center> || <center>N</center> || <center>N</center> | |||
|- | |||
| TB is in online state || <center>Y</center> || <center>N</center> || <center>Y</center> || <center>N</center> | |||
|- | |||
| <b><i>Actions</i></b>|| || || || | |||
|- | |||
| Fetch message headers from the server || <center>X</center> || || <center>X</center> || | |||
|- | |||
| Remove headers from the database that do not exist on the server || <center>X</center> || || <center>X</center> || | |||
|- | |||
| Add new headers to the local database || <center>X</center> || || <center>X</center> || | |||
|- | |||
| Fetch headers from the local database || || <center>X</center> || || <center>X</center> | |||
|- | |||
| Playback offline operations || <center>X<sup>1</sup></center> || || <center>X<sup>1</sup></center> || | |||
|} | |||
<sup>1</sup> If and only if the selected folder is the source folder of the pending offline operation | |||
==== Decisions to make==== | ==== Decisions to make==== | ||
edits