NAME¶
config-model-edit - Graphical model editor for Config::Model
SYNOPSIS¶
config-model-edit [options] -model Sshd [ class:Sshd element:Foo ... ]
# plugin mode
config-model-edit [options] -model Debian::Dpkg -plugin-file dpkg-snippet.pl
DESCRIPTION¶
config-model-edit will provides a Perl/Tk graphical interface to edit
configuration models that will be used by Config::Model.
Config::Model is a general purpose configuration framework based on
configuration models (See Config::Model for details).
This configuration model is also expressed as structured data. This structure
data is structured and follow a set of rules which are described for humans in
Config::Model.
The structure and rules documented in Config::Model are also expressed in a
model in the files provided with Config::Model::Itself.
Hence the possibity to verify, modify configuration data provided by
Config::Model can also be applied on configuration models using the same user
interface as config-edit.
The model editor program is config-model-edit.
USAGE¶
"config-model-edit" will read and write model file from
"./lib/Config/Model/models".
When you specify a "-model" options, only configuration models
matching this options will be loaded. I.e.
config-model-edit -model Xorg
will load models "Xorg" (file "Xorg.pl") and all other
"Xorg::*" like "Xorg::Screen" (file
"Xorg/Screen.pl").
Options¶
- -model
- Mandatory option that specifies the configuration model to
be edited.
- -plugin-file foo.pl
- this option can be used to create model plugins. A model
plugin is an addendum to an existing model. The resulting file will be
saved in a ".d" directory besides the original file to be taken
into account.
For instance:
$ config-model-edit -model Debian::Dpkg -plugin-file my-plugin.pl
# perform additions to Debian::Dpkg and Debian::Dpkg::Control::Source and save
$ find lib -name my-plugin.pl
lib/Config/Model/models/Debian/Dpkg.d/my-plugin.pl
lib/Config/Model/models/Debian/Dpkg/Control/Source.d/my-plugin.pl
- -trace
- Provides a full stack trace when exiting on error.
- -force-load
- Load file even if error are found in data. Bad data are
loaded, but should be cleaned up before saving the model. See menu
"File -> check" in the GUI.
- -dot-diagram
- Returns a dot file that represent the stucture of the
configuration model. "include" are represented by solid lines.
Class usage (i.e. "config_class_name" parameter) is represented
by dashed lines. The name of the element is attached to the dashed
line.
- -dump [ file ]
- Dump configuration content on STDOUT or in the specified
with Config::Model syntax.
By default, dump only custom values, i.e. different from application
built-in values or model default values. See -dumptype option for other
types of dump
- -dumptype [ full | preset | custom ]
- Choose to dump every values (full), only preset values or
only customized values (default)
- -load <cds_file_to_load> | -
- Load model from cds file (using Config::Model serialisation
format, typically done with -dump option). This option can be used with
"-save" to directly save a model loaded from the cds file or
from STDIN.
- -load-yaml <yaml_file_to_load> | -
- Load configuration data in model from YAML file. This
option can be used with "-save" to directly save a model loaded
from the YAML file or from STDIN.
- -dump_yaml
- Dump a model in YAML format
- -save
- Force a save of the model even if no edition was done. This
option is useful to migrate a model when Config::Model model feature
changes.
- -dir
- Directory where to read and write model
- -open-item 'path'
- In graphical mode, force the UI to open the node specified.
E.g.
-open_item 'class:Fstab::FsLine element:fs_mntopts rules'
LOGGING¶
All Config::Model logging was moved from klunky debug and verbose prints to
Log::Log4perl. Logging can be configured in the following files:
- •
-
~/.log4config-model
- •
-
/etc/log4config-model.conf
Without these files, the following Log4perl config is used:
log4perl.logger=WARN, Screen
log4perl.appender.Screen = Log::Log4perl::Appender::Screen
log4perl.appender.Screen.stderr = 0
log4perl.appender.Screen.layout = Log::Log4perl::Layout::PatternLayout
log4perl.appender.Screen.layout.ConversionPattern = %d %m %n
Log4Perl categories are shown in "LOGGING" in config-edit
AUTHOR¶
Dominique Dumont, ddumont at cpan dot org
SEE ALSO¶
Config::Model, Config::Model::Node, Config::Model::Instance,
Config::Model::HashId, Config::Model::ListId, Config::Model::WarpedNode,
Config::Model::Value