[jboss-svn-commits] JBL Code SVN: r20496 - in labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en: Chapter-Guvnor and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sat Jun 14 20:19:20 EDT 2008


Author: mark.proctor at jboss.com
Date: 2008-06-14 20:19:20 -0400 (Sat, 14 Jun 2008)
New Revision: 20496

Added:
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/AdminCats.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/Architecture.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/ArchitectureDiagram.svg
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/AssetChangeStatus.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/AssetEditor.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/AssetVersionHistory.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/BRMSFeatures.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/CatEdit.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/CatZoom.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/CategoryExplorer.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/Chapter-Guvnor.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/DRLRule.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/DSLRule.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/DecisionTable.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/Deployment1.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/EnumConfig.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/EnumDropDown.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/Function.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/GuidedComplex.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/GuidedDSL.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/GuidedEditor.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/GuidedLHSConstraints.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/Intro1.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/NewMainScreen.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/NewSnapshot.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/NewUI.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/NewUI2.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/PackageBuild.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/PackageChangeStatus.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/PackageConfig.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/PackageExplorer.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/PackageNewItemTooltip.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/QA.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/Scenarios.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/Section-AdminGuide.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/Section-Architecture.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/Section-ExamplesAndTutorials.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/Section-Introduction.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/Section-UserGuide.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/SnapshotDeploy.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/Snapshots.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/TestScenarioEditor.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/Thumbs.db
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/analysis.png
   labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/rule_guis.png
Log:


Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/AdminCats.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/AdminCats.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/Architecture.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/Architecture.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/ArchitectureDiagram.svg
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/ArchitectureDiagram.svg	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/ArchitectureDiagram.svg	2008-06-15 00:19:20 UTC (rev 20496)
@@ -0,0 +1,315 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://web.resource.org/cc/"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="744.09448819"
+   height="1052.3622047"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.44.1"
+   sodipodi:docbase="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS"
+   sodipodi:docname="ArchitectureDiagram.svg">
+  <defs
+     id="defs4" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     gridtolerance="10000"
+     guidetolerance="10"
+     objecttolerance="10"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="1.4"
+     inkscape:cx="375"
+     inkscape:cy="495.6882"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     inkscape:window-width="1400"
+     inkscape:window-height="976"
+     inkscape:window-x="0"
+     inkscape:window-y="26" />
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1">
+    <rect
+       style="fill:white;fill-rule:evenodd;stroke:black;stroke-width:0.43637654px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       id="rect1872"
+       width="189.84933"
+       height="79.849342"
+       x="142.74355"
+       y="216.07384"
+       inkscape:export-filename="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS/Architecture.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90" />
+    <rect
+       style="fill:white"
+       id="rect1874"
+       width="254.28572"
+       height="151.42857"
+       x="289.28571"
+       y="444.50504"
+       inkscape:export-filename="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS/Architecture.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90" />
+    <rect
+       style="fill:white;fill-rule:evenodd;stroke:black;stroke-width:1.41401446px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       id="rect1878"
+       width="606.49902"
+       height="262.44315"
+       x="50.686401"
+       y="328.0585"
+       inkscape:export-filename="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS/Architecture.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90" />
+    <text
+       xml:space="preserve"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       x="206.62802"
+       y="257.22705"
+       id="text1880"
+       inkscape:export-filename="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS/Architecture.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90"><tspan
+         sodipodi:role="line"
+         id="tspan1882"
+         x="206.62802"
+         y="257.22705">Browser</tspan></text>
+    <flowRoot
+       xml:space="preserve"
+       id="flowRoot1884"
+       transform="translate(-30.42712,-111.2394)"
+       inkscape:export-filename="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS/Architecture.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90"><flowRegion
+         id="flowRegion1886"><rect
+           id="rect1888"
+           width="170.71577"
+           height="67.680222"
+           x="90.913727"
+           y="452.33157" /></flowRegion><flowPara
+         id="flowPara1890">Application Server</flowPara></flowRoot>    <rect
+       style="fill:white;fill-rule:evenodd;stroke:black;stroke-width:0.75300866px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       id="rect1876"
+       width="305.10703"
+       height="147.94675"
+       x="91.267052"
+       y="400.45898"
+       inkscape:export-filename="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS/Architecture.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90" />
+    <flowRoot
+       xml:space="preserve"
+       id="flowRoot1893"
+       inkscape:export-filename="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS/Architecture.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90"
+       transform="translate(24.28571,-13.57143)"><flowRegion
+         id="flowRegion1895"><rect
+           id="rect1897"
+           width="204.96304"
+           height="19.53953"
+           x="112.12693"
+           y="425.05746" /></flowRegion><flowPara
+         id="flowPara1899">BRMS application (drools-jbrms)</flowPara><flowPara
+         id="flowPara1923" /></flowRoot>    <rect
+       style="fill:white;fill-rule:evenodd;stroke:black;stroke-width:0.29710922px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       id="rect1901"
+       width="129.04004"
+       height="54.458462"
+       x="101.06883"
+       y="475.49356"
+       inkscape:export-filename="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS/Architecture.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90" />
+    <rect
+       style="fill:white;fill-rule:evenodd;stroke:black;stroke-width:0.24615614px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       id="rect1903"
+       width="129.091"
+       height="37.366558"
+       x="101.06332"
+       y="441.93256"
+       inkscape:export-filename="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS/Architecture.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90" />
+    <text
+       xml:space="preserve"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       x="117.85715"
+       y="464.50504"
+       id="text1925"
+       inkscape:export-filename="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS/Architecture.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90"><tspan
+         sodipodi:role="line"
+         id="tspan1927"
+         x="117.85715"
+         y="464.50504">drools-repository</tspan></text>
+    <flowRoot
+       xml:space="preserve"
+       id="flowRoot1929"><flowRegion
+         id="flowRegion1931"><rect
+           id="rect1933"
+           width="49.285713"
+           height="12.142858"
+           x="133.57143"
+           y="476.64789" /></flowRegion><flowPara
+         id="flowPara1935">JCRJJCR</flowPara><flowPara
+         id="flowPara1937" /></flowRoot>    <text
+       xml:space="preserve"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       x="122.85715"
+       y="504.505"
+       id="text1939"
+       inkscape:export-filename="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS/Architecture.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90"><tspan
+         sodipodi:role="line"
+         id="tspan1941"
+         x="122.85715"
+         y="504.505">JCR (jackrabbit)</tspan></text>
+    <rect
+       style="fill:white;fill-rule:evenodd;stroke:black;stroke-width:0.24615614px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       id="rect1943"
+       width="129.091"
+       height="37.366558"
+       x="253.31165"
+       y="443.67892"
+       inkscape:export-filename="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS/Architecture.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90" />
+    <text
+       xml:space="preserve"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       x="265.54575"
+       y="467.81558"
+       id="text1945"
+       inkscape:export-filename="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS/Architecture.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90"><tspan
+         sodipodi:role="line"
+         id="tspan1947"
+         x="265.54575"
+         y="467.81558">drools-compiler...</tspan></text>
+    <rect
+       style="fill:white;fill-rule:evenodd;stroke:black;stroke-width:0.62447476px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       id="rect1949"
+       width="206.66412"
+       height="150.21814"
+       x="415.95364"
+       y="397.61023"
+       inkscape:export-filename="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS/Architecture.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90" />
+    <flowRoot
+       xml:space="preserve"
+       id="flowRoot1961"><flowRegion
+         id="flowRegion1963"><rect
+           id="rect1965"
+           width="1.4285715"
+           height="45.714287"
+           x="560"
+           y="445.93362" /></flowRegion><flowPara
+         id="flowPara1967"></flowPara></flowRoot>    <flowRoot
+       xml:space="preserve"
+       id="flowRoot1981"
+       inkscape:export-filename="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS/Architecture.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90"><flowRegion
+         id="flowRegion1983"><rect
+           id="rect1985"
+           width="114.28571"
+           height="60"
+           x="445"
+           y="423.79074" /></flowRegion><flowPara
+         id="flowPara1987">User applications (may be seperate app servers)</flowPara></flowRoot>    <rect
+       style="fill:white;fill-rule:evenodd;stroke:black;stroke-width:0.24615614px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       id="rect1989"
+       width="129.091"
+       height="37.366558"
+       x="440.4545"
+       y="480.82175"
+       inkscape:export-filename="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS/Architecture.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90" />
+    <text
+       xml:space="preserve"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       x="448.62793"
+       y="507.81558"
+       id="text1991"
+       inkscape:export-filename="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS/Architecture.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90"><tspan
+         sodipodi:role="line"
+         id="tspan1993"
+         x="448.62793"
+         y="507.81558">drools-core</tspan></text>
+    <rect
+       style="fill:white;fill-rule:evenodd;stroke:black;stroke-width:0.75300866px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       id="rect1999"
+       width="305.10703"
+       height="147.94675"
+       x="51.017918"
+       y="603.38885"
+       inkscape:export-filename="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS/Architecture.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90" />
+    <text
+       xml:space="preserve"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+       x="78.571434"
+       y="676.64789"
+       id="text2001"
+       inkscape:export-filename="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS/Architecture.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90"><tspan
+         sodipodi:role="line"
+         id="tspan2003"
+         x="78.571434"
+         y="676.64789">Data store (file system, or existing RDBMS)</tspan></text>
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1.13249958px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="M 221.42857,531.07489 L 221.42857,604.36376"
+       id="path2009"
+       inkscape:connector-type="polyline"
+       inkscape:export-filename="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS/Architecture.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="M 416.42857,467.36218 L 396.42857,467.36218"
+       id="path2013"
+       inkscape:connector-type="polyline"
+       inkscape:export-filename="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS/Architecture.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="M 221.42857,295.93361 L 221.42857,325.93361"
+       id="path2015"
+       inkscape:connector-type="polyline"
+       inkscape:export-filename="/home/michael/projects/jboss-rules/documentation/manual/en/Chapter-BRMS/Architecture.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90" />
+  </g>
+</svg>

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/AssetChangeStatus.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/AssetChangeStatus.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/AssetEditor.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/AssetEditor.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/AssetVersionHistory.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/AssetVersionHistory.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/BRMSFeatures.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/BRMSFeatures.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/CatEdit.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/CatEdit.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/CatZoom.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/CatZoom.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/CategoryExplorer.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/CategoryExplorer.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/Chapter-Guvnor.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/Chapter-Guvnor.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/Chapter-Guvnor.xml	2008-06-15 00:19:20 UTC (rev 20496)
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<chapter xmlns:xi="http://www.w3.org/2001/XInclude" >
+        <title>The Guvnor (Business Rule Management System)</title>
+
+        <xi:include href="Section-Introduction.xml" />
+
+        <xi:include href="Section-AdminGuide.xml" />
+
+        <xi:include href="Section-Architecture.xml" />
+
+        <xi:include href="Section-UserGuide.xml" />
+
+        
+      </chapter>
\ No newline at end of file

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/DRLRule.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/DRLRule.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/DSLRule.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/DSLRule.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/DecisionTable.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/DecisionTable.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/Deployment1.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/Deployment1.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/EnumConfig.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/EnumConfig.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/EnumDropDown.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/EnumDropDown.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/Function.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/Function.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/GuidedComplex.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/GuidedComplex.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/GuidedDSL.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/GuidedDSL.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/GuidedEditor.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/GuidedEditor.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/GuidedLHSConstraints.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/GuidedLHSConstraints.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/Intro1.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/Intro1.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/NewMainScreen.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/NewMainScreen.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/NewSnapshot.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/NewSnapshot.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/NewUI.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/NewUI.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/NewUI2.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/NewUI2.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/PackageBuild.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/PackageBuild.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/PackageChangeStatus.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/PackageChangeStatus.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/PackageConfig.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/PackageConfig.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/PackageExplorer.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/PackageExplorer.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/PackageNewItemTooltip.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/PackageNewItemTooltip.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/QA.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/QA.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/Scenarios.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/Scenarios.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/Section-AdminGuide.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/Section-AdminGuide.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/Section-AdminGuide.xml	2008-06-15 00:19:20 UTC (rev 20496)
@@ -0,0 +1,390 @@
+<?xml version="1.0" encoding="UTF-8"?>
+	<section xml:base="../" >
+  <title>Administration guide</title>
+
+  <para>This chapter covers installation and administration issues of the
+  BRMS.</para>
+
+  <para>The BRMS is a web application that can run in multiple environments,
+  and be configured to suit most situations. There is also some initial setup
+  of data, and export/import functions covered.</para>
+
+  <section>
+    <title>Installation</title>
+
+    <para>Installation for most people is very simple. The BRMS application is
+    deployed as a .war file, which can be deployed in application servers or
+    servlet containers with little or no configuration if you are happy with
+    the defaults.</para>
+
+    <para>When you have downloaded the BRMS distribution (which you can get
+    from http://labs.jboss.com/jbossrules/downloads), you will find the
+    drools-jbrms.war file in the zip file. Copy the WAR file into the
+    deployment directory of you app server, and then start your app server. If
+    you need to customize some settings, you can first "explode" (unzip) the
+    war file, and change any configuration settings, and then either zip it
+    up, or deploy it "exploded".</para>
+
+    <para>Once the drools-jbrms.war has been placed in the deployment
+    directory, and the application server started, you should navigate to
+    http://localhost/drools-jbrms and check that the BRMS appears. (Obviously
+    substitute the URL for what your application server is configured
+    to).</para>
+
+    <para>Once that shows up, you are deployed and ready to go !</para>
+
+    <section>
+      <title>Supported and recommended platforms</title>
+
+      <para>The BRMS is capable of running in any application server that
+      supports Java SE5 (JEE 5 is not required) - this includes servlet
+      containers like tomcat.</para>
+
+      <para>It is actively tested on JBoss platforms, and these are
+      recommended if you are able to use them, or don't have any existing
+      infrastructure. However, it is possible to use any container/app server,
+      in some cases with minor configuration tweaks (consult the wiki for
+      specific tips).</para>
+
+      <para>The following are a list of recommended platforms (all freely
+      available), in all cases, you can substitute newer versions of the same
+      and it should work (as time may have passed since this was
+      written):</para>
+
+      <itemizedlist>
+        <listitem>
+          <para>JBoss Application Server 4.0.5</para>
+
+          <para>This is recommended as a general application server solution,
+          if you need to run other applications alongside the BRMS.</para>
+        </listitem>
+
+        <listitem>
+          <para>JBoss Web 1.0.1</para>
+
+          <para>This is an ideal solution if you need a "lighter" server to
+          run just the BRMS (perhaps stand alone).</para>
+        </listitem>
+      </itemizedlist>
+
+      <para>You can of course download these from www.jboss.com for every
+      operating system.</para>
+
+      <para>Deployment into JBoss platforms: If you are installing a new JBoss
+      platform, the WAR can be copied to [app server
+      directory]/server/default/deploy. You then start up the server by
+      running run.sh or run.bat in the [app server directory/bin]
+      directory.</para>
+    </section>
+  </section>
+
+  <section>
+    <title>Database configuration</title>
+
+    <para>The BRMS uses the JCR standard for storing assets (such as rules).
+    The default implementation is Apache Jackrabbit
+    (http://jackrabbit.apache.org/). This includes an out of the box storage
+    engine/database, which you can use as is, or configure to use an existing
+    RDBMS if needed.</para>
+
+    <section>
+      <title>Changing the location of the data store</title>
+
+      <para>When you run the BRMS for the first time (starting up the app
+      server), it will create a database in the [app server directory]/bin/
+      directory (assuming you used on of the JBoss platforms). There is a
+      repository.xml file, and a repository directory that are automatically
+      created.</para>
+
+      <para>The location of the data store should be a secure location, that
+      is backed up. The default location may not be suitable for this, so the
+      easiest way is to set a more suitable location. If you want to change
+      this, please make sure you have stopped the BRMS (ie stopped the app
+      server or undeployed the application).</para>
+
+      <para>To change the location, unzip the WAR file, and locate the
+      components.xml file in the WEB-INF directory. This is a JBoss Seam
+      configuration file (Seam is the framework used) which allows various
+      parts of the system to be customized. When you have located the
+      components.xml file, you should see something like the following:</para>
+      <programlisting>&lt;component name="repositoryConfiguration"&gt;
+ &lt;!--
+  *** This is for configuring the "home" directory for the repository storage. the directory must exist. ***
+     &lt;property name="homeDirectory"&gt;/home/michael/RulesRepository_001&lt;/property&gt;
+   --&gt;  
+
+   ...
+&lt;/component&gt;
+</programlisting>
+
+      <para>Find the component with a name of "repositoryConfiguration" and
+      the property with the name of "homeDirectory".</para>
+
+      <para>If you un comment this (as in the example above it is commented
+      out), you can set whatever path you need for the repository data to be
+      stored in. You can also use this to move the repository around. In that
+      case, when you have set the location in the components.xml you can
+      simply move the repository.xml AND the repository directory to the new
+      location that you set in the components.xml.</para>
+
+      <para>If there is no repository at the location specified (or in the
+      default location) then the BRMS will create a new empty one.</para>
+
+      <para>There are many more options which can be configured in the
+      repository.xml, but for the most part, it is not recommended to change
+      the defaults.</para>
+    </section>
+
+    <section>
+      <title>Configuring the BRMS to use an external RDBMS</title>
+
+      <para>In some cases it may be a requirement that you use an external
+      RDBMS, such as Oracle, MySQL, or Microsoft SQL Server as the data store
+      - this is permitted. In this case, the easiest thing to do is to start
+      up the RDBMS with defaults (or with a suitable home directory as
+      specified above) to let it generate the default repository.xml
+      scaffolding.</para>
+
+      <para>Locate the repository.xml file that was generated, and open it -
+      it will be annotated with comments describing many of the different
+      options. From here on, you will need to know a little about Jackrabbit
+      Persistence managers:
+      http://jackrabbit.apache.org/doc/config.html</para>
+
+      <para>There are a few persistence managers, some are database specific
+      (eg Oracle). There is a SimpleDBPersistenceManager which works with any
+      database that supports JDBC - you also specify the database type, so it
+      uses the specific DDL to create the table structure (all major databases
+      are supported).</para>
+
+      <para>The BRMS will create the tables the first time it is started up if
+      it is running against a fresh (empty) RDBMS - so its important to note
+      that the user credentials supplied have permissions to create tables (at
+      least initially, on first run, after that they could be locked
+      down).</para>
+    </section>
+
+    <section>
+      <title>Searching and indexing, Version storage</title>
+
+      <para>Jackrabbit has a separate storage area for version storage (as
+      over time, the number of old versions will increase, yet it should not
+      slow down the performance of the main data store). The version storage
+      also has its own persistence manage configuration in the repository.xml,
+      but for most purposes you can use the same database as the main storage
+      (just with a different schema object prefix - ie in your database, all
+      the version data will be prefixed with "version_" but otherwise in the
+      same tablespace). See the repository.xml for more details of
+      this.</para>
+
+      <para>Lucene is used to provide indexing across the semi structured
+      data, and across versions. This indexing is generally best stored on a
+      filesystem, local to the BRMS (as per the default in the repository.xml)
+      - in most cases the default is fine.</para>
+    </section>
+  </section>
+
+  <section>
+    <title>Security</title>
+
+    <para>Please note that giving someone access to the BRMS indicates a level of trust.
+    Being able to editing and build rules is providing a great deal of power to a user. Thus you should not open up the BRMS to your entire organisation - but instead to a select few. Use https (http with TLS/SSL) whereever possible (even internally in a companies network this is a good idea). Use this power wisely - this not a "run of the mill" application that provides read/write access to a database, but something much more power. Just imagine you are spider man - with great power comes great responsibility (of course even more so for super man).</para>
+
+    <para>Security is configured by using the components.xml file in the war
+    file. To customize this, you will need to unzip the war file, and locate
+    the components.xml file which is in the WEB-INF directory.</para>
+
+    <para>The JAAS standard is used as the underlying authentication and
+    authorization mechanism, the upshot of which means its very flexable and
+    able to integrate into most existing environments.</para>
+
+    <para>Out of the box, the BRMS shows a login screen, but no security
+    credentials are enforced - the user name is used, but no password check is
+    performed. To enforce authentication, you need to configure it to use an
+    appropriate user directory (you may have Active Directory or similar
+    already).</para>
+
+    <para>In the components.xml file, you should located a security
+    configuration section like the following:</para>
+
+    <programlisting>&lt;!-- SECURITY CONFIGURATION --&gt;
+    
+&lt;!-- default (will take any username, useful if you want to keep track of users but not authenticate --&gt;
+&lt;security:identity authenticate-method="#{defaultAuthenticator.authenticate}"/&gt;
+
+&lt;!-- NO authentication. This will bypass the login screen when you hit the app. Everyone is "guest" --&gt;
+&lt;!-- &lt;security:identity authenticate-method="#{nilAuthenticator.authenticate}"/&gt; --&gt;   </programlisting>
+
+    <para>As you can see from above, the 2 "out of the box" options are pass
+    through - which means any user is allowed in, or bypassed, in which case
+    there is no login screen (eg you may be securing access to the app via a
+    web server anyway).</para>
+
+    <section>
+      <title>Using your containers security and LDAP</title>
+
+      <para>Every application server supports advanced configurations which
+      can work with your existing security infrastructure. The case of JBoss
+      AS will be shown here as an example.</para>
+
+      <programlisting>&lt;security:identity authenticate-method="#{authenticator.authenticate}" 
+                      jaas-config-name="other"/&gt;</programlisting>
+
+      <para>This will use the "other" jaas config in JBoss AS. If you look in
+      [jboss install dir]/server/default/conf you will see a login-config.xml
+      file. This file contains various configs. If you use "other" like the
+      one above, then it will look for users.properties and roles.properties
+      in the conf directory for usernames and passwords to authenticate
+      against (this is fine for a fixed small number of users).</para>
+
+      <para>LDAP is perhaps the most popular choice for larger enterprises, so
+      following is an example that works with Active Directory. You can get
+      much more information on how to configure JBoss AS for all scenarios
+      with LDAP from http://wiki.jboss.org/wiki/Wiki.jsp?page=LdapLoginModule
+      and http://wiki.jboss.org/wiki/Wiki.jsp?page=LdapExtLoginModule.</para>
+
+      <programlisting>&lt;application-policy name="brms"&gt;
+    &lt;authentication&gt;
+        &lt;login-module code="org.jboss.security.auth.spi.LdapExtLoginModule" flag="required" &gt;
+            &lt;!--
+                Some AD configurations may require searching against
+                the Global Catalog on port 3268 instead of the usual
+                port 389.  This is most likely when the AD forest
+                includes multiple domains.
+            --&gt;
+            &lt;module-option name="java.naming.provider.url"&gt;ldap://ldap.jboss.org:389&lt;/module-option&gt;
+            &lt;module-option name="bindDN"&gt;JBOSS\someadmin&lt;/module-option&gt;
+            &lt;module-option name="bindCredential"&gt;password&lt;/module-option&gt;
+            &lt;module-option name="baseCtxDN"&gt;cn=Users,dc=jboss,dc=org&lt;/module-option&gt;
+            &lt;module-option name="baseFilter"&gt;(sAMAccountName={0})&lt;/module-option&gt;
+
+            &lt;module-option name="rolesCtxDN"&gt;cn=Users,dc=jboss,dc=org&lt;/module-option&gt;
+            &lt;module-option name="roleFilter"&gt;(sAMAccountName={0})&lt;/module-option&gt;
+            &lt;module-option name="roleAttributeID"&gt;memberOf&lt;/module-option&gt;
+            &lt;module-option name="roleAttributeIsDN"&gt;true&lt;/module-option&gt;
+            &lt;module-option name="roleNameAttributeID"&gt;cn&lt;/module-option&gt;
+
+            &lt;module-option name="roleRecursion"&gt;-1&lt;/module-option&gt;
+            &lt;module-option name="searchScope"&gt;ONELEVEL_SCOPE&lt;/module-option&gt;
+        &lt;/login-module&gt;
+    &lt;/authentication&gt;
+&lt;/application-policy&gt;</programlisting>
+
+      <para>To use the above, you would put jaas-config-name="brms" in the
+      security:identity tag in the components.xml for the BRMS.</para>
+
+      <para>Similar configuration examples can be found for other directory
+      services.</para>
+
+      <para>LDAP isn't the final word, you can use JDBC against a database of
+      user name, or you can write your own login module to use any sort of
+      weird and wonderful authentication and authorization systems that you
+      may have to deal with (that would be an extreme case, but its possible).
+      Refer to JBoss AS documentation (or documentation for your existing
+      application server).</para>
+    </section>
+  </section>
+
+  <section>
+    <title>Data management</title>
+
+    <section>
+      <title>Backups</title>
+
+      <para>How backups are performed is dependent on what persistence manager
+      scheme you are using. Using the default one - then its a matter of
+      backing up the repository directory (wherever you have it configured to
+      be). Restoring it is simply a matter of copying across the repository
+      directory.</para>
+
+      <para>Ideally you will either stop the BRMS application while a file
+      backup is being done, or ensure that no one is using it.</para>
+
+      <para>In the case of using an external database (eg Oracle, MySQL), then
+      the normal scheme can apply that you would use to backup those database
+      (you do back them up, right?). In this case, when restoring, it is also
+      a good idea to clear the indexes (delete the directory where the indexes
+      are) so they are created fresh from the data (and thus guaranteed to be
+      in sync).</para>
+    </section>
+
+    <section>
+      <title>Asset list customization</title>
+
+      <para>In a few places in the BRMS there is an asset list: this list can
+      be customized by looking for the AssetListTable.properties file. You can
+      then set the header names and the "getter" methods that are used to
+      populate the columns. eg you could add in getCreator, or
+      getExternalSource as extra fields if you were using them.</para>
+    </section>
+
+    <section>
+      <title>Customised selectors for package building</title>
+      <para>When building packages (from the "Packages" feature) you have the option to specify the name of a "selector". This selector will filter the list of rules that are built into the package. What you enter in the selector text box, is the name of a selector as configured on the server.</para>
+
+      <para>
+	To configure a selector, you will need to "explode" the war file for the BRMS, and locate the selectors.properties file (note you can also put your own selectors.properties file in the system classpath if you like). 
+	In this file, you will find details on how you can configure a custom selector. The options are to use a drl file, or the name of a class that you have written (and which is available on the classpath). Classes must implement the AssetSelector interface. DRL files can also be used (there is an example one in the selectors.properties file). Each selector you configure has a unique name in this properties file - and this is the name that you can use when building packages. 
+      </para>
+     </section>
+
+    <section>
+      <title>Adding your own logos or styles to the BRMS web GUI</title>
+
+      <para>Everyone loves having their own logo on screen - this is to ensure
+      that the people using the application don't forget who they work for or
+      what product they are using for more then a nanosecond (the consequences
+      of them forgetting are too terrible con contemplate).</para>
+
+      <para>To achieve, this, you can "explode" the deployment war file, and
+      locate the JBRMS.html file.</para> <programlisting>
+&lt;html&gt;
+&lt;head&gt;
+  &lt;meta name='gwt:module' content='org.drools.brms.JBRMS'&gt;
+  &lt;link rel='stylesheet' href='JBRMS.css'&gt;
+  &lt;title&gt;JBoss Business Rules Management System&lt;/title&gt;
+     &lt;link rel="shortcut icon" href="images/drools.gif" type="image/gif"&gt;
+     &lt;link rel="icon" href="images/drools.gif" type="image/gif"&gt;
+ &lt;/head&gt;
+ &lt;body&gt;
+     &lt;div class="headerBarblue"&gt;&lt;img src="images/jbossrules_hdrlogo.png" width="279" height="70" /&gt;&lt;/d
+ &lt;!-- This script is the bootstrap stuff that simply must be there; it is sent down uncompressed --&gt; 
+  &lt;script language='javascript' src='gwt.js'&gt;&lt;/script&gt;
+  &lt;iframe id='__gwt_historyFrame' style='width:0;height:0;border:0'&gt;&lt;/iframe&gt;
+&lt;/body&gt;
+&lt;/html&gt;</programlisting><para> The above is the contents of the JBRMS.html
+      file - it is fairly empty (as most of the work is done by the GWT - the
+      GUI is built dynamically in the browser). The parts you can customise
+      are the style sheet - you can either edit the JBRMS.css (or better yet,
+      take a copy, and change the style to be what you need), the "shortcut
+      icon" (its what shows in the address bar in the browser etc - also
+      change the "icon" link to be the same so it works in IE), and the header
+      logo. The rest should be left as is, to allow the GWT components to be
+      loaded and attached to the page. This html page is loaded only once by
+      the browser when the user accesses the BRMS web GUI.</para>
+
+      <para>The best way to customize is to take a copy of the JBRMS.html -
+      and then edit. You can also change the URL by editing the web.xml via
+      the normal means. </para>
+    </section>
+
+    <section>
+      <title>Import and Export</title>
+
+      <para>A JCR standard export/import feature is available from the Admin
+      part of the web interface.</para>
+
+      <para>This will export the entire repository to an XML format as defined
+      by the JCR standard.</para>
+
+      <para>In the case of import, it will clear any existing content in the
+      database.</para>
+
+      <para>This is not a substitute for backup but can be useful when
+      migrating. It is important to note that version history is not exported
+      this way, only the current state. Hence it is still recommended that a
+      formal backup regime be used at all times on the repository database
+      itself.</para>
+    </section>
+  </section>
+</section>

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/Section-Architecture.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/Section-Architecture.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/Section-Architecture.xml	2008-06-15 00:19:20 UTC (rev 20496)
@@ -0,0 +1,167 @@
+<?xml version="1.0" encoding="UTF-8"?>
+	<section xml:base="../" >
+  <title>Architecture</title>
+
+  <para>This section covers the technical aspects of the Business Rules Management System (BRMS), it is not necessary to
+  use this if you are integrating or an end user of the BRMS application.
+  However, JBoss Rules is open source, so build instructions form part of the
+  manual.</para>
+
+  <para>You may want to build from source if you want to re-use components, or
+  embed the application within another.</para>
+
+  <figure>
+      <title>Architectural diagram</title>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata align="center" fileref="Architecture.png" format="PNG"
+                     scalefit="1" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+
+  <para>The above diagram shows the major components of the system and how
+  they integrate and are deployed. The User Guide has more details on the
+  parts that are highly configurable (eg database).</para>
+
+  <para>The BRMS is deployed as a war, which provides user interfaces over the
+  web, and provides binary packages via URLs (or files). It utilized the
+  JSR-170 standard for data storage (JCR). JBoss Seam is used as the component
+  framework, and GWT is used as the widget toolkit for constructing the ajax
+  based web user interface.</para>
+
+  <section>
+    <title>Building from source</title>
+
+    <para>This section will go over the steps necessary to build
+    various components. Mostly this is automated, but the manual process is
+    described for thoroughness.</para>
+
+    <section>
+      <title>Modules</title>
+
+      <para>There are 2 modules: drools-repository (back end) and drools-jbrms
+      (front end and rules integration). The drools-jbrms module depends on
+      the drools-repository module, as well as other components. The BRMS is
+      part of the main build for all of Drools - when building Drools, the BRMS is built alongside it.</para>
+    </section>
+
+    <section>
+      <title>Working with Maven 2</title>
+
+      <para>Maven 2 is used as the build system. To get started, the WHOLE of the source tree for JBoss Rules will need to be checked out. This includes the other modules, and the top level lib and repository directories (which are needed by the build); as the BRMS build is part of the main drools build.</para>
+
+      <para>Initially, go into the root of the jboss-rules checked
+      out source tree, and run mvn install to install all the components for
+      the inter project dependencies. If the build is broken (all care is taken for this eventuality not to occur), the flag -Dmaven.test.skip=true can be used to prevent failing
+      unit tests from preventing the build.</para>
+
+      <para>When wishing to build the BRMS, go into the
+      drools-jbrms directory, and run <code>mvn package</code>. This will run the tests,
+      and then build a deployable war. The only thing this will not do is rebuild
+      the GWT front end (see the next section for details on that). Once the war file is in the target directory, the BRMS is ready to go.</para>
+    </section>
+
+    <section>
+      <title>Working with GWT</title>
+
+      <para>The GUI widgets for the web front end are developed with GWT
+      (Google Web Toolkit). If there is a need to make changes to or build the GUI, GWT will need to be downloaded separately. Once GWT is downloaded, the <filename>build.properties</filename> file in the drools-jbrms directory to
+      point to where GWT is installed. Once this is completed, the
+      ant tasks can be used to build the GWT components, as well as launch GWT in
+      debug/hosted mode if it is desired. If running the build, it will
+      update the webapp directory in the project with the new <emphasis>compiled</emphasis>
+      artifacts (GWT does not use JSP, only html and javascript at
+      runtime).</para>
+    </section>
+
+    <section>
+      <title>Debugging, Editing and running with Eclipse</title>
+
+      <para>Each module has a ready to go and up to date eclipse project
+      configuration, so they can merely be imported into the eclipse workspace.
+      These projects are generated by Maven (<code>mvn eclipse:eclipse</code> to refresh
+      them in case they are wrong or outdated). They have been manually
+      modified to have project dependencies (this means the code can be stepped through when debugging).</para>
+
+      <para>Some environment variables are required in eclipse
+      (for Window: &gt;Preferences-&gt;Java-&gt;Build path-&gt;Classpath
+      variables): the M2_REPO, as normal, to point to where Maven downloads
+      shared dependencies. GWT_HOME should point to where you installed GWT.
+      GWT_DEV must point to the platform specific "dev" jar that ships with
+      the version of GWT you have.</para>
+
+      <para>How to launch from Eclipse: unit tests can be launched, as normal
+      (in which case only M2_REPO setup is needed, GWT does not need to be downloaded seperately), or it can be launched it in <emphasis>hosted mode</emphasis> using
+      the GWT browser, which is great for debugging (from GUI to back end, the code can be stepped through, and  changes made on the fly and simply hit
+      refresh). There is a <filename>JBRMS.launch</filename> file in in the drools-jbrms directory.
+      To launch the JBRMS in debug mode, open the
+      Run dialog (Run-&gt;Run), and then choose <emphasis>JBRMS</emphasis> from the list.
+      Launching this will open a new window, with the BRMS in debug mode,
+      ready to go</para>
+
+      <para>Normally</para>
+
+      <para>Downloading and debugging the BRMS with GWT is optional, so if there are no GUI issues being worked on then this step can be safely skipped.</para>
+    </section>
+  </section>
+
+  <section>
+    <title>Re-usable components</title>
+
+    <para>The BRMS uses a service interface to separate the GUI from the back
+    end functionality. In this case the back end both includes the asset
+    repository (drools-repository and JCR) as well as the compiler specifics
+    to deal with rules. </para>
+
+    <para>The main interface is RepositoryService, which is implemented in
+    ServiceImplementation. The GWT ajax front end talks to this interface (via
+    the asynchrony callback mechanism that GWT uses). The seam configuration file
+    is <filename>components.xml</filename> (consult Seam documentation, and the components.xml file
+    for details).</para>
+
+    <para>This service interface may be re-used by alternative components or
+    front ends.</para>
+
+    <para>The GWT user interface may be re-used, as it is GWT is only
+    one html page: <filename>JBRMS.html</filename>. For those familiar with GWT, each of the
+    <emphasis>features</emphasis> can be used separate (eg in a portal), look at the
+    <classname>JBRMSFeature</classname> class and the classes that implement it (they can in theory
+    be stand alone).</para>
+
+    <para>Normally the BRMS is intended to be deployed as its own war, however
+    it can be combined with another application (with some care), but it is easier to keep it as a separate war. Deploying the BRMS by itself will also make it easier
+    to upgrade to newer releases as they come out.</para>
+    
+    <para>The <filename>JBRMS.html</filename> file can be customized. For example to change logos or embed
+    the BRMS in another page. Take a look at the <filename>JBRMS.html</filename> file for details.
+    </para>
+  </section>
+
+  <section>
+    <title>Versioning and Storage</title>
+
+    <para>The User Guide, Admin Section covers configuration options in some detail, for
+    database and filesystems.</para>
+
+    <para>Versions of assets are stored in the database along with the data.
+    </para>
+
+    <para>When <emphasis>snapshots</emphasis> are created, copies are made of the entire package
+    into a separate location in the JCR database. </para>
+
+    <para>For those familiar with jcr and jackrabbit, the *.cnd files are in the source for the node type definitions as some wish to view these. In a nutshell, a
+    package is a <emphasis>folder</emphasis> and each asset is a file: an asset can either be
+    textual or have a binary attachment.</para>
+  </section>
+
+  <section>
+    <title>Contributing</title>
+
+    <para>As an open source project, contributions from the wider community are encouraged. In order to contribute consult the wiki and project home pages. A useful way to contribute is via logging issues or feature
+    requests in JIRA. However, when creating an issue in JIRA for the
+    BRMS, it is important to choose <emphasis>drools-brms</emphasis> as the component in
+    the list in JIRA (or else it may become lost)</para>
+  </section>
+</section>

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/Section-ExamplesAndTutorials.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/Section-ExamplesAndTutorials.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/Section-ExamplesAndTutorials.xml	2008-06-15 00:19:20 UTC (rev 20496)
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8"?>
+	<section xml:base="../" >
+  <title>Examples and tutorials</title>
+
+  <section>
+    <title>Discount insurance brokers</title>
+
+    <section>
+      <title>Quick Start demo</title>
+
+      <para>Fernando runs a dodgy fly by night insurance operation in Sao
+      Paulo, Brasil. These are his rules - would you buy insurance from him ?
+      (I wouldn't).</para>
+
+      <para>This example takes you through the key steps in using the BRMS
+      with an example repository, and using rules in a very very simple
+      application (which you can use as a basis for your applications).</para>
+
+      <itemizedlist>
+        <listitem>
+          <para>Download the latest version of BRMS from
+          http://cruisecontrol.jboss.com/cc/artifacts/jboss-rules</para>
+
+          <para>Deploy BRMS WAR file into JBoss4.2 AS or JBossWeb, other
+          containers can be used as well (possibly with some tweaking of
+          dependencies).</para>
+
+          <para>Check you can access and run the BRMS.</para>
+        </listitem>
+
+        <listitem>
+          <para>Check out the demo project from the Drools subversion
+          repository (this will be included in future distributions):</para>
+
+          <para>http://anonsvn.labs.jboss.com/labs/jbossrules/trunk/drools-examples/drools-examples-brms/</para>
+        </listitem>
+
+        <listitem>
+          <para>Import the demo business rules insurance repository file into
+          BRMS, the compressed can be found at "files" folder in the demo
+          project.</para>
+
+          <para>To do this, open the "files" directory, unzip the file there
+          locally, and then go to the "Admin" section and "Manage backups" of
+          the BRMS, select the file, and press "Import" - follow
+          instructions.</para>
+        </listitem>
+
+        <listitem>
+          <para>Navigate through the BRMS web application to see how things
+          are placed and organized and try to create some rules.</para>
+
+          <para>Go to the "Packages" feature and build the package (you should
+          see no errors).</para>
+        </listitem>
+
+        <listitem>
+          <para>Now go to the "Deployment" feature, when you click on the
+          package, it will show you one snapshot (which was part of the
+          import, you can create more if you like from the previous
+          step).</para>
+
+          <para>Open a snapshot.</para>
+
+          <para>Copy the snapshot url that is displayed.</para>
+
+          <para>Locate the file brmsdeployedrules.properties</para>
+
+          <para>Place the copied URL in the brmsdeployedrules.properties
+          file.</para>
+        </listitem>
+
+        <listitem>
+          <para>OPTIONAL: To use a file or directory deployment in the rule
+          agent just update brmsdeployedrules.properties according the
+          documentation.</para>
+        </listitem>
+
+        <listitem>
+          <para>Import the example project into eclipse and execute the
+          MainClass. The program will show the following trace (and away you
+          go !).</para>
+
+          <programlisting>
+RuleAgent(insuranceconfig) INFO (Thu Jul 12 20:06:02 BRT 2007): Configuring with newInstance=true, secondsToRefresh=30
+RuleAgent(insuranceconfig) INFO (Thu Jul 12 20:06:02 BRT 2007): Configuring package provider : URLScanner monitoring URLs: http://localhost:8080/drools-jbrms/org.drools.brms.JBRMS/package/org.acme.insurance/fmeyer With local cache dir of /Users/fernandomeyer/projects/jbossrules/drools-examples/drools-examples-brms/cache
+RuleAgent(insuranceconfig) INFO (Thu Jul 12 20:06:02 BRT 2007): Applying changes to the rulebase.
+RuleAgent(insuranceconfig) INFO (Thu Jul 12 20:06:02 BRT 2007): Creating a new rulebase as per settings.
+RuleAgent(insuranceconfig) INFO (Thu Jul 12 20:06:02 BRT 2007): Adding package called org.acme.insurance
+APPROVED: due to no objections.
+APPROVED: Driver is safe and mature.
+APPROVED: due to no objections.
+REJECTED: Too many accidents
+</programlisting>
+
+          <para>The Rule Agent will pick up any changes that happen
+          automatically - as soon as you create a new snapshot of the rules
+          you want to deploy.</para>
+        </listitem>
+      </itemizedlist>
+    </section>
+  </section>
+</section>

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/Section-Introduction.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/Section-Introduction.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/Section-Introduction.xml	2008-06-15 00:19:20 UTC (rev 20496)
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8"?>
+	<section xml:base="../" >
+  <title>Introduction</title>
+
+  <para>This section introduces the BRMS. See the other relevant sections for
+  installation, usage and administration.</para>
+
+  <figure>
+    <title>The BRMS main screen</title>
+
+    <mediaobject>
+      <imageobject>
+        <imagedata align="center" fileref="NewMainScreen.png" format="PNG"
+                   scalefit="1" />
+      </imageobject>
+    </mediaobject>
+  </figure>
+
+  <section>
+    <title>What is a BRMS?</title>
+
+    <para>BRMS stands for Business Rules Management System.</para>
+
+    <para>This is the component of JBoss Rules which covers rule management,
+    storage, editing and deployment. A Web based user interface is provided so
+    this tool can be used by people who don't work in IDEs or text editors,
+    but it is intended for a wide audience.</para>
+
+    <para>A BRMS allows people to manage rules in a multi user environment, it
+    is a single point of truth for your business rules, allowing change in a
+    controlled fashion, with user friendly interfaces.</para>
+
+    <section>
+      <title>When to use a BRMS</title>
+
+      <para>You should consider a BRMS if any of the following apply to you:
+      You need to manage versions/deployment of rules, you need to let
+      multiple users of different skill levels access and edit rules, you
+      don't have any existing infrastructure to manage rules, you have lots of
+      "business" rules (as opposed to technical rules as part of an
+      application). </para>
+
+      <para>A BRMS can be used on its own, or with the IDE tooling (often both
+      together). </para>
+
+      <para>A BRMS can be "branded" and made part of your application, or it
+      can be a central rule repository.</para>
+
+      <section>
+        <title>When to not use a BRMS</title>
+
+        <para>In some situations applications may exist which have
+        the rules in a database (for instance as part of an existing application), 
+        and no new application is needed to manage the rules. </para>
+
+        <para>Otherwise, perhaps an existing rule management system and user interface
+        already exists (and is tailored to your environment already) - in this
+        case migrating to the BRMS may not be necessary.</para>
+
+        <para>If you are using rules to solve complex algorithmic problems,
+        and the rules are essentially an integral part of the application (and
+        don't need to be managed separately to the code).</para>
+      </section>
+    </section>
+
+    <section>
+      <title>Who uses a BRMS</title>
+
+      <para>The main roles of people who would use a BRMS are: Business
+      Analyst, Rule expert, Developer, Administrators (rule administrators etc).
+      </para>
+
+      <para>The BRMS is designed in such a way as these different roles can be
+      accommodated, it can be controlled how much is exposed to different users in a safe fashion.</para>
+    </section>
+  </section>
+
+  <section>
+    <title>Features outline</title>
+
+    <itemizedlist>
+      <listitem>
+        <para>Multiple types of rule editors (GUI, text)</para>
+      </listitem>
+      <listitem>
+        <para>Version control (historical assets)</para>
+      </listitem>
+      <listitem>
+        <para>Categorization</para>
+      </listitem>
+      <listitem>
+        <para>Build and deploy</para>
+      </listitem>
+      <listitem>
+        <para>Store multiple rule "assets" together as a package</para>
+      </listitem>
+      
+      
+      
+      
+    </itemizedlist>
+  </section>
+</section>

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/Section-UserGuide.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/Section-UserGuide.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/Section-UserGuide.xml	2008-06-15 00:19:20 UTC (rev 20496)
@@ -0,0 +1,1090 @@
+<?xml version="1.0" encoding="UTF-8"?>
+	<section xml:base="../" >
+	<title>Quick start guide</title>
+
+	<section>
+		<title>Quick start guide</title>
+
+		<para>If you are reading this, you must be the impatient type who wants to kick the tyres (and light the fires) and have a look around as soon as possible. This section will provide a quick end to end tour of the steps involved (but does not go through the concepts in detail). This assumes you have installed the repository correctly, and are able to access the main login screen.</para>
+
+		<para>You can also consult the wiki: http://wiki.jboss.org/wiki/Wiki.jsp?page=RulesRepository for some tutorials and user tips (it IS a wiki, so you can even contribute your own tips and examples and even upload files if you desire !).</para>
+
+		<figure>
+			<title>Main feature areas of BRMS</title>
+
+			<mediaobject>
+				<imageobject>
+					<imagedata align="center" fileref="Features.png" format="PNG" scalefit="1" />
+				</imageobject>
+			</mediaobject>
+		</figure>
+
+		<para>The above picture shows the main feature areas of the BRMS.</para>
+
+		<itemizedlist>
+			<listitem>
+				<para>Info: This is the initial screen, with links to resources.</para>
+			</listitem>
+
+			<listitem>
+				<para>Rules: This is the category and business user perspective.</para>
+			</listitem>
+
+			<listitem>
+				<para>Package: This is where packages are configured and managed.</para>
+			</listitem>
+
+			<listitem>
+				<para>Deployment: this is where deployment snapshots are managed.</para>
+			</listitem>
+
+			<listitem>
+				<para>Admin: Administrative functions (categories, statuses, import and export)</para>
+			</listitem>
+		</itemizedlist>
+
+		<section>
+			<title>Supported browser platforms</title>
+
+			<para>The supported server side platforms are mentioned in the installation guide. For browsers - the major ones are supported, this includes Firefox (1.5 and up), IE6 and up, Opera, Safari etc. The preferred browser for most platforms is firefox, it is widely available and free, if you have any choice at all, Firefox is the preferred platform, followed by safari on mac.</para>
+		</section>
+
+		<section>
+			<title>Initial configuration</title>
+
+			<para>Some initial setup is required the first time. The first time the server starts up, it will create an empty repository, then take the following steps:</para>
+
+			<itemizedlist>
+				<listitem>
+					<para>Once deployed, go to "http://&lt;your server&gt;/drools-jbrms/" (This will show the initial info screen - or login screen depending on the configuration).</para>
+				</listitem>
+
+				<listitem>
+					<para>If it is a brand new repository, you will want to go to "Admin", and choose "Manage Categories"</para>
+
+					<para>(Add a few categories of your choosing, categories are only for classification, not for execution or anything else.)</para>
+				</listitem>
+
+				<listitem>
+					<para>Rules need a fact model (object model) to work off, so next you will want to go to the Package management feature. From here you can click on the icon to create a new package (give it a meaningful name, with no spaces).</para>
+				</listitem>
+
+				<listitem>
+					<para>To upload a model, use a jar which has the fact model (API) that you will be using in your rules and your code (go and make one now if you need to !). When you are in the model editor screen, you can upload a jar file, choose the package name from the list that you created in the previous step.</para>
+				</listitem>
+
+				<listitem>
+					<para>Now edit your package configuration (you just created) to import the fact types you just uploaded (add import statements), and save the changes.</para>
+				</listitem>
+
+				<listitem>
+					<para>At this point, the package is configured and ready to go (you generally won't have to go through that step very often).</para>
+
+					<para>(Note that you can also import an existing drl package - it will store the rules in the repository as individual assets).</para>
+				</listitem>
+			</itemizedlist>
+		</section>
+
+		<section>
+			<title>Writing some rules</title>
+
+			<itemizedlist>
+				<listitem>
+					<para>Once you have at least one category and one package setup, you can author rules.</para>
+				</listitem>
+
+				<listitem>
+					<para>There are multiple rule "formats", but from the BRMS point of view, they are all "assets".</para>
+				</listitem>
+
+				<listitem>
+					<para>You create a rule by clicking the icon with the rules logo (the head), and from that you enter a name.</para>
+				</listitem>
+
+				<listitem>
+					<para>You will also have to choose one category. Categories provide a way of viewing rules that is separate to packages (and you can make rules appear in multiple packages) - think of it like tagging.</para>
+				</listitem>
+
+				<listitem>
+					<para>Chose the "Business rule (guided editor)" formats.</para>
+				</listitem>
+
+				<listitem>
+					<para>This will open a rule modeler, which is a guided editor. You can add and edit conditions and actions based on the model that is in use in the current package. Also, any DSL sentence templates setup for the package will be available.</para>
+				</listitem>
+
+				<listitem>
+					<para>When you are done with rule editing, you can check in the changes (save), or you can validate or "view source" (for the effective source).</para>
+				</listitem>
+
+				<listitem>
+					<para>You can also add/remove categories from the rule editor, and other attributes such as documentation (if you aren't sure what to do, write a document in natural language describing the rule, and check it in, that can also serve as a template later)</para>
+				</listitem>
+			</itemizedlist>
+		</section>
+
+		<section>
+			<title>Finding stuff</title>
+
+			<para>In terms of navigating, you can either use the Rules feature, which shows things grouped by categories, or you can use the Package feature, and view by package (and rule type). If you know the name or part of the name of an asset, you can also use the "Quick find", start typing a rule name and it will return a list of matches as you type (so if you have a sensible naming scheme, it will make it very quick to find stuff).</para>
+		</section>
+
+		<section>
+			<title>Deployment</title>
+
+			<itemizedlist>
+				<listitem>
+					<para>After you have edited some rules in a package, you can click on the package feature, open the package that you wish, and build the whole package.</para>
+				</listitem>
+
+				<listitem>
+					<para>If that succeeds, then you will be able to download a binary package file which can be deployed into a runtime system.</para>
+				</listitem>
+
+				<listitem>
+					<para>You can also take a "snapshot" of a package for deployment. This freezes the package at that point in time, so any concurrent changes to not effect the package. It also makes the package available on a URL of the form: "http://&lt;your server&gt;/drools-jbrms/org.drools.brms.JBRMS/packages/&lt;packageName&gt;/&lt;snapshotName&gt;" (where you can use that URL and downloads will be covered in the section on deployment).</para>
+				</listitem>
+			</itemizedlist>
+		</section>
+	</section>
+
+  	<section>
+		<title>BRMS concepts</title>
+
+		<section>
+			<title>Rules are assets</title>
+
+			<para>As the BRMS can manage many different types of rules (and more), they are all classed as "assets". An asset is anything that can be stored as a version in the repository. This includes decision tables, models, DSLs and more. Sometimes the word "rule" will be used to really mean "asset" (ie the things you can do also apply to the other asset types). You can think of asset as a lot like a file in a folder. Assets are grouped together for viewing, or to make a package for deployment etc.</para>
+		</section>
+
+		<section>
+			<title>Categorisation</title>
+
+			<figure>
+				<title>Categories</title>
+
+				<mediaobject>
+					<imageobject>
+						<imagedata align="center" fileref="CatZoom.png" format="PNG" scalefit="1" />
+					</imageobject>
+				</mediaobject>
+			</figure>
+
+			<para>Categories allow rules (assets) to be labeled (or tagged) with any number of categories that you define. This means that you can then view a list of rules that match a specific category. Rules can belong to any number of categories. In the above diagram, you can see this can in effect create a folder/explorer like view of assets. The names can be anything you want, and are defined by the BRMS administrator (you can also remove/add new categories - you can only remove them if they are not currently in use).</para>
+
+			<para>Generally categories are created with meaningful name that match the area of the business the rule applies to (if the rule applies to multiple areas, multiple categories can be attached). Categories can also be used to "tag" rules as part of their life-cycle, for example to mark as "Draft" or "For Review".</para>
+
+			<figure>
+				<title>Assets can have multiple categories</title>
+
+				<mediaobject>
+					<imageobject>
+						<imagedata align="center" fileref="CatEdit.png" format="PNG" scalefit="1" />
+					</imageobject>
+				</mediaobject>
+			</figure>
+
+			<para>The view above shows the category editor/viewer that is seen when you open an asset. In this example you can see the asset belongs to 2 categories, with a "+" button to add additional items (use the trash can item to remove them). This means that when either category is used to show a list of assets, you will see that asset.</para>
+
+			<para>In the above example, the first Category "Finance" is a "top level" category. The second one: "HR/Awards/QAS" is a still a single category, but its a nested category: Categories are hierarchical. This means there is a category called "HR", which contains a category "Awards" (it will in fact have more sub-categories of course), and "Awards" has a sub-category of QAS. The screen shows this as "HR/Awards/QAS" - its very much like a folder structure you would have on your hard disk (the notable exception is of course that rules can appear in multiple places).</para>
+
+			<para>When you open an asset to view or edit, it will show a list of categories that it currently belongs to If you make a change (remove or add a category) you will need to save the asset - this will create a new item in the version history. Changing the categories of a rule has no effect on its execution.</para>
+
+			<figure>
+				<title>Creating categories</title>
+
+				<mediaobject>
+					<imageobject>
+						<imagedata align="center" fileref="AdminCats.png" format="PNG" scalefit="1" />
+					</imageobject>
+				</mediaobject>
+			</figure>
+
+			<para>The above view shows the administration screen for setting up categories (there) are no categories in the system by default. As the categories can be hierarchical you chose the "parent" category that you want to create a sub-category for. From here categories can also be removed (but only if they are not in use by any current versions of assets).</para>
+
+			<para>As a general rule, an asset should only belong to 1 or 2 categories at a time. Categories are critical in cases where you have large numbers of rules. The hierarchies do not need to be too deep, but should be able to see how this can help you break down rules/assets into manageable chunks. Its ok if its not clear at first, you are free to change categories as you go.</para>
+		</section>
+
+		<section>
+			<title>The asset editor</title>
+
+		<figure>
+			<title>The Asset editor view</title>
+
+			<mediaobject>
+				<imageobject>
+					<imagedata align="center" fileref="AssetEditor.png" format="PNG" scalefit="1" />
+				</imageobject>
+			</mediaobject>
+		</figure>
+
+		<para>The above diagram shows the "asset editor" with some annotated areas. The asset editor is where all rule changes are made. Below is a list which describes the different parts of the editor.</para>
+
+		<itemizedlist>
+			<listitem>
+				<para>A</para>
+
+				<para>This is where the "editor widget" lives - exactly what form the editor takes depends on the asset or rule type.</para>
+			</listitem>
+
+			<listitem>
+				<para>B</para>
+
+				<para>This is the documentation area - a free text area where descriptions of the rule can live. It is encouraged to write a plain description in the rule here before editing.</para>
+			</listitem>
+
+			<listitem>
+				<para>C</para>
+
+				<para>These are the actions - for saving, archiving, changing status etc. Archiving is the equivalent of deleting an asset.</para>
+			</listitem>
+
+			<listitem>
+				<para>D</para>
+
+				<para>This has the asset name, as well as the list of categories that the asset belongs to.</para>
+			</listitem>
+
+			<listitem>
+				<para>E</para>
+
+				<para>This section contains read-only meta data, including when changes were made, and by whom.</para>
+
+				<para>"Modified on:" - this is the last modified date.</para>
+
+				<para>"By:" - who made the last change.</para>
+
+				<para>"Note:" - this is the comment made when the asset was last updated (ie why a change was made)</para>
+
+				<para>"Version:" - this is a number which is incremented by 1 each time a change is checked in (saved).</para>
+
+				<para>"Created on:" - the date and time the asset was created.</para>
+
+				<para>"Created by:" - this initial author of the asset.</para>
+
+				<para>"Format:" - the short format name of the type of asset.</para>
+			</listitem>
+
+			<listitem>
+				<para>F</para>
+
+				<para>This shows what package the asset belong to (you can also change it from here).</para>
+			</listitem>
+
+			<listitem>
+				<para>G</para>
+
+				<para>This is some more (optional) meta data (taken from the Dublin Core meta data standard)</para>
+			</listitem>
+
+			<listitem>
+				<para>H</para>
+
+				<para>This will show the version history list when requested.</para>
+			</listitem>
+		</itemizedlist>
+	</section>
+
+	<section>
+		<title>Rule authoring</title>
+
+		<para>The BRMS supports a (growing) list of formats of assets (rules). Here the key ones are described. Some of these are covered in other parts of the manual, and the detail will not be repeated here.</para>
+
+		<section>
+			<title>Business rules with the guided editor</title>
+
+			<para>Guided editor style "Business rules": (also known as "BRL format"). These rules use the guided GUI which controls and prompts user input based on knowledge of the object model. This can also be augmented with DSL sentences.</para>
+
+			<para>IMPORTANT: to use the BRL guided editor, someone will need to have you package configured before hand.</para>
+
+			<para>Also note that there is a guided editor in the Eclipse plug in, most of the details in this section can also apply to it.</para>
+
+			<figure>
+			<title>The guided BRL editor</title>
+
+			<mediaobject>
+				<imageobject>
+					<imagedata align="center" fileref="GuidedEditor.png" format="PNG" scalefit="1" />
+				</imageobject>
+			</mediaobject>
+			</figure>
+
+			<para>The above diagram shows the editor in action. The following description apply to the letter boxes in the diagram above:</para>
+
+			<para>A: The different parts of a rule. The "WHEN" part is the condition, "THEN" action, and "(options)" are optional attributes that may effect the operation of the rule.</para>
+
+			<para>B: This shows a pattern which is declaring that the rule is looking for a "Driver" fact (the fields are listed below, in this case just "age"). Note the green triangle, it will popup a list of options to add to the fact declaration: you can add more fields (eg their "location"), or you can assign a variable name to the fact (which you can use later on if needs be). As well as adding more fields to this pattern - you can add "multiple field" constraints - ie constraints that span across fields (eg age &gt; 42 or risk &gt; 2). The popup dialog shows the options.</para>
+
+			<para>C: The small "-" icons indicate you can remove something - in this case it would remove the whole Driver fact declaration. If its the one below, it would remove just the age constraint.</para>
+
+			<para>D: The "+" symbols allow you to add more patterns to the condition or the action part of the rule, or more attributes. In all cases, a popup option box is provided. For the "WHEN" part of the rule, you can choose to add a constraint on a fact (it will give you a list of facts), or you can use another conditional element, the choices which are : "There is no" - which means the fact+constraints must not exist, "There exists" - which means that there exists at least one match (but there only needs to be one - it will not trigger for each match), and "Any of" - which means that any of the patterns can match (you then add patterns to these higher level patterns). If you just put a fact (like is shown above) then all the patterns are combined together so they are all true ("and").</para>
+
+			<para>E: This shows the constraint for the "age" field. (Looking from left to right) the green triangle allows you to "assign" a variable name to the "age" field, which you may use later on in the rule. Next is the list of constraint operations - this list changes depending on the data type. After that is the value field - the value field will be one of: a) a literal value (eg number, text), b) a "formula" - in which case it is an expression which is calculated (this is for advanced users) or b) a variable (in which case a list will be provided to choose values from). After this there is a horizontal arrow icon, this is for "connective constraints" : these are constraints which allow you to have alternative values to check a field against, for example: "age is less than 42 or age is not equal to 39" is possibly this way.</para>
+
+			<para>F: This shows an "action" of the rule, a rule consists of a list of actions. In this case, we are asserting/inserting a new fact, which is a rejection (with the "reason" field set to an explanation). There are quite a few other types of actions you can use: you can modify an existing fact (which tells the engine the fact has changed) - or you can simply set a field on a fact (in which case the engine doesn't know about the change - normally because you are setting a result). You can also retract a fact. In most cases the green arrow will give you a list of fields you can add so you can change the value. The values you enter are "literal" - in the sense that what you type is what the value is. If it needs to be a calculation, then add an "=" at the start of the value - this will be interpreted as a "formula" (for advanced users only) ! and the calculation will be performed (not unlike a spreadsheet).</para>
+
+			<para>G: This is where the rule options live. In this case, only salience is used which is a numeric value representing the rules "priority". This would probably be the most common option to use.</para>
+
+			<section>
+				<title>User driven drop down lists</title>
+
+				<figure>
+					<title>Data enumeration showing as a drop down list</title>
+			
+					<mediaobject>
+						<imageobject>
+							<imagedata align="center" fileref="EnumDropDown.png" format="PNG" scalefit="1" />
+						</imageobject>
+					</mediaobject>
+				</figure>
+
+				<para>Note that is it possible to limit field values to items in a pre configured list. This list is configured as part of the package (using a data enumeration to provide values for the drop down list). These values can be a fixed list, or (for example) loaded from a database. This is useful for codes, and other fields where there are set values. It is also possible to have what is displayed on screen, in a drop down, be different to the value (or code) used in a rule. See the section on data enumerations for how these are configured.</para>
+			</section>
+
+			<section>
+				<title>Augmenting with DSL sentences</title>
+				
+				<para>If the package the rule is part of has a dsl configuration, when when you add conditions or actions, then it will provide a list of "DSL Sentences" which you can choose from - when you choose one, it will add a row to the rule - where the DSL specifies values come from a user, then a edit box (text) will be shown (so it ends up looking a bit like a form). This is optional, and there is another DSL editor. Please note that the DSL capabilities in this editor are slightly less then the full set of DSL features (basically you can do [when] and [then] sections of the DSL only - which is no different to drools 3 in effect).</para>
+
+				<para>The following diagram shows the DSL sentences in action in the guided editor:</para>
+	
+				<figure>
+					<title>DSL in guided editor</title>
+			
+					<mediaobject>
+						<imageobject>
+							<imagedata align="center" fileref="GuidedDSL.png" format="PNG" scalefit="1" />
+						</imageobject>
+					</mediaobject>
+				</figure>
+			
+			</section>
+			
+			<section>
+				<title>A more complex example:</title>
+	
+				<figure>
+					<title>A more complex BRL example</title>
+	
+					<mediaobject>
+						<imageobject>
+							<imagedata align="center" fileref="GuidedComplex.png" format="PNG" scalefit="1" />
+						</imageobject>
+					</mediaobject>
+				</figure>
+	
+				<para>In the above example, you can see it is using a mixture of literal values, and formulas. The second constraint on the "Person" fact, is a formula (in this case it is doing a silly calculation on the persons age, and checking something against their name - both "age" and "name" are fields of the Person fact in this case. In the 3rd line (which says "age is less than .." - it is also using a formula, although, in this case the formula does a calculation and returns a value (which is used in the comparison) - in the former case, it had to return True or False (in this case, its a value). Obvious formulas are basically pieces of code - so this is for experienced users only.</para>
+
+				<para>Looking at the "Board" pattern (the second pattern with the horizontal grey bar): this uses a top level conditional element ("There is no") - this means that the pattern is actually looking for the "non existence" of a fact that matches the pattern. Note the "Any of:" - this means that EITHER the "type" field constraint is matched, or the "name" field is matched (to "myname" in the case above). This is what is termed a Multiple field constraint (you can nest these, and have it as complex as you like, depending on how much you want the next person to hate you: Some paraphrased advice: Write your rules in such as way as if the person who has to read/maintain them is a psychopath, has a gun, and knows where you live).</para>
+	
+				<figure>
+					<title>Adding constraints</title>
+			
+					<mediaobject>
+						<imageobject>
+							<imagedata align="center" fileref="GuidedLHSConstraints.png" format="PNG" scalefit="1" />
+						</imageobject>
+					</mediaobject>
+				</figure>
+			
+				<para>The above dialog is what you will get when you want to add constraints to the Person fact. In the top half are the simple options: you can either add a field straight away (a list of fields of the Person fact will be shown), or you can add a "Multiple field constraint" - of a given type (which is described above). The Advanced options: you can add a formula (which resolves to True or False - this is like in the example above: "age &lt; (age * 2) ...."). You can also assign a Variable name to the Person fact (which means you can then access that variable on the action part of the rule, to set a value etc).</para>
+			</section>
+		</section>
+
+		<section>
+			<title>DSL rules</title>
+
+			<para>DSL rules are textual rules, that use a language configuration asset to control how they appear.</para>
+
+			<figure>
+				<title>DSL rule</title>
+
+				<mediaobject>
+					<imageobject>
+						<imagedata align="center" fileref="DSLRule.png" format="PNG" scalefit="1" />
+					</imageobject>
+				</mediaobject>
+			</figure>
+
+			<para>A dsl rule is a single rule. Referring to the picture above, you can a text editor. You can use the icons to the right to provide lists of conditions and actions to choose from (or else press Control + Space at the same time to pop up a list).</para>
+		</section>
+
+		<section>
+			<title>Spreadsheet decision tables</title>
+
+			<para>Multiple rules can be stored in a spreadsheet (each row is a rule). The details of the spreadsheet are not covered in this chapter (as there is a separate chapter for them).</para>
+
+			<figure>
+				<title>Spreadsheet decision table</title>
+
+				<mediaobject>
+					<imageobject>
+						<imagedata align="center" fileref="DecisionTable.png" format="PNG" scalefit="1" />
+					</imageobject>
+				</mediaobject>
+			</figure>
+
+			<para>To use a spreadsheet, you upload an xls (and can download the current version, as per the picture above). To create a new decision table, when you launch the rule wizard, you will get an option to create one (after that point, you can upload the xls file).</para>
+		</section>
+
+		<section>
+			<title>Rule flows</title>
+
+			<para>Rule flows: Rule flows allow you to visually describe the steps taken - so not all rules are evaluated at once, but there is a flow of logic. Rule flows are not covered in this chapter on the BRMS, but you can use the IDE to graphically draw ruleflows, and upload the .rfm file to the BRMS.</para>
+
+			<para>Similar to spreadsheets, you upload/download ruleflow files (the eclipse IDE has a graphical editor for them). The details of Rule Flows are not discussed here.</para>
+		</section>
+
+		<section>
+			<title>Technical rules (drl)</title>
+
+			<para>Technical (drl) rules are stored as text - they can be managed in the BRMS. A DRL can either be a whole chunk of rules, or an individual rule. if its an individual rule, no package statement or imports are required (in fact, you can skip the "rule" statement altogether, just use "when" and "then" to mark the condition and action sections respectively). Normally you would use the IDE to edit raw DRL files, since it has all the advanced tooling and content assistance and debugging, however there are times when a rule may have to deal with something fairly technical. In any typical package of rules, you generally have a been for some "technical rules" - you can mix and match all the rule types together of course.</para>
+
+			<figure>
+				<title>DRL technical rule</title>
+
+				<mediaobject>
+					<imageobject>
+						<imagedata align="center" fileref="DRLRule.png" format="PNG" scalefit="1" />
+					</imageobject>
+				</mediaobject>
+			</figure>
+		</section>
+
+		<section>
+			<title>Functions</title>
+
+			<para>Functions are another asset type. They are NOT rules, and should only be used when necessary. The function editor is a textual editor. Functions</para>
+
+			<figure>
+				<title>Function</title>
+
+				<mediaobject>
+					<imageobject>
+						<imagedata align="center" fileref="Function.png" format="PNG" scalefit="1" />
+					</imageobject>
+				</mediaobject>
+			</figure>
+		</section>
+
+		<section>
+			<title>Data enumerations (drop down list configurations)</title>
+
+			<para>Data enumerations are an optional asset type that technical folk can configure to provide drop down lists for the guided editor. These are stored and edited just like any other asset, and apply to the package that they belong to.</para>
+
+			<para>The contents of an enum config are a mapping of Fact.field to a list of values to be used in a drop down. That list can either be literal, or use a utility class (which you put on the classpath) to load a list of strings. The strings are either a value to be shown on a drop down, or a mapping from the code value (what ends up used in the rule) and a display value (see the example below, using the '=').</para>
+
+			<figure>
+				<title>Data enumeration</title>
+
+				<mediaobject>
+					<imageobject>
+						<imagedata align="center" fileref="EnumConfig.png" format="PNG" scalefit="1" />
+					</imageobject>
+				</mediaobject>
+			</figure>
+			
+			<para>In the above diagram - the "MM" indicates a value that will be used in the rule, yet "Mini Mal" will be displayed in the GUI.</para>
+			
+			<para>Getting data lists from external data sources: It is possible to have the BRMS call a piece of code which will load a list of Strings. To do this, you will need a bit of code that returns a java.util.List (of String's) to be on the classpath of the BRMS. Instead of specifying a list of values in the BRMS itself - the code can return the list of Strings (you can use the "=" inside the strings if you want to use a different display value to the rule value, as normal). For example, in the 'Person.age' line above, you could change it to: <programlisting> 'Person.age' : (new com.yourco.DataHelper()).getListOfAges()</programlisting> This assumes you have a class called "DataHelper" which has a method "getListOfAges()" which returns a List of strings (and is on the classpath). You can of course mix these "dynamic" enumerations with fixed lists. You could for example load from a database using JDBC. The data enumerations are loaded the first time you use the guided editor !
 in a session. If you have any guided editor sessions open - you will need to close and then open the rule to see the change. To check the enumeration is loaded - if you go to the Package configuration screen, you can "save and validate" the package - this will check it and provide any error feedback.</para>
+
+			<para>
+			  Advanced enumerations: In the above cases, the values in the lists are calculated up front. This is fine for relatively static data, or small amounts of data. 
+			  Imagine a scenario where you have lists of countries, each country has a list of states, each state has a list of localities, each locality has a list of streets and so on... 
+			  You can see how this is a lot of data, and it can not be loaded up. The lists should be loaded dependent on what country was selected etc... 
+			</para>
+			<para>
+			  Well the above can be addressed in the following fashion: 
+			    <programlisting>
+			      'Fact.field[dependentField1, dependentField2]' : '(new com.yourco.DataHelper()).getListOfAges("@{dependentField1}", "@{dependentField2}")'
+			    </programlisting>
+			    Similar to above, but note that we have just specified what fields are needed, and also on the right of the ":" there are quotes around the expression. This expression will then be evaluated, only when needed, substituting the values from the fields specified. This means you can use the field values from the GUI to drive a database query, and drill down into data etc. When the drop down is loaded, or the rule loaded, 
+it will refresh the list based on the fields. 
+			</para>
+
+		</section>
+
+		
+
+		<section>
+			<title>Advanced enumaration concepts</title>
+
+			<para>There are a few other advanced things you can do with data enumerations.</para>
+
+			<para>Drop down lists that depend on field values: Lets imagine a simple fact model, we have a class called Vehicle, which has 2 fields: "engineType" and "fuelType". We want to have a choice for the "engineType" of "Petrol" or "Diesel". Now, obviously the choice type for fuel must be dependent on the engine type (so for Petrol we have ULP and PULP, and for Diesel we have BIO and NORMAL). We can express this dependency in an enumerattion as:</para>
+
+        <programlisting>
+ 'Vehicle.engineType' : ['Petrol', 'Diesel']
+ 'Vehicle.fuelType[engineType=Petrol]' : ['ULP', 'PULP' ]
+ 'Vehicle.fuelType[engineType=Diesel]' : ['BIO', 'NORMAL' ]	  
+</programlisting>
+
+        <para>This shows how it is possible to make the choices dependent on
+        other field values. Note that once you pick the engineType, the choice
+        list for the fuelType will be determined.</para>
+
+        <para>Loading enums programmatically: In some cases, people may want
+        to load their enumeration data entirely from external data source
+        (such as a relational database). To do this, you can implement a class
+        that returns a Map. The key of the map is a string (which is the
+        Fact.field name as shown above), and the value is a java.util.List of
+        Strings.</para>
+
+        <programlisting>
+public class SampleDataSource2 {
+
+  public Map&lt;String&gt;, List&lt;String&gt;&gt; loadData() {
+    Map data = new HashMap();
+
+    List d = new ArrayList();
+    d.add("value1");
+    d.add("value2");
+    data.put("Fact.field", d);
+
+    return data;
+ }
+
+}
+</programlisting>
+
+        <para>And in the enumeration in the brms, you put:</para>
+
+        <programlisting>=(new SampleDataSource2()).loadData()
+</programlisting>
+
+        <para>The "=" tells it to load the data by executing your code.</para>
+      </section>
+    </section>
+
+    <section>
+      <title>Templates of assets/rules</title>
+
+      <para>Tip: As you may have many similar rules, you can create rule
+      templates, which are simply rules which are kept in an inactive package
+      - you can then categories templates accordingly, and copy them as needed
+      (choosing a live package as the target package).</para>
+    </section>
+
+    <section>
+      <title>Status management</title>
+
+      <para>Each asset (and also package) in the BRMS has a status flag set.
+      The values of the status flag are set in the Administration section of
+      the BRMS. (you can add your own status names). Similar to Categories,
+      Statuses do NOT effect the execution in any way, and are purely
+      informational. Unlike categories, assets only have one status AT A
+      TIME.</para>
+
+      <para>Using statuses is completely optional. You can use it to manage
+      the lifecycle of assets (which you can alternatively do with categories
+      if you like).</para>
+
+      <figure>
+        <title>Asset status</title>
+
+        <mediaobject>
+          <imageobject>
+            <imagedata align="center" fileref="AssetChangeStatus.png"
+                       format="PNG" scalefit="1" />
+          </imageobject>
+        </mediaobject>
+      </figure>
+
+      <para>You can change the status of an individual asset (like in the
+      diagram above). Its change takes effect immediately, no separate save is
+      needed.</para>
+
+      <figure>
+        <title>Asset status</title>
+
+        <mediaobject>
+          <imageobject>
+            <imagedata align="center" fileref="PackageChangeStatus.png"
+                       format="PNG" scalefit="1" />
+          </imageobject>
+        </mediaobject>
+      </figure>
+
+      <para>You can change the status of a whole package - this sets the
+      status flag on the package itself, but it ALSO changes the statuses on
+      ALL the assets that belong to this package in one hit (to be the same as
+      what you set the package to).</para>
+    </section>
+
+    <section>
+      <title>Package management</title>
+
+      <para>Configuring packages is generally something that is done once, and
+      by someone with some experience with rules/models. Generally speaking,
+      very few people will need to configure packages, and once they are
+      setup, they can be copied over and over if needed. Package configuration
+      is most definitely a technical task that requires the appropriate
+      expertise.</para>
+
+      <para>All assets live in "packages" in the BRMS - a package is like a
+      folder (it also serves as a "namespace"). A home folder for rule assets
+      to live in. Rules in particular need to know what the fact model is,
+      what the namespace is etc.</para>
+
+      <para><figure>
+          <title>The package explorer</title>
+
+          <mediaobject>
+            <imageobject>
+              <imagedata align="center" fileref="PackageExplorer.png"
+                         format="PNG" scalefit="1" />
+            </imageobject>
+          </mediaobject>
+        </figure>The above picture shows the package explorer. Clicking on an
+      asset type will show a list of matches (for packages with thousands of
+      rules, showing the list may take several seconds - hence the importance
+      of using categories to help you find your way around).</para>
+
+      <para>So whilst rules (and assets in general) can appear in any number
+      of categories, they only live in one package. If you think of the BRMS
+      as a file system, then each package is a folder, and the assets live in
+      that folder - as one big happy list of files. When you create a
+      deployment snapshot of a package, you are effectively copying all the
+      assets in that "folder" into another special "folder".</para>
+
+      <para>The package management feature allows you to see a list of
+      packages, and then "expand" them, to show lists of each "type" of asset
+      (there are many assets, so some of them are grouped together):</para>
+
+      <para>The asset types: <itemizedlist>
+          <listitem>
+            <para>Business assets: this shows a list of all "business rule"
+            types, which include decision tables, business rules etc.
+            etc.</para>
+          </listitem>
+
+          <listitem>
+            <para>Technical assets: this is a list of items that would be
+            considered technical (eg DRL rules, data enumerations and rule
+            flows).</para>
+          </listitem>
+
+          <listitem>
+            <para>Functions: In the BRMS you can also have functions defined
+            (optionally of course).</para>
+          </listitem>
+
+          <listitem>
+            <para>DSL: Domain Specific Languages can also be stored as an
+            asset. If they exist (generally there is only one), then they will
+            be used in the appropriate editor GUIs.</para>
+          </listitem>
+
+          <listitem>
+            <para>Model: A package requires at least one model - for the
+            rules.</para>
+          </listitem>
+        </itemizedlist></para>
+
+      <para><figure>
+          <title>Creating new assets</title>
+
+          <mediaobject>
+            <imageobject>
+              <imagedata align="center" fileref="PackageNewItemTooltip.png"
+                         format="PNG" scalefit="1" />
+            </imageobject>
+          </mediaobject>
+        </figure> From the package explorer you can create new rules, or new
+      assets. Some assets you can only create from the package explorer. The
+      above picture shows the icons which launch wizards for this purpose. If
+      you hover the mouse over them, a tooltip will tell you what they
+      do.</para>
+
+      <para><figure>
+          <title>Package configuration</title>
+
+          <mediaobject>
+            <imageobject>
+              <imagedata align="center" fileref="PackageConfig.png"
+                         format="PNG" scalefit="1" />
+            </imageobject>
+          </mediaobject>
+        </figure>One of the most critical things you need to do is configure
+      packages. This is mostly importing the classes used by the rules, and
+      globals variables. Once you make a change, you need to save it, and that
+      package is then configured and ready to be built. For example, you may
+      add a model which has a class called "com.something.Hello", you would
+      then add "import com.something.Hello" in your package configuration and
+      save the change.</para>
+
+      <para><figure>
+          <title>Package building</title>
+
+          <mediaobject>
+            <imageobject>
+              <imagedata align="center" fileref="PackageBuild.png"
+                         format="PNG" scalefit="1" />
+            </imageobject>
+          </mediaobject>
+        </figure>Finally you would "build" a package. Any errors caught are
+      then shown at this point. If the build was successful, then you will
+      have the option to create a snapshot for deployment. You can also view
+      the "drl" that this package results in. WARNING: in cases of large
+      numbers of rules, all these operations can take some time.</para>
+
+      <para>It is optional at this stage to enter the name of a "selector" -
+      see the admin section for details on how to configure custom selectors
+      for your system (if you need them - selecters allow you to filter down
+      what you build into a package - if you don't know what they are for, you
+      probably don't need to use them).</para>
+
+      <section>
+        <title>Importing drl packages</title>
+
+        <para>It is also possible to create a package by importing an existing
+        "drl" file. When you choose to create a new package, you can choose an
+        option to upload a .drl file. The BRMS will then attempt to understand
+        that drl, break create a package for you. The rules in it will be
+        stored as individual assets (but still as drl text content). Note that
+        to actually build the package, you will need to upload an appropriate
+        model (as a jar) to validate against, as a separate step.</para>
+      </section>
+    </section>
+
+    <section>
+      <title>Version management</title>
+
+      <para>Both assets and whole packages of assets are "versioned" in the
+      BRMS, but the mechanism is slightly different. Individual assets are
+      saved a bit like a version of a file in a source control system.
+      However, packages of assets are versioned "on demand" by taking a
+      snapshot (typically which is used for deployment). The next section
+      talks about deployment management and snapshots.</para>
+
+      <figure>
+        <title>Asset versions</title>
+
+        <mediaobject>
+          <imageobject>
+            <imagedata align="center" fileref="AssetVersionHistory.png"
+                       format="PNG" scalefit="1" />
+          </imageobject>
+        </mediaobject>
+      </figure>
+
+      <para>Each time you make a change to an asset, it creates a new item in
+      the version history. This is a bit like having an unlimited undo. You
+      can look back through the history of an individual asset like the list
+      above, and view it (and restore it) from that point in time.</para>
+    </section>
+
+    <section>
+      <title>Deployment management</title>
+
+      <para>Snapshots, URLS and binary packages:</para>
+
+      <para>URLs are central to how built packages are provided. The BRMS
+      provides packages via URLs (for download and use by the Rule Agent).
+      These URLs take the form of:
+      http://&lt;server&gt;/drools-jbrms/org.drools.brms.JBRMS/package/&lt;packageName&gt;/&lt;packageVersion&gt;</para>
+
+      <para>&lt;packageName&gt; is the name you gave the package.
+      &lt;packageVersion&gt; is either the name of a snapshot, or "LATEST" (if
+      its LATEST, then it will be the latest built version from the main
+      package, not a snapshot). You can use these in the agent, or you can
+      paste them into your browser and it will download them as a file.</para>
+
+      <para>Refer to the section on the Rule Agent for details on how you can
+      use these URLs (and binary downloads) in your application, and how rules
+      can be updated on the fly.</para>
+
+      <figure>
+        <title>Deployment snapshots</title>
+
+        <mediaobject>
+          <imageobject>
+            <imagedata align="center" fileref="Snapshots.png" format="PNG"
+                       scalefit="1" />
+          </imageobject>
+        </mediaobject>
+      </figure>
+
+      <para>The above shows deployment snapshots view. On the left there is a
+      list of packages. Clicking on a specific package will show you a list of
+      snapshots for that package (if any). From there you can copy, remove or
+      view an asset snapshot. Each snapshot is available for download or
+      access via a URL for deployment.</para>
+    </section>
+
+    <section>
+      <title>Navigating and finding rules</title>
+
+      <para>The two main ways of viewing the repository are by using
+      user-driven Categorization (tagging) as outlined above, and the package
+      explorer view.</para>
+
+      <para>The category view provides a way to navigate your rules in a way
+      that makes sense to your organization.</para>
+
+      <figure>
+        <title>Category view</title>
+
+        <mediaobject>
+          <imageobject>
+            <imagedata align="center" fileref="CategoryExplorer.png"
+                       format="PNG" scalefit="1" />
+          </imageobject>
+        </mediaobject>
+      </figure>
+
+      <para>The above diagram shows categories in action. Generally under each
+      category you should have no more then a few dozen rules, if
+      possible.</para>
+
+      <para>The alternative and more technical view is to use the package
+      explorer. This shows the rules (assets) closer to how they are actually
+      stored in the database, and also separates rules into packages (name
+      spaces) and their type (format, as rules can be in many different
+      formats).</para>
+
+      <figure>
+        <title>Package view</title>
+
+        <mediaobject>
+          <imageobject>
+            <imagedata align="center" fileref="PackageExplorer.png"
+                       format="PNG" scalefit="1" />
+          </imageobject>
+        </mediaobject>
+      </figure>
+
+      <para>The above shows the alternate way of exploring - using
+      packages.</para>
+    </section>
+  </section>
+
+  <section>
+    <title>The business user perspective</title>
+
+    <para>You can see from this manual, that some expertise and practice is
+    required to use the BRMS. In fact any software system in some sense
+    requires that people be "technical" even if it has a nice looking GUI.
+    Having said that, in the right hands the BRMS can be setup to provide a
+    suitable environment for non technical users.</para>
+
+    <para>The most appropriate rule formats for this use are using the Guided
+    editor, Decision tables and DSL rules. You can use some DSL expressions
+    also in the guided editor (so it provides "forms" for people to enter
+    values).</para>
+
+    <para>You can use categories to isolate rules and assets from non
+    technical users. Only assets which have a category assigned will appear in
+    the "rules" feature.</para>
+
+    <para>The initial setup of the BRMS will need to be done by a
+    developer/technical person who will set the foundations for all the rules.
+    They may also create "templates" which are rules which may be copied (they
+    would typically live in a "dummy" package, and have a category of
+    "template" - this can also help ease the way).</para>
+
+    <para>Deployment should also not be done by non technical users (as
+    mentioned previously this happens from the "Package" feature).</para>
+  </section>
+
+  <section>
+    <title>Deployment: Integrating rules with your applications</title>
+
+    <para>Its all very interesting to manage rules, but how to you use or
+    "consume" them in your application? This section covers the usage of the
+    RuleAgent deployment component that automates most of this for you.</para>
+
+    <section>
+      <title>The Rule Agent</title>
+
+      <para>The rule agent is a component which is embedded in the core
+      runtime of the rules engine. To use this, you don't need any extra
+      components. In fact, if you are using the BRMS, your application should
+      only need to include the drools-core dependencies in its classpath
+      (drools and mvel jars only), and no other rules specific
+      dependencies.</para>
+
+      <para>Note that there is also a drools-ant ant task, so you can build
+      rules as part of an ant script (for example in cases where the rules are
+      edited in the IDE) without using the BRMS at all - the drools-ant task
+      will generate .pkg files the same as the BRMS.</para>
+
+      <para>Once you have "built" your rules in a package in the BRMS (or from
+      the ant task), you are ready to use the agent in your target
+      application.</para>
+
+      <para>To use the rule agent, you will use a call in your applications
+      code like:</para>
+
+      <programlisting>RuleAgent agent = RuleAgent.newRuleAgent("/MyRules.properties");     
+RuleBase rb = agent.getRuleBase(); 
+rb.newStatefulSession.... 
+//now assert your facts into the session and away you go !
+</programlisting>
+
+      <para>IMPORTANT: You should only have one instance of the RuleAgent per
+      rulebase you are using. This means you should (for example) keep the
+      agent in a singleton, JNDI (or similar). In practice most people are
+      using frameworks like Seam or Spring - in which case they will take care
+      of managing this for you (in fact in Seam - it is already integrated -
+      you can inject rulebases into Seam components). Note that the RuleBase
+      can be used multiple times by multiple threads if needed (no need to
+      have multiple copies of it).</para>
+
+      <para>This assumes that there is a MyRules.properties in the root of
+      your classpath. You can also pass in a Properties object with the
+      parameters set up (the parameters are discussed next).</para>
+
+      <para>The following shows the content of MyRules.properties:</para>
+
+      <programlisting>##
+## RuleAgent configuration file example
+##
+
+newInstance=true
+file=/foo/bar/boo.pkg /foo/bar/boo2.pkg
+dir=/my/dir
+url=http://some.url/here http://some.url/here
+localCacheDir=/foo/bar/cache
+poll=30
+
+
+name=MyConfig</programlisting>
+
+      <para>You can only have one type of key in each configuration (eg only
+      one "file", "dir" etc - even though you can specify multiple items by
+      space separating them). Note also, instead of a discrete properties
+      file, you can construct a java.utils.Properties object, and pass it in
+      to the RuleBase methods.</para>
+
+      <para>Referring to the above example, the "keys" in the properties
+      are:</para>
+
+      <itemizedlist>
+        <listitem>
+          <para>newInstance</para>
+
+          <para>Setting this to "true" means that the RuleBase instance will
+          be created fresh each time there is a change. this means you need to
+          do agent.getRuleBase() to get the new updated rulebase (any existing
+          ones in use will be untouched). The default is false, which means
+          rulebases are updated "in place" - ie you don't need to keep calling
+          getRuleBase() to make sure you have the latest rules (also any
+          StatefulSessions will be updated automatically with rule
+          changes).</para>
+        </listitem>
+
+        <listitem>
+          <para>file</para>
+
+          <para>This is a space-separated list of files - each file is a
+          binary package as exported by the BRMS. You can have one or many.
+          The name of the file is not important. Each package must be in its
+          own file.</para>
+
+          <para>NOTE: it is also possible to specify .drl files - and it will
+          compile it into the package. However, note that for this to work,
+          you will need the drools-compiler dependencies in your applications
+          classpath (as opposed to just the runtime dependencies).</para>
+
+          <para>Please note that if the path has a space in it, you will need
+          to put double quotes around it (as the space is used to separate
+          different items, and it will not work otherwise). Generally spaces
+          in a path name are best to avoid.</para>
+        </listitem>
+
+        <listitem>
+          <para>dir</para>
+
+          <para>This is similar to file, except that instead of specifying a
+          list of files you specify a directory, and it will pick up all the
+          files in there (each one is a package) and add them to the rulebase.
+          Each package must be in its own file.</para>
+
+          <para>Please note that if the path has a space in it, you will need
+          to put double quotes around it (as the space is used to separate
+          different items, and it will not work otherwise). Generally spaces
+          in a path name are best to avoid.</para>
+        </listitem>
+
+        <listitem>
+          <para>url</para>
+
+          <para>This is a space separated list of URLs to the BRMS which is
+          exposing the packages (see below for more details).</para>
+        </listitem>
+
+        <listitem>
+          <para>localCacheDir</para>
+
+          <para>This is used in conjunction with the url above, so that if the
+          BRMS is down (the url is not accessible) then if the runtime has to
+          start up, it can start up with the last known "good" versions of the
+          packages.</para>
+        </listitem>
+
+        <listitem>
+          <para>poll</para>
+
+          <para>This is set to the number of seconds to check for changes to
+          the resources (a timer is used).</para>
+        </listitem>
+
+        <listitem>
+          <para>name</para>
+
+          <para>This is used to specify the name of the agent which is used
+          when logging events (as typically you would have multiple agents in
+          a system).</para>
+        </listitem>
+      </itemizedlist>
+
+      <para>Following shows the deployment screen of the BRMS, which provides
+      URLs and downloads of packages.</para>
+
+      <figure>
+        <title>Snapshot deployment</title>
+
+        <mediaobject>
+          <imageobject>
+            <imagedata align="center" fileref="SnapshotDeploy.png"
+                       format="PNG" scalefit="1" />
+          </imageobject>
+        </mediaobject>
+      </figure>
+
+      <para>You can see the "Package URI" - this is the URL that you would
+      copy and paste into the agent .properties file to specify that you want
+      this package. It specifies an exact version (in this case to a snapshot)
+      - each snapshot has its own URL. If you want the "latest" - then replace
+      "NewSnapshot" with "LATEST".</para>
+
+      <para>You can also download a .pkg file from here, which you can drop in
+      a directory and use the "file" or "dir" feature of the RuleAgent if
+      needed (in some cases people will not want to have the runtime
+      automatically contact the BRMS for updates - but that is generally the
+      easiest way for many people).</para>
+    </section>
+
+    <section>
+      <title>Manual deployment</title>
+
+      <para>This section is only needed for advanced users who are integrating
+      deployment into their own mechanism. Normally you should use the rule
+      agent.</para>
+
+      <para>For those who do not wish to use the automatic deployment of the
+      RuleAgent, "rolling your own" is quite simple. The binary packages
+      emitted by the BRMS are serialized Package objects. You can deserialize
+      them and add them into any rulebase - essentially that is all you need
+      to do.</para>
+
+      <para>From the BRMS, binary packages are provided either from the latest
+      version of a package (once you have successfully validated and built a
+      package) or from the deployment snapshots. The URLs that the BRMS web
+      application exposes provide the binary package via http. You can also
+      issue a "HEAD" command to get the last time a package was
+      updated.</para>
+    </section>
+  </section>
+</section>

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/SnapshotDeploy.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/SnapshotDeploy.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/Snapshots.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/Snapshots.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/TestScenarioEditor.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/TestScenarioEditor.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/Thumbs.db
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/Thumbs.db
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/analysis.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/analysis.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/rule_guis.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-docs/drools-docs-guvnor/en/Chapter-Guvnor/rule_guis.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream




More information about the jboss-svn-commits mailing list