From: John Griffith <griffith@sfs.nphil.uni-tuebingen.de>
Cc: griffith@filippo.sfs.nphil.uni-tuebingen.de
Subject: Re: Feature Request. Topic Group Parameters...
Date: 01 Aug 1996 10:20:40 +0200 [thread overview]
Message-ID: <tj3f27wm5j.fsf@sfs.nphil.uni-tuebingen.de> (raw)
In-Reply-To: Lars Magne Ingebrigtsen's message of 31 Jul 1996 21:29:09 +0200
>>>>> "LMI" == Lars Magne Ingebrigtsen <larsi@ifi.uio.no> writes:
LMI> John Griffith <griffith@sfs.nphil.uni-tuebingen.de> writes:
>> How about asking the user what should be done?
>>
>> Allow topics to have group parameters specified on them, but only use
>> these to update group parameters on actual groups when moving groups
>> into topics or changing topic-specified parameters.
>>
>> When changing a group parameter on a topic, ask the user if all groups
>> should inherit this parameter, or whether s/he would like to go
>> through each group individually, showing old values and the possible
>> replacements (if they're different). (Like the initial subscription
>> sequence.)
LMI> I think this sounds a bit annoying. I would prefer having clear rules
LMI> for topic parameter inheretance instead of requiring lots of user
LMI> input when editing parameters.
I agree that this could get annoying, especially if you constantly
change things like I do. So here's some ideas on possible rules.
Here's an example:
t1
g1
g2
t2
g1
g3
t3
g2
1.1) First of all it seems that if you're going to have rules to
determine inheritance, then one should be that parameters
specified on the group are always preferred over those specified
on topics that it is in.
1.2) And lower topics are always preferred over higher ones, so g3 would
take t2's parameters over t1's.
2) Another possible rule could be that if a group (g1 above) occurs in
two topics (t1 and t2) one of which is an ancestor of the other,
then the parameters of the lower group should be preferred.
3) The problem is, of course, what to do with a group (g2) that occurs
in two topics (t1 and t3) which are not in the ancestor relation.
3.1) The most restrictive rule would be to disallow g2 to be under t1
and t1's sister t3. But I for one find that too restrictive.
3.2) Another possibility is to give every group a "home" topic. Then
that group only inherits from it's home topic, and possibly from
ancestors of its home topic. This seems fairly powerful, simple
and easy to understand.
3.3) A less restrictive possibility would be to allow users to specify
a precedence ordering on topics to determine which topics should
win in a conflict. However, it could be quite tricky to ensure
that the user's rules completely avoid conflicts.
3.3.1) The simplest way would be to require a total order on
topics. There could be a buffer with the list of topics, and
the user could move these around. You could limit the number
of topics to be moved around by only displaying those that
actually have parameters specified on them.
3.3.2) You actually don't need a total order, the user could specify a
partial order on topics, but then the partial order would have
to be checked to make sure every group's parameters could be
uniquely determined. I think this would require computing the
closure of the partial order, which (I think) is O(N^3) where N
is the number of topics. Could be slow with lots of topics.
Even if there were very good error messages in the case of
conflicts, this could be very annoying and confusing.
The idea of having a home topic seems to be a nice balance between
simplicity and power. This could be augmented with possible
inheritance from supertopics as in rules 1.1 and 1.2. Then you could
think of part of the topic hierarchy as defining a parameter
inheritance hierarchy, and as part of it defining a hierarchical
presentation of groups. Also, I think rule 2 wouldn't be necessary
since either t1 OR t2 (exclusively) would be the home of g1.
It seems like there should be some help to the user to recognize that
they've, for instance, just put a group in a topic which will cause it
to inherit total-expire. A lot of damage could be done very quickly.
It would be nice if you could display the parameters associated with
each topic and group in the topic hierarchy and to mark groups when
they occur in their home topic.
next prev parent reply other threads:[~1996-08-01 8:20 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
1996-07-22 21:22 Bob Cotton
1996-07-23 6:59 ` Lars Magne Ingebrigtsen
1996-07-30 2:35 ` Ken Raeburn
1996-07-30 20:27 ` Lars Magne Ingebrigtsen
1996-07-30 22:16 ` Colin Rafferty
1996-07-31 11:37 ` Lars Magne Ingebrigtsen
1996-07-31 2:34 ` Ken Raeburn
1996-07-31 10:37 ` Per Abrahamsen
1996-07-31 7:11 ` Wes Hardaker
1996-07-31 12:30 ` John Griffith
1996-07-31 19:29 ` Lars Magne Ingebrigtsen
1996-08-01 8:20 ` John Griffith [this message]
1996-08-01 20:49 ` Lars Magne Ingebrigtsen
1996-08-02 7:32 ` John Griffith
1996-08-02 17:54 ` Lars Magne Ingebrigtsen
1996-08-05 11:37 ` Kai Grossjohann
1996-08-06 20:54 ` 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=tj3f27wm5j.fsf@sfs.nphil.uni-tuebingen.de \
--to=griffith@sfs.nphil.uni-tuebingen.de \
--cc=griffith@filippo.sfs.nphil.uni-tuebingen.de \
/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).