2001-09-04 Katsumi Yamaoka <yamaoka@jpl.org>
[gnus] / texi / gnus.texi
index 77943e7..8eee5b5 100644 (file)
@@ -660,6 +660,7 @@ Getting Mail
 * Duplicates::                  Dealing with duplicated mail.
 * Not Reading Mail::            Using mail backends for reading other files.
 * Choosing a Mail Backend::     Gnus can read a variety of mail formats.
+* Archiving Mail::              How to backup your mail.
 
 Mail Sources
 
@@ -2768,7 +2769,7 @@ See also @code{gnus-group-charset-alist}.
 
 @item ignored-charsets
 @cindex ignored-charset
-Elements that look like @code{(ignored-charsets x-known iso-8859-1)}
+Elements that look like @code{(ignored-charsets x-unknown iso-8859-1)}
 will make @code{iso-8859-1} and @code{x-unknown} ignored; that is, the
 default charset will be used for decoding articles.
 
@@ -11475,6 +11476,7 @@ course.
 * Duplicates::                  Dealing with duplicated mail.
 * Not Reading Mail::            Using mail backends for reading other files.
 * Choosing a Mail Backend::     Gnus can read a variety of mail formats.
+* Archiving Mail::              How to backup your mail.
 @end menu
 
 
@@ -13074,9 +13076,10 @@ servers have the property that you may backup them using @code{tar} or
 similar, and later be able to restore them into Gnus (by adding the
 proper @code{nnml} server) and have all your marks be preserved.  Marks
 for a group is usually stored in the @code{.marks} file (but see
-@code{nnml-marks-file-name}) within the @code{nnml} directory.
-Individual @code{nnml} groups are also possible to backup, restore it
-using @kbd{G m} to subscribe to the group.
+@code{nnml-marks-file-name}) within each @code{nnml} group's directory.
+Individual @code{nnml} groups are also possible to backup, use @kbd{G m}
+to restore the group (after restoring the backup into the nnml
+directory).
 
 Virtual server settings:
 
@@ -13142,9 +13145,9 @@ Commands}).
 @cindex mh-e mail spool
 
 @code{nnmh} is just like @code{nnml}, except that is doesn't generate
-@sc{nov} databases and it doesn't keep an active file.  This makes
-@code{nnmh} a @emph{much} slower backend than @code{nnml}, but it also
-makes it easier to write procmail scripts for.
+@sc{nov} databases and it doesn't keep an active file or marks file.
+This makes @code{nnmh} a @emph{much} slower backend than @code{nnml},
+but it also makes it easier to write procmail scripts for.
 
 Virtual server settings:
 
@@ -13182,6 +13185,18 @@ file.  Each file is in the standard Un*x mbox format.  @code{nnfolder}
 will add extra headers to keep track of article numbers and arrival
 dates.
 
+@cindex self contained nnfolder servers
+When the marks file is used (which it is by default), @code{nnfolder}
+servers have the property that you may backup them using @code{tar} or
+similar, and later be able to restore them into Gnus (by adding the
+proper @code{nnfolder} server) and have all your marks be preserved.
+Marks for a group is usually stored in a file named as the mbox file
+with @code{.mrk} concatenated to it (but see
+@code{nnfolder-marks-file-suffix}) within the @code{nnfolder} directory.
+Individual @code{nnfolder} groups are also possible to backup, use
+@kbd{G m} to restore the group (after restoring the backup into the
+@code{nnfolder} directory).
+
 Virtual server settings:
 
 @table @code
@@ -13231,6 +13246,19 @@ extract some information from it before removing it.
 If non-@code{nil}, this backend will ignore any @sc{nov} files.  The
 default is @code{nil}.
 
+@item nnfolder-nov-file-suffix
+@vindex nnfolder-nov-file-suffix
+The extension for @sc{nov} files.  The default is @file{.nov}.
+
+@item nnfolder-marks-is-evil
+@vindex nnfolder-marks-is-evil
+If non-@code{nil}, this backend will ignore any @sc{marks} files.  The
+default is @code{nil}.
+
+@item nnfolder-marks-file-suffix
+@vindex nnfolder-marks-file-suffix
+The extension for @sc{marks} files.  The default is @file{.mrk}.
+
 @end table
 
 
@@ -13413,6 +13441,35 @@ cases, it makes a lot of sense to let the Gnus Agent (@pxref{Gnus
 Unplugged}) handle downloading articles, and then you can read them at
 leisure from your local disk.  No more World Wide Wait for you.
 
+@node Archiving Mail
+@subsection Archiving Mail
+@cindex archiving mail
+@cindex backup of mail
+
+Some of the backends, notably nnml and nnfolder, now actually store
+the article marks with each group.  For these servers, archiving and
+restoring a group while preserving marks is fairly simple.
+
+(Preserving the group level and group parameters as well still
+requires ritual dancing and sacrifices to the @code{.newsrc.eld} deity
+though.)
+
+To archive an entire @code{nnml} or @code{nnfolder} server, take a
+recursive copy of the server directory.  There is no need to shut down
+Gnus, so archiving may be invoked by @code{cron} or similar.  You
+restore the data by restoring the directory tree, and adding a server
+definition pointing to that directory in Gnus. The @ref{Article
+Backlog}, @ref{Asynchronous Fetching} and other things might interfer
+with overwriting data, so you may want to shut down Gnus before you
+restore the data.
+
+It is also possible to archive individual @code{nnml} or
+@code{nnfolder} groups, while preserving marks.  For @code{nnml}, you
+copy all files in the group's directory.  For @code{nnfolder} you need
+to copy both the base folder file itself (@code{FOO}, say), and the
+marks file (@code{FOO.mrk} in this example).  Restoring the group is
+done with @kbd{G m} from the Group buffer.  The last step makes Gnus
+notice the new directory.
 
 @node Web Searches
 @subsection Web Searches
@@ -19994,6 +20051,9 @@ well as numerous other things).
 @item
 Luis Fernandes---design and graphics.
 
+@item
+Joe Reiss---creator of the smiley faces.
+
 @item
 Justin Sheehy--the FAQ maintainer.
 
@@ -22071,8 +22131,18 @@ description-buffer = *description-line
 @item (nnchoke-request-newgroups DATE &optional SERVER)
 
 The result data from this function should be all groups that were
-created after @samp{date}, which is in normal human-readable date
-format.  The data should be in the active buffer format.
+created after @samp{date}, which is in normal human-readable date format
+(i.e., the date format used in mail and news headers, and returned by
+the function @code{message-make-date} by default).  The data should be
+in the active buffer format.
+
+It is okay for this function to return `too many' groups; some backends
+might find it cheaper to return the full list of groups, rather than
+just the new groups.  But don't do this for backends with many groups.
+Normally, if the user creates the groups herself, there won't be too
+many groups, so nnml and the like are probably safe.  But for backends
+like nntp, where the groups have been created by the server, it is quite
+likely that there can be many groups.
 
 
 @item (nnchoke-request-create-group GROUP &optional SERVER)
@@ -22362,6 +22432,7 @@ Below is a slightly shortened version of the @code{nndir} backend.
 @subsubsection Hooking New Backends Into Gnus
 
 @vindex gnus-valid-select-methods
+@findex gnus-declare-backend
 Having Gnus start using your new backend is rather easy---you just
 declare it with the @code{gnus-declare-backend} functions.  This will
 enter the backend into the @code{gnus-valid-select-methods} variable.
@@ -22375,6 +22446,8 @@ Here's an example:
 (gnus-declare-backend "nnchoke" 'mail 'respool 'address)
 @end lisp
 
+The above line would then go in the @file{nnchoke.el} file.
+
 The abilities can be:
 
 @table @code