From: Jason L. <jl...@me...> - 2002-10-23 01:29:25
|
Justin: To address the risk that Config4GNU's "wizard" design is too ambitious, I am developing a prototype "wizard". The wizards will be defined using an XML file that defines what pages and widgets to display and what properties the widgets correspond to. The definition file is generic enough that multiple front-ends can use it... e.g. a web interface will generate HTML for the wizard. The alternative to this approach is that wizards could be implemented using a scripting language that generates the controls. A separate program will be written for every front-end supported, but it saves the effort of creating a one-size-fits-all wizard program. The controls on a wizard need to be "bound" to actual properties that get set or displayed. To bind the control, a property needs to be specified. Following is a proposal for how a property might be specified. -- The property identifier is a string, and it is called a "property path". A "property path" is a "node path" and a name of a property separated by a period ('.'). A "node path" is a sequence of "node identifiers" separated by forward slashes ('/'). Nodes can be identified by their types and/or their names. A "node identifier" is an optional "node type" followed by an optional "node name" in brackets. At least one of "node type" and "node name" must be specified. Here's a Samba example: samba/[global].comment This refers to the comment property in the global section of smb.conf. samba means look for a node of type 'samba'. It doesn't matter what its name is [global] means look for a child node of the first found node with the name of "global". comment means select the property with the name of comment. -- Jason |