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
- system
- Read model from system files, i.e. from installed files, not from
"./lib" directory.
- -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