Gnus development mailing list
 help / color / mirror / Atom feed
From: "Ted Zlatanov" <tzz@lifelogs.com>
Subject: Re: Wizards!  I mean, Assistants!
Date: 17 May 2004 10:51:49 -0400	[thread overview]
Message-ID: <4nd653nm2i.fsf@lifelogs.com> (raw)
In-Reply-To: <m37jvch4a3.fsf@quimbies.gnus.org> (Lars Magne Ingebrigtsen's message of "Sun, 16 May 2004 15:48:04 +0200")

On Sun, 16 May 2004, larsi@gnus.org wrote:

> There are two areas of difficulty here:
> 
> 1) Specifying these Assistants.  If it's boring to write them, and
>    they're difficult to maintain, that'd suck.  And they'd not get
>    written.

I think this is the important part right now.

> 2) Rendering the Assistants.  If they aren't pleasant to use, then
>    that'd suck.

I agree, but I think this should come once (1) is done.  Perhaps a
very simple q&a renderer (nothing but minibuffer queries) should be
the first step for testing.

> <page 1>
> (!valid
> (let ((stream
>         (condition-case err
>            (open-network-stream "nntpd" nil server port)
>           (error (setq error err)))))
>    (if (memq (process-status stream) '(open run))
>        (progn
>          (delete-process stream)
>          t)
>      nil)))
> (!result (gnus-select-method (list server port)))
> So you want to read news.  The news server to use
> is (?server (gnus-getenv-nntpserver));
> port number (?port 119).
> </page>

There should be distinct sections for expected variables,
initialization, validation, resetting, and undo (going back).  They
won't always be used, but the ability should be there.  This is how I
would do it (to be parsed by ELisp):

(assistant-pages
 (assistant 'nntp-server "NNTP server setup" 1 ; assistant name, title, page#
 '((produces '(server string) '(port integer))

  (initialize
   server (gnus-getenv-nntpserver)
   port 119)

  (reset 'redo-initialize)

  (undo 'redo-initialize)

  (validate 
   (server port) 'user-override [open-network-stream code goes here])

 So you want to read news.  The news server to use is `server'; port
 number `port'.
)))

The (produces) section is crucial.  It lets us specify the exact thing
this assistant will create, and further assistant pages can use these
variables also.

For validation, there should be a way to specify that the user can
override the validation or not; for instance the NNTP server may be
down but still it needs to be made active.

Just some ideas...

Ted



  parent reply	other threads:[~2004-05-17 14:51 UTC|newest]

Thread overview: 63+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-05-16 13:48 Lars Magne Ingebrigtsen
2004-05-16 15:20 ` Simon Josefsson
2004-05-16 15:24   ` Lars Magne Ingebrigtsen
2004-05-16 17:59     ` Frank Schmitt
2004-05-17 15:35     ` Per Abrahamsen
2004-05-17 20:36     ` Adam Sjøgren
2004-05-18 12:56       ` Per Abrahamsen
2004-05-18 14:20         ` Lars Magne Ingebrigtsen
2004-05-18 14:55           ` Per Abrahamsen
2004-05-18 15:15             ` Lars Magne Ingebrigtsen
2004-05-18 16:11               ` Per Abrahamsen
2004-05-19  0:14         ` Jesper Harder
2004-05-16 16:19   ` Jonas Steverud
2004-05-17  3:15     ` Paul Jarc
2004-05-17  7:34       ` Jonas Steverud
2004-05-16 22:13   ` Miles Bader
2004-05-16 22:18   ` Miles Bader
2004-05-16 23:17     ` Lars Magne Ingebrigtsen
2004-05-17  2:01       ` Steven E. Harris
2004-05-17  8:39   ` Ian Fitchet
2004-05-17 13:43     ` Lars Magne Ingebrigtsen
2004-05-17 13:55       ` Lloyd Zusman
2004-05-21 20:33       ` luis fernandes
2004-05-22 17:18         ` Lars Magne Ingebrigtsen
2004-05-22 18:46           ` Lars Magne Ingebrigtsen
2004-05-22 21:13             ` Lars Magne Ingebrigtsen
2004-05-22 21:19               ` Miles Bader
2004-05-22 21:33                 ` Lars Magne Ingebrigtsen
2004-05-22 22:01                   ` Miles Bader
2004-05-22 22:07                     ` Lars Magne Ingebrigtsen
2004-05-22 22:15                       ` Miles Bader
2004-05-22 22:29                         ` Lars Magne Ingebrigtsen
2004-05-22 22:32                           ` Lars Magne Ingebrigtsen
2004-05-23 16:38                             ` Per Abrahamsen
2004-05-23 20:12                               ` Lars Magne Ingebrigtsen
2004-05-23 21:43                                 ` Lars Magne Ingebrigtsen
2004-05-23 22:19                                   ` Lars Magne Ingebrigtsen
2004-05-24 10:38                                 ` Per Abrahamsen
2004-05-23 21:14         ` Steinar Bang
     [not found]   ` <87pt94xpbv.fsf@telia.com>
2004-05-19  9:56     ` Simon Josefsson
2004-05-17 14:51 ` Ted Zlatanov [this message]
2004-05-17 17:05   ` Lars Magne Ingebrigtsen
2004-05-17 18:52     ` Ted Zlatanov
2004-05-17 19:36       ` Lars Magne Ingebrigtsen
2004-05-18  8:48         ` Kai Grossjohann
2004-05-18 15:25           ` Ted Zlatanov
2004-05-18 19:36         ` new user assistant (was: Wizards! I mean, Assistants!) Ted Zlatanov
2004-05-18 20:44           ` new user assistant Lars Magne Ingebrigtsen
2004-05-19 14:55             ` Ted Zlatanov
2004-05-19 15:21               ` Lars Magne Ingebrigtsen
2004-05-20 18:04           ` Gnus mail reading assistant (was: new user assistant) Ted Zlatanov
2004-05-22 23:41             ` Gnus mail reading assistant Lars Magne Ingebrigtsen
2004-05-23  0:19           ` new user assistant Dale Hagglund
2004-05-24 13:52             ` Ted Zlatanov
2004-05-25 10:13               ` Per Abrahamsen
2004-05-25 13:15                 ` Derrell.Lipman
2004-05-25 18:45                   ` Ted Zlatanov
2004-05-25 19:09                     ` Paul Jarc
2004-05-26 18:49                       ` Per Abrahamsen
2004-05-26 18:57                         ` Paul Jarc
2004-05-26 18:46                     ` Per Abrahamsen
2004-05-17 15:45 ` Wizards! I mean, Assistants! Per Abrahamsen
2004-05-17 16:58   ` Lars Magne Ingebrigtsen

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=4nd653nm2i.fsf@lifelogs.com \
    --to=tzz@lifelogs.com \
    /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).