Gnus development mailing list
 help / color / mirror / Atom feed
From: Ted Zlatanov <tzz@lifelogs.com>
To: ding@gnus.org
Subject: Re: gnus-sync ideas
Date: Thu, 16 Dec 2010 10:33:26 -0600	[thread overview]
Message-ID: <8739pxsmnd.fsf@lifelogs.com> (raw)
In-Reply-To: <sa3pqt258xf.fsf@cigue.easter-eggs.fr>

On Thu, 16 Dec 2010 11:06:04 +0100 Julien Danjou <julien@danjou.info> wrote: 

JD> On Wed, Dec 15 2010, Ted Zlatanov wrote:
>> - splitting rules (trivial but needs a view/edit interface)

JD> I do not see why it's not a configuration (elisp) thing.

I'm trying to share the configuration between Gnus installations.
Splitting rules are an essential part of the configuration.

>> - BBDB (hard but very important, and useful beyond Gnus)

JD> I do not see the point.

I take it you don't keep your BBDB under VCS and endure merge pain when
you update a record from different machines?

>> - topic hierarchy (medium)

JD> I do not see why it's not a configuration (elisp) thing either.

Because topics are an essential part of the Gnus experience, so I think
synchronizing them would make it easy to "just run Gnus" on a different
machine.

>> - subscriptions (but the user can pick subsets as the "work" and "home"
>> setup for instance) (hard)

JD> Replace "level" by tags? But once again, that is a configuration stuff.
JD> That should just be a Lisp list in a .gnus you just C-M-x to update.

Same as topics and splitting rules.

JD> You're mixing 2 problems IMHO. You want to do data synchronization above
JD> several places, and export Gnus state data so they can be reused easily
JD> with other Gnus instances.

Yes, AKA data-sync.el and gnus-sync.el.

JD> I think the latter is a problem you can solve, but trying to resolve the
JD> data synchronization is not an Emacs problem. I do not want Emacs to
JD> mess with my storage strategy nor I want you to make some cloud storage.
JD> I mean: that's not the point.

JD> I store my Emacs configuration in my home, in a git repository. That's
JD> my choice. I could also store my home on a webdav exported storage, NFS,
JD> or whatever. That's my cloud, my business. Do not try to provide
JD> something else: I do not want you to, nor I'd like an Emacs specific
JD> solution.

Sure.  But nothing has *merge* support for ELisp data structures, that's
the problem.  Thus data-sync.el will provide merge strategies.  If you
choose not to use it, you're just versioning your Gnus configuration,
which is fine.  But people want to merge marks and other data between
Gnus installations and Git will NOT do that correctly when there's a
conflict.

So basically you don't like data-sync.el.  That's cool.  You'll be able
to just use gnus-sync.el with an "overwrite-only" data-sync.el backend,
I promise.  And that backend will behave like a file (in fact it will
generate something much like newsrc.eld), and there will be much
rejoicing.

JD> If you want the users to change subscriptions or their levels, there is
JD> a common interface called `cuztomize' which I think is done just for
JD> that, and can dump Lisp code in your configuration file.

But Customize is a) sucky, b) can't handle merging, c) doesn't do large
data sets well, and d) is REALLY hard to modify at this point because so
many users and libraries depend on its exact behavior not to change.  So
I don't think it can handle what Gnus needs.

Ted




  reply	other threads:[~2010-12-16 16:33 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-12-13 17:57 Separating marks from other group configuration Lars Magne Ingebrigtsen
2010-12-13 18:49 ` Steinar Bang
2010-12-13 19:14   ` Lars Magne Ingebrigtsen
2010-12-15 16:32   ` gnus-sync ideas (was: Separating marks from other group configuration) Ted Zlatanov
2010-12-15 19:18     ` gnus-sync ideas Lars Magne Ingebrigtsen
2010-12-15 21:26       ` Ted Zlatanov
2010-12-16 16:08         ` Lars Magne Ingebrigtsen
2010-12-16 17:19           ` Ted Zlatanov
2010-12-16 10:06     ` Julien Danjou
2010-12-16 16:33       ` Ted Zlatanov [this message]
2010-12-16 18:08         ` Steinar Bang
2010-12-17 15:55       ` Philipp Haselwarter
2010-12-17 16:12         ` Lars Magne Ingebrigtsen
2010-12-17 22:19           ` Steinar Bang
2010-12-18 13:45     ` Ted Zlatanov
2010-12-19 20:08     ` Steinar Bang
2010-12-27 15:22       ` Ted Zlatanov
2010-12-29 22:07         ` Steinar Bang
2010-12-14 10:02 ` Separating marks from other group configuration Julien Danjou
2010-12-14 12:04   ` Steinar Bang
2010-12-14 14:45   ` Philipp Haselwarter
2010-12-15 19:47     ` Lars Magne Ingebrigtsen
2010-12-15 20:29       ` Philipp Haselwarter
2010-12-15 20:32         ` Lars Magne Ingebrigtsen
2010-12-15 19:45   ` Lars Magne Ingebrigtsen
2010-12-15 20:38     ` Steinar Bang
2010-12-15 20:42       ` Lars Magne Ingebrigtsen
2010-12-16 10:12         ` Julien Danjou
2010-12-16 15:50           ` Lars Magne Ingebrigtsen
2010-12-16 16:17             ` Julien Danjou
2010-12-16 16:20               ` Lars Magne Ingebrigtsen
2010-12-16 16:27                 ` Julien Danjou
2010-12-16 16:33                   ` Lars Magne Ingebrigtsen
2010-12-16 16:49                     ` Julien Danjou
2010-12-16 16:18             ` Ted Zlatanov

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=8739pxsmnd.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).