diff options
author | Joey Hagedorn <hagedorn@mcs.anl.gov> | 2005-08-01 14:57:24 +0000 |
---|---|---|
committer | Joey Hagedorn <hagedorn@mcs.anl.gov> | 2005-08-01 14:57:24 +0000 |
commit | 058635947a024e68112b7721174c7bc40248aaee (patch) | |
tree | a177d52716088c64ac004b8f0ab253df63135726 /reports/xsl-transforms | |
parent | 7fb840f2b981c8c75158b76d2dd4b0af7635d681 (diff) | |
download | bcfg2-058635947a024e68112b7721174c7bc40248aaee.tar.gz bcfg2-058635947a024e68112b7721174c7bc40248aaee.tar.bz2 bcfg2-058635947a024e68112b7721174c7bc40248aaee.zip |
(Logical change 1.272)
git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@1105 ce84e21b-d406-0410-9b95-82705330c041
Diffstat (limited to 'reports/xsl-transforms')
-rw-r--r-- | reports/xsl-transforms/nodes-digest-email.xsl | 37 | ||||
-rw-r--r-- | reports/xsl-transforms/nodes-digest-html.xsl | 75 | ||||
-rw-r--r-- | reports/xsl-transforms/nodes-digest-rss.xsl | 43 | ||||
-rw-r--r-- | reports/xsl-transforms/nodes-individual-email.xsl | 22 | ||||
-rw-r--r-- | reports/xsl-transforms/overview-stats-email.xsl | 84 | ||||
-rw-r--r-- | reports/xsl-transforms/overview-stats-html.xsl | 110 | ||||
-rw-r--r-- | reports/xsl-transforms/overview-stats-rss.xsl | 91 | ||||
-rw-r--r-- | reports/xsl-transforms/xsl-transform-includes/html-templates.xsl | 104 | ||||
-rw-r--r-- | reports/xsl-transforms/xsl-transform-includes/text-templates.xsl | 85 |
9 files changed, 651 insertions, 0 deletions
diff --git a/reports/xsl-transforms/nodes-digest-email.xsl b/reports/xsl-transforms/nodes-digest-email.xsl index e69de29bb..7575b58d4 100644 --- a/reports/xsl-transforms/nodes-digest-email.xsl +++ b/reports/xsl-transforms/nodes-digest-email.xsl @@ -0,0 +1,37 @@ +<?xml version="1.0"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns="http://www.w3.org/1999/xhtml"> +<xsl:include href="xsl-transform-includes/text-templates.xsl" /> +<xsl:output method="text" indent="no" media-type="text/plain" /> +<xsl:template match="Report"> +<xsl:choose> +<xsl:when test="count(/Report/Node/Statistics/Bad) > 0">Subject: BCFG Nightly Errors (<xsl:value-of select="@name" />) +</xsl:when> +<xsl:otherwise>Subject: BCFG Nightly Good (<xsl:value-of select="@name" />) +</xsl:otherwise> +</xsl:choose> +<xsl:text> +</xsl:text>Report Run @ <xsl:value-of select="@time" /> + +SUMMARY: +<xsl:text> </xsl:text><xsl:value-of select="count(/Report/Node)" /> nodes were included in your report.<xsl:if test="count(/Report/Node/Statistics/Good) = 0"> +<xsl:text> + </xsl:text>All machines are configured to specification. +</xsl:if><xsl:if test="count(/Report/Node/Statistics/Good) > 0"> +<xsl:text> </xsl:text><xsl:value-of select="count(/Report/Node/Statistics/Good)" /> nodes are clean. +</xsl:if> +<xsl:if test="count(/Report/Node/Statistics/Bad) > 0"> +<xsl:text> </xsl:text><xsl:value-of select="count(/Report/Node/Statistics/Bad)" /> nodes are bad. +</xsl:if> +<xsl:if test="count(/Report/Node/Statistics/Modified) > 0"> +<xsl:text> </xsl:text><xsl:value-of select="count(/Report/Node/Statistics/Modified)" /> nodes were modified in the last run. (includes both good and bad nodes) +</xsl:if> +<xsl:if test="count(/Report/Node/Statistics/Stale) > 0"> +<xsl:text> </xsl:text><xsl:value-of select="count(/Report/Node/Statistics/Stale)" /> nodes did not run this calendar day. +</xsl:if> +DETAILS: +<xsl:apply-templates select="Node"> +<xsl:sort select="Statistics/@state" order="descending"/> +<xsl:sort select="@name"/> +</xsl:apply-templates> +</xsl:template> +</xsl:stylesheet>
\ No newline at end of file diff --git a/reports/xsl-transforms/nodes-digest-html.xsl b/reports/xsl-transforms/nodes-digest-html.xsl index e69de29bb..3031a7a0d 100644 --- a/reports/xsl-transforms/nodes-digest-html.xsl +++ b/reports/xsl-transforms/nodes-digest-html.xsl @@ -0,0 +1,75 @@ +<?xml version="1.0"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" + xmlns="http://www.w3.org/1999/xhtml"> + <xsl:include href="xsl-transform-includes/html-templates.xsl" /> + <xsl:output method="xml" media-type="text/html" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/> + <xsl:template match="Report"> + <html> + <head> + <title> + <xsl:choose> + <xsl:when test="count(/Report/Node/Statistics/Bad) > 0">BCFG Nightly Errors (<xsl:value-of select="@name" />)</xsl:when> + <xsl:otherwise>BCFG Nightly Errors (<xsl:value-of select="@name" />)</xsl:otherwise> + </xsl:choose> + </title> + + <link rel="stylesheet" type="text/css" href="web-rprt-srcs/boxypastel.css" /> + <script type="text/javascript" src="web-rprt-srcs/main.js" /> + </head> + <body bgcolor="#ffffff"> + <div class="header"> + <h1> + <xsl:choose> + <xsl:when test="count(/Report/Node/Statistics/Bad) > 0"> + BCFG Nightly Errors (<xsl:value-of select="@name" />) + </xsl:when> + <xsl:otherwise> + BCFG Nightly Errors (<xsl:value-of select="@name" />) + </xsl:otherwise> + </xsl:choose> + </h1><span class="notebox">Report Run @ <xsl:value-of select="@time" /></span> + </div> + <div class="nodebox"> + <h2>Summary:</h2> + + <p class="indented"><xsl:value-of select="count(/Report/Node)" /> Nodes were included in your report.</p> + <xsl:if test="count(/Report/Node/Statistics/Good) > 0"> + <div class="clean"> + <span class="nodelisttitle"><xsl:value-of select="count(/Report/Node/Statistics/Good)" /> nodes are clean.<br /></span> + </div> + </xsl:if> + + <xsl:if test="count(/Report/Node/Statistics/Bad) > 0"> + <div class="bad"> + <span class="nodelisttitle"><xsl:value-of select="count(/Report/Node/Statistics/Bad)" /> nodes are bad.<br /></span> + </div> + </xsl:if> + + <xsl:if test="count(/Report/Node/Statistics/Modified) > 0"> + <div class="modified"> + <span class="nodelisttitle"><xsl:value-of select="count(/Report/Node/Statistics/Modified)" /> nodes were modified in the last run. (includes both good and bad nodes)<br /></span> + </div> + </xsl:if> + + <xsl:if test="count(/Report/Node/Statistics/Stale) > 0"> + <div class="warning"> + <span class="nodelisttitle"><xsl:value-of select="count(/Report/Node/Statistics/Stale)" /> nodes did not run this calendar day.<br /></span> + </div> + </xsl:if> + </div> + + <xsl:apply-templates select="Node"> + <xsl:sort select="Statistics/@state" order="descending"/> + <xsl:sort select="@name"/> + </xsl:apply-templates> + <br/> + <br/> + <p> + <a href="http://validator.w3.org/check?uri=referer"><img + src="http://www.w3.org/Icons/valid-xhtml10" + alt="Valid XHTML 1.0!" height="31" width="88" /></a> + </p> + </body> + </html> + </xsl:template> +</xsl:stylesheet>
\ No newline at end of file diff --git a/reports/xsl-transforms/nodes-digest-rss.xsl b/reports/xsl-transforms/nodes-digest-rss.xsl index e69de29bb..df6ac33a2 100644 --- a/reports/xsl-transforms/nodes-digest-rss.xsl +++ b/reports/xsl-transforms/nodes-digest-rss.xsl @@ -0,0 +1,43 @@ +<?xml version="1.0"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" > +<xsl:include href="xsl-transform-includes/text-templates.xsl" /> +<xsl:output method="xml" indent="no" media-type="text/xml" omit-xml-declaration="yes"/> +<xsl:template match="Report"> +<item> +<pubDate><xsl:value-of select="@time" /></pubDate> +<xsl:choose> +<xsl:when test="count(/Report/Node/Statistics/Bad) > 0"><title>Subject: BCFG Nightly Errors (<xsl:value-of select="@name" />)</title> +</xsl:when> +<xsl:otherwise><title>Subject: BCFG Nightly Good (<xsl:value-of select="@name" />)</title> +</xsl:otherwise> +</xsl:choose> +<description><pre> +<xsl:text> +</xsl:text>Report Run @ <xsl:value-of select="@time" /> + +SUMMARY: +<xsl:text> </xsl:text><xsl:value-of select="count(/Report/Node)" /> nodes were included in your report.<xsl:if test="count(/Report/Node/Statistics/Good) = 0"> +<xsl:text> + </xsl:text>All machines are configured to specification. +</xsl:if><xsl:if test="count(/Report/Node/Statistics/Good) > 0"> +<xsl:text> </xsl:text><xsl:value-of select="count(/Report/Node/Statistics/Good)" /> nodes are clean. +</xsl:if> +<xsl:if test="count(/Report/Node/Statistics/Bad) > 0"> +<xsl:text> </xsl:text><xsl:value-of select="count(/Report/Node/Statistics/Bad)" /> nodes are bad. +</xsl:if> +<xsl:if test="count(/Report/Node/Statistics/Modified) > 0"> +<xsl:text> </xsl:text><xsl:value-of select="count(/Report/Node/Statistics/Modified)" /> nodes were modified in the last run. (includes both good and bad nodes) +</xsl:if> +<xsl:if test="count(/Report/Node/Statistics/Stale) > 0"> +<xsl:text> </xsl:text><xsl:value-of select="count(/Report/Node/Statistics/Stale)" /> nodes did not run this calendar day. +</xsl:if> +DETAILS: +<xsl:apply-templates select="Node"> +<xsl:sort select="Statistics/@state" order="descending"/> +<xsl:sort select="@name"/> +</xsl:apply-templates> +</pre></description> +<link>http://www-unix.mcs.anl.gov/cobalt/bcfg2/index.html</link> +</item> +</xsl:template> +</xsl:stylesheet>
\ No newline at end of file diff --git a/reports/xsl-transforms/nodes-individual-email.xsl b/reports/xsl-transforms/nodes-individual-email.xsl index e69de29bb..12f0e5ada 100644 --- a/reports/xsl-transforms/nodes-individual-email.xsl +++ b/reports/xsl-transforms/nodes-individual-email.xsl @@ -0,0 +1,22 @@ +<?xml version="1.0"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns="http://www.w3.org/1999/xhtml"> +<xsl:include href="xsl-transform-includes/text-templates.xsl" /> +<xsl:output method="text" indent="no" media-type="text/plain" /> +<xsl:template match="Report"> +<xsl:choose> +<xsl:when test="count(/Report/Node/Statistics/Bad) > 0">Subject: <xsl:value-of select="/Report/Node/@name" /> Nightly Errors +</xsl:when> +<xsl:otherwise>Subject: <xsl:value-of select="/Report/Node/@name" /> Nightly Good</xsl:otherwise> +</xsl:choose> +<xsl:text> +</xsl:text>Report Run @ <xsl:value-of select="@time" /> + +<xsl:if test="count(/Report/Node/Statistics/Bad) = 0"> +This node configured properly. +</xsl:if> +<xsl:apply-templates select="Node"> +<xsl:sort select="Statistics/@state" order="descending"/> +<xsl:sort select="@name"/> +</xsl:apply-templates> +</xsl:template> +</xsl:stylesheet>
\ No newline at end of file diff --git a/reports/xsl-transforms/overview-stats-email.xsl b/reports/xsl-transforms/overview-stats-email.xsl index e69de29bb..6a80bfe95 100644 --- a/reports/xsl-transforms/overview-stats-email.xsl +++ b/reports/xsl-transforms/overview-stats-email.xsl @@ -0,0 +1,84 @@ +<?xml version="1.0"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns="http://www.w3.org/1999/xhtml"> +<xsl:include href="xsl-transform-includes/text-templates.xsl" /> +<xsl:output method="text" indent="no" media-type="text/plain" /> +<xsl:template match="Report">Subject: BCFG Nightly Statistics<xsl:text> +</xsl:text>Report Run @ <xsl:value-of select="@time" /> + +Summary: +<xsl:text> </xsl:text><xsl:value-of select="count(/Report/Node/Statistics/Good)" /> nodes are clean. +<xsl:text> </xsl:text><xsl:value-of select="count(/Report/Node/Statistics/Bad)" /> nodes are dirty. +<xsl:text> </xsl:text><xsl:value-of select="count(/Report/Node/Statistics/Modified)" /> nodes were modified in the last run. (includes both good and bad nodes) +<xsl:text> </xsl:text><xsl:value-of select="count(/Report/Node/Statistics/Stale)" /> nodes did not run this calendar day. +<xsl:text> </xsl:text><xsl:value-of select="count(/Report/Node/HostInfo[@pingable='N'])" /> nodes were not pingable. +<xsl:text> </xsl:text>---------------------------- +<xsl:text> </xsl:text><xsl:value-of select="count(/Report/Node)" /> Total<xsl:text> + +</xsl:text> + + +<xsl:if test="count(/Report/Node/Statistics/Good) > 0"> +CLEAN: +<xsl:for-each select="Node"> +<xsl:sort select="HostInfo/@fqdn"/> +<xsl:if test="count(Statistics/Good) > 0"> +<xsl:text> </xsl:text><xsl:value-of select="HostInfo/@fqdn" /><xsl:text> +</xsl:text> +</xsl:if> +</xsl:for-each><xsl:text> +</xsl:text> +</xsl:if> + +<xsl:if test="count(/Report/Node/Statistics/Bad) > 0"> +DIRTY: +<xsl:for-each select="Node"> +<xsl:sort select="HostInfo/@fqdn"/> +<xsl:if test="count(Statistics/Bad) > 0"> +<xsl:text> </xsl:text><xsl:value-of select="HostInfo/@fqdn" /><xsl:text> +</xsl:text> +</xsl:if> +</xsl:for-each><xsl:text> +</xsl:text> +</xsl:if> + +<xsl:if test="count(/Report/Node/Statistics/Modified) > 0"> +MODIFIED: +<xsl:for-each select="Node"> +<xsl:sort select="HostInfo/@fqdn"/> +<xsl:if test="count(Statistics/Modified) > 0"> +<xsl:text> </xsl:text><xsl:value-of select="HostInfo/@fqdn" /><xsl:text> +</xsl:text> +</xsl:if> +</xsl:for-each><xsl:text> +</xsl:text> + +</xsl:if> + +<xsl:if test="count(/Report/Node/Statistics/Stale) > 0"> +STALE: +<xsl:for-each select="Node"> +<xsl:sort select="HostInfo/@fqdn"/> +<xsl:if test="count(Statistics/Stale) > 0"> +<xsl:text> </xsl:text><xsl:value-of select="HostInfo/@fqdn" /><xsl:text> +</xsl:text> +</xsl:if> +</xsl:for-each><xsl:text> +</xsl:text> + +</xsl:if> + +<xsl:if test="count(/Report/Node/HostInfo[@pingable='N']) > 0"> +UNPINGABLE: +<xsl:for-each select="Node"> +<xsl:sort select="HostInfo/@fqdn"/> +<xsl:if test="count(HostInfo[@pingable='N']) > 0"> +<xsl:text> </xsl:text><xsl:value-of select="HostInfo/@fqdn" /><xsl:text> +</xsl:text> +</xsl:if> +</xsl:for-each><xsl:text> +</xsl:text> + +</xsl:if> + +</xsl:template> +</xsl:stylesheet>
\ No newline at end of file diff --git a/reports/xsl-transforms/overview-stats-html.xsl b/reports/xsl-transforms/overview-stats-html.xsl index e69de29bb..69087ea82 100644 --- a/reports/xsl-transforms/overview-stats-html.xsl +++ b/reports/xsl-transforms/overview-stats-html.xsl @@ -0,0 +1,110 @@ +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" + xmlns="http://www.w3.org/1999/xhtml"> + <xsl:output method="xml" media-type="text/html" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/> + <xsl:template match="Report"> + <html> + <head> + <title><xsl:value-of select="@name" /></title> + + <link rel="stylesheet" type="text/css" href="web-rprt-srcs/boxypastel.css" /> + <script type="text/javascript" src="web-rprt-srcs/main.js" /> + </head> + <body bgcolor="#ffffff"> + <div class="header"> + <h1><xsl:value-of select="@name" /></h1><span class="notebox">Report Run @ <xsl:value-of select="@time" /></span> + </div> + <div class="nodebox"> + <h2>Summary:</h2> + + <p class="indented"><xsl:value-of select="count(/Report/Node)" /> Nodes were included in your report.</p> + <xsl:if test="count(/Report/Node/Statistics/Good) > 0"> + <div class="clean"> + <span class="nodelisttitle"><a href="javascript:toggleLayer('goodsummary');" title="Click to Expand" class="commentLink"><xsl:value-of select="count(/Report/Node/Statistics/Good)" /></a> nodes are clean.<br /></span> + <div class="items" id="goodsummary"><ul class="plain"> + + <xsl:for-each select="Node"> + <xsl:sort select="HostInfo/@fqdn"/> + <xsl:if test="count(Statistics/Good) > 0"> + <tt><xsl:value-of select="HostInfo/@fqdn" /></tt><br/> + </xsl:if> + </xsl:for-each> + </ul></div> + </div> + </xsl:if> + + <xsl:if test="count(/Report/Node/Statistics/Bad) > 0"> + <div class="bad"> + <span class="nodelisttitle"><a href="javascript:toggleLayer('badsummary');" title="Click to Expand" class="commentLink"><xsl:value-of select="count(/Report/Node/Statistics/Bad)" /></a> nodes are bad.<br /></span> + + <div class="items" id="badsummary"><ul class="plain"> + <xsl:for-each select="Node"> + <xsl:sort select="HostInfo/@fqdn"/> + <xsl:if test="count(Statistics/Bad) > 0"> + <tt><xsl:value-of select="HostInfo/@fqdn" /></tt><br/> + </xsl:if> + </xsl:for-each> + </ul></div> + </div> + </xsl:if> + + <xsl:if test="count(/Report/Node/Statistics/Modified) > 0"> + <div class="modified"> + <span class="nodelisttitle"><a href="javascript:toggleLayer('modifiedsummary');" title="Click to Expand" class="commentLink"><xsl:value-of select="count(/Report/Node/Statistics/Modified)" /></a> nodes were modified in the last run. (includes both good and bad nodes)<br /></span> + + <div class="items" id="modifiedsummary"><ul class="plain"> + <xsl:for-each select="Node"> + <xsl:sort select="HostInfo/@fqdn"/> + <xsl:if test="count(Statistics/Modified) > 0"> + <tt><xsl:value-of select="HostInfo/@fqdn" /></tt><br/> + </xsl:if> + </xsl:for-each> + </ul></div> + </div> + </xsl:if> + + <xsl:if test="count(/Report/Node/Statistics/Stale) > 0"> + <div class="warning"> + <span class="nodelisttitle"><a href="javascript:toggleLayer('stalesummary');" title="Click to Expand" class="commentLink"><xsl:value-of select="count(/Report/Node/Statistics/Stale)" /></a> nodes did not run this calendar day.<br /></span> + + <div class="items" id="stalesummary"><ul class="plain"> + <xsl:for-each select="Node"> + <xsl:sort select="HostInfo/@fqdn"/> + <xsl:if test="count(Statistics/Stale) > 0"> + <tt><xsl:value-of select="HostInfo/@fqdn" /></tt><br/> + </xsl:if> + </xsl:for-each> + </ul></div> + </div> + </xsl:if> + + + + <xsl:if test="count(/Report/Node/HostInfo[@pingable='N']) > 0"> + <div class="warning"> + <span class="nodelisttitle"><a href="javascript:toggleLayer('unpingablesummary');" title="Click to Expand" class="commentLink"><xsl:value-of select="count(/Report/Node/HostInfo[@pingable='N'])" /></a> nodes were not pingable.<br /></span> + + <div class="items" id="unpingablesummary"><ul class="plain"> + <xsl:for-each select="Node"> + <xsl:sort select="HostInfo/@fqdn"/> + <xsl:if test="count(HostInfo[@pingable='N']) > 0"> + <tt><xsl:value-of select="HostInfo/@fqdn" /></tt><br/> + </xsl:if> + </xsl:for-each> + </ul></div> + </div> + </xsl:if> + + + + </div> + <br/> + <br/> + <p> + <a href="http://validator.w3.org/check?uri=referer"><img + src="http://www.w3.org/Icons/valid-xhtml10" + alt="Valid XHTML 1.0!" height="31" width="88" /></a> + </p> + </body> + </html> + </xsl:template> +</xsl:stylesheet>
\ No newline at end of file diff --git a/reports/xsl-transforms/overview-stats-rss.xsl b/reports/xsl-transforms/overview-stats-rss.xsl index e69de29bb..d9aba6a0d 100644 --- a/reports/xsl-transforms/overview-stats-rss.xsl +++ b/reports/xsl-transforms/overview-stats-rss.xsl @@ -0,0 +1,91 @@ +<?xml version="1.0"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" > +<xsl:include href="xsl-transform-includes/text-templates.xsl" /> +<xsl:output method="xml" indent="no" media-type="text/xml" omit-xml-declaration="yes"/> +<xsl:template match="Report"> +<item> +<pubDate><xsl:value-of select="@time" /></pubDate> +<title>BCFG Nightly Statistics</title> +<description><pre> +Report Run @ <xsl:value-of select="@time" /> + +Summary: +<xsl:text> </xsl:text><xsl:value-of select="count(/Report/Node/Statistics/Good)" /> nodes are clean. +<xsl:text> </xsl:text><xsl:value-of select="count(/Report/Node/Statistics/Bad)" /> nodes are dirty. +<xsl:text> </xsl:text><xsl:value-of select="count(/Report/Node/Statistics/Modified)" /> nodes were modified in the last run. (includes both good and bad nodes) +<xsl:text> </xsl:text><xsl:value-of select="count(/Report/Node/Statistics/Stale)" /> nodes did not run this calendar day. +<xsl:text> </xsl:text><xsl:value-of select="count(/Report/Node/HostInfo[@pingable='N'])" /> nodes were not pingable. +<xsl:text> </xsl:text>---------------------------- +<xsl:text> </xsl:text><xsl:value-of select="count(/Report/Node)" /> Total<xsl:text> + +</xsl:text> + + +<xsl:if test="count(/Report/Node/Statistics/Good) > 0"> +CLEAN: +<xsl:for-each select="Node"> +<xsl:sort select="HostInfo/@fqdn"/> +<xsl:if test="count(Statistics/Good) > 0"> +<xsl:text> </xsl:text><xsl:value-of select="HostInfo/@fqdn" /><xsl:text> +</xsl:text> +</xsl:if> +</xsl:for-each><xsl:text> +</xsl:text> +</xsl:if> + +<xsl:if test="count(/Report/Node/Statistics/Bad) > 0"> +DIRTY: +<xsl:for-each select="Node"> +<xsl:sort select="HostInfo/@fqdn"/> +<xsl:if test="count(Statistics/Bad) > 0"> +<xsl:text> </xsl:text><xsl:value-of select="HostInfo/@fqdn" /><xsl:text> +</xsl:text> +</xsl:if> +</xsl:for-each><xsl:text> +</xsl:text> +</xsl:if> + +<xsl:if test="count(/Report/Node/Statistics/Modified) > 0"> +MODIFIED: +<xsl:for-each select="Node"> +<xsl:sort select="HostInfo/@fqdn"/> +<xsl:if test="count(Statistics/Modified) > 0"> +<xsl:text> </xsl:text><xsl:value-of select="HostInfo/@fqdn" /><xsl:text> +</xsl:text> +</xsl:if> +</xsl:for-each><xsl:text> +</xsl:text> + +</xsl:if> + +<xsl:if test="count(/Report/Node/Statistics/Stale) > 0"> +STALE: +<xsl:for-each select="Node"> +<xsl:sort select="HostInfo/@fqdn"/> +<xsl:if test="count(Statistics/Stale) > 0"> +<xsl:text> </xsl:text><xsl:value-of select="HostInfo/@fqdn" /><xsl:text> +</xsl:text> +</xsl:if> +</xsl:for-each><xsl:text> +</xsl:text> + +</xsl:if> + +<xsl:if test="count(/Report/Node/HostInfo[@pingable='N']) > 0"> +UNPINGABLE: +<xsl:for-each select="Node"> +<xsl:sort select="HostInfo/@fqdn"/> +<xsl:if test="count(HostInfo[@pingable='N']) > 0"> +<xsl:text> </xsl:text><xsl:value-of select="HostInfo/@fqdn" /><xsl:text> +</xsl:text> +</xsl:if> +</xsl:for-each><xsl:text> +</xsl:text> + +</xsl:if> + +</pre></description> +<link>http://www-unix.mcs.anl.gov/cobalt/bcfg2/index.html</link> +</item> +</xsl:template> +</xsl:stylesheet>
\ No newline at end of file diff --git a/reports/xsl-transforms/xsl-transform-includes/html-templates.xsl b/reports/xsl-transforms/xsl-transform-includes/html-templates.xsl index e69de29bb..c0defab29 100644 --- a/reports/xsl-transforms/xsl-transform-includes/html-templates.xsl +++ b/reports/xsl-transforms/xsl-transform-includes/html-templates.xsl @@ -0,0 +1,104 @@ +<?xml version="1.0"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns="http://www.w3.org/1999/xhtml"> + <xsl:template match="Node"> + <div class="nodebox"> + <span class="notebox">Time Ran: <xsl:value-of select="Statistics/@time" /></span> + <h2>Node: <span class="nodename"><xsl:value-of select="HostInfo/@fqdn" /></span></h2> + <xsl:apply-templates select="Statistics" /> + </div> + </xsl:template> + + <xsl:template match="Statistics"> + + <xsl:apply-templates select="Stale" /> + <xsl:apply-templates select="Good" /> + <xsl:apply-templates select="Bad" /> + <xsl:apply-templates select="Modified" /> + </xsl:template> + + + <xsl:template match="Good"> + <div class="clean"> + <span class="nodelisttitle">Node is clean; Everything has been satisfactorily configured.</span> + </div> + </xsl:template> + + <xsl:template match="Stale"> + <div class="warning"> + <span class="nodelisttitle">This node did not run on today's calendar date-- it may be out of date.</span> + </div> + </xsl:template> + + <xsl:template match="Bad"> + <div class="bad"> + <span class="nodelisttitle"><a href="javascript:toggleLayer('{generate-id(.)}');" title="Click to expand" class="commentLink"><xsl:value-of select="count(./*)" /></a> items did not verify and are considered Dirty.<br /></span> + + <div class="items" id="{generate-id(.)}"><ul class="plain"> + <xsl:apply-templates select="ConfigFile"> + <xsl:sort select="@name"/> + </xsl:apply-templates> + <xsl:apply-templates select="Directory"> + <xsl:sort select="@name"/> + </xsl:apply-templates> + <xsl:apply-templates select="Package"> + <xsl:sort select="@name"/> + </xsl:apply-templates> + <xsl:apply-templates select="Service"> + <xsl:sort select="@name"/> + </xsl:apply-templates> + <xsl:apply-templates select="SymLink"> + <xsl:sort select="@name"/> + </xsl:apply-templates> + </ul></div> + </div> + </xsl:template> + + <xsl:template match="Modified"> + <div class="modified"> + <span class="nodelisttitle"><a href="javascript:toggleLayer('{generate-id(.)}');" title="Click to Expand" class="commentLink"><xsl:value-of select="count(./*)" /></a> items were modified in the last run.<br /></span> + + <div class="items" id="{generate-id(.)}"><ul class="plain"> + <xsl:apply-templates select="ConfigFile"> + <xsl:sort select="@name"/> + </xsl:apply-templates> + <xsl:apply-templates select="Directory"> + <xsl:sort select="@name"/> + </xsl:apply-templates> + <xsl:apply-templates select="Package"> + <xsl:sort select="@name"/> + </xsl:apply-templates> + <xsl:apply-templates select="Service"> + <xsl:sort select="@name"/> + </xsl:apply-templates> + <xsl:apply-templates select="SymLink"> + <xsl:sort select="@name"/> + </xsl:apply-templates> + </ul></div> + </div> + </xsl:template> + + <xsl:template match="ConfigFile"> + <li><b>Config File: </b> + <tt><xsl:value-of select="@name"/></tt></li> + </xsl:template> + + <xsl:template match="Package"> + <li><b>Package: </b> + <tt><xsl:value-of select="@name"/></tt></li> + </xsl:template> + + <xsl:template match="Directory"> + <li><b>Directory: </b> + <tt><xsl:value-of select="@name"/></tt></li> + </xsl:template> + + <xsl:template match="Service"> + <li><b>Service: </b> + <tt><xsl:value-of select="@name"/></tt></li> + </xsl:template> + + <xsl:template match="SymLink"> + <li><b>SymLink: </b> + <tt><xsl:value-of select="@name"/></tt></li> + </xsl:template> +</xsl:stylesheet>
\ No newline at end of file diff --git a/reports/xsl-transforms/xsl-transform-includes/text-templates.xsl b/reports/xsl-transforms/xsl-transform-includes/text-templates.xsl index e69de29bb..c186b1b79 100644 --- a/reports/xsl-transforms/xsl-transform-includes/text-templates.xsl +++ b/reports/xsl-transforms/xsl-transform-includes/text-templates.xsl @@ -0,0 +1,85 @@ +<?xml version="1.0"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns="http://www.w3.org/1999/xhtml"> +<xsl:template match="Node"> +<xsl:text> + + </xsl:text>Node:<xsl:value-of select="HostInfo/@fqdn" /><xsl:text> + </xsl:text>Time Ran: <xsl:value-of select="Statistics/@time" />. +<xsl:apply-templates select="Statistics" /> +</xsl:template> + +<xsl:template match="Statistics"> + <xsl:apply-templates select="Stale" /> + <xsl:apply-templates select="Good" /> + <xsl:apply-templates select="Bad" /> + <xsl:apply-templates select="Modified" /> +</xsl:template> +<xsl:template match="Good"> +<xsl:text> </xsl:text>Node is clean; Everything has been satisfactorily configured. +</xsl:template> +<xsl:template match="Stale"> +<xsl:text> </xsl:text>This node did not run today-- it may be out of date. +</xsl:template> +<xsl:template match="Bad"> +<xsl:text> </xsl:text><xsl:value-of select="count(./*)" /> items did not verify and are considered Dirty: + <xsl:apply-templates select="ConfigFile"> + <xsl:sort select="@name"/> + </xsl:apply-templates> + <xsl:apply-templates select="Directory"> + <xsl:sort select="@name"/> + </xsl:apply-templates> + <xsl:apply-templates select="Package"> + <xsl:sort select="@name"/> + </xsl:apply-templates> + <xsl:apply-templates select="Service"> + <xsl:sort select="@name"/> + </xsl:apply-templates> + <xsl:apply-templates select="SymLink"> + <xsl:sort select="@name"/> + </xsl:apply-templates> + </xsl:template> + +<xsl:template match="Modified"> +<xsl:text> </xsl:text><xsl:value-of select="count(./*)" /> items were modified in the last run. + <xsl:apply-templates select="ConfigFile"> + <xsl:sort select="@name"/> + </xsl:apply-templates> + <xsl:apply-templates select="Directory"> + <xsl:sort select="@name"/> + </xsl:apply-templates> + <xsl:apply-templates select="Package"> + <xsl:sort select="@name"/> + </xsl:apply-templates> + <xsl:apply-templates select="Service"> + <xsl:sort select="@name"/> + </xsl:apply-templates> + <xsl:apply-templates select="SymLink"> + <xsl:sort select="@name"/> + </xsl:apply-templates> +</xsl:template> + +<xsl:template match="ConfigFile"> +<xsl:text> + </xsl:text>Config File: <xsl:value-of select="@name"/> +</xsl:template> + +<xsl:template match="Package"> +<xsl:text> + </xsl:text>Package: <xsl:value-of select="@name"/> +</xsl:template> + +<xsl:template match="Directory"> +<xsl:text> + </xsl:text>Directory: <xsl:value-of select="@name"/> +</xsl:template> + +<xsl:template match="Service"> +<xsl:text> + </xsl:text>Service: <xsl:value-of select="@name"/> +</xsl:template> + +<xsl:template match="SymLink"> +<xsl:text> + </xsl:text>SymLink: <xsl:value-of select="@name"/> +</xsl:template> +</xsl:stylesheet>
\ No newline at end of file |