aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorTed Zlatanov2016-07-11 11:01:26 -0400
committerTed Zlatanov2016-07-20 08:52:11 -0400
commit30b3a842ec87d27cfe003b6d4323689d48b3fcd2 (patch)
tree6588aff454fd55b05d5c08ae0c7d40b209dae831 /doc
parent60dd094a8c7bdbbff121c99f56f42910534e7cc1 (diff)
downloademacs-30b3a842ec87d27cfe003b6d4323689d48b3fcd2.tar.gz
emacs-30b3a842ec87d27cfe003b6d4323689d48b3fcd2.zip
Bring the Gnus Cloud package into working order.
* lisp/gnus/gnus-sync.el: Removed in favor of gnus-cloud.el. * lisp/gnus/gnus-cloud.el: Autoload EPG functions. Change storage format to simplify non-file data. (gnus-cloud-storage-method): New defcustom to support nil, Base64, Base64+gzip, or EPG encoding on the Gnus Cloud IMAP server. Defaults to EPG if that's available, Base64+gzip otherwise. (gnus-cloud-interactive): New defcustom to make Gnus Cloud operations interactive, defaults to enabled. (gnus-cloud-group-name): New variable for the Gnus Cloud group name. (gnus-cloud-make-chunk): Tag with "Gnus-Cloud-Version" instead of just "Version". (gnus-cloud-insert-data): Simplify and support :newsrc-data entries. (gnus-cloud-encode-data, gnus-cloud-decode-data): Support various storage methods as per gnus-cloud-storage-method. (gnus-cloud-parse-chunk): Look for "Gnus-Cloud-Version" marker. (gnus-cloud-parse-version-1): Fix parsing loop bug. Handle :newsrc-data entries. (gnus-cloud-update-all): Handle :newsrc-data entries and dispatch to file and data handlers. (gnus-cloud-update-newsrc-data): New function to handle :newrsc-data entries. (gnus-cloud-update-file): Rework to support gnus-cloud-interactive and be more careful. (gnus-cloud-delete-file): Remove; merged into gnus-cloud-update-file. (gnus-cloud-file-covered-p, gnus-cloud-all-files) (gnus-cloud-files-to-upload, gnus-cloud-ensure-cloud-group) (gnus-cloud-add-timestamps, gnus-cloud-available-chunks) (gnus-cloud-prune-old-chunks): Fix indentation. (gnus-cloud-timestamp): New function to make a standard Gnus Cloud timestamp. (gnus-cloud-file-new-p): Use it. (gnus-cloud-upload-all-data): Add interactive convenience function to upload all data. (gnus-cloud-upload-data): Make interactive; collect files and newsrc data separately; refresh Gnus Cloud group after insert. (gnus-cloud-download-all-data): Add interactive convenience function to download all data. (gnus-cloud-download-data): Rework to support "Gnus-Cloud-Version" marker and different storage methods. (gnus-cloud-host-server-p): New function to check if a server is the Gnus Cloud host. (gnus-cloud-collect-full-newsrc): Tag entries with :newsrc-data. (gnus-cloud-host-acceptable-method-p): New function so other code can check if a server method can host the Gnus cloud. (gnus-cloud-storage-method): Use 'radio instead of 'choice for better UI. (gnus-cloud-method): Make this a defcustom and note how to set it. * lisp/gnus/gnus-group.el (gnus-group-cloud-map): Add Gnus Cloud autoloaded keybindings under the `~' prefix. * lisp/gnus/gnus-srvr.el (gnus-server-mode-map, gnus-server-make-menu-bar) (gnus-server-cloud, gnus-server-cloud-host) (gnus-server-font-lock-keywords, gnus-server-insert-server-line) (gnus-server-toggle-cloud-method-server): Support Gnus Cloud synchronized servers and synchronization host server toggling (`i' and `I') and visual display. (gnus-server-toggle-cloud-method-server): Use gnus-cloud-host-acceptable-method-p. (gnus-server-toggle-cloud-method-server): Use custom-set-variables to set the gnus-cloud-method. Ask the user if it's OK to upload the data right now. * doc/misc/gnus.texi: Document Gnus Cloud package.
Diffstat (limited to 'doc')
-rw-r--r--doc/misc/gnus.texi96
1 files changed, 96 insertions, 0 deletions
diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi
index df673fc099f..2473d26cc15 100644
--- a/doc/misc/gnus.texi
+++ b/doc/misc/gnus.texi
@@ -828,6 +828,7 @@ Various
828* Thwarting Email Spam:: Simple ways to avoid unsolicited commercial email. 828* Thwarting Email Spam:: Simple ways to avoid unsolicited commercial email.
829* Spam Package:: A package for filtering and processing spam. 829* Spam Package:: A package for filtering and processing spam.
830* The Gnus Registry:: A package for tracking messages by Message-ID. 830* The Gnus Registry:: A package for tracking messages by Message-ID.
831* The Gnus Cloud:: A package for synchronizing Gnus marks.
831* Other modes:: Interaction with other modes. 832* Other modes:: Interaction with other modes.
832* Various Various:: Things that are really various. 833* Various Various:: Things that are really various.
833 834
@@ -22208,6 +22209,7 @@ to you, using @kbd{G b u} and updating the group will usually fix this.
22208* Thwarting Email Spam:: Simple ways to avoid unsolicited commercial email. 22209* Thwarting Email Spam:: Simple ways to avoid unsolicited commercial email.
22209* Spam Package:: A package for filtering and processing spam. 22210* Spam Package:: A package for filtering and processing spam.
22210* The Gnus Registry:: A package for tracking messages by Message-ID. 22211* The Gnus Registry:: A package for tracking messages by Message-ID.
22212* The Gnus Cloud:: A package for synchronizing Gnus marks.
22211* Other modes:: Interaction with other modes. 22213* Other modes:: Interaction with other modes.
22212* Various Various:: Things that are really various. 22214* Various Various:: Things that are really various.
22213@end menu 22215@end menu
@@ -26166,6 +26168,100 @@ default this is just @code{(marks)} so the custom registry marks are
26166precious. 26168precious.
26167@end defvar 26169@end defvar
26168 26170
26171@node The Gnus Cloud
26172@section The Gnus Cloud
26173@cindex cloud
26174@cindex gnus-cloud
26175@cindex synchronization
26176@cindex sync
26177@cindex synch
26178
26179The Gnus Cloud is a way to synchronize marks and general files and
26180data across multiple machines.
26181
26182Very often, you want all your marks (what articles you've read, which
26183ones were important, and so on) to be synchronized between several
26184machines. With IMAP, that's built into the protocol, so you can read
26185nnimap groups from many machines and they are automatically
26186synchronized. But NNTP, nnrss, and many other backends do not store
26187marks, so you have to do it locally.
26188
26189The Gnus Cloud package stores the marks, plus any files you choose, on
26190an IMAP server in a special folder. It's like a
26191DropTorrentSyncBoxOakTree(TM).
26192
26193@menu
26194* Gnus Cloud Setup::
26195* Gnus Cloud Usage::
26196@end menu
26197
26198@node Gnus Cloud Setup
26199@subsection Gnus Cloud Setup
26200
26201Setting up the Gnus Cloud takes less than a minute. From the Group
26202buffer:
26203
26204Press @kbd{^} to go to the Server buffer. Here you'll see all the
26205servers that Gnus knows. @xref{Server Buffer}.
26206
26207Then press @kbd{i} to mark any servers as cloud-synchronized (their marks are synchronized).
26208
26209Then press @kbd{I} to mark a single server as the cloud host (it must
26210be an IMAP server, and will host a special IMAP folder with all the
26211synchronization data). This will set the variable
26212@code{gnus-cloud-method} (using the Customize facilities), then ask
26213you to optionally upload your first CloudSynchronizationDataPack(TM).
26214
26215@node Gnus Cloud Usage
26216@subsection Gnus Cloud Usage
26217
26218After setting up, you can use these shortcuts from the Group buffer:
26219
26220@table @kbd
26221@item ~ RET
26222@item ~ d
26223@findex gnus-cloud-download-all-data
26224@cindex cloud, download
26225Download the latest Gnus Cloud data.
26226
26227@item ~ u
26228@item ~ ~
26229@findex gnus-cloud-upload-all-data
26230@cindex cloud, download
26231Upload the local Gnus Cloud data. Creates a new
26232CloudSynchronizationDataPack(TM).
26233
26234@end table
26235
26236But wait, there's more. Of course there's more. So much more. You can
26237customize all of the following.
26238
26239@defvar gnus-cloud-synced-files
26240These are the files that will be part of every
26241CloudSynchronizationDataPack(TM). They are included in every upload,
26242so don't synchronize a lot of large files. Files under 100Kb are best.
26243@end defvar
26244
26245@defvar gnus-cloud-storage-method
26246This is a choice from several storage methods. It's highly recommended
26247to use the EPG facilities. It will be automatic if have GnuPG
26248installed and EPG loaded. Otherwise, you could use Base64+gzip,
26249Base64, or no encoding.
26250@end defvar
26251
26252@defvar gnus-cloud-interactive
26253When this is set, and by default it is, the Gnus Cloud package will
26254ask you for confirmation here and there. Leave it on until you're
26255comfortable with the package.
26256@end defvar
26257
26258
26259@defvar gnus-cloud-method
26260The name of the IMAP server to store the
26261CloudSynchronizationDataPack(TM)s. It's easiest to set this from the
26262Server buffer (@pxref{Gnus Cloud Setup}).
26263@end defvar
26264
26169@node Other modes 26265@node Other modes
26170@section Interaction with other modes 26266@section Interaction with other modes
26171 26267