From ad377a77ed88a8a4b0615dd2d2e984bef5b15d93 Mon Sep 17 00:00:00 2001 From: Sol Jerome Date: Mon, 1 Feb 2010 02:28:39 +0000 Subject: doc: Add server/reports sections Signed-off-by: Sol Jerome git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@5709 ce84e21b-d406-0410-9b95-82705330c041 --- doc/plugins/generators/tgenshi.txt | 94 -------------------------------------- 1 file changed, 94 deletions(-) delete mode 100644 doc/plugins/generators/tgenshi.txt (limited to 'doc/plugins/generators/tgenshi.txt') diff --git a/doc/plugins/generators/tgenshi.txt b/doc/plugins/generators/tgenshi.txt deleted file mode 100644 index bc0de8cbc..000000000 --- a/doc/plugins/generators/tgenshi.txt +++ /dev/null @@ -1,94 +0,0 @@ -.. -*- mode: rst -*- - -.. _plugins-generators-tgenshi: - -======= -TGenshi -======= - -This page documents the TGenshi plugin. This plugin works with version 0.4 and newer of the genshi library. - -The TGenshi plugin allows you to use the `Genshi -`_ templating system to create files, -instead of the various diff-based methods offered by the Cfg -plugin. It also allows you to include the results of probes executed -on the client in the created files. - -To begin, you will need to download and install the Genshi templating engine. - -To install on CentOS or RHEL 5, run:: - - sudo yum install python-genshi - -Once it is installed, you can enable it by adding ``TGenshi`` to the -generators line in ``/etc/bcfg2.conf`` on your Bcfg server. For example:: - - generators = SSHbase,Cfg,Pkgmgr,Svcmgr,Rules,TGenshi - -The TGenshi plugin makes use of a Cfg-like directory structure located in in a TGenshi subdirectory of your repository, usually ``/var/lib/bcfg2/TGenshi``. Each file has a directory containing two file types, template and info. Templates are named according to the genshi format used; template.txt uses the genshi text format, and template.xml uses the XML format. - -If used with Genshi 0.5 or later the plugin also supports the `new -style -`_ -text template format for files named template.newtxt. One of the -advantages of the new format is that it does not use # as a command -delimiter, making it easier to utilize for configuration files that -use # as a comment character. - -Only one template format may be used per file served. Info files are -identical to those used in ``Cfg``, and ``info.xml`` files are -supported. - -Inside of templates -=================== - -* metadata is the client's metadata -* properties.properties is an xml document of unstructured data - -See the genshi `documentation -`_ for examples of -Genshi syntax. - -Examples -======== - -See [wiki:Plugins/TGenshi/examples] for some TGenshi template examples, including the great starting point [wiki:Plugins/TGenshi/examples/motd /etc/motd]. They will use the new style of Genshi syntax, unless noted otherwise. - -Examples: Old Genshi Syntax ---------------------------- - -Genshi's web pages recommend against using this syntax, as it may disappear from future releases. - -Group Negation --------------- - -Templates are also useful for cases where more sophisticated boolean operations than those supported by Cfg are needed. For example, the template:: - - #if "ypbound" in metadata.groups and "workstation" in metadata.groups - client is ypbound workstation - #end - #if "ubuntu" not in metadata.groups and "desktop" in metadata.groups - client is a desktop, but not an ubuntu desktop - #end - -Produces: - -.. code-block:: xml - - client is ypbound workstation - client is a desktop, but not an ubuntu desktop - - -This flexibility provides the ability to build much more compact and succinct definitions of configuration contents than Cfg can. - -FAQs -==== - -'''Question:''' How do I escape the $ (dollar sign) in a TGenshi text template? For example, if I want to include SVN (subversion) keywords like $Id$ or $HeadURL$ in TGenshi-generated files, or am templating a bourne shell (sh/bash) script or Makefile (make). - -'''Answer:''' Use $$ (double dollar sign) to output a literal $ -(dollarsign) in a TGenshi text template. So instead of $Id$, you'd use -$$Id$$. See also Genshi tickets `#282: Document $$ escape convention -`_ and `#283: Allow for -redefinition of template syntax per-file -`_. -- cgit v1.2.3-1-g7c22