changeset 14:55ec590cfa07

Wrote about the draft folder.
author markus schnalke <meillo@marmaro.de>
date Sun, 22 Apr 2012 11:49:46 +0200
parents 9e17ad63f7f1
children 66d1835189ad
files ch03.roff
diffstat 1 files changed, 58 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/ch03.roff	Sat Apr 21 11:40:28 2012 +0200
+++ b/ch03.roff	Sun Apr 22 11:49:46 2012 +0200
@@ -117,6 +117,64 @@
 by the removal.
 
 
+.H1 "Draft and Trash Folders
+.U2 "The Draft Folder
+.P
+Historically, MH provided exactly one draft message, named `\fLdraft\fP' and
+being located in the MH directory. When starting to compose another message
+before the former one was sent, the user had been questioned wether to use,
+refile or replace the old draft. Working on multiple drafts at the same time
+was impossible. One could only work on them in alteration by refiling the
+previous one to some directory and fetching some other one for reediting. 
+This manual draft management needed to be done each time the user wanted
+to switch between editing one draft to editing another.
+.P
+To allow true parallel editing of drafts, in a straight forward way, the
+draft folder facility exists. It had been introduced already in July 1984
+by Marshall T. Rose. The facility was deactivated by default.
+Even in nmh, the draft folder facility remained deactivated by default.
+At least, Richard Coleman added the man page \fImh-draft(5)\fI to document
+the feature well.
+.P
+The only advantage of not using the draft folder facility is the static
+name of the draft file. This could be an issue for MH frontends like mh-e.
+But as they likely want to provide working on multiple drafts in parallel,
+the issue is only concerning compatibility. The aim of nmh to stay compatible
+prevented the default activation of the draft folder facility.
+.P
+On the other hand, a draft folder is the much more natural concept than
+a draft message. MH's mail storage consists of folders and messages,
+the messages named with ascending numbers. A draft message breaks with this
+concept by introducing a message in a file named ``draft''. This draft
+message is special. It can not be simply listed with the available tools,
+but instead special switches were required. I.e. corner-cases were
+introduced. A draft folder, in contrast, does not introduce such
+corner-cases. The available tools can operate on the messages within that
+folder like on any messages within any mail folders. The only difference
+is the fact that the default folder for \fLsend\fP is the draft folder,
+instead of the current folder, like for all other tools.
+.P
+The trivial part of the change was activating the draft folder facility
+by default and setting a default name for this folder. Obviously, I chose
+the name ``\fL+drafts\fP''. This made the \fL\-draftfolder\fP and
+\fL\-draftmessage\fP switches useless, thus I could remove them two.
+The more difficult but also the part that showed the real improvement,
+was updating the tools to the new concept. \fL\-draft\fP switches could
+be dropped, as operating on a draft message became indistinguishable to
+operating on any other message for the tools. \fLcomp\fP still has its
+\fL\-use\fP switch for switching between its two modes: (1) Compose a new
+draft, possibly by taking some existing message as a form. (2) Modify
+an existing draft. In either case, the behavior of \fLcomp\fP is
+deterministic. There is no more need to query the user. I consider this
+a major improvement. By making \fLsend\fP simply operate on the current
+message in the draft folder by default, with both, message and folder,
+overridable by specifying them on the command line, it is now possible
+to send any message in the storage by simply specifying its folder and
+name.
+.P
+All theses changes converted special cases to regular cases, thus
+simplifying the tools and increasing the flexibility.
+
 
 .H1 "Paths to ...
 .P