Gnus development mailing list
 help / color / mirror / Atom feed
* nnimap RFC2342 support (IMAP4 Namespace)
@ 2001-01-31 21:33 Steven E. Harris
  2001-01-31 22:21 ` Simon Josefsson
  0 siblings, 1 reply; 7+ messages in thread
From: Steven E. Harris @ 2001-01-31 21:33 UTC (permalink / raw)


When I've had to move folders around on different IMAP servers, I've
run into problems with nnimap's treatment of folder
names. Specifically, nnimap requires the user to specify the folder
name *as it's implemented* on the IMAP server, rather than as a more
abstract path. As an example, where I once had

  nnimap+speakeasy:mailing-lists/gnus-ding

my ISP changed servers and I had to manually move that to

  nnimap+speakeasy:INBOX.mailing-lists.gnus-ding

while MS Outlook just figured out the change without trouble. (Sorry
to hold Outlook up in a positive light.)

Today I stumbled upon RFC2342¹ - IMAP4 Namespace - that looks like it
addresses this exact problem. Has anyone taken a look at this to see
how hard it would be to add support to nnimap?


Footnotes: 
¹ http://www.rfc-editor.org/rfc/rfc2342.txt

-- 
Steven E. Harris        :: steven.harris@tenzing.com
Tenzing                 :: http://www.tenzing.com



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: nnimap RFC2342 support (IMAP4 Namespace)
  2001-01-31 21:33 nnimap RFC2342 support (IMAP4 Namespace) Steven E. Harris
@ 2001-01-31 22:21 ` Simon Josefsson
  2001-02-01  2:34   ` NAGY Andras
  2001-02-01 19:29   ` Steven E. Harris
  0 siblings, 2 replies; 7+ messages in thread
From: Simon Josefsson @ 2001-01-31 22:21 UTC (permalink / raw)
  Cc: ding

On 31 Jan 2001, Steven E. Harris wrote:

>   nnimap+speakeasy:mailing-lists/gnus-ding
>
> my ISP changed servers and I had to manually move that to
>
>   nnimap+speakeasy:INBOX.mailing-lists.gnus-ding
>
> while MS Outlook just figured out the change without trouble. (Sorry
> to hold Outlook up in a positive light.)

Hm, what does "figured out the change" mean?  When a IMAP mailbox name
change, everything a mail clients knows about the mailbox must be
discarded.  Everything else would be asking for trouble...

What would a good solution be?  Gnus automatically detect when a
group has gone missing, and tries to see if various combinations
of the name has magically appeared?  I probably don't understand what
Outlook really does here.

> Today I stumbled upon RFC2342¹ - IMAP4 Namespace - that looks like it
> addresses this exact problem. Has anyone taken a look at this to see
> how hard it would be to add support to nnimap?

imap.el implement NAMESPACE, but I never found a way to make use of
it in nnimap.  Suggestions welcome.  The point is that Gnus probably
need to grok this concept for things to work.  I'm not sure I see
how NAMESPACE [1] would solve your problem, but re-reading my rants
above I probably didn't understand the problem.

One way to support NAMESPACE would be to connect backends with
topics.  So you would have this group topology populated automatically:

[nnimap:foobar]
  [private mailboxes]
  nnimap+foobar:INBOX.ding
  [shared mailboxes]
  nnimap+foobar:bb.dong
  [newsgroups]
  nnimap+foobar:#news.dang

but I'm not sure that's really an important feature.  The
nnslashdot<->topic coupling has made the idea a little more
interesting, but when I suggested it a long time ago, most
people thought they'd like to organize their own topics.

Hm, re-reading an old discussion on NAMESPACE [2] indicate
NAMESPACE could be nice in *server* buffer, I think this is the
most interesting prospect this far.

Ah well, enought rants. :)  What do you think?

[1] NAMESPACE is only a way for the server to indicate what kind of
mailbox hierarchies there are.  All it does is saying "All your
private mailboxes begin with INBOX", "All your newsgroups begin with
#news", "All shared folders on this server begin with bb."

[2] http://vic20.blipp.com/extundo/.nnimap-list/199810/msg00041.html
    (No, that's probably not the best URL for it :-))




^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: nnimap RFC2342 support (IMAP4 Namespace)
  2001-01-31 22:21 ` Simon Josefsson
@ 2001-02-01  2:34   ` NAGY Andras
  2001-02-01  3:06     ` NAGY Andras
                       ` (2 more replies)
  2001-02-01 19:29   ` Steven E. Harris
  1 sibling, 3 replies; 7+ messages in thread
From: NAGY Andras @ 2001-02-01  2:34 UTC (permalink / raw)



To be honest, I have no idea what the IMAP NAMESPACE thing is good
for.  But it would be a really nice feature (however implemented) if I
could say "on this (cyrus) server all but one of the mailboxes have a
name starting with `INBOX.'.  I don't like this, so please let me name
my mailboxes whatever I want, and prepend this prefix automatically,
at low level, when sending it to the server, and remove it on the way
back.  Do this on all the mailboxes except for the special one
`INBOX'."


Andras



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: nnimap RFC2342 support (IMAP4 Namespace)
  2001-02-01  2:34   ` NAGY Andras
@ 2001-02-01  3:06     ` NAGY Andras
  2001-02-01 18:37     ` Steven E. Harris
  2001-02-11  1:58     ` NAGY Andras
  2 siblings, 0 replies; 7+ messages in thread
From: NAGY Andras @ 2001-02-01  3:06 UTC (permalink / raw)


NAGY Andras <nagya@inf.elte.hu> writes:

> To be honest, I have no idea what the IMAP NAMESPACE thing is good
> for.  But it would be a really nice feature (however implemented) if I
> could say "on this (cyrus) server all but one of the mailboxes have a
> name starting with `INBOX.'.  I don't like this, so please let me name
> my mailboxes whatever I want, and prepend this prefix automatically,
> at low level, when sending it to the server, and remove it on the way
> back.  Do this on all the mailboxes except for the special one
> `INBOX'."

One little addition after reading the NAMESPACE RFC:

This prefix could be figured out by issuing a NAMESPACE command, so
the user could say "the prefix for my personal mailboxes" instead of
"INBOX.".

Nnimap could introduce the `nnimap-prefix' paramter, containing either
a string (the prefix itself) or a symbol (personal, other, shared)
indicating a namespace class from which the prefix should be obtained.
Of course, the latter would yield an error if the namespace class in
question contains more or less than one namespace.


Andras



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: nnimap RFC2342 support (IMAP4 Namespace)
  2001-02-01  2:34   ` NAGY Andras
  2001-02-01  3:06     ` NAGY Andras
@ 2001-02-01 18:37     ` Steven E. Harris
  2001-02-11  1:58     ` NAGY Andras
  2 siblings, 0 replies; 7+ messages in thread
From: Steven E. Harris @ 2001-02-01 18:37 UTC (permalink / raw)


NAGY Andras <nagya@inf.elte.hu> writes:

> But it would be a really nice feature (however implemented) if I
> could say "on this (cyrus) server all but one of the mailboxes have a
> name starting with `INBOX.'.  I don't like this, so please let me name
> my mailboxes whatever I want, and prepend this prefix automatically,
> at low level, when sending it to the server, and remove it on the way
> back.  Do this on all the mailboxes except for the special one
> `INBOX'."

That's exactly what I was asking for. Additionally, there should be a
way to abstract folder "nesting." As my example showed, one server
allowed/permitted slashes, while the other required dots as
separators. On one server, private user folders can live alongside
INBOX. On the other server, those folders must be under the
INBOX. Conceptually, the folders are in the same place, though. I
thought RFC2342 enables that abstraction. The user thinks only of
INBOX, and a folder tree. The actual syntactic representation of that
tree may be server-specific, but RFC2342 allows the proper translation
to happen.

Maybe I'm projecting more hope into than it deserves. It just seems
that Outlook is able to maintain this single representation as far as
the user interface goes. Perhaps Gnus could do something similar.

-- 
Steven E. Harris        :: steven.harris@tenzing.com
Tenzing                 :: http://www.tenzing.com



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: nnimap RFC2342 support (IMAP4 Namespace)
  2001-01-31 22:21 ` Simon Josefsson
  2001-02-01  2:34   ` NAGY Andras
@ 2001-02-01 19:29   ` Steven E. Harris
  1 sibling, 0 replies; 7+ messages in thread
From: Steven E. Harris @ 2001-02-01 19:29 UTC (permalink / raw)


Simon Josefsson <jas@extundo.com> writes:

> [1] NAMESPACE is only a way for the server to indicate what kind of
> mailbox hierarchies there are.  All it does is saying "All your
> private mailboxes begin with INBOX", "All your newsgroups begin with
> #news", "All shared folders on this server begin with bb."

Well, not quite. It also lets you know what the hierarchy delimiter
is. Given that, Gnus could see that

  foo/bar

is really the same as

  INBOX.foo.bar

on another server, provided that it stores these paths as lists rather
than literal strings. That, or it remembers the hierarchy delimiter so
that it could split, then reassemble a folder name on a new server
with a different delimiter. Here's some experimental code I was
playing around with:

==================================================
(defconst sep-display ":")
(defconst sep-orig "/")
(defconst sep-new ".")

(defun tokenize-string (str start sep)
  (if (string-match sep str start)
      (cons (substring str start (match-beginning 0))
	    (tokenize-string str (match-end 0) sep))
    (list (substring str start))))

(defun pedantic-replace (str sep-old sep-new)
  (mapconcat 'identity
	     (tokenize-string str 0 sep-old)
	     sep-new))

(defun get-current-ns-sep ()
  sep-orig)

(defun get-new-ns-sep ()
  sep-new)

(defun make-folder-display-name (folder)
  (pedantic-replace folder (get-current-ns-sep) sep-display))

(defun migrate-folder-name (folder)
  (pedantic-replace folder (get-current-ns-sep) (get-new-ns-sep)))



(make-folder-display-name "foo/bar/baz")
(migrate-folder-name "foo/bar/baz")
==================================================

The `pedantic-replace' function isn't the most efficient way to
replace one string with another, but it shows that we could be storing
the IMAP folder hierarchy as a list that can be split and joined
without much trouble.

I didn't take masking the leading "INBOX" into account, but I imagine
this would involve storing some special symbol at the beginning of the
list that would have a corresponding string (possibly
empty) for each server.

Also, note the `make-folder-display-name' function, which would let
the user concoct her own way of showing a folder name, independent of
the underlying server's representation.

-- 
Steven E. Harris        :: steven.harris@tenzing.com
Tenzing                 :: http://www.tenzing.com



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: nnimap RFC2342 support (IMAP4 Namespace)
  2001-02-01  2:34   ` NAGY Andras
  2001-02-01  3:06     ` NAGY Andras
  2001-02-01 18:37     ` Steven E. Harris
@ 2001-02-11  1:58     ` NAGY Andras
  2 siblings, 0 replies; 7+ messages in thread
From: NAGY Andras @ 2001-02-11  1:58 UTC (permalink / raw)


NAGY Andras <nagya@inf.elte.hu> writes:

> To be honest, I have no idea what the IMAP NAMESPACE thing is good
> for.  But it would be a really nice feature (however implemented) if I
> could say "on this (cyrus) server all but one of the mailboxes have a
> name starting with `INBOX.'.  I don't like this, so please let me name
> my mailboxes whatever I want, and prepend this prefix automatically,
> at low level, when sending it to the server, and remove it on the way
> back.  Do this on all the mailboxes except for the special one
> `INBOX'."

Are there any chances that this will be implemented?  Besides Outlook,
which may not be normative for you :), both Pine and Mutt allow the
user to specify some kind of `root path' (prefix) along with the IMAP
server, and access their mailboxes without the INBOX prefix.


Andras



^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2001-02-11  1:58 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-01-31 21:33 nnimap RFC2342 support (IMAP4 Namespace) Steven E. Harris
2001-01-31 22:21 ` Simon Josefsson
2001-02-01  2:34   ` NAGY Andras
2001-02-01  3:06     ` NAGY Andras
2001-02-01 18:37     ` Steven E. Harris
2001-02-11  1:58     ` NAGY Andras
2001-02-01 19:29   ` Steven E. Harris

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).