Scroll to navigation

CONFIG-MODEL-EDIT(1p) User Contributed Perl Documentation CONFIG-MODEL-EDIT(1p)
 

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
2014-10-23 perl v5.20.1