The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

config-model-edit - Deprecated use cme meta edit

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