[bind10-dev] command line syntax for bind10
João Damas
joao at bondis.org
Thu Nov 26 10:51:06 UTC 2009
On 25 Nov 2009, at 12:30, Jelte Jansen wrote:
>
> Through the command line (or any UI, but this is only about the cli), there are
> two types of commands; configuration and direct commands to modules.
>
> Configuration
> - -------------
>
> Enter 'config' to go into configuration mode (this might not even be necessary)
>
I do hate most modal input systems, in particular if they preclude the use of normal commands. For instance, why not allow the use of show commands while in configuration mode? Sure, a well thought configuration mode can help prevent accidents but don't implement yet another broken one
> There are 8 basic commands concerning configuration
>
>
> every command can take the argument 'help'
> show also shows the description of the different options
>
try not to use abbreviations anywhere, these days it is pretty easy to get a UI with tab-completion or similar and it is such a pain to have to guess what the developers where thinking was a good command abbreviation (not to mention the general lack of consistency as things get developed in time)
A UI is for humans (if you want, and you should, a machine interface design that separately with a common backend) so keep humans in mind. Having said that, this is a language to talk to machines so a simple, declarative, non-ambiguous language is a must, you don't want to philosophise with the machine
> for every 'map' value, 'go' can be used to go to the set of values in there. If
> multiple maps are nested, a '/' character can be used as a separator; 'go
> parkinglot/port'. This can also be used as the optional name argument in show,
> set, unset, add and remove; 'set parkinglot/port 53'
>
> Example session with parkinglot (note that i use port here since that is the one
> setting we have for it at this point, though changing it may be difficult while
> running, so please ignore that fact for now):
>
>> config
> [/]
>> go parkinglot
> [/parkinglot]
>> show
> port the port to listen on
> zones the list of zones served by parkinglot
> [/parkinglot]
>> show port
> [/parkinglot]
>> set port 54
> [/parkinglot]
>> go port
> [/parkinglot/port]
>> set "asdf"
> Error: value must be an integer
> [/parkinglot/port]
>> set 53
> [/parkinglot/port]
>> go /parkinglot
> [/parkinglot]
>> go zones
> [/parkinglot/zones]
are you providing a client to connect to BIND 10 or is this meant to be an ssh/SSL-secured session into a server-side console? If the latter, can you change things so that the next command is typed after the status prompt, rather than below it? I do find it useful to be able to see as much of the most recent commands issued on screen and the change would help with that.
If there is a specialised client, then things could get a lot more interesting.
Joao
More information about the bind10-dev
mailing list