[Xorp-hackers] BG 172

Eddie Kohler kohler@cs.ucla.edu
Mon, 20 Mar 2006 07:37:21 -0800


Sounds like there are pretty convincing reasons to drop create (or, more 
precisely, make it a synonym for set).

Mark's argument about the differences in semantics is not as convincing now, 
although it seemed like it was a good idea at the time.  Question, though: It 
seems like there is no case where "set X Y Z" and "create X Y Z" are both 
valid and have different semantics.  True/false?  If true, that's another 
reason to get rid of create.

You could get Mark's UI benefit by printing a message when the create behavior 
is triggered, something like "created ospf area 0.0.0.10".  You could turn the 
message off of course.

2c
Eddie


Hasso Tepper wrote:
> Mark Handley wrote:
> 
>>The reason for the create command was to make it obvious to the user
>>the difference between creating a node where there can be many (such
>>as creating peers in BGP, or adding addresses to an interface), and
>>setting a parameter (when it's only possible to have one value, such
>>as the holdtime on a particular peering).
> 
> 
> You are assuming here that user should know exact structure of all 
> configuration statements which is insane.
> 
> 
>>This was supposed to be less confusing to the user - the two behaviours 
>>are fundamentally different, and using a single command means the user 
>>can't tell from the command which behaviour will occur.
> 
> 
> While entering new statements into configuration users don't care how the 
> result will appear in configuration - whether command ends with 
> intermediate or leaf node. They don't need that knowledge. They need this 
> knowledge while working with existing configuration and then they already 
> see how configuration structure with "show" command. 
> 
> 
>>With hindsight though, it's not clear to me if it is in fact less
>>confusing.  But it's hard to tell, because my worldview is distorted
>>by using XORP, and other's worldviews are clearly distorted by using
>>Juniper boxes.
> 
> 
> It's Junos vs. Xorp topic, it's general usability issue. There are two 
> ways to start entering configuration command in Xorp - create vs. set. I 
> don't know any other CLI behaving this way. User don't know exactly how 
> configuration is built up. He presses tab and discovers logical path to 
> configuration he/she wants. And using both create and set means a lot of 
> more typing for user.
> 
> "I want to default LSA into ospf area with metric 10 , lets find out ... 
> "set ?" ... "protocols " ... "ospf " ... "area 0.0.0.10 " ... hmmm, no 
> any word about default ... argh, I have to create it before. "create 
> protocols ospf area 0.0.0.10 default-lsa", "set protocols ospf area 
> 0.0.0.10 default-lsa metric 10" etc."
> 
> In all other CLI's there is only one path - to enter one configuration 
> statement you don't have to go back to the beginning of the entering 
> statement.
> 
> All Xorp users (testers actually) I know at the moment (including me) just 
> use create command and take two issues as annoying bugs - difference from 
> Junos cli and that create doesn't complete existing intermediate node 
> names.
> 
>