Gnus development mailing list
 help / color / mirror / Atom feed
From: Ted Zlatanov <tzz@lifelogs.com>
To: ding@gnus.org
Subject: newsrc stored with Tramp or IMAP (was: Gnus: Buffer has a running process; kill it? (y or n))
Date: Wed, 14 Oct 2009 10:40:12 -0500	[thread overview]
Message-ID: <87iqeim1b7.fsf_-_@lifelogs.com> (raw)
In-Reply-To: <1sfx9mmlul.fsf@voll.uninett.no>

On Wed, 14 Oct 2009 10:16:34 +0200 Vegard Vesterheim <vegard.vesterheim@uninett.no> wrote: 

VV> I could configure all my Gnusae to store its newsrc files with tramp
VV> (possibly over IMAP), and configure one of them to be master and the
VV> others to be slaves.

VV> Would this work without having to restart Gnus whenever I want to read
VV> mail?

No, Gnus wouldn't know that the other instance has modified the newsrc
file, and it wouldn't be able to easily synchronize changes with the
modified version.

The Tramp solution is good for cases where the file is small and
self-contained.  Unfortunately the newsrc file has too many dependencies
on things in memory.

I think the proper solution will be to allow saving and reading the
newsrc file in a more structured way, by group name.  Basically just
gnus-newsrc-alist needs to be broken up.  All the other variables
(gnus-topic-topology, gnus-topic-alist, gnus-server-alist, etc.) can be
stuffed into a single entry.  gnus-newsrc-file-version can be used to
indicate this more structured newsrc file.

With the imap-hash library I uploaded recently, this is pretty easy.
You'd have one entry per group name, plus one "global" entry.  To see if
the entry has been updated, you'd check the message date and compare it
to your own (so you'd need to track the last update of a group from the
newsrc, similar to how gnus-newsrc-last-checked-date works).  Merging
marks and counts per group is much easier than merging globally.

This work can obviously be generalized to use any storage mechanism,
from a remote RDBMS to a non-relational database like CouchDB or
Cassandra to Amazon's S3.  Furthermore, other Gnus structured data can
use it: score files, splitting rules, and the registry.  So I think it's
worth pursuing.  On my own, I'd probably get to it sometime next year
but if someone else is interested please feel free...

Ted




      reply	other threads:[~2009-10-14 15:40 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-10-13 18:39 Gnus: Buffer has a running process; kill it? (y or n) 白い熊
2009-10-14  6:57 ` Tassilo Horn
2009-10-14  8:16   ` Steinar Bang
2009-10-14  8:16   ` Vegard Vesterheim
2009-10-14 15:40     ` Ted Zlatanov [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87iqeim1b7.fsf_-_@lifelogs.com \
    --to=tzz@lifelogs.com \
    --cc=ding@gnus.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).