Gnus development mailing list
 help / color / mirror / Atom feed
* Using a Gnus for collaborative work & todo list mgmt?
@ 1996-05-29  9:28 Kai Grossjohann
  1996-05-29 21:13 ` Lars Magne Ingebrigtsen
  1996-05-31 14:05 ` Kai Grossjohann
  0 siblings, 2 replies; 5+ messages in thread
From: Kai Grossjohann @ 1996-05-29  9:28 UTC (permalink / raw)
  Cc: Thomas Roelleke, Christian Altenschmidt, Ulrich Pfeifer


Hi there,

we're thinking about maintaining todo lists with Gnus for a group of
people.  So far, here's what we've come up with:

Consider the area `emacs'.  We define groups:

  - emacs.new: contains new todo items
  - emacs.cur: contains items that are currently being worked on
  - emacs.old: contains old items, used for reference

Whenever somebody sees an article in a .new group that they want to
work on they move that article into the .cur group, with their login
name prepended to the subject (there's a function to do this).

In the .cur group, followups and similar things can be used to update
the status of each item.

When the item is completely done, the whole thread is moved from .cur
to .old.

Now the main issue: what kind of backend could we use that
  - allows read/write access
  - doesn't cause too many problems with several people writing (I'm
    not even concerned about locking, it's just that I'm unsure about
    .overview files, for example -- what happens if somebody adds
    something to the .overview file while I'm reading a group -- will
    the new article just appear the next time I get new news?)
I would think that, say, nnfolder is not a good idea because several
running Emacsen may have a copy in their main memory.
What happens if several people read and write the same nnml directory?

We would also have to do some magic to allow `refreshing' of stuff
(`I want this to (re-)appear as a new item in 2 weeks').  But I
suppose that could be done by adding an emacs.susp group where each
article has a header saying when to `refresh' the item.  A cron job
could then do the rest.

I'm looking forward to hearing any suggestions you might have,
kai
-- 
Life is hard and then you die.


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

* Re: Using a Gnus for collaborative work & todo list mgmt?
  1996-05-29  9:28 Using a Gnus for collaborative work & todo list mgmt? Kai Grossjohann
@ 1996-05-29 21:13 ` Lars Magne Ingebrigtsen
  1996-05-30 15:05   ` Kai Grossjohann
  1996-05-31 14:05 ` Kai Grossjohann
  1 sibling, 1 reply; 5+ messages in thread
From: Lars Magne Ingebrigtsen @ 1996-05-29 21:13 UTC (permalink / raw)


Kai Grossjohann <grossjoh@ls6.informatik.uni-dortmund.de> writes:

> Now the main issue: what kind of backend could we use that
>   - allows read/write access
>   - doesn't cause too many problems with several people writing (I'm
>     not even concerned about locking, it's just that I'm unsure about
>     .overview files, for example -- what happens if somebody adds
>     something to the .overview file while I'm reading a group -- will
>     the new article just appear the next time I get new news?)

For that reason alone I would suggest using nnmh -- one file per
article, no active file, no .overview file to cause problems.  

I was thinking along similar lines a few weeks back for the gnus-bug
group.  I think server-side annotations could be used.  For instance,
all new messages to gnus-bug won't have any annotations.  Then I could
ask the nnml server for all articles in that group without any
annotations.  As I process the bug reports, I could add annotations
like "fixed", "queried for more information", "not a bug", etc.  

Of course, we don't have annotations at all in Gnus yet, but I'll
definitely be adding them for Red Gnus.

-- 
  "Yes.  The journey through the human heart 
     would have to wait until some other time."


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

* Re: Using a Gnus for collaborative work & todo list mgmt?
  1996-05-29 21:13 ` Lars Magne Ingebrigtsen
@ 1996-05-30 15:05   ` Kai Grossjohann
  1996-05-31  1:22     ` Lars Magne Ingebrigtsen
  0 siblings, 1 reply; 5+ messages in thread
From: Kai Grossjohann @ 1996-05-30 15:05 UTC (permalink / raw)
  Cc: ding, rebauf

>>>>> On 29 May 1996 23:13:48 +0200, Lars Magne Ingebrigtsen
>>>>> <larsi@ifi.uio.no> said:

  Lars> For that reason alone I would suggest using nnmh -- one file
  Lars> per article, no active file, no .overview file to cause
  Lars> problems.

Thanks, Lars.  I tried that and ran across a couple of problems:

When `posting' articles to a group like this, one would not want to
have a To address, I suppose.  Also, one would not want to have a
Newsgroups line.  Therefore, I tried creating a message without To,
Cc, Newsgroups headers but with a Gcc header.  But this created a
message from nobody -- it didn't have a From line, nor did it have a
Date nor a Message-Id.

Ok, now I try to set message-generate-headers-first to t which is a
Good Thing.  Still have to put some email address in there, though.

Is there a simple way to put the message into the group without having
to send it somewhere by mail or to post it in a newsgroup?

The following isn't really important:

I don't really understand how to make Gnus read the group from a
different directory than nnmh-directory.  It worked once, but after
that it failed :-(
I tried putting the directory name into the select method:
    M-e (nnmh "/bla") RET
I tried putting the directory name into a parameter:
    M-e (nnmh "/bla" (nnmh-directory "/bla")) RET
All of this failed somehow.  I circumvented this by putting a symlink
in ~/Mail that points to the right place then using group names with
the right prefix.

kai
-- 
Life is hard and then you die.


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

* Re: Using a Gnus for collaborative work & todo list mgmt?
  1996-05-30 15:05   ` Kai Grossjohann
@ 1996-05-31  1:22     ` Lars Magne Ingebrigtsen
  0 siblings, 0 replies; 5+ messages in thread
From: Lars Magne Ingebrigtsen @ 1996-05-31  1:22 UTC (permalink / raw)


Kai Grossjohann <grossjoh@ls6.informatik.uni-dortmund.de> writes:

> Is there a simple way to put the message into the group without having
> to send it somewhere by mail or to post it in a newsgroup?

No, there isn't, but there definitely should be.  I've added this to
the Red Gnus todo list.

> I tried putting the directory name into a parameter:
>     M-e (nnmh "/bla" (nnmh-directory "/bla")) RET

This should work, provided that you don't have two different servers
named "/bla".

-- 
(domestic pets only, the antidote for overdose, milk.)
  larsi@ifi.uio.no * Lars Ingebrigtsen


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

* Re: Using a Gnus for collaborative work & todo list mgmt?
  1996-05-29  9:28 Using a Gnus for collaborative work & todo list mgmt? Kai Grossjohann
  1996-05-29 21:13 ` Lars Magne Ingebrigtsen
@ 1996-05-31 14:05 ` Kai Grossjohann
  1 sibling, 0 replies; 5+ messages in thread
From: Kai Grossjohann @ 1996-05-31 14:05 UTC (permalink / raw)
  Cc: ding, Thomas Roelleke, Christian Altenschmidt, Ulrich Pfeifer

>>>>> On 29 May 1996 11:28:18 +0200, Kai Grossjohann
>>>>> <grossjoh@ls6.informatik.uni-dortmund.de> said:

  Kai> Hi there, we're thinking about maintaining todo lists with Gnus
  Kai> for a group of people.  So far, here's what we've come up with:

Following Lars' suggestion, I tried setting up a few nnmh groups and
quickly ran into the problem of seemingly being unable to `send' an
article without *actually* sending it anywhere by mail or news.  I
briefly thought about creating a devnull mail alias or posting the
stuff to the junk newsgroup.  I refrained from actually doing that
because it caused me pain, though 8-)

Anyway, here's what I did.  It's a kludge, fer sure, but I'll be happy
about any suggestions you might have.

When doing `a' in a group that matches the gnus-cscw-group-regexp (a
hideous euphemism) a Gcc header is automatically included.  This seems
to work, kinda.

Maybe the code should delete empty To and Cc headers automatically,
too.

Unbelievable.  I spent a day looking for this -- must seriously
reconsider my being a novice with regard to ELisp.  :-|

kai
-- 
Life is hard and then you die.



;;;;;;;;;;;;;;;;;;;;;;;;;;; -*- Mode: Emacs-Lisp -*- ;;;;;;;;;;;;;;;;;;;;;;;;;;
;; gnus-cscw.el -- 
;; ITIID           : $ITI$ $Header $__Header$
;; Author          : Kai Grossjohann
;; Created On      : Thu May 30 17:57:45 1996
;; Last Modified By: Kai Grossjohann
;; Last Modified On: Thu May 30 21:24:55 1996
;; Update Count    : 49
;; Status          : Unknown, Use with caution!
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(require 'gnus)
(require 'gnus-msg)
(require 'nnmh)
(require 'message)

;; Variables

(defvar gnus-cscw-group-regexp "^nnmh:cscw"
  "Regexp matching cwsc group names.")

;; Functions

(defun message-setup-news-cscw ()
  "Hook that inserts correct Gcc header for cscw message."
  (cond ((and gnus-newsgroup-name
              (string-match gnus-cscw-group-regexp gnus-newsgroup-name))
         (save-excursion
           (beginning-of-buffer)
           (message-position-on-field "gcc")
           (beginning-of-line)
           (kill-line 1)
           (insert "Gcc: " gnus-newsgroup-name "\n"))
         (add-hook 'message-send-hook 'message-cscw-generate-headers
                   nil t))))
(add-hook 'message-setup-hook 'message-setup-news-cscw)

(defun message-cscw-generate-headers ()
  (message-generate-headers message-required-mail-headers)) 


(provide 'gnus-cscw)


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

end of thread, other threads:[~1996-05-31 14:05 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1996-05-29  9:28 Using a Gnus for collaborative work & todo list mgmt? Kai Grossjohann
1996-05-29 21:13 ` Lars Magne Ingebrigtsen
1996-05-30 15:05   ` Kai Grossjohann
1996-05-31  1:22     ` Lars Magne Ingebrigtsen
1996-05-31 14:05 ` Kai Grossjohann

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