Gnus development mailing list
 help / color / mirror / Atom feed
* [ANNOUNCE] NNDiary, a diary backend for Gnus.
@ 2001-08-08 16:12 Didier Verna
  2001-08-09  1:15 ` Colin Walters
                   ` (3 more replies)
  0 siblings, 4 replies; 37+ messages in thread
From: Didier Verna @ 2001-08-08 16:12 UTC (permalink / raw)


[-- Attachment #1: Type: text/plain, Size: 1564 bytes --]


                Hi again !

        Since many people asked me in private to get nndiary, and for that,
offered me to collect the bug reports while I'm on holiday ;-), I've decided
to release it now anyway. As I said, it's already pretty usable and might even
be more than in beta state (which it claims to be in).

        Don't worry about bug reports and comments while I'm on holiday, I'll
catch up with all my mail traffic when I'm back anyway, so I'll see
everything.


        I have *not* committed it to CVS, and I don't intend to do so until
I'm back from holidays. This will leave you time for testing. Here's what you
should do to try it:

1/ First, note that it's been developed and tested under XEmacs only for now.
   Obviously, I'll accept patches to make it GNU Emacs compatible.

2/ There are two files attached below: nndiary.el and gnus-diary.el. The
   former is the core backend while the latter is a wrapper around it which
   will make your life easier. You don't have to use it, but you should :-)

3/ Please, please, read carefully the whole documentation at the top of
   nndiary.el (first), and gnus-diary.el (next). It's fairly complete, and
   explains in detail how things work. It is important that you read it
   because nndiary has some gnus-related prerequisites for it to run properly,
   and also has some peculiar features (in particular, it has its own
   mail-sources, and split-methods).



        Well, I think that's it. Time for me to spend 3 weeks sleeping under
the sun :-).  CYA in september, and enjoy nndiary !



[-- Attachment #2: nndiary.el --]
[-- Type: application/emacs-lisp, Size: 60909 bytes --]

[-- Attachment #3: gnus-diary.el --]
[-- Type: application/emacs-lisp, Size: 12227 bytes --]

[-- Attachment #4: Type: text/plain, Size: 221 bytes --]



-- 
Didier Verna, didier@lrde.epita.fr, http://www.lrde.epita.fr/~didier

EPITA / LRDE, 14-16 rue Voltaire   Tel.+33 (1) 53 14 59 47
94276 Le Kremlin-Bicêtre, France   Fax.+33 (1) 44 08 01 99   didier@xemacs.org

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

* Re: [ANNOUNCE] NNDiary, a diary backend for Gnus.
  2001-08-08 16:12 [ANNOUNCE] NNDiary, a diary backend for Gnus Didier Verna
@ 2001-08-09  1:15 ` Colin Walters
  2001-09-04  9:06   ` Didier Verna
  2001-08-09  7:20 ` Jody Klymak
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 37+ messages in thread
From: Colin Walters @ 2001-08-09  1:15 UTC (permalink / raw)


[-- Attachment #1: Type: text/plain, Size: 581 bytes --]

Didier Verna <didier@lrde.epita.fr> writes:

>         Since many people asked me in private to get nndiary, and
> for that, offered me to collect the bug reports while I'm on holiday
> ;-), I've decided to release it now anyway. As I said, it's already
> pretty usable and might even be more than in beta state (which it
> claims to be in).
>
>         Don't worry about bug reports and comments while I'm on
> holiday, I'll catch up with all my mail traffic when I'm back
> anyway, so I'll see everything.

Ok, seems cool.  Here's a patch necessary to make it run on GNU Emacs:


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: nndiary.el patch --]
[-- Type: text/x-patch, Size: 2023 bytes --]

cd ~/lisp/
diff -u /home/walters/lisp/nndiary.el\~ /home/walters/lisp/nndiary.el
--- /home/walters/lisp/nndiary.el~	Wed Aug  8 13:55:57 2001
+++ /home/walters/lisp/nndiary.el	Wed Aug  8 21:08:48 2001
@@ -197,6 +197,13 @@
 (require 'gnus-start)
 (require 'gnus-sum)
 
+;; Compatibility Functions  =================================================
+
+(if (fboundp 'signal-error)
+    (defun nndiary-error (&rest args)
+      (apply #'signal-error 'nndiary args))
+  (defun nndiary-error (&rest args)
+    (apply #'error args)))
 
 ;; Backend behavior customization ===========================================
 
@@ -1258,12 +1265,12 @@
   ;; within the specified bounds.
   ;; Signals are caught by `nndiary-schedule'.
   (if (not (string-match "^[ \t]*[0-9]+[ \t]*$" str))
-      (signal-error 'nndiary "not an integer value")
+      (nndiary-error "not an integer value")
     ;; else
     (let ((val (string-to-int str)))
       (and (or (< val min)
 	       (and max (> val max)))
-	   (signal-error 'nndiary "value out of range"))
+	   (nndiary-error "value out of range"))
       val)))
 
 (defun nndiary-parse-schedule-value (str min-or-values max)
@@ -1280,7 +1287,7 @@
 			(match-string 1 str))))
 	  (if (and val (setq val (assoc val min-or-values)))
 	      (list (cadr val))
-	    (signal-error 'nndiary "invalid syntax")))
+	    (nndiary-error "invalid syntax")))
       ;; min-or-values is min
       (mapcar
        (lambda (val)
@@ -1300,7 +1307,7 @@
 		     (t
 		      (cons end beg)))))
 	    (t
-	     (signal-error 'nndiary "invalid syntax")))
+	     (nndiary-error "invalid syntax")))
 	   ))
        (split-string str ",")))
     ))
@@ -1315,7 +1322,7 @@
   (let ((header (format "^X-Diary-%s: \\(.*\\)$" head)))
     (goto-char (point-min))
     (if (not (re-search-forward header nil t))
-	(signal-error 'nndiary "header missing")
+	(nndiary-error "header missing")
       ;; else
       (nndiary-parse-schedule-value (match-string 1) min-or-values max))
     ))

Diff finished at Wed Aug  8 21:14:42

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

* Re: [ANNOUNCE] NNDiary, a diary backend for Gnus.
  2001-08-08 16:12 [ANNOUNCE] NNDiary, a diary backend for Gnus Didier Verna
  2001-08-09  1:15 ` Colin Walters
@ 2001-08-09  7:20 ` Jody Klymak
  2001-08-09 11:14   ` Kai Großjohann
  2001-09-04  9:06   ` Didier Verna
  2001-08-09 18:51 ` Jody Klymak
  2001-08-24 19:55 ` [ANNOUNCE] NNDiary to diary Jody Klymak
  3 siblings, 2 replies; 37+ messages in thread
From: Jody Klymak @ 2001-08-09  7:20 UTC (permalink / raw)



Hello Didier and everyone else,

So far I really like nndiary.  It is seems to be working quite
smoothly, and I think it'll be a great help.  

Some comments:

1) As an nnimap user, and a bit of a gnus ignoramus, I ran into a fair
bit of confusion using nndiary-mail-sources.  The documentation was a
little sparse for me, but maybe that is because I've never tried nnml.

In particular I had a chicken and egg problem.  I had a message in
~/.nndiary, with the appropriate X-Diary-* headers and everything.
I'd also set gnus-secondary-select-methods.  But I could not fetch
into any nndiary group since the no nndiary group existed yet.
Finally I stumbled upon copying a message (any old message from my
IMAP groups using B-c) into "nndiary:diary", and then I was in
business.  However it took a while to figure this out.  Good learning
experience for me, but maybe this (or whatever is the correct way to
get started) could be added to the documentation?

Put another way, the docs say "3/ ... go customize the 'nndiary
group.", but I did not have a nndiary group to customize, and my usual
"U" to subscribe only gave me "Invalid group (no such directory)" if I
tried to enter the group.  

As a side note, this works fine along with procmail on my imap server
(yes, I was starting to understand mail-sources at this point):

(setq nndiary-mail-sources '((imap :server "imap.oce.orst.edu" 
:mailbox "mail/nndiary" :dontexpunge t)))

2) There is a typo in the doc-string. On line 98
"nndiary-split-method" should read "nndiary-split-methods".

3) Is it possible to set the "reminders" interval for each diary entry
individually?  i.e. add a header that could be either:
"X-Diary-Reminder: 5 day 2 hour 30 minute" or "X-Diary-Reminder: *" if
the user wanted to use the default.  I can imagine things like
birthdays that I'd want to be reminded about many days in advance, and
other things like weekly meetings that I only need to hear about 30
minutes before hand.  Umm, I'll look at it, but I suspect my lisp
skills aren't up to the challenge.

Thanks again.  This is a very nice package.  I appreciate all the
effort that went into it!

Cheers,  Jody

-- 
Jody M. Klymak               mailto:jklymak@oce.orst.edu
College of Oceanic and Atmospheric Sicences
Oregon State University, Corvallis, OR, 97331  



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

* Re: [ANNOUNCE] NNDiary, a diary backend for Gnus.
  2001-08-09  7:20 ` Jody Klymak
@ 2001-08-09 11:14   ` Kai Großjohann
  2001-08-09 15:14     ` Jody Klymak
  2001-09-04  9:06   ` Didier Verna
  1 sibling, 1 reply; 37+ messages in thread
From: Kai Großjohann @ 2001-08-09 11:14 UTC (permalink / raw)
  Cc: Gnus Beta Testers

Jody Klymak <jklymak@OCE.ORST.EDU> writes:

> Put another way, the docs say "3/ ... go customize the 'nndiary
> group.", but I did not have a nndiary group to customize, and my usual
> "U" to subscribe only gave me "Invalid group (no such directory)" if I
> tried to enter the group.  

I don't know what I'm talking about, but `G m' is the normal way to
create groups.

kai
-- 
~/.signature: No such file or directory


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

* Re: [ANNOUNCE] NNDiary, a diary backend for Gnus.
  2001-08-09 11:14   ` Kai Großjohann
@ 2001-08-09 15:14     ` Jody Klymak
  0 siblings, 0 replies; 37+ messages in thread
From: Jody Klymak @ 2001-08-09 15:14 UTC (permalink / raw)
  Cc: Gnus Beta Testers

Kai.Grossjohann@CS.Uni-Dortmund.DE (Kai Großjohann) writes:
> 
> I don't know what I'm talking about, but `G m' is the normal way to
> create groups.

Well, you learn something new every day.  

As an nnimap user I've never had to do this, so the incantation "a) make
a group, b) fetch mail into the group" was lost on me.  

So maybe the documents could be changed to:

;;  3/ After that, make a group "diary" using the select method
;;  "nndiary" (using gnus-group-make-group: G m ).  You can customize
;;  the 'nndiary group.  In particular: - `nndiary-mail-sources',
;;  which overrides the normal `mail-sources' value for diary messages
;;  retrieving.  It defaults to '(file :path "~/.nndiary").

Thanks,  Jody

-- 
Jody M. Klymak               mailto:jklymak@oce.orst.edu
College of Oceanic and Atmospheric Sicences
Oregon State University, Corvallis, OR, 97331  



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

* Re: [ANNOUNCE] NNDiary, a diary backend for Gnus.
  2001-08-08 16:12 [ANNOUNCE] NNDiary, a diary backend for Gnus Didier Verna
  2001-08-09  1:15 ` Colin Walters
  2001-08-09  7:20 ` Jody Klymak
@ 2001-08-09 18:51 ` Jody Klymak
  2001-08-10 19:10   ` Dan Nicolaescu
  2001-09-04  9:06   ` Didier Verna
  2001-08-24 19:55 ` [ANNOUNCE] NNDiary to diary Jody Klymak
  3 siblings, 2 replies; 37+ messages in thread
From: Jody Klymak @ 2001-08-09 18:51 UTC (permalink / raw)



Hi again,

It would also be nice if I could be in an arbitrary group and forward
messages to myself which add the X-Diary-* headers.  I can do this now
manually.  Any lisp hints on how to do it semi-automatically?

Thanks,  Jody

Didier Verna <didier@lrde.epita.fr> writes:

>         Since many people asked me in private to get nndiary

-- 
Jody M. Klymak               mailto:jklymak@oce.orst.edu
College of Oceanic and Atmospheric Sicences
Oregon State University, Corvallis, OR, 97331  



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

* Re: [ANNOUNCE] NNDiary, a diary backend for Gnus.
  2001-08-09 18:51 ` Jody Klymak
@ 2001-08-10 19:10   ` Dan Nicolaescu
  2001-08-10 19:14     ` Karl Kleinpaste
  2001-09-04  9:06     ` Didier Verna
  2001-09-04  9:06   ` Didier Verna
  1 sibling, 2 replies; 37+ messages in thread
From: Dan Nicolaescu @ 2001-08-10 19:10 UTC (permalink / raw)
  Cc: Jody Klymak

jklymak@OCE.ORST.EDU (Jody Klymak) writes:

  > Hi again,
  > 
  > It would also be nice if I could be in an arbitrary group and forward
  > messages to myself which add the X-Diary-* headers.  I can do this now
  > manually.  Any lisp hints on how to do it semi-automatically?

I have a backend that I have been using for a while that does
something similar to nndiary. 
In the -request-accept-article function I query the user about the
time when the message is supposed to appear and then insert the
appropriate X-blahblah header. I suppose the same approach should work
for nndiary too. Don't know if this is THE way to do it though...

        --dan




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

* Re: [ANNOUNCE] NNDiary, a diary backend for Gnus.
  2001-08-10 19:10   ` Dan Nicolaescu
@ 2001-08-10 19:14     ` Karl Kleinpaste
  2001-08-10 21:07       ` Dan Nicolaescu
                         ` (2 more replies)
  2001-09-04  9:06     ` Didier Verna
  1 sibling, 3 replies; 37+ messages in thread
From: Karl Kleinpaste @ 2001-08-10 19:14 UTC (permalink / raw)


Dan Nicolaescu <dann@godzilla.ics.uci.edu> writes:
> In the -request-accept-article function I query the user about the
> time when the message is supposed to appear and then insert the
> appropriate X-blahblah header.

This is what Kai's recent gnus-delay.el does, with nndrafts:delayed.


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

* Re: [ANNOUNCE] NNDiary, a diary backend for Gnus.
  2001-08-10 19:14     ` Karl Kleinpaste
@ 2001-08-10 21:07       ` Dan Nicolaescu
  2001-08-10 21:49       ` Kai Großjohann
  2001-08-10 22:12       ` Kai Großjohann
  2 siblings, 0 replies; 37+ messages in thread
From: Dan Nicolaescu @ 2001-08-10 21:07 UTC (permalink / raw)


karl@charcoal.com (Karl Kleinpaste) writes:

  > Dan Nicolaescu <dann@godzilla.ics.uci.edu> writes:
  > > In the -request-accept-article function I query the user about the
  > > time when the message is supposed to appear and then insert the
  > > appropriate X-blahblah header.
  > 
  > This is what Kai's recent gnus-delay.el does, with
  > nndrafts:delayed.

If that means that it's the right way to do it, then great!

Didn't know about Kai's new backend, but it's good that I found out.
His functions to read the date are better than what I had, so I
snarfed those :-)



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

* Re: [ANNOUNCE] NNDiary, a diary backend for Gnus.
  2001-08-10 19:14     ` Karl Kleinpaste
  2001-08-10 21:07       ` Dan Nicolaescu
@ 2001-08-10 21:49       ` Kai Großjohann
  2001-08-10 22:12       ` Kai Großjohann
  2 siblings, 0 replies; 37+ messages in thread
From: Kai Großjohann @ 2001-08-10 21:49 UTC (permalink / raw)
  Cc: ding

Karl Kleinpaste <karl@charcoal.com> writes:

> Dan Nicolaescu <dann@godzilla.ics.uci.edu> writes:
> > In the -request-accept-article function I query the user about the
>> time when the message is supposed to appear and then insert the
>> appropriate X-blahblah header.
>
> This is what Kai's recent gnus-delay.el does, with nndrafts:delayed.

No, that queries the user _before_ *-request-post.

But by doing it in *-request-accept-article, you can intercept
articles which are moved there with `B m', say.

I like this idea.  (nntodo also does it this way.  *cough*)

But some way must be found to recognize noninteractive use of
*-request-accept-article.  Hm.

kai
-- 
~/.signature: No such file or directory


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

* Re: [ANNOUNCE] NNDiary, a diary backend for Gnus.
  2001-08-10 19:14     ` Karl Kleinpaste
  2001-08-10 21:07       ` Dan Nicolaescu
  2001-08-10 21:49       ` Kai Großjohann
@ 2001-08-10 22:12       ` Kai Großjohann
  2001-08-10 22:25         ` Jody Klymak
                           ` (2 more replies)
  2 siblings, 3 replies; 37+ messages in thread
From: Kai Großjohann @ 2001-08-10 22:12 UTC (permalink / raw)


Dan Nicolaescu <dann@godzilla.ics.uci.edu> writes:

> I have a backend that I have been using for a while that does
> something similar to nndiary. 

I think it would be a good idea for someone to look at nntodo, nndiary
and your backend and make a comparison.  Maybe the best parts of all
of this could be integrated somehow...

nndiary has some CSCW features in that you can email a todo (an
appointment?) item to another person.  In our working group, we
extensively use shared IMAP folders for cooperation.  I wonder if some
kind of nndiary-like functionality could be had with IMAP...

kai
-- 
~/.signature: No such file or directory


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

* Re: [ANNOUNCE] NNDiary, a diary backend for Gnus.
  2001-08-10 22:12       ` Kai Großjohann
@ 2001-08-10 22:25         ` Jody Klymak
  2001-08-10 22:31           ` Jody Klymak
  2001-08-11  0:04           ` Kai Großjohann
  2001-08-10 22:50         ` Dan Nicolaescu
  2001-08-13 18:29         ` Dan Nicolaescu
  2 siblings, 2 replies; 37+ messages in thread
From: Jody Klymak @ 2001-08-10 22:25 UTC (permalink / raw)
  Cc: ding

Kai.Grossjohann@CS.Uni-Dortmund.DE (Kai Großjohann) writes:

> appointment?) item to another person.  In our working group, we
> extensively use shared IMAP folders for cooperation.  I wonder if some
> kind of nndiary-like functionality could be had with IMAP...

Hi Kai,

This works for me:

;; with an appropriate entry in .procmail...
(setq nndiary-mail-sources '((imap :server "imap.oce.orst.edu" 
:mailbox "mail/nndiary" :dontexpunge t)))

However, it is maybe a little cruder than you would like.   The
"dontexpunge" means that it can be left on the IMAP server for other
users to fetch.   However, is it now flagged as read?  Maybe thats a
problem for other users who only fetch unread.  How does gnus decide
what articles to get from the IMAP server?  Does it keep track of
read/unread, or does it read the flags from the server?



But I think you need to bring the article to your machine for nndiary
to be able to have it be marked "unread" whenever it is coming due.  I
guess you could mark it unread on the IMAP server, but only the first
person to read it would get alerted.  Not good I guess...



-- 
Jody M. Klymak               mailto:jklymak@oce.orst.edu
College of Oceanic and Atmospheric Sicences
Oregon State University, Corvallis, OR, 97331  



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

* Re: [ANNOUNCE] NNDiary, a diary backend for Gnus.
  2001-08-10 22:25         ` Jody Klymak
@ 2001-08-10 22:31           ` Jody Klymak
  2001-08-11  0:04           ` Kai Großjohann
  1 sibling, 0 replies; 37+ messages in thread
From: Jody Klymak @ 2001-08-10 22:31 UTC (permalink / raw)
  Cc: ding

Jody Klymak <jklymak@OCE.ORST.EDU> writes:

> However, it is maybe a little cruder than you would like.   The
> "dontexpunge" means that it can be left on the IMAP server for other
> users to fetch.   However, is it now flagged as read?  Maybe thats a
> problem for other users who only fetch unread.  How does gnus decide
> what articles to get from the IMAP server?  Does it keep track of
> read/unread, or does it read the flags from the server?

Ooops,  mailed that by accident.  

Ahem, anyways, fetching using nndiary-mail-sources and IMAP does not
appear to mark the messages as read on the server.  So I guess gnus
keeps track of what it has downloaded for the nndiary group (in the
.newsrc.eld?).  So maybe this simple solution would work for you
without writing a whole nnimap interface.

The biggest drawback I can imagine is that you cannot edit the files
on the IMAP server, so if a meeting time changes it does not do so
automatically.   

Cheers,  Jody
 
-- 
Jody M. Klymak               mailto:jklymak@oce.orst.edu
College of Oceanic and Atmospheric Sicences
Oregon State University, Corvallis, OR, 97331  



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

* Re: [ANNOUNCE] NNDiary, a diary backend for Gnus.
  2001-08-10 22:12       ` Kai Großjohann
  2001-08-10 22:25         ` Jody Klymak
@ 2001-08-10 22:50         ` Dan Nicolaescu
  2001-08-13 18:29         ` Dan Nicolaescu
  2 siblings, 0 replies; 37+ messages in thread
From: Dan Nicolaescu @ 2001-08-10 22:50 UTC (permalink / raw)


Kai.Grossjohann@CS.Uni-Dortmund.DE (Kai Großjohann) writes:

  > Dan Nicolaescu <dann@godzilla.ics.uci.edu> writes:
  > 
  > > I have a backend that I have been using for a while that does
  > > something similar to nndiary. 
  > 
  > I think it would be a good idea for someone to look at nntodo, nndiary
  > and your backend and make a comparison.  Maybe the best parts of all
  > of this could be integrated somehow...

That's a very good idea. 
I will post my backend ASAP. I need to do find a new name for it, and
do seach and replace because it's called nntodo right now... 


--dan


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

* Re: [ANNOUNCE] NNDiary, a diary backend for Gnus.
  2001-08-10 22:25         ` Jody Klymak
  2001-08-10 22:31           ` Jody Klymak
@ 2001-08-11  0:04           ` Kai Großjohann
  2001-08-11  0:27             ` Jody Klymak
  2001-08-11 18:50             ` Amos Gouaux
  1 sibling, 2 replies; 37+ messages in thread
From: Kai Großjohann @ 2001-08-11  0:04 UTC (permalink / raw)
  Cc: ding

Jody Klymak <jklymak@OCE.ORST.EDU> writes:

> ;; with an appropriate entry in .procmail...
> (setq nndiary-mail-sources '((imap :server "imap.oce.orst.edu" 
> :mailbox "mail/nndiary" :dontexpunge t)))
>
> However, it is maybe a little cruder than you would like.   The
> "dontexpunge" means that it can be left on the IMAP server for other
> users to fetch.   However, is it now flagged as read?  Maybe thats a
> problem for other users who only fetch unread.  How does gnus decide
> what articles to get from the IMAP server?  Does it keep track of
> read/unread, or does it read the flags from the server?

Doesn't this move things from the IMAP server into a local group?  Or
is it possible to tell nndiary to also store the nndiary:foo groups on
the IMAP server?

But I think your problem with the read mark is not really a problem.
In my experience, every user has their own read mark.  So if we share
a folder, and I read a message, then you still see it as unread.

However, other marks are per-folder, by default, rather than
per-user.  I'm using the following trick (kludge) to get a per-user
dormant mark with my Cyrus 1.6.x server.  Rumor has it that Cyrus 2.x
will support per-user `flags' (the IMAP equivalent of marks), but I
haven't seen it.

  (setcdr (assq 'dormant nnimap-mark-to-flag-alist)
          (format "gnus-dormant-%s" (user-login-name)))
  (setcdr (assq 'dormant nnimap-mark-to-predicate-alist)
          (format "KEYWORD gnus-dormant-%s" (user-login-name)))

And then I tell Gnus to always display dormant messages (as if with `/
D') in all groups, and this way I get kind of a per-folder tick as
well as a per-user tick.

kai
-- 
~/.signature: No such file or directory


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

* Re: [ANNOUNCE] NNDiary, a diary backend for Gnus.
  2001-08-11  0:04           ` Kai Großjohann
@ 2001-08-11  0:27             ` Jody Klymak
  2001-08-11 12:13               ` Kai Großjohann
  2001-09-04  8:03               ` Didier Verna
  2001-08-11 18:50             ` Amos Gouaux
  1 sibling, 2 replies; 37+ messages in thread
From: Jody Klymak @ 2001-08-11  0:27 UTC (permalink / raw)
  Cc: ding

Kai.Grossjohann@CS.Uni-Dortmund.DE (Kai Großjohann) writes:

> Jody Klymak <jklymak@OCE.ORST.EDU> writes:
> 
> > ;; with an appropriate entry in .procmail...
> > (setq nndiary-mail-sources '((imap :server "imap.oce.orst.edu" 
> > :mailbox "mail/nndiary" :dontexpunge t)))
> >
> 
> Doesn't this move things from the IMAP server into a local group?  

Yes, but ":dontexpunge" leaves copies on the IMAP server.  

i.e. gnus reads them off imap.oce.orst.edu, nndiary-splits them, and
then stores them in ~/News/diary/foo  ~/News/diary/bar.   Now they can
be edited or deleted etc.  The originals stay on the server, but gnus
seems to be smart enough not to refetch them.   

> Or is it possible to tell nndiary to also store the nndiary:foo
> groups on the IMAP server?

I don't think so.  

That may be preferable, however.  

I'm guessing that what nndiary does is look through a group, message
by message, and decide if any of them need to be set to "UNREAD".
Does this require a separate backend?  Why did nntodo get its own
backend?

Lets see:  So far as I can tell: nndiary 

1) Displays the summary in a different format.

2) Sorts by Schedule

3) Adds headers to new messages created in the group.

4) Marks messages meeting certain schedule criteria as unread when
groups are queried. 

So, do these things require a backend?  I'm guessing 1-3 don't.  I
don't understand gnus or nndiary well enough to know if 4 does.

Message editing may be a major drawback if you use nnimap.
 
Cheers,  Jody

PS, anyone else interested in an nndiary-to-diary converter?  I'd like
to relearn elisp and this sounds like fun (and not too much effort)

-- 
Jody M. Klymak               mailto:jklymak@oce.orst.edu
College of Oceanic and Atmospheric Sicences
Oregon State University, Corvallis, OR, 97331  



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

* Re: [ANNOUNCE] NNDiary, a diary backend for Gnus.
  2001-08-11  0:27             ` Jody Klymak
@ 2001-08-11 12:13               ` Kai Großjohann
  2001-08-11 18:10                 ` Jody Klymak
  2001-08-11 18:51                 ` Amos Gouaux
  2001-09-04  8:03               ` Didier Verna
  1 sibling, 2 replies; 37+ messages in thread
From: Kai Großjohann @ 2001-08-11 12:13 UTC (permalink / raw)
  Cc: ding

Jody Klymak <jklymak@OCE.ORST.EDU> writes:

> I'm guessing that what nndiary does is look through a group, message
> by message, and decide if any of them need to be set to "UNREAD".
> Does this require a separate backend?

No, for marking messages, no special backend is required.  After all,
you can hit M-u in nnimap groups, right?

> Why did nntodo get its own backend?

I'm not sure that I remember correctly.  I think nntodo does something
special for nntodo-request-accept-article.  (It queries for the extra
headers.)

It would be desirable to rewrite all them thingies so that they can
extend any other backend.  For example, WIBNI nndraft could store your
drafts on the IMAP server?  Then you could access them from any host.

Thoughts?

kai
-- 
~/.signature: No such file or directory


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

* Re: [ANNOUNCE] NNDiary, a diary backend for Gnus.
  2001-08-11 12:13               ` Kai Großjohann
@ 2001-08-11 18:10                 ` Jody Klymak
  2001-08-11 20:04                   ` Jody Klymak
  2001-09-04  8:09                   ` Didier Verna
  2001-08-11 18:51                 ` Amos Gouaux
  1 sibling, 2 replies; 37+ messages in thread
From: Jody Klymak @ 2001-08-11 18:10 UTC (permalink / raw)
  Cc: ding

Kai.Grossjohann@CS.Uni-Dortmund.DE (Kai Großjohann) writes:

> Jody Klymak <jklymak@OCE.ORST.EDU> writes:
> 
> > I'm guessing that what nndiary does is look through a group, message
> > by message, and decide if any of them need to be set to "UNREAD".
> > Does this require a separate backend?
> 
> No, for marking messages, no special backend is required.  After all,
> you can hit M-u in nnimap groups, right?

Right!

> It would be desirable to rewrite all them thingies so that they can
> extend any other backend.  For example, WIBNI nndraft could store your
> drafts on the IMAP server?  Then you could access them from any host.
> 
> Thoughts?

Well I tried to think about it.  I think that a backend is for
different methods of receiving mail (and hiding it from gnus).  The
difference between nndraft and nnimap backend is that nndraft 1)
writes to disk instead of mailing 2) reads messages from disk.  The
advantage being that you need not be online to compose your draft
message.  Perhaps this is not different from nnml, but it is different
from nnimap.

However, nndiary requires that you send yourself the message (and even
run it through procmail!).  So it seems to me that, conceptually, you
could get most of the backend functionality through your backend of
choice.  I don't understand nndiary well enough to know if its added
functionality requires the low-level placement of a backend or not.  A
bunch of stuff happens when you enter the group and when you display
the summary buffer; maybe these manipulations are easier to handle at
the backend level.

Cheers,   Jody

-- 
Jody M. Klymak               mailto:jklymak@oce.orst.edu
College of Oceanic and Atmospheric Sicences
Oregon State University, Corvallis, OR, 97331  



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

* Re: [ANNOUNCE] NNDiary, a diary backend for Gnus.
  2001-08-11  0:04           ` Kai Großjohann
  2001-08-11  0:27             ` Jody Klymak
@ 2001-08-11 18:50             ` Amos Gouaux
  2001-08-11 20:52               ` Kai Großjohann
  1 sibling, 1 reply; 37+ messages in thread
From: Amos Gouaux @ 2001-08-11 18:50 UTC (permalink / raw)


>>>>> On Sat, 11 Aug 2001 02:04:02 +0200,
>>>>> Kai Großjohann <Kai.Grossjohann@CS.Uni-Dortmund.DE> (kg) writes:

kg> dormant mark with my Cyrus 1.6.x server.  Rumor has it that Cyrus 2.x
kg> will support per-user `flags' (the IMAP equivalent of marks), but I
kg> haven't seen it.

Been meaning to explore this, but no time yet.

kg>   (setcdr (assq 'dormant nnimap-mark-to-flag-alist)
kg>           (format "gnus-dormant-%s" (user-login-name)))
kg>   (setcdr (assq 'dormant nnimap-mark-to-predicate-alist)
kg>           (format "KEYWORD gnus-dormant-%s" (user-login-name)))

kg> And then I tell Gnus to always display dormant messages (as if with `/

How is this done?

kg> D') in all groups, and this way I get kind of a per-folder tick as
kg> well as a per-user tick.

Yeah, this would be cool.


-- 
Amos



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

* Re: [ANNOUNCE] NNDiary, a diary backend for Gnus.
  2001-08-11 12:13               ` Kai Großjohann
  2001-08-11 18:10                 ` Jody Klymak
@ 2001-08-11 18:51                 ` Amos Gouaux
  1 sibling, 0 replies; 37+ messages in thread
From: Amos Gouaux @ 2001-08-11 18:51 UTC (permalink / raw)


>>>>> On Sat, 11 Aug 2001 14:13:15 +0200,
>>>>> Kai Großjohann <Kai.Grossjohann@CS.Uni-Dortmund.DE> (kg) writes:

kg> It would be desirable to rewrite all them thingies so that they can
kg> extend any other backend.  For example, WIBNI nndraft could store your
kg> drafts on the IMAP server?  Then you could access them from any host.

Oh yeah, that would be nice.


-- 
Amos



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

* Re: [ANNOUNCE] NNDiary, a diary backend for Gnus.
  2001-08-11 18:10                 ` Jody Klymak
@ 2001-08-11 20:04                   ` Jody Klymak
  2001-08-11 20:54                     ` Kai Großjohann
  2001-09-04  8:09                   ` Didier Verna
  1 sibling, 1 reply; 37+ messages in thread
From: Jody Klymak @ 2001-08-11 20:04 UTC (permalink / raw)
  Cc: ding

Jody Klymak <jklymak@OCE.ORST.EDU> writes:

> choice.  I don't understand nndiary well enough to know if its added
> functionality requires the low-level placement of a backend or not.

Sorry to answer my own question: There is an
nndiary-request-update-info.  

I guess that another purpose of a backend is to tell gnus the status
of the messages in the group.  That way nice indicators are set in the
Group buffer that tell you that you have unread messages.

nndiary-request-update-info calculates whether a message is read or
not based on the schedule for the message.  It then sets the message
as unread - without entering the summary buffer.  Without this nndiary
wouldn't be much good at reminding you of appointments.

>A bunch of stuff happens when you enter the group and when you
>display the summary buffer; maybe these manipulations are easier to
>handle at the backend level.

And of course most of these are in a separate set of lisp
gnus-diary.el.  Ahem.

Sorry if I'm a bit slow about this.  Perhaps I shouldn't think out
loud here.   

Cheers,  Jody

-- 
Jody M. Klymak               mailto:jklymak@oce.orst.edu
College of Oceanic and Atmospheric Sicences
Oregon State University, Corvallis, OR, 97331  



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

* Re: [ANNOUNCE] NNDiary, a diary backend for Gnus.
  2001-08-11 18:50             ` Amos Gouaux
@ 2001-08-11 20:52               ` Kai Großjohann
  0 siblings, 0 replies; 37+ messages in thread
From: Kai Großjohann @ 2001-08-11 20:52 UTC (permalink / raw)
  Cc: ding

Amos Gouaux <amos+lists.ding@utdallas.edu> writes:

>>>>>> On Sat, 11 Aug 2001 02:04:02 +0200,
>>>>>> Kai Großjohann <Kai.Grossjohann@CS.Uni-Dortmund.DE> (kg) writes:
>
> kg> And then I tell Gnus to always display dormant messages (as if with `/
>
> How is this done?

In principle it is very simple.  Just add
gnus-summary-limit-include-dormant to gnus-summary-mode-hook or
something like this.  But this function barfs when there are no
dormants, so I did the following:

(defun ls6-gnus-summary-show-dormant ()
  "Display all the hidden articles that are marked as dormant."
  (interactive)
  (when gnus-newsgroup-dormant
    (prog1
        (gnus-summary-limit
         (append gnus-newsgroup-dormant gnus-newsgroup-limit))
      (gnus-summary-position-point))))

(add-hook 'gnus-summary-prepared-hook 'ls6-gnus-summary-show-dormant)

kai
-- 
~/.signature: No such file or directory


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

* Re: [ANNOUNCE] NNDiary, a diary backend for Gnus.
  2001-08-11 20:04                   ` Jody Klymak
@ 2001-08-11 20:54                     ` Kai Großjohann
  2001-09-04  8:13                       ` Didier Verna
  0 siblings, 1 reply; 37+ messages in thread
From: Kai Großjohann @ 2001-08-11 20:54 UTC (permalink / raw)
  Cc: ding

Jody Klymak <jklymak@OCE.ORST.EDU> writes:

> nndiary-request-update-info calculates whether a message is read or
> not based on the schedule for the message.  It then sets the message
> as unread - without entering the summary buffer.  Without this nndiary
> wouldn't be much good at reminding you of appointments.

That's a good point.  Hm.  So, I guess what we want is a
gnus-backend-request-update-info-hook, and nndiary (or gnus-diary)
could hang its fancy stuff off of that.

I wonder what Didier is going to think of that...

kai
-- 
~/.signature: No such file or directory


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

* Re: [ANNOUNCE] NNDiary, a diary backend for Gnus.
  2001-08-10 22:12       ` Kai Großjohann
  2001-08-10 22:25         ` Jody Klymak
  2001-08-10 22:50         ` Dan Nicolaescu
@ 2001-08-13 18:29         ` Dan Nicolaescu
  2 siblings, 0 replies; 37+ messages in thread
From: Dan Nicolaescu @ 2001-08-13 18:29 UTC (permalink / raw)


[-- Attachment #1: Type: text/plain, Size: 956 bytes --]

Kai.Grossjohann@CS.Uni-Dortmund.DE (Kai Großjohann) writes:

  > Dan Nicolaescu <dann@godzilla.ics.uci.edu> writes:
  > 
  > > I have a backend that I have been using for a while that does
  > > something similar to nndiary. 
  > 
  > I think it would be a good idea for someone to look at nntodo, nndiary
  > and your backend and make a comparison.  Maybe the best parts of all
  > of this could be integrated somehow...

I attach my backend here. I have been using it for quite a while. 

Just add (require 'nnlater) in your startup files. 

It creates an nnlater group that cannot be deleted (so that you don't
lose whatever is in there by mistake).
I copy stuff to the nnlater group from other groups using 'B c', it
will ask when to show the message in the nnlater group.
It uses nnoo and inherits from nnml, it uses the NOV file so it does
not have to parse the messages in the group all the time. 

It's not totally bug-free...

Hope this helps...


[-- Attachment #2: nnlater.el --]
[-- Type: application/emacs-lisp, Size: 15637 bytes --]

[-- Attachment #3: gnus-later.el --]
[-- Type: application/emacs-lisp, Size: 3644 bytes --]

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

* Re: [ANNOUNCE] NNDiary to diary.
  2001-08-08 16:12 [ANNOUNCE] NNDiary, a diary backend for Gnus Didier Verna
                   ` (2 preceding siblings ...)
  2001-08-09 18:51 ` Jody Klymak
@ 2001-08-24 19:55 ` Jody Klymak
  3 siblings, 0 replies; 37+ messages in thread
From: Jody Klymak @ 2001-08-24 19:55 UTC (permalink / raw)


[-- Attachment #1: Type: text/plain, Size: 1493 bytes --]


Hello,

I have come up with a way to translate nndiary entries to diary
entries.  The code is kind of rough (my first real elisp attempt), but
it seems to be working for me.

Motivation: nndiary is great, but you can't see your diary entries in
your calendar or fancy-diary displays.  

Solution: For each nndiary group, make a file that gets stored where
the diary entries are stored (i.e. ~/News/diary/diary) called diary
that can be "#include"-d in your ~/diary file 

#include "~/News/diary/diary/diary"

I had to slightly modify nndiary.el and gnus-diary.el to make this
work.  Don't think I broke anything.  Then I made a second file
nndiary-to-diary.el.  

Steps:

0) Install nndiary.el as per Didier's instructions
1) Put nndiary-to-diary.el in your load-path
2) edit .gnus:

(require 'nndiary-to-diary)
(add-hook 'nndiary-request-update-info-hooks 'gnus-nndiary-to-diary)

3) edit .emacs 

;; Allow calendar and fancy-diary to see the included files
(add-hook 'list-diary-entries-hook 'include-other-diary-files)
(add-hook 'mark-diary-entries-hook 'mark-included-diary-files)

4) edit diary

#include "~/News/diary/diary/diary" 

(or wherever your diary messages get put.)

5) Start gnus.

The diary files are updated every time that you update the diary
group (M-g, etc).   

Any comments are most welcome.  Very much beta software by a very
unknowledgeable lisp programmer.  Hopefully Didier or someone else
will polish it up....  However, it seems to mostly work.

Cheers,  Jody


[-- Attachment #2: nndiary-to-diary.el --]
[-- Type: application/emacs-lisp, Size: 8778 bytes --]

[-- Attachment #3: gnus-diary.el --]
[-- Type: application/emacs-lisp, Size: 12256 bytes --]

[-- Attachment #4: nndiary.el --]
[-- Type: application/emacs-lisp, Size: 61039 bytes --]

[-- Attachment #5: Type: text/plain, Size: 154 bytes --]


-- 
Jody M. Klymak               mailto:jklymak@oce.orst.edu
College of Oceanic and Atmospheric Sicences
Oregon State University, Corvallis, OR, 97331  

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

* Re: [ANNOUNCE] NNDiary, a diary backend for Gnus.
  2001-08-11  0:27             ` Jody Klymak
  2001-08-11 12:13               ` Kai Großjohann
@ 2001-09-04  8:03               ` Didier Verna
  1 sibling, 0 replies; 37+ messages in thread
From: Didier Verna @ 2001-09-04  8:03 UTC (permalink / raw)
  Cc: Kai Großjohann, ding

Jody Klymak <jklymak@OCE.ORST.EDU> wrote:

> I'm guessing that what nndiary does is look through a group, message
> by message, and decide if any of them need to be set to "UNREAD".

        Correct.

> Does this require a separate backend?

        Yes.

> Lets see:  So far as I can tell: nndiary
>
> 1) Displays the summary in a different format.

        That's a gnus-diary job, not nndiary (this has nothing to do with
backend functionality).

> 2) Sorts by Schedule

        Ditto (although schedule computation in itself belongs to the backend).

> 3) Adds headers to new messages created in the group.

        Ditto.

> 4) Marks messages meeting certain schedule criteria as unread when
> groups are queried.

        *That*, indeed, is part of the backend's job.

--
Didier Verna, didier@lrde.epita.fr, http://www.lrde.epita.fr/~didier

EPITA / LRDE, 14-16 rue Voltaire   Tel.+33 (1) 53 14 59 47
94276 Le Kremlin-Bicêtre, France   Fax.+33 (1) 44 08 01 99   didier@xemacs.org


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

* Re: [ANNOUNCE] NNDiary, a diary backend for Gnus.
  2001-08-11 18:10                 ` Jody Klymak
  2001-08-11 20:04                   ` Jody Klymak
@ 2001-09-04  8:09                   ` Didier Verna
  1 sibling, 0 replies; 37+ messages in thread
From: Didier Verna @ 2001-09-04  8:09 UTC (permalink / raw)
  Cc: Kai Großjohann, ding

Jody Klymak <jklymak@OCE.ORST.EDU> wrote:

> However, nndiary requires that you send yourself the message (and even
> run it through procmail!).

        For your own diary entries, you don't have to actually send the
message. nndiary is a mail-post backend.

--
Didier Verna, didier@lrde.epita.fr, http://www.lrde.epita.fr/~didier

EPITA / LRDE, 14-16 rue Voltaire   Tel.+33 (1) 53 14 59 47
94276 Le Kremlin-Bicêtre, France   Fax.+33 (1) 44 08 01 99   didier@xemacs.org


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

* Re: [ANNOUNCE] NNDiary, a diary backend for Gnus.
  2001-08-11 20:54                     ` Kai Großjohann
@ 2001-09-04  8:13                       ` Didier Verna
  2001-09-04 12:29                         ` Kai Großjohann
  0 siblings, 1 reply; 37+ messages in thread
From: Didier Verna @ 2001-09-04  8:13 UTC (permalink / raw)
  Cc: Jody Klymak, ding

Kai.Grossjohann@CS.Uni-Dortmund.DE (Kai Großjohann) wrote:

> Jody Klymak <jklymak@OCE.ORST.EDU> writes:
>
>> nndiary-request-update-info calculates whether a message is read or
>> not based on the schedule for the message.  It then sets the message
>> as unread - without entering the summary buffer.  Without this nndiary
>> wouldn't be much good at reminding you of appointments.
>
> That's a good point.  Hm.  So, I guess what we want is a
> gnus-backend-request-update-info-hook, and nndiary (or gnus-diary)
> could hang its fancy stuff off of that.
>
> I wonder what Didier is going to think of that...

        Here's my point of view: nndiary is a backend for the same reason as
nndraft is one. That's because the article renewing feature is implemented via
the request-update-info backend function. All features not belonging to the
backend are already part of the upper layer called gnus-diary.

        Giving control on the renewing mecanism to the user for *any* mail
(news ?, perhaps cached ones) is a very natural idea: when I receive and
interesting call for papers in my nnml:virtual-reality group, I'd like it to
pop up from time to time in this very group until the deadline arrives. BTW,
the same applies to draft messages IMO. People might type `C-u a' on a group to
start editing a message, and prefer that the draft stays in this group.

        However, if we want to extract this feature from the backends, we'll
have to change the implementation. It's not reasonable to scan *all* messages
in each group to see if they have to be renewed. We'll have to store this
information somewhere. The ideal case would also be to disconnect the feature
from the update-info routines. In other words, it shouldn't be necessary to
have to type `g' in order to see messages renewed. The use of timers comes to
mind, but I don't currently have a clear view on the complexity of such kind
of implementation.

        Another idea that just came to my mind: if we ever have a global
renewing mechanism, we'd probably like to have special summary lines for these
messages. Let's implement an X-Gnus-Summary-Line-Format header ...


--
Didier Verna, didier@lrde.epita.fr, http://www.lrde.epita.fr/~didier

EPITA / LRDE, 14-16 rue Voltaire   Tel.+33 (1) 53 14 59 47
94276 Le Kremlin-Bicêtre, France   Fax.+33 (1) 44 08 01 99   didier@xemacs.org


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

* Re: [ANNOUNCE] NNDiary, a diary backend for Gnus.
  2001-08-09  7:20 ` Jody Klymak
  2001-08-09 11:14   ` Kai Großjohann
@ 2001-09-04  9:06   ` Didier Verna
  1 sibling, 0 replies; 37+ messages in thread
From: Didier Verna @ 2001-09-04  9:06 UTC (permalink / raw)
  Cc: Gnus Beta Testers

Jody Klymak <jklymak@OCE.ORST.EDU> wrote:

> In particular I had a chicken and egg problem.  I had a message in
> ~/.nndiary, with the appropriate X-Diary-* headers and everything.
> I'd also set gnus-secondary-select-methods.  But I could not fetch
> into any nndiary group since the no nndiary group existed yet.

        But why did you want to fetch into nndiary groups, since you didn't
have any ? :-)  (I'm joking, see below).

> Put another way, the docs say "3/ ... go customize the 'nndiary
> group.", but I did not have a nndiary group to customize, and my usual
> "U" to subscribe only gave me "Invalid group (no such directory)" if I
> tried to enter the group.

        There's a big misunderstanding here: what the doc says (huh, meant) is
customize the *Custom group called nndiary* :-/ (M-x customize-group). And
then, twiddle your custom options from there; you have all of them.

        I'll make this clearer, thanks for the... experiment :-)

> 2) There is a typo in the doc-string. On line 98
> "nndiary-split-method" should read "nndiary-split-methods".

        Thanks.

> 3) Is it possible to set the "reminders" interval for each diary entry
> individually?

        Currently not, but that shouldn't be hard to implement. Noted.

BTW, we could also think of making this work on a per group basis, by using
group parameters. I don't think this already works out of the box (I have not
checked), but I expect a two-or-three lines implementation for this.

--
Didier Verna, didier@lrde.epita.fr, http://www.lrde.epita.fr/~didier

EPITA / LRDE, 14-16 rue Voltaire   Tel.+33 (1) 53 14 59 47
94276 Le Kremlin-Bicêtre, France   Fax.+33 (1) 44 08 01 99   didier@xemacs.org


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

* Re: [ANNOUNCE] NNDiary, a diary backend for Gnus.
  2001-08-09 18:51 ` Jody Klymak
  2001-08-10 19:10   ` Dan Nicolaescu
@ 2001-09-04  9:06   ` Didier Verna
  2001-09-04 12:25     ` Kai Großjohann
  2001-09-04 15:15     ` Jody Klymak
  1 sibling, 2 replies; 37+ messages in thread
From: Didier Verna @ 2001-09-04  9:06 UTC (permalink / raw)
  Cc: Gnus Beta Testers

Jody Klymak <jklymak@OCE.ORST.EDU> wrote:

> It would also be nice if I could be in an arbitrary group and forward
> messages to myself which add the X-Diary-* headers.  I can do this now
> manually.  Any lisp hints on how to do it semi-automatically?

        There's an entry in my gnus-diary todo list for composing fresh
messages and prompting for the schedule. What you're asking makes me think
we'd need to extract the schedule prompting part, and use it in the different
message composing/forwarding/replying functions.

--
Didier Verna, didier@lrde.epita.fr, http://www.lrde.epita.fr/~didier

EPITA / LRDE, 14-16 rue Voltaire   Tel.+33 (1) 53 14 59 47
94276 Le Kremlin-Bicêtre, France   Fax.+33 (1) 44 08 01 99   didier@xemacs.org


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

* Re: [ANNOUNCE] NNDiary, a diary backend for Gnus.
  2001-08-09  1:15 ` Colin Walters
@ 2001-09-04  9:06   ` Didier Verna
  0 siblings, 0 replies; 37+ messages in thread
From: Didier Verna @ 2001-09-04  9:06 UTC (permalink / raw)


Colin Walters <walters@cis.ohio-state.edu> wrote:

> Ok, seems cool.  Here's a patch necessary to make it run on GNU Emacs:

        Applied, thanks.
--
Didier Verna, didier@lrde.epita.fr, http://www.lrde.epita.fr/~didier

EPITA / LRDE, 14-16 rue Voltaire   Tel.+33 (1) 53 14 59 47
94276 Le Kremlin-Bicêtre, France   Fax.+33 (1) 44 08 01 99   didier@xemacs.org


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

* Re: [ANNOUNCE] NNDiary, a diary backend for Gnus.
  2001-08-10 19:10   ` Dan Nicolaescu
  2001-08-10 19:14     ` Karl Kleinpaste
@ 2001-09-04  9:06     ` Didier Verna
  1 sibling, 0 replies; 37+ messages in thread
From: Didier Verna @ 2001-09-04  9:06 UTC (permalink / raw)
  Cc: ding, Jody Klymak

Dan Nicolaescu <dann@godzilla.ics.uci.edu> wrote:

> I have a backend that I have been using for a while that does
> something similar to nndiary.
> In the -request-accept-article function I query the user about the
> time when the message is supposed to appear and then insert the
> appropriate X-blahblah header. I suppose the same approach should work
> for nndiary too. Don't know if this is THE way to do it though...

        That's very easy to implement in nndiary I think. That way, you could
just receive mails on your traditional backend, then move it to an nndiary
group and be prompted for the schedule. Good idea, I'll do that.

        That also gives me the idea of a special `ask' keyword in X-Diary
headers. You'd send a diary message to somebody, who'd be prompted for
incomplete shcedules upon reception.

--
Didier Verna, didier@lrde.epita.fr, http://www.lrde.epita.fr/~didier

EPITA / LRDE, 14-16 rue Voltaire   Tel.+33 (1) 53 14 59 47
94276 Le Kremlin-Bicêtre, France   Fax.+33 (1) 44 08 01 99   didier@xemacs.org


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

* Re: [ANNOUNCE] NNDiary, a diary backend for Gnus.
  2001-09-04  9:06   ` Didier Verna
@ 2001-09-04 12:25     ` Kai Großjohann
  2001-09-04 15:15     ` Jody Klymak
  1 sibling, 0 replies; 37+ messages in thread
From: Kai Großjohann @ 2001-09-04 12:25 UTC (permalink / raw)
  Cc: Gnus Beta Testers

Didier Verna <didier@lrde.epita.fr> writes:

>         There's an entry in my gnus-diary todo list for composing fresh
> messages and prompting for the schedule. What you're asking makes me think
> we'd need to extract the schedule prompting part, and use it in the different
> message composing/forwarding/replying functions.

You could have the nndiary-request-accept-article (or
nndiary-request-post?) function (optionally?) ask for the missing
information.

kai
-- 
Symbol's function definition is void: signature


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

* Re: [ANNOUNCE] NNDiary, a diary backend for Gnus.
  2001-09-04  8:13                       ` Didier Verna
@ 2001-09-04 12:29                         ` Kai Großjohann
  2001-09-04 15:49                           ` Paul Jarc
  0 siblings, 1 reply; 37+ messages in thread
From: Kai Großjohann @ 2001-09-04 12:29 UTC (permalink / raw)


Didier Verna <didier@lrde.epita.fr> writes:

> Another idea that just came to my mind: if we ever have a global
> renewing mechanism, we'd probably like to have special summary lines
> for these messages. Let's implement an X-Gnus-Summary-Line-Format
> header ...

Maybe we want to store more than just the renewing stuff?

How about a `delayed-actions' item?  It could store, for each article,
a date and an action.  Not sure what would be possible actions, but it
seems that at least `mark as unread' would be useful.  Maybe other
ways to mark it?  Maybe `send to email address foo' would also be a
useful delayed action.  Any others?

kai
-- 
Symbol's function definition is void: signature


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

* Re: [ANNOUNCE] NNDiary, a diary backend for Gnus.
  2001-09-04  9:06   ` Didier Verna
  2001-09-04 12:25     ` Kai Großjohann
@ 2001-09-04 15:15     ` Jody Klymak
  2001-09-04 16:37       ` Kai Großjohann
  1 sibling, 1 reply; 37+ messages in thread
From: Jody Klymak @ 2001-09-04 15:15 UTC (permalink / raw)


Didier Verna <didier@lrde.epita.fr> writes:

> Jody Klymak <jklymak@OCE.ORST.EDU> wrote:
>
>> It would also be nice if I could be in an arbitrary group and forward
>> messages to myself which add the X-Diary-* headers.  I can do this now
>> manually.  Any lisp hints on how to do it semi-automatically?
>
>         There's an entry in my gnus-diary todo list for composing fresh
> messages and prompting for the schedule. What you're asking makes me think
> we'd need to extract the schedule prompting part, and use it in the different
> message composing/forwarding/replying functions.

For now, I've defined the following which can be defined when I
compose (or more often forward) a message to myself:

Cheers,  Jody

(defun gnus-diary-add-header ()
  "Add nndiary compatible headers to the current buffer"   
  (interactive "*")
; Add an nndiary compatible header to a message
  (save-excursion
    (save-restriction
      (goto-char (point-min))
      (cond ((re-search-forward "^Subject: " nil t)
	     (goto-line (+ 1 (line-number)))
	     (let* ((heads nndiary-headers))
	       (while heads
		 (setq head (car heads))
		 (setq heads (cdr heads))
		 (insert (format "X-Diary-%s: *\n" (car head))))))
             (t (message "Not a mail message")))
      )))

-- 
Jody M. Klymak               mailto:jklymak@oce.orst.edu
College of Oceanic and Atmospheric Sicences
Oregon State University, Corvallis, OR, 97331  



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

* Re: [ANNOUNCE] NNDiary, a diary backend for Gnus.
  2001-09-04 12:29                         ` Kai Großjohann
@ 2001-09-04 15:49                           ` Paul Jarc
  0 siblings, 0 replies; 37+ messages in thread
From: Paul Jarc @ 2001-09-04 15:49 UTC (permalink / raw)


Kai.Grossjohann@CS.Uni-Dortmund.DE (Kai Großjohann) wrote:
> How about a `delayed-actions' item?  It could store, for each article,
> a date and an action.  Not sure what would be possible actions, but it
> seems that at least `mark as unread' would be useful.  Maybe other
> ways to mark it?  Maybe `send to email address foo' would also be a
> useful delayed action.  Any others?

This could be done as a generalization of expiry, maybe.


paul


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

* Re: [ANNOUNCE] NNDiary, a diary backend for Gnus.
  2001-09-04 15:15     ` Jody Klymak
@ 2001-09-04 16:37       ` Kai Großjohann
  0 siblings, 0 replies; 37+ messages in thread
From: Kai Großjohann @ 2001-09-04 16:37 UTC (permalink / raw)
  Cc: Gnus Beta Testers

Jody Klymak <jklymak@OCE.ORST.EDU> writes:

> (defun gnus-diary-add-header ()
>   "Add nndiary compatible headers to the current buffer"   
>   (interactive "*")
> ; Add an nndiary compatible header to a message
>   (save-excursion
>     (save-restriction
>       (goto-char (point-min))
>       (cond ((re-search-forward "^Subject: " nil t)
> 	     (goto-line (+ 1 (line-number)))
> 	     (let* ((heads nndiary-headers))
> 	       (while heads
> 		 (setq head (car heads))
> 		 (setq heads (cdr heads))
> 		 (insert (format "X-Diary-%s: *\n" (car head))))))
>              (t (message "Not a mail message")))
>       )))

May I humbly suggest the following as an alternative to inserting the
headers?

(unless (eq major-mode 'message-mode)
  (error "Not a mail message"))
(mapcar (lambda (head)
          (message-add-header "X-Diary-%s: *" (car head)))
        nndiary-headers)

What do you think?

kai
-- 
Symbol's function definition is void: signature


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

end of thread, other threads:[~2001-09-04 16:37 UTC | newest]

Thread overview: 37+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-08-08 16:12 [ANNOUNCE] NNDiary, a diary backend for Gnus Didier Verna
2001-08-09  1:15 ` Colin Walters
2001-09-04  9:06   ` Didier Verna
2001-08-09  7:20 ` Jody Klymak
2001-08-09 11:14   ` Kai Großjohann
2001-08-09 15:14     ` Jody Klymak
2001-09-04  9:06   ` Didier Verna
2001-08-09 18:51 ` Jody Klymak
2001-08-10 19:10   ` Dan Nicolaescu
2001-08-10 19:14     ` Karl Kleinpaste
2001-08-10 21:07       ` Dan Nicolaescu
2001-08-10 21:49       ` Kai Großjohann
2001-08-10 22:12       ` Kai Großjohann
2001-08-10 22:25         ` Jody Klymak
2001-08-10 22:31           ` Jody Klymak
2001-08-11  0:04           ` Kai Großjohann
2001-08-11  0:27             ` Jody Klymak
2001-08-11 12:13               ` Kai Großjohann
2001-08-11 18:10                 ` Jody Klymak
2001-08-11 20:04                   ` Jody Klymak
2001-08-11 20:54                     ` Kai Großjohann
2001-09-04  8:13                       ` Didier Verna
2001-09-04 12:29                         ` Kai Großjohann
2001-09-04 15:49                           ` Paul Jarc
2001-09-04  8:09                   ` Didier Verna
2001-08-11 18:51                 ` Amos Gouaux
2001-09-04  8:03               ` Didier Verna
2001-08-11 18:50             ` Amos Gouaux
2001-08-11 20:52               ` Kai Großjohann
2001-08-10 22:50         ` Dan Nicolaescu
2001-08-13 18:29         ` Dan Nicolaescu
2001-09-04  9:06     ` Didier Verna
2001-09-04  9:06   ` Didier Verna
2001-09-04 12:25     ` Kai Großjohann
2001-09-04 15:15     ` Jody Klymak
2001-09-04 16:37       ` Kai Großjohann
2001-08-24 19:55 ` [ANNOUNCE] NNDiary to diary Jody Klymak

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