docs/master
diff ch03.roff @ 14:55ec590cfa07
Wrote about the draft folder.
author | markus schnalke <meillo@marmaro.de> |
---|---|
date | Sun, 22 Apr 2012 11:49:46 +0200 |
parents | 7ca384d68edc |
children | 81f703140554 |
line diff
1.1 --- a/ch03.roff Sat Apr 21 11:40:28 2012 +0200 1.2 +++ b/ch03.roff Sun Apr 22 11:49:46 2012 +0200 1.3 @@ -117,6 +117,64 @@ 1.4 by the removal. 1.5 1.6 1.7 +.H1 "Draft and Trash Folders 1.8 +.U2 "The Draft Folder 1.9 +.P 1.10 +Historically, MH provided exactly one draft message, named `\fLdraft\fP' and 1.11 +being located in the MH directory. When starting to compose another message 1.12 +before the former one was sent, the user had been questioned wether to use, 1.13 +refile or replace the old draft. Working on multiple drafts at the same time 1.14 +was impossible. One could only work on them in alteration by refiling the 1.15 +previous one to some directory and fetching some other one for reediting. 1.16 +This manual draft management needed to be done each time the user wanted 1.17 +to switch between editing one draft to editing another. 1.18 +.P 1.19 +To allow true parallel editing of drafts, in a straight forward way, the 1.20 +draft folder facility exists. It had been introduced already in July 1984 1.21 +by Marshall T. Rose. The facility was deactivated by default. 1.22 +Even in nmh, the draft folder facility remained deactivated by default. 1.23 +At least, Richard Coleman added the man page \fImh-draft(5)\fI to document 1.24 +the feature well. 1.25 +.P 1.26 +The only advantage of not using the draft folder facility is the static 1.27 +name of the draft file. This could be an issue for MH frontends like mh-e. 1.28 +But as they likely want to provide working on multiple drafts in parallel, 1.29 +the issue is only concerning compatibility. The aim of nmh to stay compatible 1.30 +prevented the default activation of the draft folder facility. 1.31 +.P 1.32 +On the other hand, a draft folder is the much more natural concept than 1.33 +a draft message. MH's mail storage consists of folders and messages, 1.34 +the messages named with ascending numbers. A draft message breaks with this 1.35 +concept by introducing a message in a file named ``draft''. This draft 1.36 +message is special. It can not be simply listed with the available tools, 1.37 +but instead special switches were required. I.e. corner-cases were 1.38 +introduced. A draft folder, in contrast, does not introduce such 1.39 +corner-cases. The available tools can operate on the messages within that 1.40 +folder like on any messages within any mail folders. The only difference 1.41 +is the fact that the default folder for \fLsend\fP is the draft folder, 1.42 +instead of the current folder, like for all other tools. 1.43 +.P 1.44 +The trivial part of the change was activating the draft folder facility 1.45 +by default and setting a default name for this folder. Obviously, I chose 1.46 +the name ``\fL+drafts\fP''. This made the \fL\-draftfolder\fP and 1.47 +\fL\-draftmessage\fP switches useless, thus I could remove them two. 1.48 +The more difficult but also the part that showed the real improvement, 1.49 +was updating the tools to the new concept. \fL\-draft\fP switches could 1.50 +be dropped, as operating on a draft message became indistinguishable to 1.51 +operating on any other message for the tools. \fLcomp\fP still has its 1.52 +\fL\-use\fP switch for switching between its two modes: (1) Compose a new 1.53 +draft, possibly by taking some existing message as a form. (2) Modify 1.54 +an existing draft. In either case, the behavior of \fLcomp\fP is 1.55 +deterministic. There is no more need to query the user. I consider this 1.56 +a major improvement. By making \fLsend\fP simply operate on the current 1.57 +message in the draft folder by default, with both, message and folder, 1.58 +overridable by specifying them on the command line, it is now possible 1.59 +to send any message in the storage by simply specifying its folder and 1.60 +name. 1.61 +.P 1.62 +All theses changes converted special cases to regular cases, thus 1.63 +simplifying the tools and increasing the flexibility. 1.64 + 1.65 1.66 .H1 "Paths to ... 1.67 .P