<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<id>tag:old.nabble.com,2006:forum-28145</id>
	<title>Nabble - gatewiki - commits</title>
	<updated>2009-11-24T00:28:35Z</updated>
	<link rel="self" type="application/atom+xml" href="http://old.nabble.com/gatewiki---commits-f28145.xml" />
	<link rel="alternate" type="text/html" href="http://old.nabble.com/gatewiki---commits-f28145.html" />
	<subtitle type="html">This list is for SVN commit logs of the CoW controllable wiki system from the &lt;a href=&quot;http://gate.ac.uk/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;GATE team&lt;/a&gt;. It is useful for developers, but not for users.</subtitle>
	
<entry>
	<id>tag:old.nabble.com,2006:post-26492156</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[1880] trunk/cow/grails-app</title>
	<published>2009-11-24T00:28:35Z</published>
	<updated>2009-11-24T00:28:35Z</updated>
	<author>
		<name>nirajaswani</name>
	</author>
	<content type="html">Revision: 1880
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1880&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1880&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; nirajaswani
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-11-24 08:28:34 +0000 (Tue, 24 Nov 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;subject prefix
&lt;br&gt;&lt;br&gt;Modified Paths:
&lt;br&gt;--------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/grails-app/conf/Config.groovy
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/grails-app/controllers/ContactController.groovy
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/grails-app/conf/Config.groovy
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/grails-app/conf/Config.groovy	2009-11-24 00:46:51 UTC (rev 1879)
&lt;br&gt;+++ trunk/cow/grails-app/conf/Config.groovy	2009-11-24 08:28:34 UTC (rev 1880)
&lt;br&gt;@@ -175,6 +175,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;title &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = &amp;quot;Contact Us&amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;heading &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;Please fill in the form and enter the characters from the image.&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;subject {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;prefix &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= &amp;quot;&amp;quot; // prefix for the subject
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/grails-app/controllers/ContactController.groovy
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/grails-app/controllers/ContactController.groovy	2009-11-24 00:46:51 UTC (rev 1879)
&lt;br&gt;+++ trunk/cow/grails-app/controllers/ContactController.groovy	2009-11-24 08:28:34 UTC (rev 1880)
&lt;br&gt;@@ -83,11 +83,14 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;List recipients = new ArrayList&amp;lt;String&amp;gt;(conf.contact.to)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;recipients.add(params.email)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;// attach prefix to subject
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;def sub = conf.contact.subject.prefix + params.subject
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sendMail {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;to recipients.toArray()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;from params.email
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;subject params.subject
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;subject sub
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;body &amp;quot;From:&amp;quot; + params.name + &amp;quot;\n\n&amp;quot; + params.emailBody
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} catch(Throwable e) {
&lt;br&gt;&lt;br&gt;&lt;br&gt;This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;gatewiki-commits mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26492156&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gatewiki-commits@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-1880--trunk-cow-grails-app-tp26492156p26492156.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26488777</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[1879] trunk</title>
	<published>2009-11-23T16:46:54Z</published>
	<updated>2009-11-23T16:46:54Z</updated>
	<author>
		<name>hcunningham-2</name>
	</author>
	<content type="html">Revision: 1879
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1879&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1879&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; hcunningham
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-11-24 00:46:51 +0000 (Tue, 24 Nov 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;added contact link;
&lt;br&gt;wrapped the header links as suggested in valy layout;
&lt;br&gt;added creative commons and copyright statement;
&lt;br&gt;adjusted the contact page text
&lt;br&gt;&lt;br&gt;Modified Paths:
&lt;br&gt;--------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/grails-app/conf/Config.groovy
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/site-plugins/gau/grails-app/views/layouts/cowguest.gsp
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/grails-app/conf/Config.groovy
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/grails-app/conf/Config.groovy	2009-11-23 19:01:01 UTC (rev 1878)
&lt;br&gt;+++ trunk/cow/grails-app/conf/Config.groovy	2009-11-24 00:46:51 UTC (rev 1879)
&lt;br&gt;@@ -172,9 +172,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;bootstrapRegen &amp;nbsp; &amp;nbsp; &amp;nbsp;= false // regenerate sandboxes on bootstrap?
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;wikiUpdateRegen &amp;nbsp; &amp;nbsp; = false // regenerate sandboxes on Wiki update?
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;contact {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;title &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = &amp;quot;Contact&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;title &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = &amp;quot;Contact Us&amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;heading &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;Please fill up the following form and enter the characters from the image below.&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;Please fill in the form and enter the characters from the image.&amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&lt;br&gt;Modified: trunk/site-plugins/gau/grails-app/views/layouts/cowguest.gsp
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/site-plugins/gau/grails-app/views/layouts/cowguest.gsp	2009-11-23 19:01:01 UTC (rev 1878)
&lt;br&gt;+++ trunk/site-plugins/gau/grails-app/views/layouts/cowguest.gsp	2009-11-24 00:46:51 UTC (rev 1879)
&lt;br&gt;@@ -65,9 +65,6 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- first row header links --&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;div id=&amp;quot;topLoginEtc&amp;quot;&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- page links --&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;span id=&amp;quot;topPageSpecific&amp;quot;&amp;gt;${pageLinks}&amp;lt;/span&amp;gt;
&lt;br&gt;-
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- Only show search box when we are viewing a page, not when we are in
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;the admin area --&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;g:if test=&amp;quot;${(webRequest?.controllerName == 'page') || (webRequest?.controllerName == 'search')}&amp;quot;&amp;gt;
&lt;br&gt;@@ -108,6 +105,10 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(w/s mode) &amp;lt;g:link controller=&amp;quot;admin&amp;quot;&amp;gt;Admin&amp;lt;/g:link&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/cow:isWorkstation&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;g:pageLink action=&amp;quot;show&amp;quot; id=&amp;quot;2&amp;quot; linkPath=&amp;quot;gatewiki/cow/doc/gatewiki.html&amp;quot;&amp;gt;Help&amp;lt;/g:pageLink&amp;gt;
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- page links --&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;br/&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;span id=&amp;quot;topPageSpecific&amp;quot;&amp;gt;${pageLinks}&amp;lt;/span&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/div&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- second row header links --&amp;gt;
&lt;br&gt;@@ -143,7 +144,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;/download/&amp;quot;&amp;gt;Download&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;/documentation.html&amp;quot;&amp;gt;Documentation&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;/people&amp;quot;&amp;gt;About Us&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;/people/&amp;quot;&amp;gt;About Us&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;/g8/contact&amp;quot;&amp;gt;Contact&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/ul&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/div&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/div&amp;gt;
&lt;br&gt;@@ -177,6 +179,21 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;td&amp;gt;&amp;lt;a href=&amp;quot;&lt;a href=&quot;http://www.shef.ac.uk/dcs/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.shef.ac.uk/dcs/&lt;/a&gt;&amp;quot;&amp;gt;&amp;lt;image
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;src=&amp;quot;/plugins/gau-0.1/images/sheffield-logo-small.png&amp;quot;/&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;p&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;table align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td align=&amp;quot;left&amp;quot;&amp;gt;&amp;lt;font size=&amp;quot;-2&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;copy; The University of Sheffield, 1995-2010.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;This work is licenced under the
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;a rel=&amp;quot;license&amp;quot; href=&amp;quot;&lt;a href=&quot;http://creativecommons.org/licenses/by-nd/2.0/uk/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://creativecommons.org/licenses/by-nd/2.0/uk/&lt;/a&gt;&amp;quot;&amp;gt;Creative
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Commons Attribution-No Derivative Licence&amp;lt;/a&amp;gt;.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/font&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;a rel=&amp;quot;license&amp;quot; href=&amp;quot;&lt;a href=&quot;http://creativecommons.org/licenses/by-nd/2.0/uk/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://creativecommons.org/licenses/by-nd/2.0/uk/&lt;/a&gt;&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;img alt=&amp;quot;Creative Commons License&amp;quot; style=&amp;quot;border-width:0&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;src=&amp;quot;&lt;a href=&quot;http://i.creativecommons.org/l/by-nd/2.0/uk/88x31.png&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://i.creativecommons.org/l/by-nd/2.0/uk/88x31.png&lt;/a&gt;&amp;quot; /&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/a&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/div&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- GWT support --&amp;gt;
&lt;br&gt;&lt;br&gt;&lt;br&gt;This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;gatewiki-commits mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26488777&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gatewiki-commits@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-1879--trunk-tp26488777p26488777.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26483959</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[1878] trunk/cow/grails-app</title>
	<published>2009-11-23T11:01:01Z</published>
	<updated>2009-11-23T11:01:01Z</updated>
	<author>
		<name>nirajaswani</name>
	</author>
	<content type="html">Revision: 1878
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1878&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1878&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; nirajaswani
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-11-23 19:01:01 +0000 (Mon, 23 Nov 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;now allows specifying comma separated list of emails - see the example in Config.groovy
&lt;br&gt;&lt;br&gt;Modified Paths:
&lt;br&gt;--------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/grails-app/conf/Config.groovy
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/grails-app/controllers/ContactController.groovy
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/grails-app/conf/Config.groovy
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/grails-app/conf/Config.groovy	2009-11-23 18:29:03 UTC (rev 1877)
&lt;br&gt;+++ trunk/cow/grails-app/conf/Config.groovy	2009-11-23 19:01:01 UTC (rev 1878)
&lt;br&gt;@@ -358,7 +358,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;//mail setting for contact page
&lt;br&gt;&amp;nbsp;/*
&lt;br&gt;-gate.cow.contact.to &amp;nbsp; &amp;nbsp; = &amp;quot;&amp;lt;to address e.g. &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26483959&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;abc@...&lt;/a&gt;&amp;gt;&amp;quot;
&lt;br&gt;+gate.cow.contact.to &amp;nbsp; &amp;nbsp; = [&amp;quot;address1&amp;quot;, &amp;quot;address2&amp;quot;, ...] // comma separate list
&lt;br&gt;&amp;nbsp;grails {
&lt;br&gt;&amp;nbsp; &amp;nbsp;mail {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;host &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= &amp;quot;&amp;lt;smtp host e.g. mailhost.dcs.shef.ac.uk&amp;gt;&amp;quot;
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/grails-app/controllers/ContactController.groovy
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/grails-app/controllers/ContactController.groovy	2009-11-23 18:29:03 UTC (rev 1877)
&lt;br&gt;+++ trunk/cow/grails-app/controllers/ContactController.groovy	2009-11-23 19:01:01 UTC (rev 1878)
&lt;br&gt;@@ -32,7 +32,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;def showForm = true
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// unless, to address is not provided
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;if(!conf.contact.to) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;if(!conf.contact.to || conf.contact.to.isEmpty()) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;log.error(&amp;quot;gate.cow.contact.to parameter missing. Please set it in &amp;quot; +
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;.cowrc.groovy and make sure other mail plugin settings are &amp;quot; +
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;provided.&amp;quot;)
&lt;br&gt;@@ -78,9 +78,14 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// if the mail settings are not set, this could lead to several 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// unexplained exceptions - printing them on server log
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// but a nice message to the user
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;//copy all the recipients from from conf.contact.to address
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;List recipients = new ArrayList&amp;lt;String&amp;gt;(conf.contact.to)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;recipients.add(params.email)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sendMail {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;to conf.contact.to, params.email
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;to recipients.toArray()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;from params.email
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;subject params.subject
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;body &amp;quot;From:&amp;quot; + params.name + &amp;quot;\n\n&amp;quot; + params.emailBody
&lt;br&gt;&lt;br&gt;&lt;br&gt;This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;gatewiki-commits mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26483959&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gatewiki-commits@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-1878--trunk-cow-grails-app-tp26483959p26483959.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26483472</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[1877] trunk/cow/grails-app</title>
	<published>2009-11-23T10:29:03Z</published>
	<updated>2009-11-23T10:29:03Z</updated>
	<author>
		<name>nirajaswani</name>
	</author>
	<content type="html">Revision: 1877
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1877&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1877&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; nirajaswani
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-11-23 18:29:03 +0000 (Mon, 23 Nov 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;telling the truth to the user when contact service is not configured. Also added contact.title and the contact.heading variables in the config.groovy for the contact page
&lt;br&gt;&lt;br&gt;Modified Paths:
&lt;br&gt;--------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/grails-app/conf/Config.groovy
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/grails-app/i18n/cow.properties
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/grails-app/conf/Config.groovy
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/grails-app/conf/Config.groovy	2009-11-23 18:28:30 UTC (rev 1876)
&lt;br&gt;+++ trunk/cow/grails-app/conf/Config.groovy	2009-11-23 18:29:03 UTC (rev 1877)
&lt;br&gt;@@ -171,6 +171,11 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;wiki.updateInterval.default = null
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;bootstrapRegen &amp;nbsp; &amp;nbsp; &amp;nbsp;= false // regenerate sandboxes on bootstrap?
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;wikiUpdateRegen &amp;nbsp; &amp;nbsp; = false // regenerate sandboxes on Wiki update?
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;contact {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;title &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = &amp;quot;Contact&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;heading &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;Please fill up the following form and enter the characters from the image below.&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/grails-app/i18n/cow.properties
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/grails-app/i18n/cow.properties	2009-11-23 18:28:30 UTC (rev 1876)
&lt;br&gt;+++ trunk/cow/grails-app/i18n/cow.properties	2009-11-23 18:29:03 UTC (rev 1877)
&lt;br&gt;@@ -69,7 +69,7 @@
&lt;br&gt;&amp;nbsp;cow.webflow.error=Exception occurred in web flow: {0}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;#contact
&lt;br&gt;-cow.contact.missingParameter.toAddress=This service is temporarily not available. Sorry for the inconvenience.
&lt;br&gt;+cow.contact.missingParameter.toAddress=This service is not configured.
&lt;br&gt;&amp;nbsp;cow.contact.invalidCaptcha=Characters entered do not match the image.
&lt;br&gt;&amp;nbsp;cow.contact.success=Message Sent Successfully!
&lt;br&gt;&amp;nbsp;cow.contact.mailServerSettings=Error while sending email. Sorry for the inconvenience.
&lt;br&gt;&lt;br&gt;&lt;br&gt;This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;gatewiki-commits mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26483472&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gatewiki-commits@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-1877--trunk-cow-grails-app-tp26483472p26483472.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26483460</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[1876] trunk/site-plugins/gau/grails-app/views/layouts /cowguest.gsp</title>
	<published>2009-11-23T10:28:30Z</published>
	<updated>2009-11-23T10:28:30Z</updated>
	<author>
		<name>hcunningham-2</name>
	</author>
	<content type="html">Revision: 1876
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1876&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1876&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; hcunningham
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-11-23 18:28:30 +0000 (Mon, 23 Nov 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;rel link to help, not abs
&lt;br&gt;&lt;br&gt;Modified Paths:
&lt;br&gt;--------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/site-plugins/gau/grails-app/views/layouts/cowguest.gsp
&lt;br&gt;&lt;br&gt;Modified: trunk/site-plugins/gau/grails-app/views/layouts/cowguest.gsp
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/site-plugins/gau/grails-app/views/layouts/cowguest.gsp	2009-11-23 17:45:54 UTC (rev 1875)
&lt;br&gt;+++ trunk/site-plugins/gau/grails-app/views/layouts/cowguest.gsp	2009-11-23 18:28:30 UTC (rev 1876)
&lt;br&gt;@@ -107,7 +107,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;cow:isWorkstation&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(w/s mode) &amp;lt;g:link controller=&amp;quot;admin&amp;quot;&amp;gt;Admin&amp;lt;/g:link&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/cow:isWorkstation&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;g:pageLink action=&amp;quot;show&amp;quot; id=&amp;quot;2&amp;quot; linkPath=&amp;quot;/gatewiki/cow/doc/gatewiki.html&amp;quot;&amp;gt;Help&amp;lt;/g:pageLink&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;g:pageLink action=&amp;quot;show&amp;quot; id=&amp;quot;2&amp;quot; linkPath=&amp;quot;gatewiki/cow/doc/gatewiki.html&amp;quot;&amp;gt;Help&amp;lt;/g:pageLink&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/div&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- second row header links --&amp;gt;
&lt;br&gt;&lt;br&gt;&lt;br&gt;This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;gatewiki-commits mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26483460&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gatewiki-commits@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-1876--trunk-site-plugins-gau-grails-app-views-layouts--cowguest.gsp-tp26483460p26483460.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26482796</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[1875] trunk/cow/grails-app/controllers/ AdminController.groovy</title>
	<published>2009-11-23T09:45:55Z</published>
	<updated>2009-11-23T09:45:55Z</updated>
	<author>
		<name>nirajaswani</name>
	</author>
	<content type="html">Revision: 1875
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1875&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1875&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; nirajaswani
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-11-23 17:45:54 +0000 (Mon, 23 Nov 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;instead of using the localhost as hardcoded bit in the AdminController, using conf.gate.cow.solr.baseUrl - this should fix the problem of accessing files from the solr deploy which is only available locally
&lt;br&gt;&lt;br&gt;Modified Paths:
&lt;br&gt;--------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/grails-app/controllers/AdminController.groovy
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/grails-app/controllers/AdminController.groovy
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/grails-app/controllers/AdminController.groovy	2009-11-23 16:51:06 UTC (rev 1874)
&lt;br&gt;+++ trunk/cow/grails-app/controllers/AdminController.groovy	2009-11-23 17:45:54 UTC (rev 1875)
&lt;br&gt;@@ -61,11 +61,13 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// checking id for null value
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;if(checkIfIdIsNull()) return
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;// address for the solr search
&lt;br&gt;- &amp;nbsp; &amp;nbsp;def address = &amp;quot;&lt;a href=&quot;http://localhost:&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://localhost:&lt;/a&gt;&amp;quot; + request.getServerPort() + 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; conf.gate.cow.solr.context + &amp;quot;/core&amp;quot; + params.id + 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;quot;/admin/file/?file=schema.xml&amp;quot;
&lt;br&gt;-
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;// solr config
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;def solrconf = conf.gate.cow.solr
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;// address to access the schema
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;def address = 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;${solrconf.baseUrl}${solrconf.context}/core${params.id}/admin/file/?file=schema.xml&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// rendering xml
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;renderXml(address)
&lt;br&gt;&amp;nbsp; &amp;nbsp;}
&lt;br&gt;@@ -78,11 +80,13 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// checking id for null value
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;if(checkIfIdIsNull()) return
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;// address for the solr search
&lt;br&gt;- &amp;nbsp; &amp;nbsp;def address = &amp;quot;&lt;a href=&quot;http://localhost:&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://localhost:&lt;/a&gt;&amp;quot; + request.getServerPort() + 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; conf.gate.cow.solr.context + &amp;quot;/core&amp;quot; + params.id + 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;quot;/admin/stats.jsp&amp;quot;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;// solr config
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;def solrconf = conf.gate.cow.solr
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;// address to access the stats page
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;def address = 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;${solrconf.baseUrl}${solrconf.context}/core${params.id}/admin/stats.jsp&amp;quot;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// final url &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;def url = new URL(address)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;String xmlText = url.text
&lt;br&gt;@@ -103,11 +107,13 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// checking id for null value
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;if(checkIfIdIsNull()) return
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;// address for the solr search
&lt;br&gt;- &amp;nbsp; &amp;nbsp;def address = &amp;quot;&lt;a href=&quot;http://localhost:&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://localhost:&lt;/a&gt;&amp;quot; + request.getServerPort() + 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; conf.gate.cow.solr.context + &amp;quot;/core&amp;quot; + params.id + 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;quot;/admin/file/?file=solrconfig.xml&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;// solr config
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;def solrconf = conf.gate.cow.solr
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;// address to access the solr config
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;def address = 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;${solrconf.baseUrl}${solrconf.context}/core${params.id}/admin/file/?file=solrconfig.xml&amp;quot;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// rendering xml
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;renderXml(address)
&lt;br&gt;&amp;nbsp; &amp;nbsp;}
&lt;br&gt;&lt;br&gt;&lt;br&gt;This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;gatewiki-commits mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26482796&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gatewiki-commits@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-1875--trunk-cow-grails-app-controllers--AdminController.groovy-tp26482796p26482796.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26481830</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[1874] trunk/cow/grails-app</title>
	<published>2009-11-23T08:51:08Z</published>
	<updated>2009-11-23T08:51:08Z</updated>
	<author>
		<name>nirajaswani</name>
	</author>
	<content type="html">Revision: 1874
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1874&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1874&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; nirajaswani
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-11-23 16:51:06 +0000 (Mon, 23 Nov 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;if the indexing button pressed twice, it won't accept it if one is already being indexed and will print appropriate message on the screen. &amp;nbsp;Added more messages to the cow.properties. &amp;nbsp;Log for indexing now enabled - tells us details of what's going on in the background. Simplied code in the IndexingService
&lt;br&gt;&lt;br&gt;Modified Paths:
&lt;br&gt;--------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/grails-app/conf/Config.groovy
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/grails-app/controllers/AdminController.groovy
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/grails-app/i18n/cow.properties
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/grails-app/jobs/IndexingJob.groovy
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/grails-app/services/IndexingService.groovy
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/grails-app/conf/Config.groovy
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/grails-app/conf/Config.groovy	2009-11-20 15:39:43 UTC (rev 1873)
&lt;br&gt;+++ trunk/cow/grails-app/conf/Config.groovy	2009-11-23 16:51:06 UTC (rev 1874)
&lt;br&gt;@@ -231,7 +231,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp;def controllerLogger = { &amp;quot;grails.app.controller.${it}Controller&amp;quot; }
&lt;br&gt;&amp;nbsp; &amp;nbsp;info logfile:['Wiki'].collect(controllerLogger)
&lt;br&gt;&amp;nbsp; &amp;nbsp;debug logfile:[
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'Page', 'SvnAuth'
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'Page', 'SvnAuth', 'Contact'
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; ].collect(controllerLogger)
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;// grails services
&lt;br&gt;@@ -254,6 +254,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'grails.app.job.WikiRegenerationJob']
&lt;br&gt;&amp;nbsp; &amp;nbsp;error logfile:['grails.app.realm.CowDbRealm']
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+ &amp;nbsp;// solr, indexing job log
&lt;br&gt;+ &amp;nbsp;info logfile:['gate.cow.IndexingJob']
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp;// subversion
&lt;br&gt;&amp;nbsp; &amp;nbsp;warn logfile:'org.tmatesoft.svn.examples'
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/grails-app/controllers/AdminController.groovy
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/grails-app/controllers/AdminController.groovy	2009-11-20 15:39:43 UTC (rev 1873)
&lt;br&gt;+++ trunk/cow/grails-app/controllers/AdminController.groovy	2009-11-23 16:51:06 UTC (rev 1874)
&lt;br&gt;@@ -112,13 +112,13 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;renderXml(address)
&lt;br&gt;&amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;/** 
&lt;br&gt;&amp;nbsp; &amp;nbsp; * Perform indexing or delete the index for the given wikiArea. 
&lt;br&gt;&amp;nbsp; &amp;nbsp; * It expects parameters id and command, e.g.:
&lt;br&gt;&amp;nbsp; &amp;nbsp; * indexWikiArea?id=1&amp;amp;command=index
&lt;br&gt;&amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp;def indexWikiArea = {
&lt;br&gt;-
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// checking if solr is disabled
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;if(checkIfSolrIsDisabled()) return
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;@@ -147,29 +147,37 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// call the indexing service &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;if(params.command.equals(&amp;quot;index&amp;quot;)) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;// before indexing, it should be deleted first
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;// even if there's no index, the delete command returns true if there was 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;// no obvious error/exception
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;success = indexingService.delete(request, null, params.id, true)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;// before indexing, it should be deleted first even if there's no index
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;// the delete command returns false only if there is something in the
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;// wiki area currently being indexed (and unless there's some exception)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;success = indexingService.delete(null, params.id)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// if only it succeeded in deleting the index
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(success) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// last parameter indicates that the indexing should not be started
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// in an asynchronous mode
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;success = indexingService.index(request, toIndex, params.id, true)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;msg = message(code: 'cow.index.submittedForIndexing')
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// this will for sure succeed
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;success = indexingService.index(toIndex, params.id)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(success)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;msg = message(code: 'cow.index.submittedForIndexing')
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;msg = message(code: 'cow.index.error')
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;} else {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// say it is already in queue or something is being indexed in the
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// submitted wiki area
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;msg = message(code: 'cow.index.alreadyInQueue')
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;} else if(params.command.equals(&amp;quot;delete&amp;quot;)) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// the second parameter indicates that everything should be deleted
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;// the last parameter indicates that the deletion should not be started
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;// in an asynchronous mode
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;success = indexingService.delete(request, null, params.id, true)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;msg = message(code: 'cow.index.submittedForDeletion')
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;success = indexingService.delete(null, params.id)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;if(!success) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// already in queue
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;msg = message(code: 'cow.index.alreadyInQueue')
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;} else {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;msg = message(code: 'cow.index.submittedForDeletion')
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;} else {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;// invalid command
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;msg = message(code: 'cow.index.invalidCommand')
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;if(!success) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;msg = message(code: 'cow.index.error')
&lt;br&gt;- &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// render message
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;render g.render(template: &amp;quot;/message&amp;quot;, model: [message: &amp;quot;&amp;lt;b&amp;gt;${msg}&amp;lt;/b&amp;gt;&amp;quot;])
&lt;br&gt;@@ -182,8 +190,11 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// checking if solr is disabled
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;if(checkIfSolrIsDisabled()) return
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;// ask IndexingJob to update us
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;def indexingJobs = IndexingJob.getIndexingStatus()
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// returning model
&lt;br&gt;- &amp;nbsp; &amp;nbsp;[indexingJobs:IndexingJob.getIndexingStatus()]
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;[indexingJobs:indexingJobs]
&lt;br&gt;&amp;nbsp; &amp;nbsp;} // indexStatus &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/grails-app/i18n/cow.properties
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/grails-app/i18n/cow.properties	2009-11-20 15:39:43 UTC (rev 1873)
&lt;br&gt;+++ trunk/cow/grails-app/i18n/cow.properties	2009-11-23 16:51:06 UTC (rev 1874)
&lt;br&gt;@@ -54,9 +54,11 @@
&lt;br&gt;&amp;nbsp;cow.index.missingParameter.searchBox=searchBox parameter cannot be null or empty
&lt;br&gt;&amp;nbsp;cow.index.missingParameter.id=id parameter cannot be null or empty
&lt;br&gt;&amp;nbsp;cow.index.invalidIndexId=Invalid value for the index id
&lt;br&gt;+cow.index.invalidCommand=Invalid value for the command parameter
&lt;br&gt;&amp;nbsp;cow.index.errorInHighlight=Could not retrieve a highlight for this match
&lt;br&gt;&amp;nbsp;cow.index.emptyIndex=No index available for this area of the site. Please ask your site administrator to index the area.
&lt;br&gt;&amp;nbsp;cow.index.errorInMatchingPrefix=Failed to match hit prefix; this probably means the sandbox was moved on disk and the index needs regenerating.
&lt;br&gt;+cow.index.alreadyInQueue=Request could not be submitted as either the URL is already in queue or it is being indexed.
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;# Breadcrumbs
&lt;br&gt;&amp;nbsp;cow.areaTop.name=Home
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/grails-app/jobs/IndexingJob.groovy
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/grails-app/jobs/IndexingJob.groovy	2009-11-20 15:39:43 UTC (rev 1873)
&lt;br&gt;+++ trunk/cow/grails-app/jobs/IndexingJob.groovy	2009-11-23 16:51:06 UTC (rev 1874)
&lt;br&gt;@@ -23,7 +23,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;// indexing is not scheduled
&lt;br&gt;&amp;nbsp; &amp;nbsp;static boolean indexingScheduled = false
&lt;br&gt;- &amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp;/** 
&lt;br&gt;&amp;nbsp; &amp;nbsp; * queue for indexing jobs.
&lt;br&gt;&amp;nbsp; &amp;nbsp; */
&lt;br&gt;@@ -32,36 +32,51 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp;/** indicates that the items are being indexed */
&lt;br&gt;&amp;nbsp; &amp;nbsp;static Map&amp;lt;String, List&amp;lt;IndexRequest&amp;gt;&amp;gt; beingIndexed
&lt;br&gt;&amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;/** lock */
&lt;br&gt;+ &amp;nbsp;static String LOCK = &amp;quot;Index_Lock&amp;quot;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; * puts both queues, requeustsQueue and beingIndexed in a single map
&lt;br&gt;&amp;nbsp; &amp;nbsp; * and returns
&lt;br&gt;&amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp;static Map&amp;lt;String, List&amp;lt;IndexRequest&amp;gt;&amp;gt; getIndexingStatus() {
&lt;br&gt;- &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;// to return
&lt;br&gt;- &amp;nbsp; &amp;nbsp;Map&amp;lt;String, List&amp;lt;IndexRequest&amp;gt;&amp;gt; toReturn = 
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;synchronized(LOCK) { &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;// to return
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;Map&amp;lt;String, List&amp;lt;IndexRequest&amp;gt;&amp;gt; toReturn = 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;new HashMap&amp;lt;String, List&amp;lt;IndexRequest&amp;gt;&amp;gt;()
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;// ok first add the requestsQueue
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;if(requestsQueue != null) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// deep clone the requestsQueue map, copying the lists rather than
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// just copying the references to the lists
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;requestsQueue.each { k, v -&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;toReturn[k] = v.collect { it }
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;} // if
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;// ok first add the requestsQueue
&lt;br&gt;- &amp;nbsp; &amp;nbsp;if(requestsQueue != null) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;toReturn.putAll(requestsQueue)
&lt;br&gt;- &amp;nbsp; &amp;nbsp;} // if
&lt;br&gt;- &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;// then beingIndexed
&lt;br&gt;- &amp;nbsp; &amp;nbsp;if(beingIndexed != null) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;synchronized(beingIndexed) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;// then beingIndexed
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;if(beingIndexed != null) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for(String wikiId : beingIndexed.keySet()) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(beingIndexed.get(wikiId).isEmpty()) continue
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// was there anything in the queue
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;List&amp;lt;IndexRequest&amp;gt; requestList = toReturn.get(wikiId)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// if not, create an empty list &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(requestList == null) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;requestList = new ArrayList&amp;lt;IndexRequest&amp;gt;()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;toReturn.put(wikiId, requestList)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// entries from being indexed
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;requestList.addAll(beingIndexed.get(wikiId))
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} //for
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;} //synchronized
&lt;br&gt;- &amp;nbsp; &amp;nbsp;} // if
&lt;br&gt;- &amp;nbsp; &amp;nbsp;return toReturn
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;} // if
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;return toReturn
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;} // synchronized
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;} // getIndexingStatus
&lt;br&gt;&amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;/**
&lt;br&gt;@@ -72,54 +87,69 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; * &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Url of the file/directory that should be indexed
&lt;br&gt;&amp;nbsp; &amp;nbsp; * @param cmd
&lt;br&gt;&amp;nbsp; &amp;nbsp; * &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (one of INDEX_CMD, DELETE_CMD, or UPDATE_CMD)
&lt;br&gt;+ &amp;nbsp; * @return true if the request is added to the queue. false if it is already
&lt;br&gt;+ &amp;nbsp; * &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; in the queue or being indexed.
&lt;br&gt;&amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp;static void addToQueue(String wikiId, String url, int cmd, String cmdDesc) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp;// before adding it to the queue, need to check if it is already there
&lt;br&gt;- &amp;nbsp; &amp;nbsp;// if so, we no longer need to add it there
&lt;br&gt;- &amp;nbsp; &amp;nbsp;if(requestsQueue == null) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;requestsQueue = 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Collections.synchronizedMap(new HashMap&amp;lt;String, List&amp;lt;IndexRequest&amp;gt;&amp;gt;())
&lt;br&gt;- &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp;static boolean addToQueue(String wikiId, String url, int cmd, String cmdDesc) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;synchronized(LOCK) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;// before adding it to the queue, need to check if it is already there
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;// if so, we no longer need to add it there
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;if(requestsQueue == null) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;requestsQueue = 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Collections.synchronizedMap(new HashMap&amp;lt;String, List&amp;lt;IndexRequest&amp;gt;&amp;gt;())
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;// obtain requests for the specified wikiId
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;List&amp;lt;IndexRequest&amp;gt; requests = requestsQueue.get(wikiId)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;if(requests == null) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;requests = Collections.synchronizedList(new ArrayList&amp;lt;IndexRequest&amp;gt;())
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;requestsQueue.put(wikiId, requests)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;} //if
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;def requestDeniedMessage = &amp;quot;Request to add &amp;quot; + wikiId + &amp;quot;=&amp;gt;&amp;quot; + url + 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;quot; to the indexing queue for &amp;quot; + cmdDesc + &amp;quot; is denied as it &amp;quot; +
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;quot; is alredy being indexed&amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;// obtain requests for the specified wikiId
&lt;br&gt;- &amp;nbsp; &amp;nbsp;List&amp;lt;IndexRequest&amp;gt; requests = requestsQueue.get(wikiId)
&lt;br&gt;- &amp;nbsp; &amp;nbsp;if(requests == null) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;requests = Collections.synchronizedList(new ArrayList&amp;lt;IndexRequest&amp;gt;())
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;requestsQueue.put(wikiId, requests)
&lt;br&gt;- &amp;nbsp; &amp;nbsp;} //if
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;// check if the url is already being indexed. If so, do nothing
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;if(isBeingIndexed(url, wikiId)) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;log.info(requestDeniedMessage)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return false
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;// check if command is for deletion of a wiki area
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;if(url == null) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(cmd == IndexingService.DELETE_CMD) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// delete all previous requests for this wiki area
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// we can't delete what is in progress, so won't change
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// beingIndexed map
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;requests.clear();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp;// check if command is for deletion of a wiki area
&lt;br&gt;- &amp;nbsp; &amp;nbsp;if(url == null) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;if(cmd == IndexingService.DELETE_CMD) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// delete all previous requests for this wiki area
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;requests.clear();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;requestsQueue.put(wikiId, requests);
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// finally add the current delete request to queue
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;requests.add(new IndexRequest(url:url, cmd:cmd, 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; status:IndexRequest.IN_QUEUE_STATUS,
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; cmdDescription:cmdDesc))
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// scheduleIndexing
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;scheduleIndexing()
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;} else {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;log.info(&amp;quot;Invalid request with url :&amp;quot; + url + &amp;quot; command : &amp;quot; + cmd);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// finally add the current delete request to queue
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;requests.add(new IndexRequest(url:url, cmd:cmd, 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; status:IndexRequest.IN_QUEUE_STATUS,
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; cmdDescription:cmdDesc))
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// log &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;log.info(wikiId + &amp;quot; added to indexing queue for deletion&amp;quot;)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// scheduleIndexing
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;scheduleIndexing()
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return true
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} else {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;log.info(&amp;quot;Invalid request with url :&amp;quot; + url + &amp;quot; command : &amp;quot; + cmd);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return false
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp;// iterating so.. need to synchronized
&lt;br&gt;- &amp;nbsp; &amp;nbsp;synchronized(requests) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;File toIndexFile = new File(new URL(url).toURI())
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// if the command is for indexing
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(cmd == IndexingService.INDEX_CMD) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for(int i=0;i&amp;lt;requests.size();i++) {
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;IndexRequest ir = requests.get(i);
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// check if there is already a request that will index the current bit
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// automatically
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(ir.url != null &amp;&amp; ir.cmd == IndexingService.INDEX_CMD) {
&lt;br&gt;@@ -128,10 +158,17 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(toIndexFile.getAbsolutePath().startsWith(
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; compareWithFile.getAbsolutePath())) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// no need to add the current request
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;log.info(requestDeniedMessage)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;scheduleIndexing()
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return false
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} else if(toIndexFile.getAbsolutePath().equals(
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; compareWithFile.getAbsolutePath())) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// no need to add the current request
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;log.info(requestDeniedMessage)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;scheduleIndexing()
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return false
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} // for
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}//if
&lt;br&gt;@@ -145,6 +182,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;File compareWithFile = new File(new URL(ir.url).toURI())
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(compareWithFile.getAbsolutePath().startsWith(
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; toIndexFile.getAbsolutePath())) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// log entry
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;log.info(wikiId + &amp;quot;=&amp;gt;&amp;quot; + ir.url + &amp;quot; deleted from the queue&amp;quot;)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;requests.remove(i)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;i--
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;continue
&lt;br&gt;@@ -153,16 +192,22 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} // for
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// finally add it to the the queue
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;IndexRequest ir = new IndexRequest(url:url, cmd:cmd, 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; status:IndexRequest.IN_QUEUE_STATUS,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; cmdDescription:cmdDesc)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// added content to requests
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;requests.add(ir)
&lt;br&gt;- &amp;nbsp; &amp;nbsp;} // synchronized(requests)
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;// scheduleIndexing
&lt;br&gt;- &amp;nbsp; &amp;nbsp;scheduleIndexing()
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;// log entry
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;log.info(wikiId + &amp;quot;=&amp;gt;&amp;quot; + url + &amp;quot; added to queue for indexing&amp;quot;)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;// scheduleIndexing
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;scheduleIndexing()
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;} //synch
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;return true
&lt;br&gt;&amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;/** 
&lt;br&gt;@@ -190,10 +235,66 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;/** 
&lt;br&gt;+ &amp;nbsp; * Method returns true if the given url is being indexed.
&lt;br&gt;+ &amp;nbsp; * It is possible that the given url gets indexed as a result of
&lt;br&gt;+ &amp;nbsp; * some other urls submitted earlier. &amp;nbsp;If this is the case and if such a
&lt;br&gt;+ &amp;nbsp; * previously submitted url is being indexed, the method will return true.
&lt;br&gt;+ &amp;nbsp; * If the supplied url is null, call to the method is interpreted as a
&lt;br&gt;+ &amp;nbsp; * request to check if there's anything in the given wiki area that is
&lt;br&gt;+ &amp;nbsp; * being indexed.
&lt;br&gt;+ &amp;nbsp; */
&lt;br&gt;+ &amp;nbsp;static boolean isBeingIndexed(String url, String wikiId) {
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;// if not initialized
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;if(beingIndexed == null) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;return false
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;} // if
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;// if the url is null (i.e. is it a delete index for wiki area request?), 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;// is there anything in the supplied wiki area being indexed?
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;if(url == null) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; return beingIndexed.containsKey(wikiId)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;// if nothing in beingIndex queue
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;List&amp;lt;IndexRequest&amp;gt; requests = beingIndexed.get(wikiId)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;if(requests == null)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;return false
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;// file conversion
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;File toIndexFile = new File(new URL(url).toURI())
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;for(int i=0;i&amp;lt;requests.size();i++) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;IndexRequest ir = requests.get(i);
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; // check if there is already a request that is indexing the current url
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;// automatically
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;if(ir.url != null &amp;&amp; ir.cmd == IndexingService.INDEX_CMD) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;File compareWithFile = new File(new URL(ir.url).toURI())
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(compareWithFile.isDirectory()) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(toIndexFile.getAbsolutePath().startsWith(
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; compareWithFile.getAbsolutePath())) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// yes it is
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return true
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} else if(toIndexFile.getAbsolutePath().equals(
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; compareWithFile.getAbsolutePath())) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // yes it is
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return true &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;} // for
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;return false
&lt;br&gt;+ &amp;nbsp;} //isBeingIndexed(String)
&lt;br&gt;+
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp;/** Execute an indexing job */
&lt;br&gt;&amp;nbsp; &amp;nbsp;void execute(JobExecutionContext context) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;log.info(&amp;quot;Indexing job:checking for candidates...&amp;quot;)
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// if not initialized
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;if(beingIndexed == null) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;beingIndexed = 
&lt;br&gt;@@ -202,7 +303,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// if there is something being indexed.. return
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;if(!beingIndexed.isEmpty()) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;log.info(&amp;quot;Indexing already in progress...&amp;quot;)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;log.info(&amp;quot;Indexing already in progress... returning&amp;quot;)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;@@ -212,32 +313,37 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// if indexingService is available
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;if(indexingService) { &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;// nothing found for indexing
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;if(requestsQueue == null || requestsQueue.keySet().size() == 0) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;log.info(&amp;quot;found nothing to index...&amp;quot;)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;// add items to this queue
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;// copy document queue to a temporary object and free it up
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;beingIndexed.putAll(requestsQueue);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;requestsQueue.clear();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;List&amp;lt;String&amp;gt; deleteUrls = new ArrayList&amp;lt;String&amp;gt;()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;List&amp;lt;String&amp;gt; indexUrls = new ArrayList&amp;lt;String&amp;gt;()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;List&amp;lt;String&amp;gt; updateUrls = new ArrayList&amp;lt;String&amp;gt;()
&lt;br&gt;- &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;// store wiki ids in a temporary set
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;Set&amp;lt;String&amp;gt; wikiIds = new HashSet&amp;lt;String&amp;gt;(beingIndexed.keySet());
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;Set&amp;lt;String&amp;gt; wikiIds = null
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;synchronized(LOCK) { &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// nothing found for indexing
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(requestsQueue == null || requestsQueue.keySet().size() == 0) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;log.info(&amp;quot;found nothing to index... returning&amp;quot;)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// store wiki ids in a temporary set
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;wikiIds = new HashSet&amp;lt;String&amp;gt;(requestsQueue.keySet());
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;} // sync
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// one wiki area at a time
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for(String wikiId : wikiIds) {
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// obtain all requests for this wiki area
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;List&amp;lt;IndexRequest&amp;gt; requests = beingIndexed.get(wikiId)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;synchronized(requests) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for(IndexRequest ir : requests) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;synchronized(LOCK) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// obtain all requests for this wiki area
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;List&amp;lt;IndexRequest&amp;gt; requests = requestsQueue.get(wikiId)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;requestsQueue.remove(wikiId)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;beingIndexed.clear()
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;List&amp;lt;IndexRequest&amp;gt; inProgressList = new ArrayList&amp;lt;IndexRequest&amp;gt;()
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;inProgressList.addAll(requests)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for(IndexRequest ir : inProgressList) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// update its status
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ir.status = IndexRequest.IN_PROGRESS_STATUS
&lt;br&gt;@@ -253,11 +359,17 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;break
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;default:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;updateUrls.add(ir.url)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ir.cmdDescription = &amp;quot;Updation&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ir.cmdDescription = &amp;quot;Updating&amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;break
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// taken from queue for indexing
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;log.info(wikiId + &amp;quot;=&amp;gt;&amp;quot; + ir.url + &amp;quot; picked up from queue for &amp;quot; +
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ir.cmdDescription)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;requests.clear()
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;beingIndexed.put(wikiId, inProgressList)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} //synch
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// calling in order: delete, index and update
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(deleteUrls.size() &amp;gt; 0) {
&lt;br&gt;@@ -272,25 +384,20 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(indexUrls.size() &amp;gt; 0) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;indexingService.callAnt(indexUrls, wikiId, IndexingService.INDEX_CMD);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;log.info(&amp;quot;indexing &amp;quot;+indexUrls.size()+&amp;quot; documents from the index...&amp;quot;)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(updateUrls.size() &amp;gt; 0) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;indexingService.callAnt(updateUrls,wikiId,IndexingService.UPDATE_CMD);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;log.info(&amp;quot;updating &amp;quot;+updateUrls.size()+&amp;quot; documents from the index...&amp;quot;)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// empty all lists
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;deleteUrls.clear()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;indexUrls.clear()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;updateUrls.clear()
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// ok remove this wikiId
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;beingIndexed.remove(wikiId)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;beingIndexed.clear()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} // for
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;beingIndexed.clear();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}//if
&lt;br&gt;&amp;nbsp; &amp;nbsp;} // execute()
&lt;br&gt;&amp;nbsp;} // IndexingJob
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/grails-app/services/IndexingService.groovy
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/grails-app/services/IndexingService.groovy	2009-11-20 15:39:43 UTC (rev 1873)
&lt;br&gt;+++ trunk/cow/grails-app/services/IndexingService.groovy	2009-11-23 16:51:06 UTC (rev 1874)
&lt;br&gt;@@ -40,112 +40,52 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp;static final int UPDATE_CMD = 2
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;/** 
&lt;br&gt;- &amp;nbsp; * &amp;nbsp;Indexes the given url. If folder, it iterates through all documents
&lt;br&gt;- &amp;nbsp; * &amp;nbsp;@param request web request object
&lt;br&gt;+ &amp;nbsp; * &amp;nbsp;Adds the given url to the queue for indexing. If folder, it iterates 
&lt;br&gt;+ &amp;nbsp; * &amp;nbsp;through all documents
&lt;br&gt;&amp;nbsp; &amp;nbsp; * &amp;nbsp;@param urlToIndex (e.g. file://path-to-a-file-or-directory/)
&lt;br&gt;&amp;nbsp; &amp;nbsp; * &amp;nbsp;@param wikiId (e.g. 1 for help, 2 for main etc)
&lt;br&gt;- &amp;nbsp; * &amp;nbsp;@param asynchronousMode executes method in a separate thread.
&lt;br&gt;- &amp;nbsp; * &amp;nbsp;@return true if process finishes successfully. If asynchronousMode is set
&lt;br&gt;- &amp;nbsp; * &amp;nbsp; &amp;nbsp; to true, it will always return true.
&lt;br&gt;+ &amp;nbsp; * &amp;nbsp;@return true if the url is added successfully. false if is already being
&lt;br&gt;+ &amp;nbsp; * &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;indexed.
&lt;br&gt;&amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp;boolean index(
&lt;br&gt;- &amp;nbsp; &amp;nbsp;ServletRequest request, String urlToIndex, String wikiId, 
&lt;br&gt;- &amp;nbsp; &amp;nbsp;boolean asynchronousMode
&lt;br&gt;- &amp;nbsp;) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp;return executeAnt(request, urlToIndex, wikiId, INDEX_CMD, asynchronousMode)
&lt;br&gt;+ &amp;nbsp;boolean index(String urlToIndex, String wikiId) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;return addToQueue(urlToIndex, wikiId, INDEX_CMD)
&lt;br&gt;&amp;nbsp; &amp;nbsp;} // index
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;/** 
&lt;br&gt;- &amp;nbsp; * &amp;nbsp;Indexes the given url. If folder, it iterates through all documents
&lt;br&gt;- &amp;nbsp; * &amp;nbsp;@param request web request object
&lt;br&gt;- &amp;nbsp; * &amp;nbsp;@param urlsToIndex (e.g. a list of urls to index.)
&lt;br&gt;- &amp;nbsp; * &amp;nbsp;@param wikiId (e.g. 1 for help, 2 for main etc)
&lt;br&gt;- &amp;nbsp; * &amp;nbsp;@param asynchronousMode executes method in a separate thread.
&lt;br&gt;- &amp;nbsp; * &amp;nbsp;@return true if process finishes successfully. If asynchronousMode is set
&lt;br&gt;- &amp;nbsp; * &amp;nbsp; &amp;nbsp; to true, it will always return true.
&lt;br&gt;- &amp;nbsp; */
&lt;br&gt;- &amp;nbsp;boolean index(
&lt;br&gt;- &amp;nbsp; &amp;nbsp;ServletRequest request, List&amp;lt;String&amp;gt; urlsToIndex, String wikiId, 
&lt;br&gt;- &amp;nbsp; &amp;nbsp;boolean asynchronousMode
&lt;br&gt;- &amp;nbsp;) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp;return executeAnt(request, urlsToIndex, wikiId, INDEX_CMD, asynchronousMode)
&lt;br&gt;- &amp;nbsp;} // index
&lt;br&gt;-
&lt;br&gt;-
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp;/** 
&lt;br&gt;- &amp;nbsp; * &amp;nbsp;Deletes the url from Index. It &amp;lt;b&amp;gt;must not&amp;lt;/b&amp;gt; be a directory url
&lt;br&gt;- &amp;nbsp; * &amp;nbsp;@param request web request object
&lt;br&gt;+ &amp;nbsp; * &amp;nbsp;Adds the given url to the queue for deletion. It &amp;lt;b&amp;gt;must not&amp;lt;/b&amp;gt; be a 
&lt;br&gt;+ &amp;nbsp; * &amp;nbsp;directory url
&lt;br&gt;&amp;nbsp; &amp;nbsp; * &amp;nbsp;@param urlToRemove (e.g. file://path-to-a-file/, use * to delete all)
&lt;br&gt;&amp;nbsp; &amp;nbsp; * &amp;nbsp;@param wikiId (e.g. 1 for help, 2 for main etc)
&lt;br&gt;- &amp;nbsp; * &amp;nbsp;@param asynchronousMode executes method in a separate thread.
&lt;br&gt;- &amp;nbsp; * &amp;nbsp;@return true if process finishes successfully. If asynchronousMode is set
&lt;br&gt;- &amp;nbsp; * &amp;nbsp; &amp;nbsp; to true, it will always return true.
&lt;br&gt;+ &amp;nbsp; * &amp;nbsp;@return true if the url is added successfully. false if it is being 
&lt;br&gt;+ &amp;nbsp; * &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;indexed or is already in the queue for deletion.
&lt;br&gt;&amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp;boolean delete(
&lt;br&gt;- &amp;nbsp; &amp;nbsp;ServletRequest request, String urlToRemove, String wikiId, 
&lt;br&gt;- &amp;nbsp; &amp;nbsp;boolean asynchronousMode
&lt;br&gt;- &amp;nbsp;) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp;return executeAnt(request, (String)urlToRemove, wikiId, DELETE_CMD, 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;asynchronousMode) &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;boolean delete(String urlToRemove, String wikiId) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;return addToQueue((String)urlToRemove, wikiId, DELETE_CMD) &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;} // delete
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;/** 
&lt;br&gt;- &amp;nbsp; * &amp;nbsp;Update the URL in Index. It &amp;lt;b&amp;gt;must not &amp;lt;/b&amp;gt; be a directory url
&lt;br&gt;- &amp;nbsp; * &amp;nbsp;@param request web request object
&lt;br&gt;+ &amp;nbsp; * &amp;nbsp;Adds the given url to the queue for updating. It &amp;lt;b&amp;gt;must not &amp;lt;/b&amp;gt; be a 
&lt;br&gt;+ &amp;nbsp; * &amp;nbsp;directory url
&lt;br&gt;&amp;nbsp; &amp;nbsp; * &amp;nbsp;@param urlToUpdate (e.g. file://path-to-a-file/)
&lt;br&gt;&amp;nbsp; &amp;nbsp; * &amp;nbsp;@param wikiId (e.g. 1 for help, 2 for main etc)
&lt;br&gt;- &amp;nbsp; * &amp;nbsp;@param asynchronousMode executes method in a separate thread.
&lt;br&gt;- &amp;nbsp; * &amp;nbsp;@return true if process finishes successfully. If asynchronousMode is set
&lt;br&gt;- &amp;nbsp; * &amp;nbsp; &amp;nbsp; to true, it will always return true.
&lt;br&gt;+ &amp;nbsp; * &amp;nbsp;@return true if the url is submitted successfully. false, if it is already
&lt;br&gt;+ &amp;nbsp; * &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;being indexed.
&lt;br&gt;&amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp;boolean update(
&lt;br&gt;- &amp;nbsp; &amp;nbsp;ServletRequest request, String urlToUpdate, String wikiId, 
&lt;br&gt;- &amp;nbsp; &amp;nbsp;boolean asynchronousMode
&lt;br&gt;- &amp;nbsp;) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp;return executeAnt(request, urlToUpdate, wikiId, UPDATE_CMD, 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;asynchronousMode) &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;boolean update(String urlToUpdate, String wikiId) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;return addToQueue(urlToUpdate, wikiId, UPDATE_CMD) &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;} // update
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;/** 
&lt;br&gt;- &amp;nbsp; * &amp;nbsp;Executes the ant command
&lt;br&gt;- &amp;nbsp; * &amp;nbsp;@param request web request object
&lt;br&gt;- &amp;nbsp; * &amp;nbsp;@param toIndex (e.g. file://path-to-a-sandbox/
&lt;br&gt;- &amp;nbsp; * &amp;nbsp;@param wikiId (e.g. 1 for help, 2 for main etc)
&lt;br&gt;- &amp;nbsp; * &amp;nbsp;@param command (one of INDEX_CMD, DELETE_CMD, or UPDATE_CMD)
&lt;br&gt;- &amp;nbsp; * &amp;nbsp;@param asynchronousMode if set to true, execution starts in a separate 
&lt;br&gt;- &amp;nbsp; * &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;thread
&lt;br&gt;- &amp;nbsp; * &amp;nbsp;@return true only if the process finishes successfully. If the process has
&lt;br&gt;- &amp;nbsp; * &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;is started in the asynchronous mode, it will always return true.
&lt;br&gt;- &amp;nbsp; */
&lt;br&gt;- &amp;nbsp;boolean executeAnt(
&lt;br&gt;- &amp;nbsp; &amp;nbsp;ServletRequest request, String toIndex, String wikiId, int command, 
&lt;br&gt;- &amp;nbsp; &amp;nbsp;boolean asynchronousMode
&lt;br&gt;- &amp;nbsp;) {
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp;def urls = [] as List&amp;lt;String&amp;gt;;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;urls.add toIndex
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp;return executeAnt(request, urls, wikiId, command, asynchronousMode);
&lt;br&gt;- &amp;nbsp;} // executeAnt
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp;/** 
&lt;br&gt;- &amp;nbsp; * &amp;nbsp;Executes the ant command
&lt;br&gt;- &amp;nbsp; * &amp;nbsp;@param request web request object
&lt;br&gt;+ &amp;nbsp; * &amp;nbsp;Adds the request to queue
&lt;br&gt;&amp;nbsp; &amp;nbsp; * &amp;nbsp;@param toIndex (e.g. a list of file urls = file://path-to-a-sandbox/
&lt;br&gt;&amp;nbsp; &amp;nbsp; * &amp;nbsp;@param wikiId (one of INDEX_CMD, DELETE_CMD, or UPDATE_CMD)
&lt;br&gt;&amp;nbsp; &amp;nbsp; * &amp;nbsp;@param command (one of index, delete, or update)
&lt;br&gt;- &amp;nbsp; * &amp;nbsp;@param asynchronousMode if set to true, execution starts in a separate 
&lt;br&gt;- &amp;nbsp; * &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;thread
&lt;br&gt;- &amp;nbsp; * &amp;nbsp;@return true only if the process finishes successfully. If the process has
&lt;br&gt;- &amp;nbsp; * &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;is started in the asynchronous mode, it will always return true.
&lt;br&gt;+ &amp;nbsp; * &amp;nbsp;@return true if request is submitted successfully. False, if it is already
&lt;br&gt;+ &amp;nbsp; * &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;being indexed or is in the queue.
&lt;br&gt;&amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp;boolean executeAnt(
&lt;br&gt;- &amp;nbsp; &amp;nbsp;ServletRequest request, List&amp;lt;String&amp;gt; toIndex, String wikiId, int command,
&lt;br&gt;- &amp;nbsp; &amp;nbsp;boolean asynchronousMode
&lt;br&gt;- &amp;nbsp;) { &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;boolean addToQueue(String url, String wikiId, int command) { &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// command description
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;String cmdDesc = &amp;quot;Indexing&amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;switch(command) {
&lt;br&gt;@@ -156,21 +96,13 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;cmdDesc = &amp;quot;Deletion&amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;break
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;default:
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;cmdDesc = &amp;quot;Updation&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;cmdDesc = &amp;quot;Updating&amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;break
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;// should start a new thread?
&lt;br&gt;- &amp;nbsp; &amp;nbsp;if(asynchronousMode) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;// add all urls to the indexing queue
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;for(String url : toIndex) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;IndexingJob.addToQueue(wikiId, url, command, cmdDesc)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;return true;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;} else {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;return callAnt(toIndex, wikiId, command);
&lt;br&gt;- &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp;} // executeAnt
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;// add the url to the queue
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;return IndexingJob.addToQueue(wikiId, url, command, cmdDesc)
&lt;br&gt;+ &amp;nbsp;} // addToQueue
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;/** 
&lt;br&gt;&amp;nbsp; &amp;nbsp; * &amp;nbsp;calls the ant command
&lt;br&gt;&lt;br&gt;&lt;br&gt;This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;gatewiki-commits mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26481830&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gatewiki-commits@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-1874--trunk-cow-grails-app-tp26481830p26481830.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26445388</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[1873] trunk/cow</title>
	<published>2009-11-20T07:39:43Z</published>
	<updated>2009-11-20T07:39:43Z</updated>
	<author>
		<name>ian_roberts</name>
	</author>
	<content type="html">Revision: 1873
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1873&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1873&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; ian_roberts
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-11-20 15:39:43 +0000 (Fri, 20 Nov 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;Starting work on better directory listings and enabling deletion of files.
&lt;br&gt;Styled the dir list to include icons for different types of files, including
&lt;br&gt;distinguishing yam from non-yam HTMLs (this replaces the trailing Y on
&lt;br&gt;yam-based HTMLs). &amp;nbsp;Also include a checkbox against each file on which the
&lt;br&gt;current user has delete permission. &amp;nbsp;These checkboxes aren't attached to a form
&lt;br&gt;or any server-side behaviour yet, that's next on the list.
&lt;br&gt;&lt;br&gt;Modified Paths:
&lt;br&gt;--------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/doc/acknowledgements.html
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/doc/acknowledgements.yam
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/grails-app/conf/Config.groovy
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/grails-app/services/PageService.groovy
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/grails-app/views/page/_dirList.gsp
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/web-app/css/page.css
&lt;br&gt;&lt;br&gt;Added Paths:
&lt;br&gt;-----------
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/web-app/_images/filetypes/
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/web-app/_images/filetypes/directory.png
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/web-app/_images/filetypes/html+yam.png
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/web-app/_images/filetypes/html.png
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/web-app/_images/filetypes/image.png
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/web-app/_images/filetypes/pdf.png
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/web-app/_images/filetypes/unknown.png
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/web-app/_images/filetypes/word.png
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/doc/acknowledgements.html
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/doc/acknowledgements.html	2009-11-20 10:59:33 UTC (rev 1872)
&lt;br&gt;+++ trunk/cow/doc/acknowledgements.html	2009-11-20 15:39:43 UTC (rev 1873)
&lt;br&gt;@@ -64,6 +64,8 @@
&lt;br&gt;&amp;nbsp;&amp;lt;li&amp;gt;&amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;&lt;a href=&quot;http://www.springframework.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.springframework.org/&lt;/a&gt;&amp;quot;&amp;gt;Spring&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;li&amp;gt;&amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;&lt;a href=&quot;http://www.hibernate.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.hibernate.org/&lt;/a&gt;&amp;quot;&amp;gt;Hibernate&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;li&amp;gt;&amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;&lt;a href=&quot;http://hsqldb.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://hsqldb.org/&lt;/a&gt;&amp;quot;&amp;gt;Hypersonic&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;&lt;a href=&quot;http://led24.de/iconset/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://led24.de/iconset/&lt;/a&gt;&amp;quot;&amp;gt;LED icon set&amp;lt;/a&amp;gt; for the icons used in directory
&lt;br&gt;+ &amp;nbsp;listings.&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/ul&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;...and lots of other &amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;&lt;a href=&quot;http://www.fsf.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.fsf.org&lt;/a&gt;&amp;quot;&amp;gt;free and open source projects&amp;lt;/a&amp;gt;.&amp;lt;/p&amp;gt;
&lt;br&gt;@@ -115,4 +117,4 @@
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;&amp;lt;em&amp;gt;...the strongest, in the existence of any social species, are those who are
&lt;br&gt;&amp;nbsp;the most social. In human terms, most ethical... There is no strength to be
&lt;br&gt;&amp;nbsp;gained from hurting one another. Only weakness.&amp;lt;/em&amp;gt; (Ursula le Guin)&amp;lt;/p&amp;gt;
&lt;br&gt;-&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;
&lt;br&gt;\ No newline at end of file
&lt;br&gt;+&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/doc/acknowledgements.yam
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/doc/acknowledgements.yam	2009-11-20 10:59:33 UTC (rev 1872)
&lt;br&gt;+++ trunk/cow/doc/acknowledgements.yam	2009-11-20 15:39:43 UTC (rev 1873)
&lt;br&gt;@@ -19,6 +19,8 @@
&lt;br&gt;&amp;nbsp;- %(&lt;a href=&quot;http://www.springframework.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.springframework.org/&lt;/a&gt;, Spring)
&lt;br&gt;&amp;nbsp;- %(&lt;a href=&quot;http://www.hibernate.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.hibernate.org/&lt;/a&gt;, Hibernate)
&lt;br&gt;&amp;nbsp;- %(&lt;a href=&quot;http://hsqldb.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://hsqldb.org/&lt;/a&gt;, Hypersonic)
&lt;br&gt;+- %(&lt;a href=&quot;http://led24.de/iconset/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://led24.de/iconset/&lt;/a&gt;, LED icon set) for the icons used in directory
&lt;br&gt;+ &amp;nbsp;listings.
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;...and lots of other %(&lt;a href=&quot;http://www.fsf.org,free&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.fsf.org,free&lt;/a&gt;&amp;nbsp;and open source projects).
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/grails-app/conf/Config.groovy
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/grails-app/conf/Config.groovy	2009-11-20 10:59:33 UTC (rev 1872)
&lt;br&gt;+++ trunk/cow/grails-app/conf/Config.groovy	2009-11-20 15:39:43 UTC (rev 1873)
&lt;br&gt;@@ -252,7 +252,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp;info logfile:['grails.app.taglib.PageLinkTagLib',
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'grails.app.bootstrap',
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'grails.app.job.WikiRegenerationJob']
&lt;br&gt;- &amp;nbsp;debug logfile:['grails.app.realm.CowDbRealm']
&lt;br&gt;+ &amp;nbsp;error logfile:['grails.app.realm.CowDbRealm']
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;// subversion
&lt;br&gt;&amp;nbsp; &amp;nbsp;warn logfile:'org.tmatesoft.svn.examples'
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/grails-app/services/PageService.groovy
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/grails-app/services/PageService.groovy	2009-11-20 10:59:33 UTC (rev 1872)
&lt;br&gt;+++ trunk/cow/grails-app/services/PageService.groovy	2009-11-20 15:39:43 UTC (rev 1873)
&lt;br&gt;@@ -729,7 +729,15 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;return index
&lt;br&gt;&amp;nbsp; &amp;nbsp;} // getIndexPage(File)
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp;/** Get a directory listing. If this is disallowed, returns null. */
&lt;br&gt;+ &amp;nbsp;/**
&lt;br&gt;+ &amp;nbsp; * Get a directory listing. If this is disallowed, returns null.
&lt;br&gt;+ &amp;nbsp; * Each item in the directory listing is a two-element list, the first
&lt;br&gt;+ &amp;nbsp; * element being the file name and the second element being a file type
&lt;br&gt;+ &amp;nbsp; * marker: ft_directory for directories, ft_htmlWithYam for HTML files that
&lt;br&gt;+ &amp;nbsp; * have a matching yam file, ft_&amp;lt;em&amp;gt;xxx&amp;lt;/em&amp;gt; for a file whose extension
&lt;br&gt;+ &amp;nbsp; * following the last dot is &amp;lt;em&amp;gt;xxx&amp;lt;/em&amp;gt;, and ft_unknown if this cannot be
&lt;br&gt;+ &amp;nbsp; * determined.
&lt;br&gt;+ &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp;List getDirList(File pageFile, Wiki wiki) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;if(! wiki.directoryListingAllowed)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return null
&lt;br&gt;@@ -742,14 +750,23 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pageFile.path.length() &amp;gt; wiki.path.length() &amp;&amp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pageFile.path.startsWith(wiki.path)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;dirs &amp;lt;&amp;lt; [ &amp;quot;..&amp;quot;, false ]
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;dirs &amp;lt;&amp;lt; [ &amp;quot;..&amp;quot;, &amp;quot;ft_directory&amp;quot; ]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;dirs.addAll(
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;FileUtils.dirList(pageFile).collect { f -&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;boolean yamExists =
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;f.endsWith('.html') &amp;&amp; new File(
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String fileType = &amp;quot;ft_unknown&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(new File(pageFile, f).isDirectory()) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;fileType = &amp;quot;ft_directory&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} else if(f.endsWith('.html') &amp;&amp; new File(
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pageFile.path + '/' + FileUtils.replaceFileSuffix(f, 'yam')
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;).exists()
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return [ f, yamExists ]
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;).exists()) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;fileType = &amp;quot;ft_htmlWithYam&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} else {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int lastDot = f.lastIndexOf('.')
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(lastDot &amp;gt;= 0) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;fileType = &amp;quot;ft_${f.substring(lastDot + 1)}&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return [ f, fileType ]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;)
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/grails-app/views/page/_dirList.gsp
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/grails-app/views/page/_dirList.gsp	2009-11-20 10:59:33 UTC (rev 1872)
&lt;br&gt;+++ trunk/cow/grails-app/views/page/_dirList.gsp	2009-11-20 15:39:43 UTC (rev 1873)
&lt;br&gt;@@ -1,13 +1,16 @@
&lt;br&gt;&amp;nbsp;&amp;lt;%@ page import=&amp;quot;gate.util.FileUtils&amp;quot; %&amp;gt; 
&lt;br&gt;&amp;nbsp;&amp;lt;h2&amp;gt;Directory: ${thisPage.pagePathDir.encodeAsHTML()}&amp;lt;/h2&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-&amp;lt;ul&amp;gt;
&lt;br&gt;+&amp;lt;ul class=&amp;quot;dirList&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;g:each in=&amp;quot;${thisPage.dirList}&amp;quot; var=&amp;quot;dirEntry&amp;quot;&amp;gt;
&lt;br&gt;- &amp;nbsp;&amp;lt;li&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;li class=&amp;quot;${dirEntry[1]}&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;span class=&amp;quot;deleteCheckbox&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;%-- Only show delete checkbox on files you are allowed to delete --%&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;cow:hasPermission wiki=&amp;quot;${thisPage.wiki.id}&amp;quot; actions=&amp;quot;delete&amp;quot; pagePath=&amp;quot;${thisPage.pagePathDir + dirEntry[0]}&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;input type=&amp;quot;checkbox&amp;quot; name=&amp;quot;delete_${dirEntry[0]}&amp;quot;&amp;gt;&amp;lt;/input&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/cow:hasPermission&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;/span&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;a href=&amp;quot;${(dirEntry[0] - ~/\/$/).encodeAsURL()}&amp;quot;&amp;gt;${dirEntry[0].encodeAsHTML()}&amp;lt;/a&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;g:if test=&amp;quot;${dirEntry[1]}&amp;quot;&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;img src=&amp;quot;${createLinkTo(dir:'_images',file:'yam-icon.png')}&amp;quot; alt=&amp;quot;YAM&amp;quot; /&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;/g:if&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/g:each&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/ul&amp;gt;
&lt;br&gt;&lt;br&gt;Added: trunk/cow/web-app/_images/filetypes/directory.png
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;&lt;br&gt;Property changes on: trunk/cow/web-app/_images/filetypes/directory.png
&lt;br&gt;___________________________________________________________________
&lt;br&gt;Added: svn:mime-type
&lt;br&gt;&amp;nbsp; &amp;nbsp;+ application/octet-stream
&lt;br&gt;&lt;br&gt;Added: trunk/cow/web-app/_images/filetypes/html+yam.png
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;&lt;br&gt;Property changes on: trunk/cow/web-app/_images/filetypes/html+yam.png
&lt;br&gt;___________________________________________________________________
&lt;br&gt;Added: svn:mime-type
&lt;br&gt;&amp;nbsp; &amp;nbsp;+ application/octet-stream
&lt;br&gt;&lt;br&gt;Added: trunk/cow/web-app/_images/filetypes/html.png
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;&lt;br&gt;Property changes on: trunk/cow/web-app/_images/filetypes/html.png
&lt;br&gt;___________________________________________________________________
&lt;br&gt;Added: svn:mime-type
&lt;br&gt;&amp;nbsp; &amp;nbsp;+ application/octet-stream
&lt;br&gt;&lt;br&gt;Added: trunk/cow/web-app/_images/filetypes/image.png
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;&lt;br&gt;Property changes on: trunk/cow/web-app/_images/filetypes/image.png
&lt;br&gt;___________________________________________________________________
&lt;br&gt;Added: svn:mime-type
&lt;br&gt;&amp;nbsp; &amp;nbsp;+ application/octet-stream
&lt;br&gt;&lt;br&gt;Added: trunk/cow/web-app/_images/filetypes/pdf.png
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;&lt;br&gt;Property changes on: trunk/cow/web-app/_images/filetypes/pdf.png
&lt;br&gt;___________________________________________________________________
&lt;br&gt;Added: svn:mime-type
&lt;br&gt;&amp;nbsp; &amp;nbsp;+ application/octet-stream
&lt;br&gt;&lt;br&gt;Added: trunk/cow/web-app/_images/filetypes/unknown.png
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;&lt;br&gt;Property changes on: trunk/cow/web-app/_images/filetypes/unknown.png
&lt;br&gt;___________________________________________________________________
&lt;br&gt;Added: svn:mime-type
&lt;br&gt;&amp;nbsp; &amp;nbsp;+ application/octet-stream
&lt;br&gt;&lt;br&gt;Added: trunk/cow/web-app/_images/filetypes/word.png
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;&lt;br&gt;Property changes on: trunk/cow/web-app/_images/filetypes/word.png
&lt;br&gt;___________________________________________________________________
&lt;br&gt;Added: svn:mime-type
&lt;br&gt;&amp;nbsp; &amp;nbsp;+ application/octet-stream
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/web-app/css/page.css
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/web-app/css/page.css	2009-11-20 10:59:33 UTC (rev 1872)
&lt;br&gt;+++ trunk/cow/web-app/css/page.css	2009-11-20 15:39:43 UTC (rev 1873)
&lt;br&gt;@@ -173,6 +173,50 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;background-color: rgb(240, 240, 240);
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+/* Directory listings */
&lt;br&gt;+ul.dirList {
&lt;br&gt;+ &amp;nbsp;list-style: none;
&lt;br&gt;+ &amp;nbsp;margin: 0;
&lt;br&gt;+ &amp;nbsp;padding: 0;
&lt;br&gt;+}
&lt;br&gt;+
&lt;br&gt;+ul.dirList li {
&lt;br&gt;+ &amp;nbsp;padding-left: 20px;
&lt;br&gt;+ &amp;nbsp;background-position: center left;
&lt;br&gt;+ &amp;nbsp;background-repeat: no-repeat;
&lt;br&gt;+ &amp;nbsp;background-image: url(../_images/filetypes/unknown.png);
&lt;br&gt;+}
&lt;br&gt;+
&lt;br&gt;+ul.dirList li.ft_html {
&lt;br&gt;+ &amp;nbsp;background-image: url(../_images/filetypes/html.png);
&lt;br&gt;+}
&lt;br&gt;+
&lt;br&gt;+ul.dirList li.ft_htmlWithYam {
&lt;br&gt;+ &amp;nbsp;background-image: url(../_images/filetypes/html+yam.png);
&lt;br&gt;+}
&lt;br&gt;+
&lt;br&gt;+ul.dirList li.ft_directory {
&lt;br&gt;+ &amp;nbsp;background-image: url(../_images/filetypes/directory.png);
&lt;br&gt;+}
&lt;br&gt;+
&lt;br&gt;+ul.dirList li.ft_pdf {
&lt;br&gt;+ &amp;nbsp;background-image: url(../_images/filetypes/pdf.png);
&lt;br&gt;+}
&lt;br&gt;+
&lt;br&gt;+ul.dirList li.ft_doc {
&lt;br&gt;+ &amp;nbsp;background-image: url(../_images/filetypes/word.png);
&lt;br&gt;+}
&lt;br&gt;+
&lt;br&gt;+ul.dirList li.ft_gif,
&lt;br&gt;+ul.dirList li.ft_jpg,
&lt;br&gt;+ul.dirList li.ft_png {
&lt;br&gt;+ &amp;nbsp;background-image: url(../_images/filetypes/image.png);
&lt;br&gt;+}
&lt;br&gt;+
&lt;br&gt;+ul.dirList li span.deleteCheckbox {
&lt;br&gt;+ &amp;nbsp;width: 20px;
&lt;br&gt;+}
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;/* Menu support */
&lt;br&gt;&amp;nbsp;.menu, .menu ul {
&lt;br&gt;&amp;nbsp; &amp;nbsp;list-style: none;
&lt;br&gt;&lt;br&gt;&lt;br&gt;This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;gatewiki-commits mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26445388&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gatewiki-commits@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-1873--trunk-cow-tp26445388p26445388.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26441472</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[1872] trunk/cow/grails-app/conf/Config.groovy</title>
	<published>2009-11-20T02:59:34Z</published>
	<updated>2009-11-20T02:59:34Z</updated>
	<author>
		<name>ian_roberts</name>
	</author>
	<content type="html">Revision: 1872
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1872&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1872&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; ian_roberts
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-11-20 10:59:33 +0000 (Fri, 20 Nov 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;Renamed the &amp;quot;props&amp;quot; variable (into which we load application.properties) to
&lt;br&gt;avoid the name clash with the props config entry under grails.mail. &amp;nbsp;This is
&lt;br&gt;what was causing the problem with setting the JavaMail properties when the
&lt;br&gt;grails.mail block is directly in Config.groovy rather than in .cowrc.groovy -
&lt;br&gt;Groovy treats the 'props = [...]' assignment in the mail {} block as assigning
&lt;br&gt;to the props global variable rather than setting the grails.mail.props config
&lt;br&gt;entry.
&lt;br&gt;&lt;br&gt;The mail config is still commented out by default but will now work if simply
&lt;br&gt;uncommented in Config.groovy as well as when moved to the external config file.
&lt;br&gt;&lt;br&gt;Modified Paths:
&lt;br&gt;--------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/grails-app/conf/Config.groovy
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/grails-app/conf/Config.groovy
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/grails-app/conf/Config.groovy	2009-11-20 10:19:23 UTC (rev 1871)
&lt;br&gt;+++ trunk/cow/grails-app/conf/Config.groovy	2009-11-20 10:59:33 UTC (rev 1872)
&lt;br&gt;@@ -28,21 +28,21 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;// application.properties doesn't get loaded to grailsApplication.metadata
&lt;br&gt;&amp;nbsp;// before this, so load them here
&lt;br&gt;-Properties props = new Properties()
&lt;br&gt;+Properties grailsAppProperties = new Properties()
&lt;br&gt;&amp;nbsp;def propsStream = Config.class.getResourceAsStream('/application.properties')
&lt;br&gt;&amp;nbsp;if(propsStream) {
&lt;br&gt;- &amp;nbsp;props.load(propsStream)
&lt;br&gt;+ &amp;nbsp;grailsAppProperties.load(propsStream)
&lt;br&gt;&amp;nbsp; &amp;nbsp;propsStream.close()
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&amp;nbsp;else {
&lt;br&gt;&amp;nbsp; &amp;nbsp;println &amp;quot;Couldn't load application.properties from classpath, trying basedir&amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp;new File(basedir, 'application.properties').withInputStream {
&lt;br&gt;- &amp;nbsp; &amp;nbsp;props.load(it)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;grailsAppProperties.load(it)
&lt;br&gt;&amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&amp;nbsp;String dot = // don't use &amp;quot;.&amp;quot; in the cow directory name on legacy systems
&lt;br&gt;&amp;nbsp; &amp;nbsp;System.getProperty(&amp;quot;os.name&amp;quot;).toLowerCase().contains(&amp;quot;windows&amp;quot;) ? &amp;quot;&amp;quot; : &amp;quot;.&amp;quot;
&lt;br&gt;-String grailsVer = props.getProperty(&amp;quot;app.grails.version&amp;quot;)
&lt;br&gt;+String grailsVer = grailsAppProperties.getProperty(&amp;quot;app.grails.version&amp;quot;)
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;// user directory is used for e.g. solr, sventon... note that basedir isn't
&lt;br&gt;&amp;nbsp;// always set in production mode. if you're running a separate container the
&lt;br&gt;@@ -61,7 +61,7 @@
&lt;br&gt;&amp;nbsp;// gate.cow. ...
&lt;br&gt;&amp;nbsp;gate {
&lt;br&gt;&amp;nbsp; &amp;nbsp;cow {
&lt;br&gt;- &amp;nbsp; &amp;nbsp;version &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = props.&amp;quot;app.version&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;version &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = grailsAppProperties.&amp;quot;app.version&amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;mode &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= cowMode
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;user.home &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = cowUserHome
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;data &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= &amp;quot;${user.home}/${dot}cowrc.d&amp;quot;
&lt;br&gt;@@ -350,9 +350,6 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;//mail setting for contact page
&lt;br&gt;&amp;nbsp;/*
&lt;br&gt;-========================================
&lt;br&gt;-*** MOVE THIS TO .cowrc.groovy *********
&lt;br&gt;-========================================
&lt;br&gt;&amp;nbsp;gate.cow.contact.to &amp;nbsp; &amp;nbsp; = &amp;quot;&amp;lt;to address e.g. &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26441472&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;abc@...&lt;/a&gt;&amp;gt;&amp;quot;
&lt;br&gt;&amp;nbsp;grails {
&lt;br&gt;&amp;nbsp; &amp;nbsp;mail {
&lt;br&gt;&lt;br&gt;&lt;br&gt;This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;gatewiki-commits mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26441472&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gatewiki-commits@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-1872--trunk-cow-grails-app-conf-Config.groovy-tp26441472p26441472.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26441032</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[1871] trunk/cow</title>
	<published>2009-11-20T02:19:23Z</published>
	<updated>2009-11-20T02:19:23Z</updated>
	<author>
		<name>markagreenwood</name>
	</author>
	<content type="html">Revision: 1871
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1871&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1871&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; markagreenwood
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-11-20 10:19:23 +0000 (Fri, 20 Nov 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;the startup and selenium tests now run on both http and https although I still haven't enabled forced redirection for the login page as this would still break the selenium tests
&lt;br&gt;&lt;br&gt;Modified Paths:
&lt;br&gt;--------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/build.xml
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/scripts/RunSeleniumTests.groovy
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/scripts/ServerStartTest.groovy
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/build.xml
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/build.xml	2009-11-19 22:05:20 UTC (rev 1870)
&lt;br&gt;+++ trunk/cow/build.xml	2009-11-20 10:19:23 UTC (rev 1871)
&lt;br&gt;@@ -439,7 +439,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;overwrite=&amp;quot;yes&amp;quot; /&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;exec dir=&amp;quot;.&amp;quot; executable=&amp;quot;${os.shell}&amp;quot; failonerror=&amp;quot;${stop.build}&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;arg value='${os.shell.switches}' /&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;arg value=&amp;quot;${grails-base} -Dserver.port=${gate.cow.server.port} -Dgate.cow.mode=@{mode} -Dtest.suite.prefix=@{test.suite.prefix} -Dgate.cow.user.home=${web.test.user.home} -Dratproxy=${use.ratproxy} test run-selenium-tests ${extra.webtest.args}&amp;quot; /&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;arg value=&amp;quot;${grails-base} -Dserver.port=${gate.cow.server.port} -Dserver.port.https=${gate.cow.server.port.https} -Dgate.cow.mode=@{mode} -Dtest.suite.prefix=@{test.suite.prefix} -Dgate.cow.user.home=${web.test.user.home} -Dratproxy=${use.ratproxy} test run-selenium-tests ${extra.webtest.args}&amp;quot; /&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/exec&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;if&amp;gt;
&lt;br&gt;&amp;nbsp;	&amp;lt;equals arg1=&amp;quot;${use.ratproxy}&amp;quot; arg2=&amp;quot;true&amp;quot;/&amp;gt;
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/scripts/RunSeleniumTests.groovy
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/scripts/RunSeleniumTests.groovy	2009-11-19 22:05:20 UTC (rev 1870)
&lt;br&gt;+++ trunk/cow/scripts/RunSeleniumTests.groovy	2009-11-20 10:19:23 UTC (rev 1871)
&lt;br&gt;@@ -71,7 +71,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;target(runSelenium: &amp;quot;Run selenium tests, optionally starting a server&amp;quot;) {
&lt;br&gt;&amp;nbsp; &amp;nbsp;if (startServer) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp;depends(runApp)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;depends(runAppHttps)
&lt;br&gt;&amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;Ant.java(fork: &amp;quot;true&amp;quot;, jar: &amp;quot;${basedir}/selenium/lib/selenium-server.jar&amp;quot;,
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/scripts/ServerStartTest.groovy
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/scripts/ServerStartTest.groovy	2009-11-19 22:05:20 UTC (rev 1870)
&lt;br&gt;+++ trunk/cow/scripts/ServerStartTest.groovy	2009-11-20 10:19:23 UTC (rev 1871)
&lt;br&gt;@@ -48,5 +48,6 @@
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;target(runCow: &amp;quot;actually start up CoW&amp;quot;) {
&lt;br&gt;- &amp;nbsp;depends(runApp)
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;depends(runAppHttps)
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&lt;br&gt;&lt;br&gt;This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;gatewiki-commits mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26441032&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gatewiki-commits@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-1871--trunk-cow-tp26441032p26441032.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26434855</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[1868] trunk/cow/doc</title>
	<published>2009-11-19T13:59:55Z</published>
	<updated>2009-11-19T13:59:55Z</updated>
	<author>
		<name>hcunningham-2</name>
	</author>
	<content type="html">Revision: 1868
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1868&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1868&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; hcunningham
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-11-19 21:59:54 +0000 (Thu, 19 Nov 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;link the other docs
&lt;br&gt;&lt;br&gt;Modified Paths:
&lt;br&gt;--------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/doc/gatewiki.html
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/doc/gatewiki.yam
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/doc/gatewiki.html
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/doc/gatewiki.html	2009-11-19 18:09:36 UTC (rev 1867)
&lt;br&gt;+++ trunk/cow/doc/gatewiki.html	2009-11-19 21:59:54 UTC (rev 1868)
&lt;br&gt;@@ -472,7 +472,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-&amp;lt;table&amp;gt;
&lt;br&gt;+&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; Title &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; First paragraph of the file. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; Headings &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; &amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;%&amp;lt;/span&amp;gt;1,&amp;shy;&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;%&amp;lt;/span&amp;gt;2,&amp;shy;etc.; &amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;%&amp;lt;/span&amp;gt;1&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;*&amp;lt;/span&amp;gt; is unnumbered; follow with blank line &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; Bold, italic, teletype, underlined &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; &amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;*&amp;lt;/span&amp;gt;...&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;*&amp;lt;/span&amp;gt;, &amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;_&amp;lt;/span&amp;gt;...&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;_&amp;lt;/span&amp;gt;, &amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;^&amp;lt;/span&amp;gt;...&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;^&amp;lt;/span&amp;gt;, &amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;_&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;_&amp;lt;/span&amp;gt;...&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;_&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;_&amp;lt;/span&amp;gt; &amp;nbsp;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&lt;br&gt;@@ -776,7 +776,7 @@
&lt;br&gt;&amp;nbsp;%]
&lt;br&gt;&amp;nbsp;&amp;lt;/pre&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;results in:&amp;lt;/p&amp;gt;
&lt;br&gt;-&amp;lt;table&amp;gt;
&lt;br&gt;+&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; &amp;lt;b&amp;gt;header col 1&amp;lt;/b&amp;gt;	&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; &amp;lt;b&amp;gt;header col 2&amp;lt;/b&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; row 1 col 1	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; col 2 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; row 2 col 1	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; col 2 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&lt;br&gt;@@ -929,7 +929,10 @@
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;The system has two modes, workstation and server; the former does no user
&lt;br&gt;&amp;nbsp;management, the latter uses JSecurity.&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+&amp;lt;p&amp;gt;There is API documentations etc. &amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;index.html&amp;quot;&amp;gt;linked from here&amp;lt;/a&amp;gt;, and the top
&lt;br&gt;+of the software documentation tree &amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;../&amp;quot;&amp;gt;is here&amp;lt;/a&amp;gt;.&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.1.&amp;quot;/&amp;gt;&amp;lt;h2 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.1. &amp;lt;/span&amp;gt;Roadmap&amp;lt;/h2&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -2063,7 +2066,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;The last two points can be summarised in this truth table&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-&amp;lt;table&amp;gt;
&lt;br&gt;+&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Include pattern&amp;lt;/b&amp;gt;
&lt;br&gt;@@ -2099,7 +2102,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;/ul&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-&amp;lt;table&amp;gt;
&lt;br&gt;+&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Pattern&amp;lt;/b&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Note&amp;lt;/b&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Meaning as an include pattern&amp;lt;/b&amp;gt;
&lt;br&gt;@@ -2143,7 +2146,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Some example pattern uses&amp;lt;/b&amp;gt;&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-&amp;lt;table&amp;gt;
&lt;br&gt;+&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Scenario
&lt;br&gt;&amp;nbsp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Example use case
&lt;br&gt;&amp;nbsp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Example include pattern
&lt;br&gt;@@ -2224,7 +2227,7 @@
&lt;br&gt;&amp;nbsp;installation, there will be several pre-defined security objects that you can
&lt;br&gt;&amp;nbsp;use to get your installation up and running.&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-&amp;lt;table&amp;gt;
&lt;br&gt;+&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Type&amp;lt;/b&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Object&amp;lt;/b&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Description&amp;lt;/b&amp;gt;
&lt;br&gt;@@ -2644,7 +2647,7 @@
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;Referencing events&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;ul&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;li&amp;gt;page or directory is
&lt;br&gt;- &amp;nbsp;&amp;lt;table&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; created &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; out-dates all linkers and includers &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; renamed &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; out-dates all linkers and includers &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; deleted &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; out-dates all linkers and includers &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&lt;br&gt;@@ -2718,12 +2721,12 @@
&lt;br&gt;&amp;nbsp;indication of how long it takes to do an &amp;lt;tt&amp;gt;svn st&amp;lt;/tt&amp;gt; on the SALE tree (which is
&lt;br&gt;&amp;nbsp;more than 5Gb of data in more than 100,000 files.&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-&amp;lt;table&amp;gt;
&lt;br&gt;+&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; &amp;lt;tt&amp;gt;svn st&amp;lt;/tt&amp;gt; on the sale tree (from cold)
&lt;br&gt;&amp;nbsp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; &amp;lt;tt&amp;gt;svn st -u&amp;lt;/tt&amp;gt; on sale (filesystem cached)
&lt;br&gt;&amp;nbsp;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;
&lt;br&gt;-&amp;lt;table&amp;gt;
&lt;br&gt;+&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; First run &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Tenth run &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;real &amp;nbsp; &amp;nbsp;0m58.839s &amp;lt;br/&amp;gt;
&lt;br&gt;@@ -2736,7 +2739,7 @@
&lt;br&gt;&amp;nbsp;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/table&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;
&lt;br&gt;-&amp;lt;table&amp;gt;
&lt;br&gt;+&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; First run &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Tenth run &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;real &amp;nbsp; &amp;nbsp;0m33.331s &amp;lt;br/&amp;gt;
&lt;br&gt;@@ -3084,12 +3087,12 @@
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;&amp;lt;a name=&amp;quot;extending-yam&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.19.&amp;quot;/&amp;gt;&amp;lt;h2 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.19. &amp;lt;/span&amp;gt;Extending YAM with Plugins&amp;lt;/h2&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;YAM has a plugin mechanism that involves writing a Java (or Groovy) class that
&lt;br&gt;-implements &amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;api/javadoc/index.html?gate/yam/YamPlugin.html&amp;quot;&amp;gt;the YamPlugin
&lt;br&gt;+implements &amp;lt;a class=&amp;quot;cow-non-existant-url&amp;quot; href=&amp;quot;api/javadoc/index.html?gate/yam/YamPlugin.html?m=1&amp;quot;&amp;gt;the YamPlugin
&lt;br&gt;&amp;nbsp;interface&amp;lt;/a&amp;gt;. Drop this class (which must be in the package &amp;lt;tt&amp;gt;gate.yam.plugins&amp;lt;/tt&amp;gt;
&lt;br&gt;&amp;nbsp;into the classpath of the application hosting the YAM translator (e.g.
&lt;br&gt;&amp;nbsp;GATEWiki) and then you can make calls as described in the YAM documentation.&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-&amp;lt;p&amp;gt;See e.g. &amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;api/javadoc/index.html?src-html/gate/yam/plugins/Twitter.html&amp;quot;&amp;gt;the
&lt;br&gt;+&amp;lt;p&amp;gt;See e.g. &amp;lt;a class=&amp;quot;cow-non-existant-url&amp;quot; href=&amp;quot;api/javadoc/index.html?src-html/gate/yam/plugins/Twitter.html?m=1&amp;quot;&amp;gt;the
&lt;br&gt;&amp;nbsp;implementation of the Twitter plugin&amp;lt;/a&amp;gt; for inspiration.&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;One of the things this is useful for is dropping snippets of HTML into YAM
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/doc/gatewiki.yam
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/doc/gatewiki.yam	2009-11-19 18:09:36 UTC (rev 1867)
&lt;br&gt;+++ trunk/cow/doc/gatewiki.yam	2009-11-19 21:59:54 UTC (rev 1868)
&lt;br&gt;@@ -330,7 +330,10 @@
&lt;br&gt;&amp;nbsp;The system has two modes, workstation and server; the former does no user
&lt;br&gt;&amp;nbsp;management, the latter uses JSecurity.
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+There is API documentations etc. %(index.html, linked from here), and the top
&lt;br&gt;+of the software documentation tree %(../, is here).
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
&lt;br&gt;&amp;nbsp;%2 Roadmap
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;&lt;br&gt;This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;gatewiki-commits mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26434855&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gatewiki-commits@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-1868--trunk-cow-doc-tp26434855p26434855.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26431188</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[1867] trunk/cow/grails-app</title>
	<published>2009-11-19T10:09:42Z</published>
	<updated>2009-11-19T10:09:42Z</updated>
	<author>
		<name>nirajaswani</name>
	</author>
	<content type="html">Revision: 1867
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1867&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1867&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; nirajaswani
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-11-19 18:09:36 +0000 (Thu, 19 Nov 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;contact form
&lt;br&gt;&lt;br&gt;Modified Paths:
&lt;br&gt;--------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/grails-app/conf/Config.groovy
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/grails-app/i18n/cow.properties
&lt;br&gt;&lt;br&gt;Added Paths:
&lt;br&gt;-----------
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/grails-app/controllers/ContactCommand.groovy
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/grails-app/controllers/ContactController.groovy
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/grails-app/views/contact/
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/grails-app/views/contact/contact.gsp
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/grails-app/conf/Config.groovy
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/grails-app/conf/Config.groovy	2009-11-19 17:41:47 UTC (rev 1866)
&lt;br&gt;+++ trunk/cow/grails-app/conf/Config.groovy	2009-11-19 18:09:36 UTC (rev 1867)
&lt;br&gt;@@ -347,3 +347,20 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;180000 // maxCaptchaStoreSize
&lt;br&gt;&amp;nbsp; &amp;nbsp;)
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+//mail setting for contact page
&lt;br&gt;+/*
&lt;br&gt;+========================================
&lt;br&gt;+*** MOVE THIS TO .cowrc.groovy *********
&lt;br&gt;+========================================
&lt;br&gt;+gate.cow.contact.to &amp;nbsp; &amp;nbsp; = &amp;quot;&amp;lt;to address e.g. &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26431188&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;abc@...&lt;/a&gt;&amp;gt;&amp;quot;
&lt;br&gt;+grails {
&lt;br&gt;+ &amp;nbsp;mail {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;host &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= &amp;quot;&amp;lt;smtp host e.g. mailhost.dcs.shef.ac.uk&amp;gt;&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;port &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= &amp;lt;smpt port e.g. 25&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;username &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= &amp;quot;&amp;lt;username&amp;gt;&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;password &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= &amp;quot;&amp;lt;password&amp;gt;&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;props &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = [&amp;quot;mail.smtp.auth&amp;quot;:&amp;quot;true&amp;quot;] // java mail properties
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;+}
&lt;br&gt;+*/
&lt;br&gt;&lt;br&gt;Added: trunk/cow/grails-app/controllers/ContactCommand.groovy
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/grails-app/controllers/ContactCommand.groovy	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(rev 0)
&lt;br&gt;+++ trunk/cow/grails-app/controllers/ContactCommand.groovy	2009-11-19 18:09:36 UTC (rev 1867)
&lt;br&gt;@@ -0,0 +1,30 @@
&lt;br&gt;+/*
&lt;br&gt;+ * &amp;nbsp;ContactCommand.groovy
&lt;br&gt;+ * &amp;nbsp;Copyright (c) 1998-2008, The University of Sheffield.
&lt;br&gt;+ *
&lt;br&gt;+ * &amp;nbsp;This code is from the GATE project (&lt;a href=&quot;http://gate.ac.uk/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gate.ac.uk/&lt;/a&gt;) and is free
&lt;br&gt;+ * &amp;nbsp;software licenced under the GNU General Public License version 3. It is
&lt;br&gt;+ * &amp;nbsp;distributed without any warranty. For more details see COPYING.txt in the
&lt;br&gt;+ * &amp;nbsp;top level directory (or at &lt;a href=&quot;http://gatewiki.sf.net/COPYING.txt&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.sf.net/COPYING.txt&lt;/a&gt;).
&lt;br&gt;+ */
&lt;br&gt;+
&lt;br&gt;+/*
&lt;br&gt;+ * This class is instantiated each time a user is trying to contact. It
&lt;br&gt;+ * contains all the constraints on contact form.
&lt;br&gt;+ */
&lt;br&gt;+
&lt;br&gt;+
&lt;br&gt;+class ContactCommand {
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;String name
&lt;br&gt;+ &amp;nbsp;String email
&lt;br&gt;+ &amp;nbsp;String subject
&lt;br&gt;+ &amp;nbsp;String emailBody
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;static constraints = {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;name(blank: false, nullable: false)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;email(email: true, nullable: false, blank: false)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;subject(blank: false, nullable: false)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;emailBody(blank: false, nullable: false)
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;+}
&lt;br&gt;&lt;br&gt;&lt;br&gt;Property changes on: trunk/cow/grails-app/controllers/ContactCommand.groovy
&lt;br&gt;___________________________________________________________________
&lt;br&gt;Added: svn:eol-style
&lt;br&gt;&amp;nbsp; &amp;nbsp;+ native
&lt;br&gt;&lt;br&gt;Added: trunk/cow/grails-app/controllers/ContactController.groovy
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/grails-app/controllers/ContactController.groovy	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(rev 0)
&lt;br&gt;+++ trunk/cow/grails-app/controllers/ContactController.groovy	2009-11-19 18:09:36 UTC (rev 1867)
&lt;br&gt;@@ -0,0 +1,101 @@
&lt;br&gt;+/*
&lt;br&gt;+ * &amp;nbsp;ContactController.groovy
&lt;br&gt;+ * &amp;nbsp;Copyright (c) 1998-2008, The University of Sheffield.
&lt;br&gt;+ *
&lt;br&gt;+ * &amp;nbsp;This code is from the GATE project (&lt;a href=&quot;http://gate.ac.uk/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gate.ac.uk/&lt;/a&gt;) and is free
&lt;br&gt;+ * &amp;nbsp;software licenced under the GNU General Public License version 3. It is
&lt;br&gt;+ * &amp;nbsp;distributed without any warranty. For more details see COPYING.txt in the
&lt;br&gt;+ * &amp;nbsp;top level directory (or at &lt;a href=&quot;http://gatewiki.sf.net/COPYING.txt&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.sf.net/COPYING.txt&lt;/a&gt;).
&lt;br&gt;+ */
&lt;br&gt;+
&lt;br&gt;+
&lt;br&gt;+import gate.cow.CowUtils
&lt;br&gt;+
&lt;br&gt;+/* A controller for contact page */
&lt;br&gt;+class ContactController {
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;/** jcaptcha service */
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;def jcaptchaService
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;// get the config
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;Map conf = CowUtils.config.gate.cow
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;/** Display the contact form */
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;def index = {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;// empty contact to begin with
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;def contactCmd
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;// no message
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;flash.message = &amp;quot;&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;// form should be displayed
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;def showForm = true
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;// unless, to address is not provided
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;if(!conf.contact.to) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;log.error(&amp;quot;gate.cow.contact.to parameter missing. Please set it in &amp;quot; +
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;.cowrc.groovy and make sure other mail plugin settings are &amp;quot; +
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;provided.&amp;quot;)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;flash.error = message(code: 'cow.contact.missingParameter.toAddress')
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;showForm = false
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;// render the contact page
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;render(view: &amp;quot;contact&amp;quot;, model:[contactInfo:contactCmd, showForm:showForm])
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;/** Send email */
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;def send = {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;// params into ContactCommand
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;ContactCommand contactCmd -&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;// this is the model, showForm set to true, incase something is wrong
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;def model = [contactInfo: contactCmd, showForm:true]
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;// anythign wrong?
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;if(contactCmd.hasErrors()) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;render(view: &amp;quot;contact&amp;quot;, model:model)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;// has user provided correct captcha characters?
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;if(!jcaptchaService.validateResponse(&amp;quot;image&amp;quot;, session.id, 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; params.response)) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;flash.error = message(code: 'cow.contact.invalidCaptcha')
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;render(view: &amp;quot;contact&amp;quot;, model:model)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;// generating summary for the person trying to contact
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;def summary = &amp;quot;Message :&amp;lt;br&amp;gt;&amp;quot; +
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;Your name : &amp;quot; + params.name + &amp;quot;&amp;lt;br&amp;gt;&amp;quot; +
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;Your email : &amp;quot; + params.email + &amp;quot;&amp;lt;br&amp;gt;&amp;quot; +
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;Subject : &amp;quot; + params.subject + &amp;quot;&amp;lt;br&amp;gt;&amp;quot; +
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;Body : &amp;lt;br&amp;gt;&amp;quot; + params.emailBody
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;// sending email using grail's mail plugin
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;// if the mail settings are not set, this could lead to several 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;// unexplained exceptions - printing them on server log
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;// but a nice message to the user
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;try {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sendMail {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;to conf.contact.to, params.email
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;from params.email
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;subject params.subject
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;body &amp;quot;From:&amp;quot; + params.name + &amp;quot;\n\n&amp;quot; + params.emailBody
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;} catch(Throwable e) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringWriter sw = new StringWriter();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;e.printStackTrace(new PrintWriter(sw));
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;log.error(&amp;quot;Problem sending email:&amp;quot; + sw.toString())
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;flash.error = message(code: 'cow.contact.mailServerSettings')
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;render(view: &amp;quot;contact&amp;quot;, model:[showForm:false])
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;// print success message &amp;nbsp; &amp;nbsp; 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;flash.message = message(code: 'cow.contact.success')
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;render(view: &amp;quot;contact&amp;quot;, model:[showForm:false, summary:summary])
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+}
&lt;br&gt;&lt;br&gt;&lt;br&gt;Property changes on: trunk/cow/grails-app/controllers/ContactController.groovy
&lt;br&gt;___________________________________________________________________
&lt;br&gt;Added: svn:eol-style
&lt;br&gt;&amp;nbsp; &amp;nbsp;+ native
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/grails-app/i18n/cow.properties
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/grails-app/i18n/cow.properties	2009-11-19 17:41:47 UTC (rev 1866)
&lt;br&gt;+++ trunk/cow/grails-app/i18n/cow.properties	2009-11-19 18:09:36 UTC (rev 1867)
&lt;br&gt;@@ -65,3 +65,9 @@
&lt;br&gt;&amp;nbsp;cow.webflow.error.svn.auth=Subversion authentication error. &amp;nbsp;Please ask your site administrator to check the authentication profile for this wiki.
&lt;br&gt;&amp;nbsp;cow.webflow.error.svn=Error accessing subversion repository: {0}
&lt;br&gt;&amp;nbsp;cow.webflow.error=Exception occurred in web flow: {0}
&lt;br&gt;+
&lt;br&gt;+#contact
&lt;br&gt;+cow.contact.missingParameter.toAddress=This service is temporarily not available. Sorry for the inconvenience.
&lt;br&gt;+cow.contact.invalidCaptcha=Characters entered do not match the image.
&lt;br&gt;+cow.contact.success=Message Sent Successfully!
&lt;br&gt;+cow.contact.mailServerSettings=Error while sending email. Sorry for the inconvenience.
&lt;br&gt;&lt;br&gt;Added: trunk/cow/grails-app/views/contact/contact.gsp
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/grails-app/views/contact/contact.gsp	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(rev 0)
&lt;br&gt;+++ trunk/cow/grails-app/views/contact/contact.gsp	2009-11-19 18:09:36 UTC (rev 1867)
&lt;br&gt;@@ -0,0 +1,103 @@
&lt;br&gt;+&amp;lt;html&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;head&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;meta http-equiv=&amp;quot;Content-Type&amp;quot; content=&amp;quot;text/html; charset=UTF-8&amp;quot; /&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;g:layoutLink id=&amp;quot;${id}&amp;quot;/&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;g:cowTitle pageName=&amp;quot;Contact&amp;quot; /&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;/head&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;body&amp;gt;
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;g:if test=&amp;quot;${flash.message}&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;div class=&amp;quot;message&amp;quot;&amp;gt;${flash.message}&amp;lt;/div&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;/g:if&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;g:hasErrors&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;div class=&amp;quot;errors&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;g:renderErrors as=&amp;quot;list&amp;quot; model=&amp;quot;${[contactInfo:contactInfo]}&amp;quot;/&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/div&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;/g:hasErrors&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;g:if test=&amp;quot;${flash.error}&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;div class=&amp;quot;errors&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;${flash.error}&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/div&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;/g:if&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;div style=&amp;quot;clear:both&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;g:if test=&amp;quot;${showForm}&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;h1&amp;gt;${gate.cow.CowUtils.getConfig().gate.cow.contact.title}&amp;lt;/h1&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;p&amp;gt;${gate.cow.CowUtils.getConfig().gate.cow.contact.heading}&amp;lt;/p&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;hr/&amp;gt;
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;g:form&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;table&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;tbody&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;tr class=&amp;quot;prop&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;td valign=&amp;quot;top&amp;quot; class=&amp;quot;name&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;label for=&amp;quot;name&amp;quot;&amp;gt;Your name:&amp;lt;/label&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/td&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;td valign=&amp;quot;top&amp;quot; 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;class=&amp;quot;value ${hasErrors(field:'name','errors')}&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;name&amp;quot; name=&amp;quot;name&amp;quot; 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; value=&amp;quot;${fieldValue(bean:contactInfo,field:'name')}&amp;quot; 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tabindex=&amp;quot;1&amp;quot;/&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/td&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/tr&amp;gt; 
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;tr class=&amp;quot;prop&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;td valign=&amp;quot;top&amp;quot; class=&amp;quot;name&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;label for=&amp;quot;email&amp;quot;&amp;gt;Your email address:&amp;lt;/label&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/td&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;td valign=&amp;quot;top&amp;quot; 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;class=&amp;quot;value ${hasErrors(field:'email','errors')}&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;email&amp;quot; name=&amp;quot;email&amp;quot; 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; value=&amp;quot;${fieldValue(bean:contactInfo,field:'email')}&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tabindex=&amp;quot;2&amp;quot;/&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/td&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/tr&amp;gt; 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;tr class=&amp;quot;prop&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;td valign=&amp;quot;top&amp;quot; class=&amp;quot;name&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;label for=&amp;quot;subject&amp;quot;&amp;gt;Subject:&amp;lt;/label&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/td&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;td valign=&amp;quot;top&amp;quot; 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;class=&amp;quot;value ${hasErrors(field:'subject','errors')}&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;subject&amp;quot; name=&amp;quot;subject&amp;quot; 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; value=&amp;quot;${fieldValue(bean:contactInfo,field:'subject')}&amp;quot; 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tabindex=&amp;quot;3&amp;quot;/&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/td&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/tr&amp;gt; 
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;tr class=&amp;quot;prop&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;td valign=&amp;quot;top&amp;quot; class=&amp;quot;name&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;label for=&amp;quot;emailBody&amp;quot;&amp;gt;Body:&amp;lt;/label&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/td&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;td valign=&amp;quot;top&amp;quot; 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;class=&amp;quot;value ${hasErrors(field:'emailBody','errors')}&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;textarea rows=&amp;quot;10&amp;quot; cols=&amp;quot;60&amp;quot; id=&amp;quot;emailBody&amp;quot; name=&amp;quot;emailBody&amp;quot; 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;tabindex=&amp;quot;4&amp;quot;&amp;gt;${fieldValue(bean:contactInfo,field:'emailBody')}&amp;lt;/textarea&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/td&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/tr&amp;gt; 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;tr&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;td/&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;td&amp;gt;&amp;lt;jcaptcha:jpeg name=&amp;quot;image&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/tr&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;tr&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;td&amp;gt;Enter the above characters:&amp;lt;/td&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;td&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;response&amp;quot; value=&amp;quot;&amp;quot; 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tabindex=&amp;quot;5&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/tr&amp;gt;
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;tr&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;td/&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;td&amp;gt;&amp;lt;g:actionSubmit value=&amp;quot;Send&amp;quot; tabindex=&amp;quot;6&amp;quot;/&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/td&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/tr&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/tbody&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/table&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/g:form&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/g:if&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;g:if test=&amp;quot;${summary}&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;p&amp;gt;${summary}&amp;lt;/p&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/g:if&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;/div&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;/body&amp;gt;
&lt;br&gt;+&amp;lt;/html&amp;gt;
&lt;br&gt;&lt;br&gt;&lt;br&gt;Property changes on: trunk/cow/grails-app/views/contact/contact.gsp
&lt;br&gt;___________________________________________________________________
&lt;br&gt;Added: svn:eol-style
&lt;br&gt;&amp;nbsp; &amp;nbsp;+ native
&lt;br&gt;&lt;br&gt;&lt;br&gt;This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;gatewiki-commits mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26431188&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gatewiki-commits@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-1867--trunk-cow-grails-app-tp26431188p26431188.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26430747</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[1866] trunk/cow/selenium/tests/solr-indexing.html</title>
	<published>2009-11-19T09:41:47Z</published>
	<updated>2009-11-19T09:41:47Z</updated>
	<author>
		<name>nirajaswani</name>
	</author>
	<content type="html">Revision: 1866
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1866&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1866&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; nirajaswani
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-11-19 17:41:47 +0000 (Thu, 19 Nov 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;fix the selenium test for solr - not sure why it started failing though - could a / at the end make a difference? - has something changed in url mapping that doesn't allow this?
&lt;br&gt;&lt;br&gt;Modified Paths:
&lt;br&gt;--------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/selenium/tests/solr-indexing.html
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/selenium/tests/solr-indexing.html
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/selenium/tests/solr-indexing.html	2009-11-19 14:31:49 UTC (rev 1865)
&lt;br&gt;+++ trunk/cow/selenium/tests/solr-indexing.html	2009-11-19 17:41:47 UTC (rev 1866)
&lt;br&gt;@@ -43,7 +43,7 @@
&lt;br&gt;&amp;nbsp;&amp;lt;/tr&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;tr&amp;gt;
&lt;br&gt;&amp;nbsp;	&amp;lt;td&amp;gt;clickAndWait&amp;lt;/td&amp;gt;
&lt;br&gt;-	&amp;lt;td&amp;gt;//a[contains(@href, '/g8/admin/administerIndex/2/')]&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;//a[contains(@href, '/g8/admin/administerIndex/2')]&amp;lt;/td&amp;gt;
&lt;br&gt;&amp;nbsp;	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/tr&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;tr&amp;gt;
&lt;br&gt;&lt;br&gt;&lt;br&gt;This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;gatewiki-commits mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26430747&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gatewiki-commits@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-1866--trunk-cow-selenium-tests-solr-indexing.html-tp26430747p26430747.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26427297</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[1865] trunk/cow/jmeter/get-index-html.jmx</title>
	<published>2009-11-19T06:31:49Z</published>
	<updated>2009-11-19T06:31:49Z</updated>
	<author>
		<name>markagreenwood</name>
	</author>
	<content type="html">Revision: 1865
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1865&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1865&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; markagreenwood
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-11-19 14:31:49 +0000 (Thu, 19 Nov 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;improved load testing project
&lt;br&gt;&lt;br&gt;Modified Paths:
&lt;br&gt;--------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/jmeter/get-index-html.jmx
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/jmeter/get-index-html.jmx
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/jmeter/get-index-html.jmx	2009-11-19 14:29:22 UTC (rev 1864)
&lt;br&gt;+++ trunk/cow/jmeter/get-index-html.jmx	2009-11-19 14:31:49 UTC (rev 1865)
&lt;br&gt;@@ -50,13 +50,11 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;stringProp name=&amp;quot;HTTPSampler.embedded_url_re&amp;quot;&amp;gt;&amp;lt;/stringProp&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/HTTPSampler&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;hashTree&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ResponseAssertion guiclass=&amp;quot;AssertionGui&amp;quot; testclass=&amp;quot;ResponseAssertion&amp;quot; testname=&amp;quot;200 Response Code&amp;quot; enabled=&amp;quot;true&amp;quot;&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;collectionProp name=&amp;quot;Asserion.test_strings&amp;quot;&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;stringProp name=&amp;quot;49586&amp;quot;&amp;gt;200&amp;lt;/stringProp&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/collectionProp&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;stringProp name=&amp;quot;Assertion.test_field&amp;quot;&amp;gt;Assertion.response_code&amp;lt;/stringProp&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ResponseAssertion guiclass=&amp;quot;AssertionGui&amp;quot; testclass=&amp;quot;ResponseAssertion&amp;quot; testname=&amp;quot;Response Assertion&amp;quot; enabled=&amp;quot;true&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;collectionProp name=&amp;quot;Asserion.test_strings&amp;quot;/&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;stringProp name=&amp;quot;Assertion.test_field&amp;quot;&amp;gt;Assertion.response_data&amp;lt;/stringProp&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;boolProp name=&amp;quot;Assertion.assume_success&amp;quot;&amp;gt;false&amp;lt;/boolProp&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;intProp name=&amp;quot;Assertion.test_type&amp;quot;&amp;gt;8&amp;lt;/intProp&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;intProp name=&amp;quot;Assertion.test_type&amp;quot;&amp;gt;2&amp;lt;/intProp&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/ResponseAssertion&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;hashTree/&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ResponseAssertion guiclass=&amp;quot;AssertionGui&amp;quot; testclass=&amp;quot;ResponseAssertion&amp;quot; testname=&amp;quot;Content Check&amp;quot; enabled=&amp;quot;true&amp;quot;&amp;gt;
&lt;br&gt;@@ -70,6 +68,38 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;hashTree/&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/hashTree&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/hashTree&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ResultCollector guiclass=&amp;quot;AssertionVisualizer&amp;quot; testclass=&amp;quot;ResultCollector&amp;quot; testname=&amp;quot;Assertion Results&amp;quot; enabled=&amp;quot;true&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;boolProp name=&amp;quot;ResultCollector.error_logging&amp;quot;&amp;gt;true&amp;lt;/boolProp&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;objProp&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;name&amp;gt;saveConfig&amp;lt;/name&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;value class=&amp;quot;SampleSaveConfiguration&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;time&amp;gt;true&amp;lt;/time&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;latency&amp;gt;true&amp;lt;/latency&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;timestamp&amp;gt;true&amp;lt;/timestamp&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;success&amp;gt;true&amp;lt;/success&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;label&amp;gt;true&amp;lt;/label&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;message&amp;gt;true&amp;lt;/message&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;threadName&amp;gt;true&amp;lt;/threadName&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;dataType&amp;gt;true&amp;lt;/dataType&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;encoding&amp;gt;false&amp;lt;/encoding&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;assertions&amp;gt;true&amp;lt;/assertions&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;subresults&amp;gt;true&amp;lt;/subresults&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;responseData&amp;gt;false&amp;lt;/responseData&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;samplerData&amp;gt;false&amp;lt;/samplerData&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;xml&amp;gt;true&amp;lt;/xml&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;fieldNames&amp;gt;false&amp;lt;/fieldNames&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;responseHeaders&amp;gt;false&amp;lt;/responseHeaders&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;requestHeaders&amp;gt;false&amp;lt;/requestHeaders&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;responseDataOnError&amp;gt;false&amp;lt;/responseDataOnError&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;saveAssertionResultsFailureMessage&amp;gt;false&amp;lt;/saveAssertionResultsFailureMessage&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;assertionsResultsToSave&amp;gt;0&amp;lt;/assertionsResultsToSave&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;bytes&amp;gt;true&amp;lt;/bytes&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/value&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/objProp&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;stringProp name=&amp;quot;filename&amp;quot;&amp;gt;&amp;lt;/stringProp&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/ResultCollector&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;hashTree/&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ResultCollector guiclass=&amp;quot;GraphVisualizer&amp;quot; testclass=&amp;quot;ResultCollector&amp;quot; testname=&amp;quot;Graph Results&amp;quot; enabled=&amp;quot;true&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;boolProp name=&amp;quot;ResultCollector.error_logging&amp;quot;&amp;gt;false&amp;lt;/boolProp&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;objProp&amp;gt;
&lt;br&gt;&lt;br&gt;&lt;br&gt;This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;gatewiki-commits mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26427297&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gatewiki-commits@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-1865--trunk-cow-jmeter-get-index-html.jmx-tp26427297p26427297.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26427269</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[1864] trunk/cow/selenium</title>
	<published>2009-11-19T06:29:25Z</published>
	<updated>2009-11-19T06:29:25Z</updated>
	<author>
		<name>markagreenwood</name>
	</author>
	<content type="html">Revision: 1864
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1864&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1864&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; markagreenwood
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-11-19 14:29:22 +0000 (Thu, 19 Nov 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;changed from *chrome to *firefox as it is supposed to handle SSL stuff better and *chrome is deprecated according to the selenium documentation
&lt;br&gt;&lt;br&gt;Modified Paths:
&lt;br&gt;--------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/selenium/test-selenium.properties.default
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/selenium/test-selenium.properties.ubuntu
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/selenium/test-selenium.properties.default
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/selenium/test-selenium.properties.default	2009-11-19 13:45:35 UTC (rev 1863)
&lt;br&gt;+++ trunk/cow/selenium/test-selenium.properties.default	2009-11-19 14:29:22 UTC (rev 1864)
&lt;br&gt;@@ -2,4 +2,4 @@
&lt;br&gt;&amp;nbsp;# a new file called test-selenium.properties in the same directory, and set the
&lt;br&gt;&amp;nbsp;# values in there.
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-browser=*chrome
&lt;br&gt;+browser=*firefox
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/selenium/test-selenium.properties.ubuntu
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/selenium/test-selenium.properties.ubuntu	2009-11-19 13:45:35 UTC (rev 1863)
&lt;br&gt;+++ trunk/cow/selenium/test-selenium.properties.ubuntu	2009-11-19 14:29:22 UTC (rev 1864)
&lt;br&gt;@@ -1,4 +1,4 @@
&lt;br&gt;&amp;nbsp;# ubuntu-friendly setting - copy to test-selenium.properties
&lt;br&gt;&amp;nbsp;# (change the firefox version as appropriate)
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-browser=*chrome /usr/lib/firefox-3.0.14/firefox
&lt;br&gt;+browser=*firefox /usr/lib/firefox-3.0.14/firefox
&lt;br&gt;&lt;br&gt;&lt;br&gt;This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;gatewiki-commits mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26427269&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gatewiki-commits@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-1864--trunk-cow-selenium-tp26427269p26427269.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26426210</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[1862] trunk/cow/grails-app/i18n/cow.properties</title>
	<published>2009-11-19T05:27:13Z</published>
	<updated>2009-11-19T05:27:13Z</updated>
	<author>
		<name>hcunningham-2</name>
	</author>
	<content type="html">Revision: 1862
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1862&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1862&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; hcunningham
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-11-19 13:27:13 +0000 (Thu, 19 Nov 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;changed &amp;quot;Top&amp;quot; to &amp;quot;Home&amp;quot;
&lt;br&gt;&lt;br&gt;Modified Paths:
&lt;br&gt;--------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/grails-app/i18n/cow.properties
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/grails-app/i18n/cow.properties
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/grails-app/i18n/cow.properties	2009-11-19 13:20:50 UTC (rev 1861)
&lt;br&gt;+++ trunk/cow/grails-app/i18n/cow.properties	2009-11-19 13:27:13 UTC (rev 1862)
&lt;br&gt;@@ -58,8 +58,8 @@
&lt;br&gt;&amp;nbsp;cow.index.emptyIndex=No index available for this area of the site. Please ask your site administrator to index the area.
&lt;br&gt;&amp;nbsp;cow.index.errorInMatchingPrefix=Failed to match hit prefix; this probably means the sandbox was moved on disk and the index needs regenerating.
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-#breadcrumbs
&lt;br&gt;-cow.areaTop.name=Top
&lt;br&gt;+# Breadcrumbs
&lt;br&gt;+cow.areaTop.name=Home
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;# Web flow errors
&lt;br&gt;&amp;nbsp;cow.webflow.error.svn.auth=Subversion authentication error. &amp;nbsp;Please ask your site administrator to check the authentication profile for this wiki.
&lt;br&gt;&lt;br&gt;&lt;br&gt;This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;gatewiki-commits mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26426210&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gatewiki-commits@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-1862--trunk-cow-grails-app-i18n-cow.properties-tp26426210p26426210.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26426125</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[1861] trunk/cow/doc</title>
	<published>2009-11-19T05:20:50Z</published>
	<updated>2009-11-19T05:20:50Z</updated>
	<author>
		<name>hcunningham-2</name>
	</author>
	<content type="html">Revision: 1861
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1861&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1861&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; hcunningham
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-11-19 13:20:50 +0000 (Thu, 19 Nov 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;backlogged docs jobs
&lt;br&gt;&lt;br&gt;Modified Paths:
&lt;br&gt;--------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/doc/cow-backlog.html
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/doc/cow-backlog.yam
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/doc/cow-backlog.html
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/doc/cow-backlog.html	2009-11-19 13:18:45 UTC (rev 1860)
&lt;br&gt;+++ trunk/cow/doc/cow-backlog.html	2009-11-19 13:20:50 UTC (rev 1861)
&lt;br&gt;@@ -117,7 +117,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;sins [HC]&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;li&amp;gt;migration: set up duplicate of existing apache server first then do janet
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;swap [IR, HC]&amp;lt;/li&amp;gt;
&lt;br&gt;- &amp;nbsp;&amp;lt;li&amp;gt;get the hudson jobs to also do doc and to push the results [IR]&amp;lt;/li&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;li&amp;gt;get the hudson jobs to also do doc and to push the results (and the test
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;results - see the links from cow/doc/index.html) [IR]&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;li&amp;gt;fix the doc build which currently runs out of RAM on YamFormatter.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;(use the grails doc target instead of groovydoc, and add more RAM / the
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;normal classpath)&amp;lt;/li&amp;gt;
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/doc/cow-backlog.yam
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/doc/cow-backlog.yam	2009-11-19 13:18:45 UTC (rev 1860)
&lt;br&gt;+++ trunk/cow/doc/cow-backlog.yam	2009-11-19 13:20:50 UTC (rev 1861)
&lt;br&gt;@@ -44,7 +44,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;sins [HC]
&lt;br&gt;&amp;nbsp; &amp;nbsp;- migration: set up duplicate of existing apache server first then do janet
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;swap [IR, HC]
&lt;br&gt;- &amp;nbsp;- get the hudson jobs to also do doc and to push the results [IR]
&lt;br&gt;+ &amp;nbsp;- get the hudson jobs to also do doc and to push the results (and the test
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;results - see the links from cow/doc/index.html) [IR]
&lt;br&gt;&amp;nbsp; &amp;nbsp;- fix the doc build which currently runs out of RAM on YamFormatter.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;(use the grails doc target instead of groovydoc, and add more RAM / the
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;normal classpath)
&lt;br&gt;&lt;br&gt;&lt;br&gt;This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;gatewiki-commits mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26426125&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gatewiki-commits@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-1861--trunk-cow-doc-tp26426125p26426125.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26426090</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[1860] trunk/cow/doc</title>
	<published>2009-11-19T05:18:45Z</published>
	<updated>2009-11-19T05:18:45Z</updated>
	<author>
		<name>hcunningham-2</name>
	</author>
	<content type="html">Revision: 1860
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1860&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1860&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; hcunningham
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-11-19 13:18:45 +0000 (Thu, 19 Nov 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;backlogged docs jobs
&lt;br&gt;&lt;br&gt;Modified Paths:
&lt;br&gt;--------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/doc/cow-backlog.html
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/doc/cow-backlog.yam
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/doc/cow-backlog.html
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/doc/cow-backlog.html	2009-11-19 12:34:20 UTC (rev 1859)
&lt;br&gt;+++ trunk/cow/doc/cow-backlog.html	2009-11-19 13:18:45 UTC (rev 1860)
&lt;br&gt;@@ -117,6 +117,10 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;sins [HC]&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;li&amp;gt;migration: set up duplicate of existing apache server first then do janet
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;swap [IR, HC]&amp;lt;/li&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;li&amp;gt;get the hudson jobs to also do doc and to push the results [IR]&amp;lt;/li&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;li&amp;gt;fix the doc build which currently runs out of RAM on YamFormatter.java
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;(use the grails doc target instead of groovydoc, and add more RAM / the
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;normal classpath)&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;/ul&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;li&amp;gt;some subset of misc bugs (below)&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;li&amp;gt;start doing a regen cron on gau-main-tree somewhere [HC]&amp;lt;/li&amp;gt;
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/doc/cow-backlog.yam
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/doc/cow-backlog.yam	2009-11-19 12:34:20 UTC (rev 1859)
&lt;br&gt;+++ trunk/cow/doc/cow-backlog.yam	2009-11-19 13:18:45 UTC (rev 1860)
&lt;br&gt;@@ -44,6 +44,10 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;sins [HC]
&lt;br&gt;&amp;nbsp; &amp;nbsp;- migration: set up duplicate of existing apache server first then do janet
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;swap [IR, HC]
&lt;br&gt;+ &amp;nbsp;- get the hudson jobs to also do doc and to push the results [IR]
&lt;br&gt;+ &amp;nbsp;- fix the doc build which currently runs out of RAM on YamFormatter.java
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;(use the grails doc target instead of groovydoc, and add more RAM / the
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;normal classpath)
&lt;br&gt;&amp;nbsp;- some subset of misc bugs (below)
&lt;br&gt;&amp;nbsp;- start doing a regen cron on gau-main-tree somewhere [HC]
&lt;br&gt;&amp;nbsp;- tell grails to also run on https and get jetty to redirect logins there
&lt;br&gt;&lt;br&gt;&lt;br&gt;This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;gatewiki-commits mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26426090&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gatewiki-commits@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-1860--trunk-cow-doc-tp26426090p26426090.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26425450</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[1859] trunk/cow/doc</title>
	<published>2009-11-19T04:34:20Z</published>
	<updated>2009-11-19T04:34:20Z</updated>
	<author>
		<name>hcunningham-2</name>
	</author>
	<content type="html">Revision: 1859
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1859&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1859&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; hcunningham
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-11-19 12:34:20 +0000 (Thu, 19 Nov 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;some done tasks
&lt;br&gt;&lt;br&gt;Modified Paths:
&lt;br&gt;--------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/doc/cow-backlog.html
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/doc/cow-backlog.yam
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/doc/cow-done.html
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/doc/cow-done.yam
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/doc/cow-backlog.html
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/doc/cow-backlog.html	2009-11-19 12:32:42 UTC (rev 1858)
&lt;br&gt;+++ trunk/cow/doc/cow-backlog.html	2009-11-19 12:34:20 UTC (rev 1859)
&lt;br&gt;@@ -69,7 +69,6 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;li&amp;gt;CSS the twitter div a little to make it different (diff colour? make the
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;URLs within it smaller to hide their ugliness?) [IR]&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;/ul&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;user guide to logging in, editing etc., revise &amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;gatewiki.html&amp;quot;&amp;gt;gatewiki.html&amp;lt;/a&amp;gt; [HC]&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;li&amp;gt;buy a ssl certificate for &amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;*&amp;lt;/span&amp;gt;.gate.ac.uk [HC]&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;li&amp;gt;analyse the security holes found by ratproxy [MG]&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;li&amp;gt;load testing [MG]&amp;lt;/li&amp;gt;
&lt;br&gt;@@ -88,8 +87,6 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;the captcha setup) and allows sending of an email to gate.cow.&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/ul&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;/ul&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;frame the mailing list archives (sf, gmane, ...) on
&lt;br&gt;- &amp;nbsp;new-trunk/gau-main-tree/mail/archives.html (not a yam page, just html) [NA]&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;li&amp;gt;jape yamalyser [HC, NA]
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;ul&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;li&amp;gt;fix tests for YamPrettyTranslator&amp;lt;/li&amp;gt;
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/doc/cow-backlog.yam
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/doc/cow-backlog.yam	2009-11-19 12:32:42 UTC (rev 1858)
&lt;br&gt;+++ trunk/cow/doc/cow-backlog.yam	2009-11-19 12:34:20 UTC (rev 1859)
&lt;br&gt;@@ -13,7 +13,6 @@
&lt;br&gt;&amp;nbsp;- g8rs.net [HC, IR]
&lt;br&gt;&amp;nbsp; &amp;nbsp;- CSS the twitter div a little to make it different (diff colour? make the
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;URLs within it smaller to hide their ugliness?) [IR]
&lt;br&gt;-- user guide to logging in, editing etc., revise %(gatewiki.html) [HC]
&lt;br&gt;&amp;nbsp;- buy a ssl certificate for \*.gate.ac.uk [HC]
&lt;br&gt;&amp;nbsp;- analyse the security holes found by ratproxy [MG]
&lt;br&gt;&amp;nbsp;- load testing [MG]
&lt;br&gt;@@ -26,8 +25,6 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp;- gate.cow.ContactController with a single default action which 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;- displays a captcha (see RegisterController and also Config.groovy for
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;the captcha setup) and allows sending of an email to gate.cow.
&lt;br&gt;-- frame the mailing list archives (sf, gmane, ...) on
&lt;br&gt;- &amp;nbsp;new-trunk/gau-main-tree/mail/archives.html (not a yam page, just html) [NA]
&lt;br&gt;&amp;nbsp;- jape yamalyser [HC, NA]
&lt;br&gt;&amp;nbsp; &amp;nbsp;- fix tests for YamPrettyTranslator
&lt;br&gt;&amp;nbsp; &amp;nbsp;- switch on the old yam-html-yam test again
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/doc/cow-done.html
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/doc/cow-done.html	2009-11-19 12:32:42 UTC (rev 1858)
&lt;br&gt;+++ trunk/cow/doc/cow-done.html	2009-11-19 12:34:20 UTC (rev 1859)
&lt;br&gt;@@ -2409,5 +2409,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;li&amp;gt;upload of .zip of a directory claims to work but creates a zero-length
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;file for directories&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;/ul&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;frame the mailing list archives (sf, gmane, ...) on
&lt;br&gt;+ &amp;nbsp;new-trunk/gau-main-tree/mail/archives.html (not a yam page, just html) [NA]&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;user guide to logging in, editing etc., revise &amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;gatewiki.html&amp;quot;&amp;gt;gatewiki.html&amp;lt;/a&amp;gt; [HC]&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/ul&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/doc/cow-done.yam
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/doc/cow-done.yam	2009-11-19 12:32:42 UTC (rev 1858)
&lt;br&gt;+++ trunk/cow/doc/cow-done.yam	2009-11-19 12:34:20 UTC (rev 1859)
&lt;br&gt;@@ -1665,3 +1665,6 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp;- upload of .tgz fails without message
&lt;br&gt;&amp;nbsp; &amp;nbsp;- upload of .zip of a directory claims to work but creates a zero-length
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;file for directories
&lt;br&gt;+- frame the mailing list archives (sf, gmane, ...) on
&lt;br&gt;+ &amp;nbsp;new-trunk/gau-main-tree/mail/archives.html (not a yam page, just html) [NA]
&lt;br&gt;+- user guide to logging in, editing etc., revise %(gatewiki.html) [HC]
&lt;br&gt;&lt;br&gt;&lt;br&gt;This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;gatewiki-commits mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26425450&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gatewiki-commits@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-1859--trunk-cow-doc-tp26425450p26425450.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26425429</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[1858] trunk/cow/doc</title>
	<published>2009-11-19T04:32:43Z</published>
	<updated>2009-11-19T04:32:43Z</updated>
	<author>
		<name>hcunningham-2</name>
	</author>
	<content type="html">Revision: 1858
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1858&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1858&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; hcunningham
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-11-19 12:32:42 +0000 (Thu, 19 Nov 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;updated the user guide
&lt;br&gt;&lt;br&gt;Modified Paths:
&lt;br&gt;--------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/doc/gatewiki.html
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/doc/gatewiki.yam
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/doc/yam/yam-summary.html
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/doc/yam/yam-summary.yam
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/doc/yam/yam-syntax.html
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/doc/yam/yam-syntax.yam
&lt;br&gt;&lt;br&gt;Added Paths:
&lt;br&gt;-----------
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/doc/test-image.png
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/doc/gatewiki.html
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/doc/gatewiki.html	2009-11-19 11:19:09 UTC (rev 1857)
&lt;br&gt;+++ trunk/cow/doc/gatewiki.html	2009-11-19 12:32:42 UTC (rev 1858)
&lt;br&gt;@@ -5,7 +5,7 @@
&lt;br&gt;&amp;nbsp;&amp;lt;html xmlns=&amp;quot;&lt;a href=&quot;http://www.w3.org/1999/xhtml&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/1999/xhtml&lt;/a&gt;&amp;quot; lang=&amp;quot;en&amp;quot; xml:lang=&amp;quot;en&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;head&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;meta name=&amp;quot;generator&amp;quot; content=&amp;quot;cow&amp;quot;/&amp;gt;
&lt;br&gt;-&amp;lt;title&amp;gt;GATEWiki: Users and Developers Guide&amp;lt;/title&amp;gt;
&lt;br&gt;+&amp;lt;title&amp;gt;GATEWiki: User and Developer Guide&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp;/*&amp;lt;![CDATA[*/
&lt;br&gt;&amp;nbsp;&amp;lt;!--
&lt;br&gt;@@ -43,117 +43,123 @@
&lt;br&gt;&amp;nbsp;&amp;lt;/style&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/head&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;body bgcolor=&amp;quot;#FFFFFF&amp;quot; text=&amp;quot;#000000&amp;quot;&amp;gt;
&lt;br&gt;-&amp;lt;h1 class=&amp;quot;cow-title-heading&amp;quot;&amp;gt;GATEWiki: Users and Developers Guide&amp;lt;/h1&amp;gt;
&lt;br&gt;+&amp;lt;h1 class=&amp;quot;cow-title-heading&amp;quot;&amp;gt;GATEWiki: User and Developer Guide&amp;lt;/h1&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;&amp;lt;img src=&amp;quot;larson.png&amp;quot; alt=&amp;quot;A Larson Cartoon&amp;quot; width=&amp;quot;307&amp;quot; height=&amp;quot;404&amp;quot; align=&amp;quot;right&amp;quot; border=&amp;quot;0&amp;quot;/&amp;gt;&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;&amp;lt;img src=&amp;quot;gslidy/gate-logo-colour.png&amp;quot; alt=&amp;quot;GATE&amp;quot; width=&amp;quot;426&amp;quot; height=&amp;quot;263&amp;quot; align=&amp;quot;right&amp;quot; border=&amp;quot;0&amp;quot;/&amp;gt;&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;In a hurry?&amp;lt;/b&amp;gt; See &amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;#quick&amp;quot;&amp;gt;the quick start section&amp;lt;/a&amp;gt;.&amp;lt;/p&amp;gt;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;&amp;lt;div class=&amp;quot;cow-contents&amp;quot;&amp;gt;&amp;lt;h2 class=&amp;quot;cow-heading&amp;quot;&amp;gt;Contents&amp;lt;/h2&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;&amp;lt;ul&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#section-1.&amp;quot;&amp;gt;1. Introduction&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#section-2.&amp;quot;&amp;gt;2. Overview&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#section-3.&amp;quot;&amp;gt;3. Information for Users&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-3.1.&amp;quot;&amp;gt;3.1. Modes&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-3.2.&amp;quot;&amp;gt;3.2. Subversion versions&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-3.1.&amp;quot;&amp;gt;3.1. Quick Start&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-3.1.1.&amp;quot;&amp;gt;3.1.1. Files, directories and links&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-3.1.2.&amp;quot;&amp;gt;3.1.2. Creating and editing pages&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-3.2.&amp;quot;&amp;gt;3.2. Modes&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-3.3.&amp;quot;&amp;gt;3.3. Register, Log in&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-3.4.&amp;quot;&amp;gt;3.4. Create a new wiki page or directory&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-3.5.&amp;quot;&amp;gt;3.5. Edit a wiki page&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-3.6.&amp;quot;&amp;gt;3.6. Upload other types of files&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-3.7.&amp;quot;&amp;gt;3.7. Create a new wiki space&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-3.7.1.&amp;quot;&amp;gt;3.7.1. Authentication settings&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-3.7.2.&amp;quot;&amp;gt;3.7.2. Setting wiki regeneration&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-3.7.3.&amp;quot;&amp;gt;3.7.3. Setting wiki updates&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-3.8.&amp;quot;&amp;gt;3.8. Report a bug&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-3.9.&amp;quot;&amp;gt;3.9. The YAM Markup Language &amp;nbsp;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-3.9.1.&amp;quot;&amp;gt;3.9.1. YAM Summary&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-3.9.2.&amp;quot;&amp;gt;3.9.2. YAM Syntax and Usage&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-3.9.2.1.&amp;quot;&amp;gt;3.9.2.1. Introduction&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-3.9.2.2.&amp;quot;&amp;gt;3.9.2.2. Contents &amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-3.9.2.3.&amp;quot;&amp;gt;3.9.2.3. Bold, italic, underline and teletype &amp;nbsp;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-3.9.2.4.&amp;quot;&amp;gt;3.9.2.4. Horizontal lines &amp;nbsp;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-3.9.2.5.&amp;quot;&amp;gt;3.9.2.5. Lists &amp;nbsp;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-3.9.2.6.&amp;quot;&amp;gt;3.9.2.6. Verbatim output &amp;nbsp;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-3.9.2.7.&amp;quot;&amp;gt;3.9.2.7. Footnotes &amp;nbsp;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-3.9.2.8.&amp;quot;&amp;gt;3.9.2.8. Escapes &amp;nbsp;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-3.9.2.9.&amp;quot;&amp;gt;3.9.2.9. Titles &amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-3.9.2.10.&amp;quot;&amp;gt;3.9.2.10. Headings &amp;nbsp;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-3.9.2.11.&amp;quot;&amp;gt;3.9.2.11. Links and anchors &amp;nbsp;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-3.9.2.12.&amp;quot;&amp;gt;3.9.2.12. Block quotations &amp;nbsp;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-3.9.2.13.&amp;quot;&amp;gt;3.9.2.13. Line breaks &amp;nbsp;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-3.9.2.14.&amp;quot;&amp;gt;3.9.2.14. Tables &amp;nbsp;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-3.9.2.15.&amp;quot;&amp;gt;3.9.2.15. Images &amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-3.9.2.16.&amp;quot;&amp;gt;3.9.2.16. Citations &amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-3.9.2.17.&amp;quot;&amp;gt;3.9.2.17. Inclusion &amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-3.9.2.18.&amp;quot;&amp;gt;3.9.2.18. Non-breaking space &amp;nbsp;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-3.9.2.19.&amp;quot;&amp;gt;3.9.2.19. Comments &amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-3.9.2.20.&amp;quot;&amp;gt;3.9.2.20. Plugins &amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-3.9.2.21.&amp;quot;&amp;gt;3.9.2.21. Changes from version 3&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-3.7.&amp;quot;&amp;gt;3.7. Report a bug&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-3.8.&amp;quot;&amp;gt;3.8. The YAM Markup Language&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-3.8.1.&amp;quot;&amp;gt;3.8.1. YAM Summary&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-3.8.2.&amp;quot;&amp;gt;3.8.2. YAM Syntax and Usage&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-3.8.2.1.&amp;quot;&amp;gt;3.8.2.1. Introduction&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-3.8.2.2.&amp;quot;&amp;gt;3.8.2.2. Contents &amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-3.8.2.3.&amp;quot;&amp;gt;3.8.2.3. Bold, italic, underline and teletype &amp;nbsp;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-3.8.2.4.&amp;quot;&amp;gt;3.8.2.4. Horizontal lines &amp;nbsp;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-3.8.2.5.&amp;quot;&amp;gt;3.8.2.5. Lists &amp;nbsp;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-3.8.2.6.&amp;quot;&amp;gt;3.8.2.6. Verbatim output &amp;nbsp;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-3.8.2.7.&amp;quot;&amp;gt;3.8.2.7. Footnotes &amp;nbsp;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-3.8.2.8.&amp;quot;&amp;gt;3.8.2.8. Escapes &amp;nbsp;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-3.8.2.9.&amp;quot;&amp;gt;3.8.2.9. Titles &amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-3.8.2.10.&amp;quot;&amp;gt;3.8.2.10. Headings &amp;nbsp;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-3.8.2.11.&amp;quot;&amp;gt;3.8.2.11. Links and anchors &amp;nbsp;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-3.8.2.12.&amp;quot;&amp;gt;3.8.2.12. Block quotations &amp;nbsp;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-3.8.2.13.&amp;quot;&amp;gt;3.8.2.13. Line breaks &amp;nbsp;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-3.8.2.14.&amp;quot;&amp;gt;3.8.2.14. Tables &amp;nbsp;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-3.8.2.15.&amp;quot;&amp;gt;3.8.2.15. Images &amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-3.8.2.16.&amp;quot;&amp;gt;3.8.2.16. Citations &amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-3.8.2.17.&amp;quot;&amp;gt;3.8.2.17. Inclusion &amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-3.8.2.18.&amp;quot;&amp;gt;3.8.2.18. Non-breaking space &amp;nbsp;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-3.8.2.19.&amp;quot;&amp;gt;3.8.2.19. Comments &amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-3.8.2.20.&amp;quot;&amp;gt;3.8.2.20. Plugins &amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-3.8.2.21.&amp;quot;&amp;gt;3.8.2.21. Changes from version 3&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#section-4.&amp;quot;&amp;gt;4. Information for Developers and Administrators&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.1.&amp;quot;&amp;gt;4.1. Roadmap&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.2.&amp;quot;&amp;gt;4.2. Checking out the code&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.3.&amp;quot;&amp;gt;4.3. Selecting Modes&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.4.&amp;quot;&amp;gt;4.4. Building and testing CoW&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.4.1.&amp;quot;&amp;gt;4.4.1. More about cruising&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.4.2.&amp;quot;&amp;gt;4.4.2. Selenium tests&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.4.2.1.&amp;quot;&amp;gt;4.4.2.1. Developing new tests&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.4.3.&amp;quot;&amp;gt;4.4.3. Upgrading to new Grails versions&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.4.4.&amp;quot;&amp;gt;4.4.4. Using the YAM Tests&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.4.5.&amp;quot;&amp;gt;4.4.5. Grails/Spring/JSecurity and the upload function&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.5.&amp;quot;&amp;gt;4.5. Configuring CoW&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.6.&amp;quot;&amp;gt;4.6. CoW's Data Area&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.6.1.&amp;quot;&amp;gt;4.6.1. SVN Config Directory&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.7.&amp;quot;&amp;gt;4.7. Deploying and Running CoW&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.7.1.&amp;quot;&amp;gt;4.7.1. Starting and stopping&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.7.2.&amp;quot;&amp;gt;4.7.2. Portability of the .cowrc.d directory&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.7.3.&amp;quot;&amp;gt;4.7.3. Apache 2 virtual hosts and CoW proxying&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.7.4.&amp;quot;&amp;gt;4.7.4. Production Deployment and Upgrade&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.7.5.&amp;quot;&amp;gt;4.7.5. Deployment and runtime dependencies&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.7.5.1.&amp;quot;&amp;gt;4.7.5.1. Saving space&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.8.&amp;quot;&amp;gt;4.8. Structure, Naming and Code Conventions&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.8.1.&amp;quot;&amp;gt;4.8.1. Naming and Other Code Conventions&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.8.2.&amp;quot;&amp;gt;4.8.2. Structure&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.8.2.1.&amp;quot;&amp;gt;4.8.2.1. Main classes and Grails objects&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.9.&amp;quot;&amp;gt;4.9. Authentication and Authorisation&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.9.1.&amp;quot;&amp;gt;4.9.1. Grails JSecurity plugin&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.9.2.&amp;quot;&amp;gt;4.9.2. Grails JCaptcha plugin&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.9.3.&amp;quot;&amp;gt;4.9.3. Users, roles, permissions, actions&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.9.3.1.&amp;quot;&amp;gt;4.9.3.1. Directory level authorisation
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.4.&amp;quot;&amp;gt;4.4. Create a new wiki space&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.4.1.&amp;quot;&amp;gt;4.4.1. Authentication settings&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.4.2.&amp;quot;&amp;gt;4.4.2. Setting wiki regeneration&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.4.3.&amp;quot;&amp;gt;4.4.3. Setting wiki updates&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.5.&amp;quot;&amp;gt;4.5. Building and testing CoW&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.5.1.&amp;quot;&amp;gt;4.5.1. More about cruising&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.5.2.&amp;quot;&amp;gt;4.5.2. Selenium tests&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.5.2.1.&amp;quot;&amp;gt;4.5.2.1. Developing new tests&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.5.3.&amp;quot;&amp;gt;4.5.3. Upgrading to new Grails versions&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.5.4.&amp;quot;&amp;gt;4.5.4. Using the YAM Tests&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.5.5.&amp;quot;&amp;gt;4.5.5. Grails/Spring/JSecurity and the upload function&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.6.&amp;quot;&amp;gt;4.6. Subversion versions&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.7.&amp;quot;&amp;gt;4.7. Configuring CoW&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.8.&amp;quot;&amp;gt;4.8. CoW's Data Area&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.8.1.&amp;quot;&amp;gt;4.8.1. SVN Config Directory&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.9.&amp;quot;&amp;gt;4.9. Deploying and Running CoW&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.9.1.&amp;quot;&amp;gt;4.9.1. Starting and stopping&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.9.2.&amp;quot;&amp;gt;4.9.2. Portability of the .cowrc.d directory&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.9.3.&amp;quot;&amp;gt;4.9.3. Apache 2 virtual hosts and CoW proxying&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.9.4.&amp;quot;&amp;gt;4.9.4. Production Deployment and Upgrade&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.9.5.&amp;quot;&amp;gt;4.9.5. Deployment and runtime dependencies&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.9.5.1.&amp;quot;&amp;gt;4.9.5.1. Saving space&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.10.&amp;quot;&amp;gt;4.10. Structure, Naming and Code Conventions&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.10.1.&amp;quot;&amp;gt;4.10.1. Naming and Other Code Conventions&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.10.2.&amp;quot;&amp;gt;4.10.2. Structure&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.10.2.1.&amp;quot;&amp;gt;4.10.2.1. Main classes and Grails objects&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.11.&amp;quot;&amp;gt;4.11. Authentication and Authorisation&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.11.1.&amp;quot;&amp;gt;4.11.1. Grails JSecurity plugin&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.11.2.&amp;quot;&amp;gt;4.11.2. Grails JCaptcha plugin&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.11.3.&amp;quot;&amp;gt;4.11.3. Users, roles, permissions, actions&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.11.3.1.&amp;quot;&amp;gt;4.11.3.1. Directory level authorisation
&lt;br&gt;&amp;nbsp;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.9.3.2.&amp;quot;&amp;gt;4.9.3.2. Access to non-page controllers via CowPermission control&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.9.3.3.&amp;quot;&amp;gt;4.9.3.3. User and password constraints&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.9.3.4.&amp;quot;&amp;gt;4.9.3.4. Security in workstation and server modes&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.9.4.&amp;quot;&amp;gt;4.9.4. Pre-defined security objects&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.9.5.&amp;quot;&amp;gt;4.9.5. Tag library&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.9.6.&amp;quot;&amp;gt;4.9.6. Code dependencies between Jsecurity and GATE Wiki&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.9.7.&amp;quot;&amp;gt;4.9.7. Known vulnerabilities and avoiding them&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.10.&amp;quot;&amp;gt;4.10. Site- and Wiki-Specific Layout and Navigation&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.10.1.&amp;quot;&amp;gt;4.10.1. Navigation&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.10.2.&amp;quot;&amp;gt;4.10.2. Replacing the Main Page Layout &amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.10.3.&amp;quot;&amp;gt;4.10.3. Changing the Title or Logo&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.10.4.&amp;quot;&amp;gt;4.10.4. Dealing with non-native HTML pages&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.11.&amp;quot;&amp;gt;4.11. Referencing and regeneration&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.11.1.&amp;quot;&amp;gt;4.11.1. Serialization&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.11.2.&amp;quot;&amp;gt;4.11.2. Regeneration&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.11.3.&amp;quot;&amp;gt;4.11.3. Speed of Running SVN Status&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.12.&amp;quot;&amp;gt;4.12. Sourceforge notes&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.13.&amp;quot;&amp;gt;4.13. Grails MVC notes&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.14.&amp;quot;&amp;gt;4.14. IntelliJ notes&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.15.&amp;quot;&amp;gt;4.15. Search infrastructure&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.15.1.&amp;quot;&amp;gt;4.15.1. Installation&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.15.1.1.&amp;quot;&amp;gt;4.15.1.1. Directory structure&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.15.1.2.&amp;quot;&amp;gt;4.15.1.2. Enabling Solr&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.15.2.&amp;quot;&amp;gt;4.15.2. Indexing wikis/individual files from CoW&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.15.2.1.&amp;quot;&amp;gt;4.15.2.1. Indexing individual Wiki areas&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.15.2.2.&amp;quot;&amp;gt;4.15.2.2. Indexing individual files&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.15.3.&amp;quot;&amp;gt;4.15.3. Searching&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.15.4.&amp;quot;&amp;gt;4.15.4. Testing&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.15.5.&amp;quot;&amp;gt;4.15.5. Debugging&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.16.&amp;quot;&amp;gt;4.16. SVN Browsing&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.16.1.&amp;quot;&amp;gt;4.16.1. Notes on Sventon in CoW&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.17.&amp;quot;&amp;gt;4.17. Extending YAM with Plugins&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.11.3.2.&amp;quot;&amp;gt;4.11.3.2. Access to non-page controllers via CowPermission control&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.11.3.3.&amp;quot;&amp;gt;4.11.3.3. User and password constraints&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.11.3.4.&amp;quot;&amp;gt;4.11.3.4. Security in workstation and server modes&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.11.4.&amp;quot;&amp;gt;4.11.4. Pre-defined security objects&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.11.5.&amp;quot;&amp;gt;4.11.5. Tag library&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.11.6.&amp;quot;&amp;gt;4.11.6. Code dependencies between Jsecurity and GATE Wiki&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.11.7.&amp;quot;&amp;gt;4.11.7. Known vulnerabilities and avoiding them&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.12.&amp;quot;&amp;gt;4.12. Site- and Wiki-Specific Layout and Navigation&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.12.1.&amp;quot;&amp;gt;4.12.1. Navigation&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.12.2.&amp;quot;&amp;gt;4.12.2. Replacing the Main Page Layout &amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.12.3.&amp;quot;&amp;gt;4.12.3. Changing the Title or Logo&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.12.4.&amp;quot;&amp;gt;4.12.4. Dealing with non-native HTML pages&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.13.&amp;quot;&amp;gt;4.13. Referencing and regeneration&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.13.1.&amp;quot;&amp;gt;4.13.1. Serialization&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.13.2.&amp;quot;&amp;gt;4.13.2. Regeneration&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.13.3.&amp;quot;&amp;gt;4.13.3. Speed of Running SVN Status&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.14.&amp;quot;&amp;gt;4.14. Sourceforge notes&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.15.&amp;quot;&amp;gt;4.15. Grails MVC notes&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.16.&amp;quot;&amp;gt;4.16. IntelliJ notes&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.17.&amp;quot;&amp;gt;4.17. Search infrastructure&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.17.1.&amp;quot;&amp;gt;4.17.1. Installation&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.17.1.1.&amp;quot;&amp;gt;4.17.1.1. Directory structure&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.17.1.2.&amp;quot;&amp;gt;4.17.1.2. Enabling Solr&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.17.2.&amp;quot;&amp;gt;4.17.2. Indexing wikis/individual files from CoW&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.17.2.1.&amp;quot;&amp;gt;4.17.2.1. Indexing individual Wiki areas&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.17.2.2.&amp;quot;&amp;gt;4.17.2.2. Indexing individual files&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.17.3.&amp;quot;&amp;gt;4.17.3. Searching&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.17.4.&amp;quot;&amp;gt;4.17.4. Testing&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.17.5.&amp;quot;&amp;gt;4.17.5. Debugging&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.18.&amp;quot;&amp;gt;4.18. SVN Browsing&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.18.1.&amp;quot;&amp;gt;4.18.1. Notes on Sventon in CoW&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.19.&amp;quot;&amp;gt;4.19. Extending YAM with Plugins&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/ul&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-1.&amp;quot;/&amp;gt;&amp;lt;h1 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;1. &amp;lt;/span&amp;gt;Introduction&amp;lt;/h1&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -163,7 +169,7 @@
&lt;br&gt;&amp;nbsp;dreamt of saying. Wouldn't it be nice to be able to view your filesystem as a
&lt;br&gt;&amp;nbsp;website, to be able to edit from multiple machines with and without network
&lt;br&gt;&amp;nbsp;connections, to be able to have your own local copy and also share it with
&lt;br&gt;-friends and colleagues, and to not have to worry about merging it all back
&lt;br&gt;+friends and colleagues, and not have to worry about merging it all back
&lt;br&gt;&amp;nbsp;together?&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;GATEWiki, or CoW, is a &amp;quot;Controllable Wiki&amp;quot; and CMS that supports collaborative
&lt;br&gt;@@ -175,40 +181,23 @@
&lt;br&gt;&amp;nbsp;&amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;&lt;a href=&quot;http://gate.ac.uk/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gate.ac.uk/&lt;/a&gt;&amp;quot;&amp;gt;&lt;a href=&quot;http://gate.ac.uk/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gate.ac.uk/&lt;/a&gt;&amp;lt;/a&amp;gt;).&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;GATEWiki is based on &amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;acknowledgements.html&amp;quot;&amp;gt;Grails, Groovy, Subversion,
&lt;br&gt;-Selenium and J2EE&amp;lt;/a&amp;gt;, and is hosted on SourceForge in the
&lt;br&gt;+Selenium and Java&amp;lt;/a&amp;gt;, and is hosted on SourceForge in the
&lt;br&gt;&amp;nbsp;&amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;&lt;a href=&quot;http://www.sourceforge.net/projects/gatewiki&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.sourceforge.net/projects/gatewiki&lt;/a&gt;&amp;quot;&amp;gt;GATEWiki project&amp;lt;/a&amp;gt;.&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-&amp;lt;p&amp;gt;Currently CoW includes:&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-&amp;lt;ul&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;a wiki language with a JavaCC parser&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;a CMS persistence and versioning backend using Subversion&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;simple display and edit of wiki pages and other static content using
&lt;br&gt;- &amp;nbsp;&amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;&lt;a href=&quot;http://www.grails.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.grails.org/&lt;/a&gt;&amp;quot;&amp;gt;Grails&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;a version of the Grails JSecurity plugin that includes editing
&lt;br&gt;- &amp;nbsp;of the user data and assigns permissions to wiki areas and directories&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;user registration using the JCaptcha plugin&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;webtests using &amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;&lt;a href=&quot;http://selenium.seleniumhq.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://selenium.seleniumhq.org/&lt;/a&gt;&amp;quot;&amp;gt;Selenium&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;a minimal Hypersonic DB to store pointers to wiki areas and
&lt;br&gt;- &amp;nbsp;user/role/permission data)&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;/ul&amp;gt;
&lt;br&gt;-
&lt;br&gt;-&amp;lt;p&amp;gt;The system has two modes, workstation and server; the former does no user
&lt;br&gt;-management, the latter uses JSecurity.&amp;lt;/p&amp;gt;
&lt;br&gt;-
&lt;br&gt;-
&lt;br&gt;&amp;nbsp;&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-2.&amp;quot;/&amp;gt;&amp;lt;h1 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;2. &amp;lt;/span&amp;gt;Overview&amp;lt;/h1&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;Wikis are about allowing groups of people to create and edit sets of
&lt;br&gt;&amp;nbsp;interlinked web pages with minimal effort and minimal learning of software
&lt;br&gt;&amp;nbsp;conventions and features. Typically they achieve this by&amp;lt;/p&amp;gt;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;&amp;lt;ul&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;li&amp;gt;having an edit link from each page that runs a browser-based editor&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;li&amp;gt;allowing pages to be written in simple plain text with a small number of
&lt;br&gt;&amp;nbsp; &amp;nbsp;formatting conventions (e.g. &amp;lt;b&amp;gt;&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;*&amp;lt;/span&amp;gt;bold&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;*&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;li&amp;gt;supporting creation of pages by directing links for non-existent pages to
&lt;br&gt;- &amp;nbsp;a create and edit page&amp;lt;/li&amp;gt;
&lt;br&gt;+ &amp;nbsp;a create page&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;li&amp;gt;allowing multiple users to use the system simultaneously (and sometimes to
&lt;br&gt;&amp;nbsp; &amp;nbsp;edit the same document simultaneously)&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/ul&amp;gt;
&lt;br&gt;@@ -238,8 +227,10 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp;data in semantic repositories whose schema is user-defined and maintained&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/ul&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-&amp;lt;p&amp;gt;No available wiki in Java that we could find has good SVN support. Using SVN
&lt;br&gt;-as a backend gives us:&amp;lt;/p&amp;gt;
&lt;br&gt;+&amp;lt;p&amp;gt;Why another wiki? When we started the work no available wiki in Java that we
&lt;br&gt;+could find had good SVN support (and we have 55GB of data stored in our SVN
&lt;br&gt;+repositories!). Using SVN as a backend gives us:&amp;lt;/p&amp;gt;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;&amp;lt;ul&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;li&amp;gt;off-line edit - simply checkout the pages and edit to your heart's content
&lt;br&gt;&amp;nbsp; &amp;nbsp;while off-line&amp;lt;/li&amp;gt;
&lt;br&gt;@@ -248,7 +239,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp;difference between versions and so on&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;li&amp;gt;a stable and reliable versionning system that's been proved in production
&lt;br&gt;&amp;nbsp; &amp;nbsp;use by 000,000s of developers&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;concurrent editing&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;concurrent editing without locking&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/ul&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;CoW is partly intended to be an experimental framework for a new type of
&lt;br&gt;@@ -272,12 +263,74 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;&amp;lt;a name=&amp;quot;users&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-3.&amp;quot;/&amp;gt;&amp;lt;h1 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;3. &amp;lt;/span&amp;gt;Information for Users&amp;lt;/h1&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;This is incomplete :-(&amp;lt;/b&amp;gt;&amp;lt;/p&amp;gt;
&lt;br&gt;+&amp;lt;p&amp;gt;In general using GATEWiki should be easy enough not to need a manual. To edit
&lt;br&gt;+click the &amp;quot;edit&amp;quot; link, for example. A few things have some subtlety, though,
&lt;br&gt;+and these are described here. A working knowledge of
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;&lt;a href=&quot;http://subversion.tigris.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://subversion.tigris.org/&lt;/a&gt;&amp;quot;&amp;gt;Subversion&amp;lt;/a&amp;gt; will also help if you want to
&lt;br&gt;+exploit the system to the full.&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-3.1.&amp;quot;/&amp;gt;&amp;lt;h2 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;3.1. &amp;lt;/span&amp;gt;Modes&amp;lt;/h2&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+&amp;lt;p&amp;gt;&amp;lt;a name=&amp;quot;quick&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-3.1.&amp;quot;/&amp;gt;&amp;lt;h2 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;3.1. &amp;lt;/span&amp;gt;Quick Start&amp;lt;/h2&amp;gt;
&lt;br&gt;+
&lt;br&gt;+&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-3.1.1.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;3.1.1. &amp;lt;/span&amp;gt;Files, directories and links&amp;lt;/h3&amp;gt;
&lt;br&gt;+
&lt;br&gt;+&amp;lt;p&amp;gt;A GATEWiki website sits on top of &amp;lt;b&amp;gt;a normal tree of files and directories&amp;lt;/b&amp;gt;
&lt;br&gt;+(for example on the &amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;&lt;a href=&quot;http://gate.ac.uk/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gate.ac.uk/&lt;/a&gt;&amp;quot;&amp;gt;GATE.ac.uk site&amp;lt;/a&amp;gt; this page lives in
&lt;br&gt;+&amp;lt;tt&amp;gt;/gatewiki/cow/doc/gatewiki.html&amp;lt;/tt&amp;gt;.&amp;lt;/p&amp;gt;
&lt;br&gt;+
&lt;br&gt;+&amp;lt;p&amp;gt;When &amp;lt;b&amp;gt;editing and linking&amp;lt;/b&amp;gt; pages or images or other files what you are doing
&lt;br&gt;+is simple operations over the file tree. So, for example, if you wanted to
&lt;br&gt;+&amp;lt;b&amp;gt;add an image&amp;lt;/b&amp;gt; to this page, you would follow the &amp;quot;Directory&amp;quot; link, use
&lt;br&gt;+&amp;quot;Upload&amp;quot; to add your image file to this directory, and then place it in this
&lt;br&gt;+page by refering to it from here (perhaps by typing
&lt;br&gt;+&amp;lt;tt&amp;gt;&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;%&amp;lt;/span&amp;gt;image(your-new-image.png)&amp;lt;/tt&amp;gt; during an
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;#editing&amp;quot;&amp;gt;edit session&amp;lt;/a&amp;gt;). If you later want to refer to it from a different
&lt;br&gt;+site, for example, the image will be available on the GATEWiki server as
&lt;br&gt;+&amp;lt;tt&amp;gt;/gatewiki/cow/doc/your-new-image.png&amp;lt;/tt&amp;gt;.&amp;lt;/p&amp;gt;
&lt;br&gt;+
&lt;br&gt;+&amp;lt;p&amp;gt;To &amp;lt;b&amp;gt;link to another page&amp;lt;/b&amp;gt; in the same directory just use the file name, e.g.
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;index.html&amp;quot;&amp;gt;this link is to &amp;quot;index.html&amp;quot;&amp;lt;/a&amp;gt;.&amp;lt;/p&amp;gt;
&lt;br&gt;+
&lt;br&gt;+&amp;lt;p&amp;gt;To &amp;lt;b&amp;gt;link to a directory&amp;lt;/b&amp;gt; (which will be either a list of the files it
&lt;br&gt;+contains, or the index.html file if it exists) just use the directory name,
&lt;br&gt;+e.g. &amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;yam/&amp;quot;&amp;gt;this link is to the &amp;quot;yam&amp;quot; subdirectory&amp;lt;/a&amp;gt;.&amp;lt;/p&amp;gt;
&lt;br&gt;+
&lt;br&gt;+
&lt;br&gt;+&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-3.1.2.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;3.1.2. &amp;lt;/span&amp;gt;Creating and editing pages&amp;lt;/h3&amp;gt;
&lt;br&gt;+
&lt;br&gt;+&amp;lt;p&amp;gt;To &amp;lt;b&amp;gt;create a new page&amp;lt;/b&amp;gt; first navigate to the directory where you want the file
&lt;br&gt;+to be placed (click on the &amp;quot;Directory&amp;quot; link from any page in that directory).
&lt;br&gt;+You can see directory name in two places:&amp;lt;/p&amp;gt;
&lt;br&gt;+
&lt;br&gt;+&amp;lt;ul&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;the URL that you're reading, e.g. in the URL
&lt;br&gt;+ &amp;nbsp;&amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;&lt;a href=&quot;http://gate.ac.uk/gatewiki/cow/doc/gatewiki.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gate.ac.uk/gatewiki/cow/doc/gatewiki.html&lt;/a&gt;&amp;quot;&amp;gt;&lt;a href=&quot;http://gate.ac.uk/gatewiki/cow/doc/gatewiki.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gate.ac.uk/gatewiki/cow/doc/gatewiki.html&lt;/a&gt;&amp;lt;/a&amp;gt; the directory is
&lt;br&gt;+ &amp;nbsp;&amp;lt;tt&amp;gt;gatewiki/cow/doc&amp;lt;/tt&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;the list of breadcrumbs in the top bar (starting from &amp;quot;Home&amp;quot; and working
&lt;br&gt;+ &amp;nbsp;down to your current location, e.g. &amp;lt;tt&amp;gt;Home &amp;gt; gatewiki &amp;gt; cow &amp;gt; doc&amp;lt;/tt&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;/ul&amp;gt;
&lt;br&gt;+
&lt;br&gt;+&amp;lt;p&amp;gt;From the directory view you can create a new wiki page or new directory using
&lt;br&gt;+the &amp;quot;New page&amp;quot; dialog. If you give a &amp;quot;.html&amp;quot; file name you will create a new
&lt;br&gt;+wiki page; if you give a &amp;quot;name-without-dots&amp;quot; you will create a new directory.
&lt;br&gt;+(For other file types use &amp;quot;Upload&amp;quot; instead.)&amp;lt;/p&amp;gt;
&lt;br&gt;+
&lt;br&gt;+&amp;lt;p&amp;gt;To &amp;lt;b&amp;gt;edit a page&amp;lt;/b&amp;gt; simply click &amp;quot;Edit&amp;quot; from the page. You can use a normal
&lt;br&gt;+word-processor style editor (the &amp;quot;rich editor&amp;quot;) or a web form. In the latter
&lt;br&gt;+case the text is written in &amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;#yam&amp;quot;&amp;gt;YAM, a very simple markup language&amp;lt;/a&amp;gt;.&amp;lt;/p&amp;gt;
&lt;br&gt;+
&lt;br&gt;+&amp;lt;p&amp;gt;To edit the directory tree off-line simply check out the tree from its
&lt;br&gt;+repository (you'll need the location of this and the relevant permissions, of
&lt;br&gt;+course).&amp;lt;/p&amp;gt;
&lt;br&gt;+
&lt;br&gt;+
&lt;br&gt;+&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-3.2.&amp;quot;/&amp;gt;&amp;lt;h2 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;3.2. &amp;lt;/span&amp;gt;Modes&amp;lt;/h2&amp;gt;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;CoW has two operational modes:&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;ul&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Workstation mode&amp;lt;/b&amp;gt;, where it runs on a personal machine and works off file
&lt;br&gt;@@ -295,35 +348,7 @@
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;When you use CoW on your own machine it will be in workstation mode; when
&lt;br&gt;&amp;nbsp;you're using it over the web on another machine it will be in server mode.&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-3.2.&amp;quot;/&amp;gt;&amp;lt;h2 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;3.2. &amp;lt;/span&amp;gt;Subversion versions&amp;lt;/h2&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-&amp;lt;p&amp;gt;Wiki areas in CoW are subversion sandbox directories. &amp;nbsp;There are many different
&lt;br&gt;-versions of the subversion Java and command line tools, and each version is
&lt;br&gt;-associated with a particular format of the control files under the &amp;lt;tt&amp;gt;.svn&amp;lt;/tt&amp;gt;
&lt;br&gt;-directory in the sandbox. &amp;nbsp;Generally speaking, later versions of subversion
&lt;br&gt;-tools can read sandboxes created by earlier versions, but in doing so they
&lt;br&gt;-transparently &amp;quot;upgrade&amp;quot; the sandbox to the newer format. &amp;nbsp;Once this happens in
&lt;br&gt;-a particular sandbox, that sandbox will no longer be readable by the earlier
&lt;br&gt;-version.&amp;lt;/p&amp;gt;
&lt;br&gt;-
&lt;br&gt;-&amp;lt;p&amp;gt;CoW's subversion support is provided by the &amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;&lt;a href=&quot;http://svnkit.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svnkit.com&lt;/a&gt;&amp;quot;&amp;gt;SVNKit&amp;lt;/a&amp;gt;
&lt;br&gt;-library, version 1.2.0, which works with the same working copy format as the
&lt;br&gt;-1.5 series &amp;lt;tt&amp;gt;svn&amp;lt;/tt&amp;gt; command-line tool. &amp;nbsp;This means that:&amp;lt;/p&amp;gt;
&lt;br&gt;-
&lt;br&gt;-&amp;lt;ul&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;If you use CoW with a sandbox that was created by &amp;lt;tt&amp;gt;svn&amp;lt;/tt&amp;gt; version 1.4 or
&lt;br&gt;- &amp;nbsp;earlier, that sandbox will no longer be usable by the 1.4 version
&lt;br&gt;- &amp;nbsp;command-line tools.&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;If you use 1.6-series command-line tools on a sandbox, that sandbox will no
&lt;br&gt;- &amp;nbsp;longer be readable by CoW.&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;/ul&amp;gt;
&lt;br&gt;-
&lt;br&gt;-&amp;lt;p&amp;gt;If you intend to use CoW in workstation mode you must use a 1.5-series
&lt;br&gt;-command-line client. &amp;nbsp;If your command-line client is version 1.6 you will need
&lt;br&gt;-to upgrade the &amp;lt;tt&amp;gt;svnkit&amp;lt;/tt&amp;gt; JAR used by CoW to version 1.3.0 (which speaks the 1.6
&lt;br&gt;-protocol).&amp;lt;/p&amp;gt;
&lt;br&gt;-
&lt;br&gt;&amp;nbsp;&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-3.3.&amp;quot;/&amp;gt;&amp;lt;h2 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;3.3. &amp;lt;/span&amp;gt;Register, Log in&amp;lt;/h2&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -341,7 +366,8 @@
&lt;br&gt;&amp;nbsp;&amp;lt;li&amp;gt;edit an existing page and add a relative link to a non-existent wiki page
&lt;br&gt;&amp;nbsp; &amp;nbsp;(the wiki will then link this to a &amp;quot;create new page&amp;quot; facility)&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;li&amp;gt;use the &amp;quot;new page&amp;quot; link from directory listings&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;create new files under your wiki-managed SVN sandbox&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;create new files under your wiki-managed SVN sandbox (which CoW will then
&lt;br&gt;+ &amp;nbsp;pull in via a periodic update)&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/ul&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;Dependent on the type of name you choose for your page (either &amp;lt;tt&amp;gt;&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;*&amp;lt;/span&amp;gt;.html&amp;lt;/tt&amp;gt; or a
&lt;br&gt;@@ -367,17 +393,19 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-3.5.&amp;quot;/&amp;gt;&amp;lt;h2 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;3.5. &amp;lt;/span&amp;gt;Edit a wiki page&amp;lt;/h2&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-&amp;lt;p&amp;gt;When you have permission to edit a page that you're viewing, two links will
&lt;br&gt;-appear:&amp;lt;/p&amp;gt;
&lt;br&gt;+&amp;lt;p&amp;gt;&amp;lt;a name=&amp;quot;editing&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-3.5.&amp;quot;/&amp;gt;&amp;lt;h2 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;3.5. &amp;lt;/span&amp;gt;Edit a wiki page&amp;lt;/h2&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+&amp;lt;p&amp;gt;When you have permission to edit a page that you're viewing an edit link will
&lt;br&gt;+appear. Two types of editor are available:&amp;lt;/p&amp;gt;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;&amp;lt;ol&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;quot;Edit&amp;quot;: this will start a WYSIWYG editor (FCK Edit)&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;quot;(with form)&amp;quot;: this will forward to a web form page to edit the wiki page
&lt;br&gt;- &amp;nbsp;with&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;a WYSIWYG editor (FCK Edit)&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;a web form page&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/ol&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+&amp;lt;p&amp;gt;To change between these types use the &amp;quot;Switch to...&amp;quot; button.&amp;lt;/p&amp;gt;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;When using 1., you can generally ignore &amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;yam/yam-syntax.html&amp;quot;&amp;gt;YAM syntax&amp;lt;/a&amp;gt;
&lt;br&gt;&amp;nbsp;and work like you do in a word processor - e.g. hit the &amp;quot;B&amp;quot; button to make
&lt;br&gt;&amp;nbsp;text bold, or the &amp;quot;&amp;lt;em&amp;gt;I&amp;lt;/em&amp;gt;&amp;quot; button to make it italic, etc. When you're finished,
&lt;br&gt;@@ -388,9 +416,20 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;When using 2. use &amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;yam/yam-syntax.html&amp;quot;&amp;gt;YAM syntax&amp;lt;/a&amp;gt; (here's a short
&lt;br&gt;&amp;nbsp;&amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;yam/yam-summary.html&amp;quot;&amp;gt;summary&amp;lt;/a&amp;gt;, which also appears below the form while
&lt;br&gt;-editing), &amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;#yam&amp;quot;&amp;gt;and below&amp;lt;/a&amp;gt;.&amp;lt;/p&amp;gt;
&lt;br&gt;+editing, &amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;#yam&amp;quot;&amp;gt;and below&amp;lt;/a&amp;gt;).&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-&amp;lt;p&amp;gt;When doing a preview of an edit in the form editor (2.), clicking on a
&lt;br&gt;+&amp;lt;p&amp;gt;In both cases when you finish an edit&amp;lt;span class=&amp;quot;cow-footnote&amp;quot; name=&amp;quot;footnote2&amp;quot;&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;a href=&amp;quot;#footnote2&amp;quot;&amp;gt;2&amp;lt;/a&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;/span&amp;gt; CoW will try and check in your changes to the parent repository. At
&lt;br&gt;+this point it checks to see if another user has modified the same file while
&lt;br&gt;+you've been editing it. If so, their changes and yours are merged; if the
&lt;br&gt;+changes are in different parts of the file all is well and the merged file is
&lt;br&gt;+then checked in. If, however, the changes are close together they are judged
&lt;br&gt;+to be in conflict, and you will be returned to your edit session to resolve
&lt;br&gt;+this conflict. To find the parts of the file where the problem exists search
&lt;br&gt;+on &amp;quot;====&amp;quot;; here you will find indications of what was in your file and what
&lt;br&gt;+was in the edit by the other user, and you can choose one or the other or both
&lt;br&gt;+as you prefer.&amp;lt;/p&amp;gt;
&lt;br&gt;+
&lt;br&gt;+&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; when doing a preview of an edit in the form editor (2.), clicking on a
&lt;br&gt;&amp;nbsp;relative link will start a new edit session on that page. If this is not
&lt;br&gt;&amp;nbsp;desired press &amp;quot;Cancel&amp;quot;.&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -401,127 +440,14 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;If you want to upload plain HTML, or a PNG image, or whatever, you can use the
&lt;br&gt;&amp;nbsp;&amp;quot;Upload&amp;quot; link which is visible in the directory view. You may upload trees of
&lt;br&gt;-directories by first TGZing or ZIPing them. The upload dialogue allows you to
&lt;br&gt;-choose whether or not to overwrite existing files.&amp;lt;/p&amp;gt;
&lt;br&gt;+directories by first TGZing or ZIPing them and requesting the &amp;quot;unpack&amp;quot; option.
&lt;br&gt;+The upload dialogue allows you to choose whether or not to overwrite existing
&lt;br&gt;+files.&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-3.7.&amp;quot;/&amp;gt;&amp;lt;h2 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;3.7. &amp;lt;/span&amp;gt;Create a new wiki space&amp;lt;/h2&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-3.7.&amp;quot;/&amp;gt;&amp;lt;h2 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;3.7. &amp;lt;/span&amp;gt;Report a bug&amp;lt;/h2&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-&amp;lt;p&amp;gt;NEEDS UPDATING. currently only available to administrators, who should go to
&lt;br&gt;-the top-level cow page and follow the links&amp;lt;/p&amp;gt;
&lt;br&gt;-
&lt;br&gt;-&amp;lt;p&amp;gt;To create a new wiki space you can either:&amp;lt;/p&amp;gt;
&lt;br&gt;-&amp;lt;ul&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;browse for an existing SVN sandbox&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;get the wiki to create a new sandbox for you&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;/ul&amp;gt;
&lt;br&gt;-
&lt;br&gt;-&amp;lt;p&amp;gt;In the former case you can choose any existing SVN-controlled file tree and
&lt;br&gt;-CoW will allow you to create, share and update YAM files in that tree.&amp;lt;/p&amp;gt;
&lt;br&gt;-
&lt;br&gt;-
&lt;br&gt;-&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-3.7.1.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;3.7.1. &amp;lt;/span&amp;gt;Authentication settings&amp;lt;/h3&amp;gt;
&lt;br&gt;-
&lt;br&gt;-&amp;lt;p&amp;gt;When running in server mode, or when doing scheduled or one-off subversion
&lt;br&gt;-updates (see below), CoW needs to communicate with the subversion repository
&lt;br&gt;-(or repositories) underlying the wiki sandbox. &amp;nbsp;If the repository is
&lt;br&gt;-on the local filesystem (i.e. checked out using the &amp;lt;tt&amp;gt;file:&amp;lt;/tt&amp;gt; protocol) this will
&lt;br&gt;-work fine, but if the repository is remote (&amp;lt;tt&amp;gt;svn:&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;svn+ssh:&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;http:&amp;lt;/tt&amp;gt; or
&lt;br&gt;-&amp;lt;tt&amp;gt;https:&amp;lt;/tt&amp;gt;) it may require authentication. &amp;nbsp;Since the same authentication profile
&lt;br&gt;-may be shared between several sandboxes (for example several repositories
&lt;br&gt;-hosted on the same SSH server), configuring authentication is a two-step
&lt;br&gt;-process. &amp;nbsp;First you must create an authentication profile containing the user
&lt;br&gt;-name and other credentials, and second you associate that profile with the
&lt;br&gt;-relevant wiki area or areas.&amp;lt;/p&amp;gt;
&lt;br&gt;-
&lt;br&gt;-&amp;lt;p&amp;gt;To manage the known authentication profiles, go to the main Admin home page and
&lt;br&gt;-follow the &amp;quot;authentication profile&amp;quot; link at the bottom of the page. &amp;nbsp;Each
&lt;br&gt;-profile can hold any or all of the following data:&amp;lt;/p&amp;gt;
&lt;br&gt;-
&lt;br&gt;-&amp;lt;ul&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;username&amp;lt;/b&amp;gt; If specified, all interactions with the server will use this
&lt;br&gt;- &amp;nbsp;username, and all subversion commits will have this name as their author. &amp;nbsp;If
&lt;br&gt;- &amp;nbsp;unspecified, the user name currently logged into CoW will be used.&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;password&amp;lt;/b&amp;gt; The password used to authenticate to &amp;lt;tt&amp;gt;http:&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;https:&amp;lt;/tt&amp;gt;
&lt;br&gt;- &amp;nbsp;repositories that request one, and also to SSH servers (for &amp;lt;tt&amp;gt;svn+ssh:&amp;lt;/tt&amp;gt;)
&lt;br&gt;- &amp;nbsp;unless a private key (see below) is also provided.&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;SSH-specific options:
&lt;br&gt;- &amp;nbsp;&amp;lt;ul&amp;gt;
&lt;br&gt;- &amp;nbsp;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;port number&amp;lt;/b&amp;gt; The port number on which to connect to the SSH server. &amp;nbsp;The
&lt;br&gt;- &amp;nbsp; &amp;nbsp;default is port 22, which works in the majority of cases.&amp;lt;/li&amp;gt;
&lt;br&gt;- &amp;nbsp;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;private key&amp;lt;/b&amp;gt; If your SSH server authenticates using public/private key
&lt;br&gt;- &amp;nbsp; &amp;nbsp;pairs then you should specify the private key (and its associated
&lt;br&gt;- &amp;nbsp; &amp;nbsp;passphrase) here. &amp;nbsp;The key file should be in the normal OpenSSH format.
&lt;br&gt;- &amp;nbsp; &amp;nbsp;The public key goes in the &amp;lt;tt&amp;gt;authorized&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;_&amp;lt;/span&amp;gt;keys&amp;lt;/tt&amp;gt; file on the server.&amp;lt;/li&amp;gt;
&lt;br&gt;- &amp;nbsp;&amp;lt;/ul&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;HTTP/HTTPS-specific options
&lt;br&gt;- &amp;nbsp;&amp;lt;ul&amp;gt;
&lt;br&gt;- &amp;nbsp;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;client certificate&amp;lt;/b&amp;gt; If your HTTPS server requires the use of a client SSL
&lt;br&gt;- &amp;nbsp; &amp;nbsp;certificate then you should specify it here (along with its associated
&lt;br&gt;- &amp;nbsp; &amp;nbsp;passphrase). &amp;nbsp;The certificate should be stored in PKCS#12 format including
&lt;br&gt;- &amp;nbsp; &amp;nbsp;the corresponding private key.&amp;lt;/li&amp;gt;
&lt;br&gt;- &amp;nbsp;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;verify server certificates&amp;lt;/b&amp;gt; Should we verify the validity of the
&lt;br&gt;- &amp;nbsp; &amp;nbsp;certificates presented by the HTTPS server in the usual way, or just accept
&lt;br&gt;- &amp;nbsp; &amp;nbsp;any certificate. &amp;nbsp;The former is more secure but the latter may be necessary
&lt;br&gt;- &amp;nbsp; &amp;nbsp;if your server uses self-signed certificates.&amp;lt;/li&amp;gt;
&lt;br&gt;- &amp;nbsp;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;force authentication&amp;lt;/b&amp;gt; Normally a username and password are only passed to
&lt;br&gt;- &amp;nbsp; &amp;nbsp;the server if it requests them (via a 401 status code). &amp;nbsp;This option causes
&lt;br&gt;- &amp;nbsp; &amp;nbsp;them to be passed in all requests, without waiting to be challenged. &amp;nbsp;This
&lt;br&gt;- &amp;nbsp; &amp;nbsp;may be required for servers that make some parts of the file tree available
&lt;br&gt;- &amp;nbsp; &amp;nbsp;anonymously and other parts only to registered users.&amp;lt;/li&amp;gt;
&lt;br&gt;- &amp;nbsp;&amp;lt;/ul&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;/ul&amp;gt;
&lt;br&gt;-
&lt;br&gt;-&amp;lt;p&amp;gt;Note that the SSH &amp;lt;em&amp;gt;private key&amp;lt;/em&amp;gt; option takes precedence over a username and
&lt;br&gt;-password - even if a password is set it will not be sent to SSH servers, the
&lt;br&gt;-key will be used instead.&amp;lt;/p&amp;gt;
&lt;br&gt;-
&lt;br&gt;-&amp;lt;p&amp;gt;Once you have created and configured the authentication profile, you can attach
&lt;br&gt;-it to the relevant wiki areas, either when the area is created or by editing
&lt;br&gt;-the area definition (via the &amp;quot;Create and edit Wiki areas&amp;quot; link on the admin
&lt;br&gt;-page).&amp;lt;/p&amp;gt;
&lt;br&gt;-
&lt;br&gt;-&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Limitations:&amp;lt;/b&amp;gt; Each wiki area is associated with a single authentication
&lt;br&gt;-profile so if the sandbox includes directories from other repositories (e.g.
&lt;br&gt;-via &amp;lt;tt&amp;gt;svn:externals&amp;lt;/tt&amp;gt;), all the different repositories must be accessible using
&lt;br&gt;-the same profile. &amp;nbsp;This limitation may be relaxed in a future version of
&lt;br&gt;-CoW.&amp;lt;/p&amp;gt;
&lt;br&gt;-
&lt;br&gt;-&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-3.7.2.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;3.7.2. &amp;lt;/span&amp;gt;Setting wiki regeneration&amp;lt;/h3&amp;gt;
&lt;br&gt;-
&lt;br&gt;-&amp;lt;p&amp;gt;Wiki pages may refer to other wiki pages, via links and includes. They are
&lt;br&gt;-therefore dependent on each other. When you change a page, the dependencies
&lt;br&gt;-will also be updated. This may get out of sync (perhaps via a direct edit on
&lt;br&gt;-disk, or some other route). You can therefore regenerate wiki dependencies via
&lt;br&gt;-the admin interface. This is described further &amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;#regen&amp;quot;&amp;gt;below&amp;lt;/a&amp;gt;.&amp;lt;/p&amp;gt;
&lt;br&gt;-
&lt;br&gt;-
&lt;br&gt;-&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-3.7.3.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;3.7.3. &amp;lt;/span&amp;gt;Setting wiki updates&amp;lt;/h3&amp;gt;
&lt;br&gt;-
&lt;br&gt;-&amp;lt;p&amp;gt;A wiki is a working copy of an SVN repository, and so could get out of date
&lt;br&gt;-with respect to the repository. You can update the wiki working copy from the
&lt;br&gt;-admin interface (on the wiki admin page) in two ways:&amp;lt;/p&amp;gt;
&lt;br&gt;-
&lt;br&gt;-&amp;lt;ul&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;Set the update interval. The wiki working copy will be updated at this
&lt;br&gt;- &amp;nbsp;interval, in minutes. An empty value (null) means that the wiki working copy
&lt;br&gt;- &amp;nbsp;will never be updated. The default value for a new wiki is set in the wiki
&lt;br&gt;- &amp;nbsp;config file, and is currently null.&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;Click the update button on the wiki admin page, to update now.&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;/ul&amp;gt;
&lt;br&gt;-
&lt;br&gt;-&amp;lt;p&amp;gt;If the wiki working copy is locked, then the update will be skipped. If there
&lt;br&gt;-is a conflict, the update will fail. &amp;nbsp;If the repository requires authentication
&lt;br&gt;-this must have been set up as described above.&amp;lt;/p&amp;gt;
&lt;br&gt;-
&lt;br&gt;-
&lt;br&gt;-&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-3.8.&amp;quot;/&amp;gt;&amp;lt;h2 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;3.8. &amp;lt;/span&amp;gt;Report a bug&amp;lt;/h2&amp;gt;
&lt;br&gt;-
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;To report bugs, first please check that they've not been reported already!&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;Then add a report to
&lt;br&gt;@@ -531,28 +457,28 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-3.9.&amp;quot;/&amp;gt;&amp;lt;h2 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;3.9. &amp;lt;/span&amp;gt;The YAM Markup Language &amp;nbsp;&amp;lt;a name=&amp;quot;yam&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/h2&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+&amp;lt;p&amp;gt;&amp;lt;a name=&amp;quot;yam&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-3.8.&amp;quot;/&amp;gt;&amp;lt;h2 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;3.8. &amp;lt;/span&amp;gt;The YAM Markup Language&amp;lt;/h2&amp;gt;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;CoW's underlying markup language is YAM (Yet Another Markup). You don't need
&lt;br&gt;&amp;nbsp;to use it - you can use the WYSIWYG editor instead - but if you're a
&lt;br&gt;&amp;nbsp;&amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;&lt;a href=&quot;http://www.vim.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.vim.org/&lt;/a&gt;&amp;quot;&amp;gt;Vim&amp;lt;/a&amp;gt;-wielding old fossil like me you may like it. The
&lt;br&gt;-syntax is about as light as they come; see below.&amp;lt;/p&amp;gt;
&lt;br&gt;+syntax is about as light as they come; next is a summary followed by a longer
&lt;br&gt;+description.&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-3.9.1.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;3.9.1. &amp;lt;/span&amp;gt;YAM Summary&amp;lt;/h3&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-3.8.1.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;3.8.1. &amp;lt;/span&amp;gt;YAM Summary&amp;lt;/h3&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;table&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; Title &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; First paragraph of the file. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&lt;br&gt;-&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; Single-line comment / notes &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; &amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;%&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;%&amp;lt;/span&amp;gt; ... &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&lt;br&gt;-&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; Multi-line comment / notes &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; %&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;/&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;*&amp;lt;/span&amp;gt; ... %&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;*&amp;lt;/span&amp;gt;/ &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; Headings &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; &amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;%&amp;lt;/span&amp;gt;1,&amp;shy;&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;%&amp;lt;/span&amp;gt;2,&amp;shy;etc.; &amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;%&amp;lt;/span&amp;gt;1&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;*&amp;lt;/span&amp;gt; is unnumbered; follow with blank line &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; Bold, italic, teletype, underlined &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; &amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;*&amp;lt;/span&amp;gt;...&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;*&amp;lt;/span&amp;gt;, &amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;_&amp;lt;/span&amp;gt;...&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;_&amp;lt;/span&amp;gt;, &amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;^&amp;lt;/span&amp;gt;...&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;^&amp;lt;/span&amp;gt;, &amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;_&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;_&amp;lt;/span&amp;gt;...&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;_&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;_&amp;lt;/span&amp;gt; &amp;nbsp;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; Contents &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; &amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;%&amp;lt;/span&amp;gt;contents &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; Horizontal lines &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; &amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;-&amp;lt;/span&amp;gt;-- &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&lt;br&gt;-&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; Tables &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; &amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;%&amp;lt;/span&amp;gt;[ &amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;|&amp;lt;/span&amp;gt; row 1 c 1 &amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;|&amp;lt;/span&amp;gt; r 1 c 2 &amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;|&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;-&amp;lt;/span&amp;gt;-- &amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;|&amp;lt;/span&amp;gt; r 2 c 1 &amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;|&amp;lt;/span&amp;gt; r 2 c 2 &amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;|&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;%&amp;lt;/span&amp;gt;] &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; Tables &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; &amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;%&amp;lt;/span&amp;gt;[ &amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;|&amp;lt;/span&amp;gt; row 1/column 1 &amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;|&amp;lt;/span&amp;gt; r1/c2 &amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;|&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;-&amp;lt;/span&amp;gt;-- &amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;|&amp;lt;/span&amp;gt; r2/c1 &amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;|&amp;lt;/span&amp;gt; r2/c2 &amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;|&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;%&amp;lt;/span&amp;gt;] &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; Block quotation &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; &amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;%&amp;lt;/span&amp;gt;&amp;quot;...&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;%&amp;lt;/span&amp;gt;&amp;quot; &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; Line break &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; &amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;%&amp;lt;/span&amp;gt;br &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; Verbatim &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; &amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;%&amp;lt;/span&amp;gt;&amp;lt;...&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;%&amp;lt;/span&amp;gt;&amp;gt; &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&lt;br&gt;@@ -564,7 +490,7 @@
&lt;br&gt;&amp;nbsp;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; Escaping &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; &amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;\&amp;lt;/span&amp;gt; &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; Links &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; 
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;h&amp;lt;/span&amp;gt;ttp://thing.com/ or &amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;%&amp;lt;/span&amp;gt;(&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;h&amp;lt;/span&amp;gt;ttp://thing.com/) or &amp;lt;br/&amp;gt;
&lt;br&gt;-&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;%&amp;lt;/span&amp;gt;(&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;h&amp;lt;/span&amp;gt;ttp://thing.com/,link text)&amp;lt;/p&amp;gt; 
&lt;br&gt;+&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;%&amp;lt;/span&amp;gt;(&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;h&amp;lt;/span&amp;gt;ttp://thing.com/, link text)&amp;lt;/p&amp;gt; 
&lt;br&gt;&amp;nbsp;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; Anchors &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; &amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;%&amp;lt;/span&amp;gt;#name (then link to it with &amp;quot;&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;%&amp;lt;/span&amp;gt;(#name)&amp;quot;) &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; Images &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; &amp;lt;p&amp;gt;&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;%&amp;lt;/span&amp;gt;image(file) or &amp;lt;br/&amp;gt;
&lt;br&gt;@@ -575,6 +501,8 @@
&lt;br&gt;&amp;nbsp;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; Inclusion &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; &amp;lt;p&amp;gt;&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;%&amp;lt;/span&amp;gt;include(file.yam) &amp;lt;br/&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;%&amp;lt;/span&amp;gt;include(level, useTitle, file.yam)&amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; Non-breaking space &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; &amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;%&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;\&amp;lt;/span&amp;gt; followed by space &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; Single-line comment / notes &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; &amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;%&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;%&amp;lt;/span&amp;gt; ... &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; Multi-line comment / notes &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; %&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;/&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;*&amp;lt;/span&amp;gt; ... %&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;*&amp;lt;/span&amp;gt;/ &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; Special characters &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; &amp;lt;p&amp;gt;(e.g. &amp;lt; or &amp;amp; in HTML) are &amp;lt;br/&amp;gt;
&lt;br&gt;&amp;nbsp;translated correctly in the output.&amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; Twitter &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; &amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;%&amp;lt;/span&amp;gt;twitter(title=GATE News, account=GateAcUk, name=GATE, count=10) &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&lt;br&gt;@@ -584,27 +512,27 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-3.9.2.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;3.9.2. &amp;lt;/span&amp;gt;YAM Syntax and Usage&amp;lt;/h3&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-3.8.2.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;3.8.2. &amp;lt;/span&amp;gt;YAM Syntax and Usage&amp;lt;/h3&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;div class=&amp;quot;cow-contents&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!-----------------------------------------------------------------------------&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-3.9.2.1.&amp;quot;/&amp;gt;&amp;lt;h4 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;3.9.2.1. &amp;lt;/span&amp;gt;Introduction&amp;lt;/h4&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-3.8.2.1.&amp;quot;/&amp;gt;&amp;lt;h4 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;3.8.2.1. &amp;lt;/span&amp;gt;Introduction&amp;lt;/h4&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;YAM (Yet Another Markup) is a simple wiki language used in
&lt;br&gt;&amp;nbsp;&amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;&lt;a href=&quot;http://gatewiki.sf.net/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.sf.net/&lt;/a&gt;&amp;quot;&amp;gt;GATEWiki&amp;lt;/a&amp;gt;. The language syntax is described below.&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!-----------------------------------------------------------------------------&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-3.9.2.2.&amp;quot;/&amp;gt;&amp;lt;h4 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;3.9.2.2. &amp;lt;/span&amp;gt;Contents &amp;lt;a name=&amp;quot;contents&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/h4&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-3.8.2.2.&amp;quot;/&amp;gt;&amp;lt;h4 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;3.8.2.2. &amp;lt;/span&amp;gt;Contents &amp;lt;a name=&amp;quot;contents&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/h4&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;Contents listings like that above are generated by '&amp;lt;tt&amp;gt;&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;%&amp;lt;/span&amp;gt;contents&amp;lt;/tt&amp;gt;'&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!-----------------------------------------------------------------------------&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-3.9.2.3.&amp;quot;/&amp;gt;&amp;lt;h4 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;3.9.2.3. &amp;lt;/span&amp;gt;Bold, italic, underline and teletype &amp;nbsp;&amp;lt;a name=&amp;quot;bold&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/h4&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-3.8.2.3.&amp;quot;/&amp;gt;&amp;lt;h4 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;3.8.2.3. &amp;lt;/span&amp;gt;Bold, italic, underline and teletype &amp;nbsp;&amp;lt;a name=&amp;quot;bold&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/h4&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;Bold text is contained in stars: &amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;*&amp;lt;/span&amp;gt;this is bold&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;*&amp;lt;/span&amp;gt; becomes &amp;lt;b&amp;gt;this is bold&amp;lt;/b&amp;gt;.&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -619,9 +547,9 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!-----------------------------------------------------------------------------&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-3.9.2.4.&amp;quot;/&amp;gt;&amp;lt;h4 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;3.9.2.4. &amp;lt;/span&amp;gt;Horizontal lines &amp;nbsp;&amp;lt;a name=&amp;quot;hr&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/h4&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-3.8.2.4.&amp;quot;/&amp;gt;&amp;lt;h4 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;3.8.2.4. &amp;lt;/span&amp;gt;Horizontal lines &amp;nbsp;&amp;lt;a name=&amp;quot;hr&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/h4&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-&amp;lt;p&amp;gt;Horizontal lines are indicated by 3 or more - signs at the start of a line.
&lt;br&gt;+&amp;lt;p&amp;gt;Horizontal lines are indicated by 3 or more dashes at the start of a line.
&lt;br&gt;&amp;nbsp;For example:&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;pre&amp;gt;---&amp;lt;/pre&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;and&amp;lt;/p&amp;gt;
&lt;br&gt;@@ -631,7 +559,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!-----------------------------------------------------------------------------&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-3.9.2.5.&amp;quot;/&amp;gt;&amp;lt;h4 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;3.9.2.5. &amp;lt;/span&amp;gt;Lists &amp;nbsp;&amp;lt;a name=&amp;quot;lists&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/h4&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-3.8.2.5.&amp;quot;/&amp;gt;&amp;lt;h4 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;3.8.2.5. &amp;lt;/span&amp;gt;Lists &amp;nbsp;&amp;lt;a name=&amp;quot;lists&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/h4&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;Unordered lists are indicated by '-' at the start of a line, and ordered
&lt;br&gt;&amp;nbsp;lists by '#'. Nesting is indicated by increased spacing preceding the item
&lt;br&gt;@@ -655,6 +583,9 @@
&lt;br&gt;&amp;nbsp;&amp;lt;li&amp;gt;Back to the third item of the enclosing list&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/ul&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+&amp;lt;p&amp;gt;The precise size of the indentation of embedded lists doesn't matter, it just
&lt;br&gt;+needs to be larger than that of the enclosing list.&amp;lt;/p&amp;gt;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;Lists end when there is a blank line or where the next line of text is not
&lt;br&gt;&amp;nbsp;indented. For example:&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;pre&amp;gt;
&lt;br&gt;@@ -679,7 +610,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!-----------------------------------------------------------------------------&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-3.9.2.6.&amp;quot;/&amp;gt;&amp;lt;h4 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;3.9.2.6. &amp;lt;/span&amp;gt;Verbatim output &amp;nbsp;&amp;lt;a name=&amp;quot;verbatim&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/h4&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-3.8.2.6.&amp;quot;/&amp;gt;&amp;lt;h4 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;3.8.2.6. &amp;lt;/span&amp;gt;Verbatim output &amp;nbsp;&amp;lt;a name=&amp;quot;verbatim&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/h4&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;Verbatim output starts with '&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;%&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;&amp;lt;&amp;lt;/span&amp;gt;' and ends with '&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;%&amp;lt;/span&amp;gt;&amp;gt;'. For example:&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -692,20 +623,20 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!-----------------------------------------------------------------------------&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-3.9.2.7.&amp;quot;/&amp;gt;&amp;lt;h4 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;3.9.2.7. &amp;lt;/span&amp;gt;Footnotes &amp;nbsp;&amp;lt;a name=&amp;quot;footnotes&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/h4&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-3.8.2.7.&amp;quot;/&amp;gt;&amp;lt;h4 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;3.8.2.7. &amp;lt;/span&amp;gt;Footnotes &amp;nbsp;&amp;lt;a name=&amp;quot;footnotes&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/h4&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;Footnotes are like this:&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;pre&amp;gt;
&lt;br&gt;&amp;nbsp;%footnote(This is a footnote.)
&lt;br&gt;&amp;nbsp;&amp;lt;/pre&amp;gt;
&lt;br&gt;-&amp;lt;p&amp;gt;Becomes:&amp;lt;span class=&amp;quot;cow-footnote&amp;quot; name=&amp;quot;footnote2&amp;quot;&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;a href=&amp;quot;#footnote2&amp;quot;&amp;gt;2&amp;lt;/a&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;/span&amp;gt;.&amp;lt;/p&amp;gt;
&lt;br&gt;+&amp;lt;p&amp;gt;Becomes:&amp;lt;span class=&amp;quot;cow-footnote&amp;quot; name=&amp;quot;footnote3&amp;quot;&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;a href=&amp;quot;#footnote3&amp;quot;&amp;gt;3&amp;lt;/a&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;/span&amp;gt;.&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;The contents will be put in a section at the end of the document (HTML) or at
&lt;br&gt;&amp;nbsp;the bottom of the page (LaTeX), and linked by number from where they occured.&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!-----------------------------------------------------------------------------&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-3.9.2.8.&amp;quot;/&amp;gt;&amp;lt;h4 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;3.9.2.8. &amp;lt;/span&amp;gt;Escapes &amp;nbsp;&amp;lt;a name=&amp;quot;escapes&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/h4&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-3.8.2.8.&amp;quot;/&amp;gt;&amp;lt;h4 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;3.8.2.8. &amp;lt;/span&amp;gt;Escapes &amp;nbsp;&amp;lt;a name=&amp;quot;escapes&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/h4&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;To stop a special character from being interpreted, use a '&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;\&amp;lt;/span&amp;gt;'. For example,&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;pre&amp;gt; \--- &amp;lt;/pre&amp;gt;
&lt;br&gt;@@ -713,14 +644,14 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!-----------------------------------------------------------------------------&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-3.9.2.9.&amp;quot;/&amp;gt;&amp;lt;h4 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;3.9.2.9. &amp;lt;/span&amp;gt;Titles &amp;lt;a name=&amp;quot;titles&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/h4&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-3.8.2.9.&amp;quot;/&amp;gt;&amp;lt;h4 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;3.8.2.9. &amp;lt;/span&amp;gt;Titles &amp;lt;a name=&amp;quot;titles&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/h4&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;The title of a document is the first paragraph of the document, ending in one
&lt;br&gt;&amp;nbsp;or more blank lines. (Often this will be a single line of text.)&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!-----------------------------------------------------------------------------&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-3.9.2.10.&amp;quot;/&amp;gt;&amp;lt;h4 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;3.9.2.10. &amp;lt;/span&amp;gt;Headings &amp;nbsp;&amp;lt;a name=&amp;quot;headings&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/h4&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-3.8.2.10.&amp;quot;/&amp;gt;&amp;lt;h4 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;3.8.2.10. &amp;lt;/span&amp;gt;Headings &amp;nbsp;&amp;lt;a name=&amp;quot;headings&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/h4&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;Headings are lines starting with &amp;lt;tt&amp;gt;%1&amp;lt;/tt&amp;gt; (for first level), &amp;lt;tt&amp;gt;%2&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;%3&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;%4&amp;lt;/tt&amp;gt;
&lt;br&gt;&amp;nbsp;and are followed by one or more blank lines. For example, the heading for this
&lt;br&gt;@@ -740,7 +671,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!-----------------------------------------------------------------------------&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-3.9.2.11.&amp;quot;/&amp;gt;&amp;lt;h4 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;3.9.2.11. &amp;lt;/span&amp;gt;Links and anchors &amp;nbsp;&amp;lt;a name=&amp;quot;links&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/h4&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-3.8.2.11.&amp;quot;/&amp;gt;&amp;lt;h4 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;3.8.2.11. &amp;lt;/span&amp;gt;Links and anchors &amp;nbsp;&amp;lt;a name=&amp;quot;links&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/h4&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;Links can be specified in three ways:&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;ol&amp;gt;
&lt;br&gt;@@ -756,7 +687,8 @@
&lt;br&gt;&amp;nbsp;appears in plain text must be followed by a space, tab or newline. Sometimes,
&lt;br&gt;&amp;nbsp;you might need to follow a URL with something other than a space, tab, or
&lt;br&gt;&amp;nbsp;newline, for example when applying other formatting characters. To do this,
&lt;br&gt;-use a bracketed form. e.g. to teletype a URL, &amp;lt;tt&amp;gt;=&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;%&amp;lt;/span&amp;gt;(&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;h&amp;lt;/span&amp;gt;ttp://gate.ac.uk/)=&amp;lt;/tt&amp;gt;.&amp;lt;/p&amp;gt;
&lt;br&gt;+use a bracketed form. e.g. to teletype a URL, &amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;^&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;%&amp;lt;/span&amp;gt;(&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;h&amp;lt;/span&amp;gt;ttp://gate.ac.uk/)&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;^&amp;lt;/span&amp;gt;
&lt;br&gt;+becomes &amp;lt;tt&amp;gt;&amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;&lt;a href=&quot;http://gate.ac.uk/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gate.ac.uk/&lt;/a&gt;&amp;quot;&amp;gt;&lt;a href=&quot;http://gate.ac.uk/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gate.ac.uk/&lt;/a&gt;&amp;lt;/a&amp;gt;&amp;lt;/tt&amp;gt;.&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;Anchors and labels are specified using '&amp;lt;tt&amp;gt;&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;%&amp;lt;/span&amp;gt;#name&amp;lt;/tt&amp;gt;'. For example,&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;pre&amp;gt;
&lt;br&gt;@@ -779,13 +711,13 @@
&lt;br&gt;&amp;nbsp;&amp;lt;a class=&amp;quot;cow-non-existant-url&amp;quot; href=&amp;quot;../non-existant.html?m=1&amp;quot;&amp;gt;../non-existant.html&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;A link to an existing file will be just link as normal, e.g. &amp;lt;br/&amp;gt;&amp;lt;/p&amp;gt;
&lt;br&gt;-&amp;lt;pre&amp;gt; %(yam-lists.html) &amp;lt;/pre&amp;gt;
&lt;br&gt;+&amp;lt;pre&amp;gt; %(index.html) &amp;lt;/pre&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;becomes: &amp;lt;br/&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-non-existant-url&amp;quot; href=&amp;quot;yam-lists.html?m=1&amp;quot;&amp;gt;yam-lists.html&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;index.html&amp;quot;&amp;gt;index.html&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!-----------------------------------------------------------------------------&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-3.9.2.12.&amp;quot;/&amp;gt;&amp;lt;h4 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;3.9.2.12. &amp;lt;/span&amp;gt;Block quotations &amp;nbsp;&amp;lt;a name=&amp;quot;quotations&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/h4&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-3.8.2.12.&amp;quot;/&amp;gt;&amp;lt;h4 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;3.8.2.12. &amp;lt;/span&amp;gt;Block quotations &amp;nbsp;&amp;lt;a name=&amp;quot;quotations&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/h4&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;Block quotations are enclosed in &amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;%&amp;lt;/span&amp;gt;&amp;quot; marks. For example,&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;pre&amp;gt;
&lt;br&gt;@@ -820,7 +752,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!-----------------------------------------------------------------------------&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-3.9.2.13.&amp;quot;/&amp;gt;&amp;lt;h4 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;3.9.2.13. &amp;lt;/span&amp;gt;Line breaks &amp;nbsp;&amp;lt;a name=&amp;quot;linebreaks&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/h4&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-3.8.2.13.&amp;quot;/&amp;gt;&amp;lt;h4 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;3.8.2.13. &amp;lt;/span&amp;gt;Line breaks &amp;nbsp;&amp;lt;a name=&amp;quot;linebreaks&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/h4&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;Line breaks are indicated by &amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;%&amp;lt;/span&amp;gt;br at the end of a line. For example:&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;pre&amp;gt;
&lt;br&gt;@@ -831,7 +763,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!-----------------------------------------------------------------------------&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-3.9.2.14.&amp;quot;/&amp;gt;&amp;lt;h4 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;3.9.2.14. &amp;lt;/span&amp;gt;Tables &amp;nbsp;&amp;lt;a name=&amp;quot;tables&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/h4&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-3.8.2.14.&amp;quot;/&amp;gt;&amp;lt;h4 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;3.8.2.14. &amp;lt;/span&amp;gt;Tables &amp;nbsp;&amp;lt;a name=&amp;quot;tables&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/h4&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;Tables use square brackets, bars and dashes. For example:&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;pre&amp;gt;
&lt;br&gt;@@ -850,12 +782,14 @@
&lt;br&gt;&amp;nbsp; &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; row 2 col 1	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; col 2 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/table&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+&amp;lt;p&amp;gt;To include a &amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;|&amp;lt;/span&amp;gt; in normal text escape it like this: &amp;lt;tt&amp;gt;&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;\&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;|&amp;lt;/span&amp;gt;&amp;lt;/tt&amp;gt;.&amp;lt;/p&amp;gt;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;(See also the note above about &amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;#embedding-lists-in-tables&amp;quot;&amp;gt;embedding lists
&lt;br&gt;&amp;nbsp;in tables&amp;lt;/a&amp;gt;.)&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!-----------------------------------------------------------------------------&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-3.9.2.15.&amp;quot;/&amp;gt;&amp;lt;h4 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;3.9.2.15. &amp;lt;/span&amp;gt;Images &amp;lt;a name=&amp;quot;images&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/h4&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-3.8.2.15.&amp;quot;/&amp;gt;&amp;lt;h4 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;3.8.2.15. &amp;lt;/span&amp;gt;Images &amp;lt;a name=&amp;quot;images&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/h4&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;Images are like URLs:&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;ul&amp;gt;
&lt;br&gt;@@ -869,7 +803,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!-----------------------------------------------------------------------------&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-3.9.2.16.&amp;quot;/&amp;gt;&amp;lt;h4 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;3.9.2.16. &amp;lt;/span&amp;gt;Citations &amp;lt;a name=&amp;quot;citations&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/h4&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-3.8.2.16.&amp;quot;/&amp;gt;&amp;lt;h4 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;3.8.2.16. &amp;lt;/span&amp;gt;Citations &amp;lt;a name=&amp;quot;citations&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/h4&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;Citations work like this: '&amp;lt;tt&amp;gt;&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;%&amp;lt;/span&amp;gt;cite(Cun06a)&amp;lt;/tt&amp;gt;' becomes &amp;lt;span class=&amp;quot;cow-cite&amp;quot; keys=&amp;quot;Cun06a&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;&lt;a href=&quot;http://gate.ac.uk/sale/bib/main.html#XCun06a&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gate.ac.uk/sale/bib/main.html#XCun06a&lt;/a&gt;&amp;quot;&amp;gt;Cun06a&amp;lt;/a&amp;gt;&amp;lt;/span&amp;gt;. Multiple
&lt;br&gt;&amp;nbsp;cite keys should be separated by commas, e.g.: '&amp;lt;tt&amp;gt;&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;%&amp;lt;/span&amp;gt;cite(Cun05a,Cun06a)&amp;lt;/tt&amp;gt;'
&lt;br&gt;@@ -877,26 +811,28 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!-----------------------------------------------------------------------------&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-3.9.2.17.&amp;quot;/&amp;gt;&amp;lt;h4 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;3.9.2.17. &amp;lt;/span&amp;gt;Inclusion &amp;lt;a name=&amp;quot;inclusion&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/h4&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-3.8.2.17.&amp;quot;/&amp;gt;&amp;lt;h4 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;3.8.2.17. &amp;lt;/span&amp;gt;Inclusion &amp;lt;a name=&amp;quot;inclusion&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/h4&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;A page can include another page like this:&amp;lt;/p&amp;gt;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;&amp;lt;pre&amp;gt;
&lt;br&gt;&amp;nbsp;%include(yam-first.yam)
&lt;br&gt;&amp;nbsp;&amp;lt;/pre&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-&amp;lt;p&amp;gt;Results in the inclusion of all the text from &amp;lt;tt&amp;gt;yam-first.yam&amp;lt;/tt&amp;gt; in this file.
&lt;br&gt;-Note that headings in the included files are ignored by default (but see
&lt;br&gt;-below).&amp;lt;/p&amp;gt;
&lt;br&gt;+&amp;lt;p&amp;gt;This results in the inclusion of all the text from &amp;lt;tt&amp;gt;yam-first.yam&amp;lt;/tt&amp;gt; in this
&lt;br&gt;+file.&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;An increment to be added to the heading level can be given as the first
&lt;br&gt;&amp;nbsp;argument.&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-&amp;lt;p&amp;gt;A &amp;quot;useTitle&amp;quot; flag can be given (after the increment if it exists) to cause
&lt;br&gt;-inclusion of the title (as a heading).&amp;lt;/p&amp;gt;
&lt;br&gt;+&amp;lt;p&amp;gt;Note that the titles in the included files are ignored by default. A
&lt;br&gt;+&amp;quot;useTitle&amp;quot; flag can be given (after the increment if it exists) to cause
&lt;br&gt;+inclusion of the title (as a heading). For example: &amp;lt;tt&amp;gt;&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;%&amp;lt;/span&amp;gt;include(1, useTitle,
&lt;br&gt;+yam-first.yam)&amp;lt;/tt&amp;gt;.&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!-----------------------------------------------------------------------------&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-3.9.2.18.&amp;quot;/&amp;gt;&amp;lt;h4 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;3.9.2.18. &amp;lt;/span&amp;gt;Non-breaking space &amp;nbsp;&amp;lt;a name=&amp;quot;nbsp&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/h4&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-3.8.2.18.&amp;quot;/&amp;gt;&amp;lt;h4 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;3.8.2.18. &amp;lt;/span&amp;gt;Non-breaking space &amp;nbsp;&amp;lt;a name=&amp;quot;nbsp&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/h4&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;Non-breaking spaces are added using &amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;%&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;\&amp;lt;/span&amp;gt; followed by space, e.g.&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;pre&amp;gt;
&lt;br&gt;@@ -906,7 +842,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!-----------------------------------------------------------------------------&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-3.9.2.19.&amp;quot;/&amp;gt;&amp;lt;h4 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;3.9.2.19. &amp;lt;/span&amp;gt;Comments &amp;lt;a name=&amp;quot;comments&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/h4&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-3.8.2.19.&amp;quot;/&amp;gt;&amp;lt;h4 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;3.8.2.19. &amp;lt;/span&amp;gt;Comments &amp;lt;a name=&amp;quot;comments&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/h4&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;Single-line comments are created by two or more percents together, e.g.&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;pre&amp;gt;
&lt;br&gt;@@ -927,7 +863,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!-----------------------------------------------------------------------------&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-3.9.2.20.&amp;quot;/&amp;gt;&amp;lt;h4 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;3.9.2.20. &amp;lt;/span&amp;gt;Plugins &amp;lt;a name=&amp;quot;plugins&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/h4&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-3.8.2.20.&amp;quot;/&amp;gt;&amp;lt;h4 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;3.8.2.20. &amp;lt;/span&amp;gt;Plugins &amp;lt;a name=&amp;quot;plugins&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/h4&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;YAM can be extended by the use of &amp;lt;b&amp;gt;plugins&amp;lt;/b&amp;gt;. Creating plugins requires some
&lt;br&gt;&amp;nbsp;Java programming - see the developer guide for more details.&amp;lt;/p&amp;gt;
&lt;br&gt;@@ -943,7 +879,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!-----------------------------------------------------------------------------&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-3.9.2.21.&amp;quot;/&amp;gt;&amp;lt;h4 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;3.9.2.21. &amp;lt;/span&amp;gt;Changes from version 3&amp;lt;/h4&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-3.8.2.21.&amp;quot;/&amp;gt;&amp;lt;h4 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;3.8.2.21. &amp;lt;/span&amp;gt;Changes from version 3&amp;lt;/h4&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;YAM is currently in version 5. Since versions 3 and 4 these changes were made:&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -975,6 +911,25 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;&amp;lt;a name=&amp;quot;developers&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.&amp;quot;/&amp;gt;&amp;lt;h1 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4. &amp;lt;/span&amp;gt;Information for Developers and Administrators&amp;lt;/h1&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+&amp;lt;p&amp;gt;Currently CoW includes:&amp;lt;/p&amp;gt;
&lt;br&gt;+
&lt;br&gt;+&amp;lt;ul&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;a wiki language with a JavaCC parser&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;a CMS persistence and versioning backend using Subversion&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;simple display and edit of wiki pages and other static content using
&lt;br&gt;+ &amp;nbsp;&amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;&lt;a href=&quot;http://www.grails.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.grails.org/&lt;/a&gt;&amp;quot;&amp;gt;Grails&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;a version of the Grails JSecurity plugin that includes editing
&lt;br&gt;+ &amp;nbsp;of the user data and assigns permissions to wiki areas and directories&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;user registration using the JCaptcha plugin&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;webtests using &amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;&lt;a href=&quot;http://selenium.seleniumhq.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://selenium.seleniumhq.org/&lt;/a&gt;&amp;quot;&amp;gt;Selenium&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;a minimal Hypersonic DB to store pointers to wiki areas and
&lt;br&gt;+ &amp;nbsp;user/role/permission data)&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;/ul&amp;gt;
&lt;br&gt;+
&lt;br&gt;+&amp;lt;p&amp;gt;The system has two modes, workstation and server; the former does no user
&lt;br&gt;+management, the latter uses JSecurity.&amp;lt;/p&amp;gt;
&lt;br&gt;+
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.1.&amp;quot;/&amp;gt;&amp;lt;h2 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.1. &amp;lt;/span&amp;gt;Roadmap&amp;lt;/h2&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -1021,8 +976,132 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.4.&amp;quot;/&amp;gt;&amp;lt;h2 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.4. &amp;lt;/span&amp;gt;Building and testing CoW&amp;lt;/h2&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.4.&amp;quot;/&amp;gt;&amp;lt;h2 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.4. &amp;lt;/span&amp;gt;Create a new wiki space&amp;lt;/h2&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+&amp;lt;p&amp;gt;To create a new wiki space go to the Admin page and click through to wiki
&lt;br&gt;+areas and select &amp;quot;New wiki&amp;quot;. Then you can either:&amp;lt;/p&amp;gt;
&lt;br&gt;+
&lt;br&gt;+&amp;lt;ul&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;browse for an existing SVN sandbox&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;get the wiki to create a new sandbox for you&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;/ul&amp;gt;
&lt;br&gt;+
&lt;br&gt;+&amp;lt;p&amp;gt;In the former case you can choose any existing SVN-controlled file tree and
&lt;br&gt;+CoW will allow you to create, share and update YAM files in that tree.&amp;lt;/p&amp;gt;
&lt;br&gt;+
&lt;br&gt;+&amp;lt;p&amp;gt;Note that each wiki area has its own sandbox. Two areas are special:&amp;lt;/p&amp;gt;
&lt;br&gt;+
&lt;br&gt;+&amp;lt;ul&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;area 1. is the help area, served from &amp;lt;tt&amp;gt;/help&amp;lt;/tt&amp;gt; URLs&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;area 2. is the main area, served from all other &amp;lt;tt&amp;gt;/&amp;lt;/tt&amp;gt; URLs&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;/ul&amp;gt;
&lt;br&gt;+
&lt;br&gt;+&amp;lt;p&amp;gt;Other areas are served from &amp;lt;tt&amp;gt;/page/show/&amp;lt;area ID&amp;gt;&amp;lt;/tt&amp;gt; URLs.&amp;lt;/p&amp;gt;
&lt;br&gt;+
&lt;br&gt;+
&lt;br&gt;+&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.4.1.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.4.1. &amp;lt;/span&amp;gt;Authentication settings&amp;lt;/h3&amp;gt;
&lt;br&gt;+
&lt;br&gt;+&amp;lt;p&amp;gt;When running in server mode, or when doing scheduled or one-off subversion
&lt;br&gt;+updates (see below), CoW needs to communicate with the subversion repository
&lt;br&gt;+(or repositories) underlying the wiki sandbox. &amp;nbsp;If the repository is
&lt;br&gt;+on the local filesystem (i.e. checked out using the &amp;lt;tt&amp;gt;file:&amp;lt;/tt&amp;gt; protocol) this will
&lt;br&gt;+work fine, but if the repository is remote (&amp;lt;tt&amp;gt;svn:&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;svn+ssh:&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;http:&amp;lt;/tt&amp;gt; or
&lt;br&gt;+&amp;lt;tt&amp;gt;https:&amp;lt;/tt&amp;gt;) it may require authentication. &amp;nbsp;Since the same authentication profile
&lt;br&gt;+may be shared between several sandboxes (for example several repositories
&lt;br&gt;+hosted on the same SSH server), configuring authentication is a two-step
&lt;br&gt;+process. &amp;nbsp;First you must create an authentication profile containing the user
&lt;br&gt;+name and other credentials, and second you associate that profile with the
&lt;br&gt;+relevant wiki area or areas.&amp;lt;/p&amp;gt;
&lt;br&gt;+
&lt;br&gt;+&amp;lt;p&amp;gt;To manage the known authentication profiles, go to the main Admin home page and
&lt;br&gt;+follow the &amp;quot;authentication profile&amp;quot; link at the bottom of the page. &amp;nbsp;Each
&lt;br&gt;+profile can hold any or all of the following data:&amp;lt;/p&amp;gt;
&lt;br&gt;+
&lt;br&gt;+&amp;lt;ul&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;username&amp;lt;/b&amp;gt; If specified, all interactions with the server will use this
&lt;br&gt;+ &amp;nbsp;username, and all subversion commits will have this name as their author. &amp;nbsp;If
&lt;br&gt;+ &amp;nbsp;unspecified, the user name currently logged into CoW will be used.&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;password&amp;lt;/b&amp;gt; The password used to authenticate to &amp;lt;tt&amp;gt;http:&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;https:&amp;lt;/tt&amp;gt;
&lt;br&gt;+ &amp;nbsp;repositories that request one, and also to SSH servers (for &amp;lt;tt&amp;gt;svn+ssh:&amp;lt;/tt&amp;gt;)
&lt;br&gt;+ &amp;nbsp;unless a private key (see below) is also provided.&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;SSH-specific options:
&lt;br&gt;+ &amp;nbsp;&amp;lt;ul&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;port number&amp;lt;/b&amp;gt; The port number on which to connect to the SSH server. &amp;nbsp;The
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;default is port 22, which works in the majority of cases.&amp;lt;/li&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;private key&amp;lt;/b&amp;gt; If your SSH server authenticates using public/private key
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;pairs then you should specify the private key (and its associated
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;passphrase) here. &amp;nbsp;The key file should be in the normal OpenSSH format.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;The public key goes in the &amp;lt;tt&amp;gt;authorized&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;_&amp;lt;/span&amp;gt;keys&amp;lt;/tt&amp;gt; file on the server.&amp;lt;/li&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;/ul&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;HTTP/HTTPS-specific options
&lt;br&gt;+ &amp;nbsp;&amp;lt;ul&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;client certificate&amp;lt;/b&amp;gt; If your HTTPS server requires the use of a client SSL
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;certificate then you should specify it here (along with its associated
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;passphrase). &amp;nbsp;The certificate should be stored in PKCS#12 format including
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;the corresponding private key.&amp;lt;/li&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;verify server certificates&amp;lt;/b&amp;gt; Should we verify the validity of the
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;certificates presented by the HTTPS server in the usual way, or just accept
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;any certificate. &amp;nbsp;The former is more secure but the latter may be necessary
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;if your server uses self-signed certificates.&amp;lt;/li&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;force authentication&amp;lt;/b&amp;gt; Normally a username and password are only passed to
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;the server if it requests them (via a 401 status code). &amp;nbsp;This option causes
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;them to be passed in all requests, without waiting to be challenged. &amp;nbsp;This
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;may be required for servers that make some parts of the file tree available
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;anonymously and other parts only to registered users.&amp;lt;/li&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;/ul&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;/ul&amp;gt;
&lt;br&gt;+
&lt;br&gt;+&amp;lt;p&amp;gt;Note that the SSH &amp;lt;em&amp;gt;private key&amp;lt;/em&amp;gt; option takes precedence over a username and
&lt;br&gt;+password - even if a password is set it will not be sent to SSH servers, the
&lt;br&gt;+key will be used instead.&amp;lt;/p&amp;gt;
&lt;br&gt;+
&lt;br&gt;+&amp;lt;p&amp;gt;Once you have created and configured the authentication profile, you can attach
&lt;br&gt;+it to the relevant wiki areas, either when the area is created or by editing
&lt;br&gt;+the area definition (via the &amp;quot;Create and edit Wiki areas&amp;quot; link on the admin
&lt;br&gt;+page).&amp;lt;/p&amp;gt;
&lt;br&gt;+
&lt;br&gt;+&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Limitations:&amp;lt;/b&amp;gt; Each wiki area is associated with a single authentication
&lt;br&gt;+profile so if the sandbox includes directories from other repositories (e.g.
&lt;br&gt;+via &amp;lt;tt&amp;gt;svn:externals&amp;lt;/tt&amp;gt;), all the different repositories must be accessible using
&lt;br&gt;+the same profile. &amp;nbsp;This limitation may be relaxed in a future version of
&lt;br&gt;+CoW.&amp;lt;/p&amp;gt;
&lt;br&gt;+
&lt;br&gt;+
&lt;br&gt;+&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.4.2.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.4.2. &amp;lt;/span&amp;gt;Setting wiki regeneration&amp;lt;/h3&amp;gt;
&lt;br&gt;+
&lt;br&gt;+&amp;lt;p&amp;gt;Wiki pages may refer to other wiki pages, via links and includes. They are
&lt;br&gt;+therefore dependent on each other. When you change a page, the dependencies
&lt;br&gt;+will also be updated. This may get out of sync (perhaps via a direct edit on
&lt;br&gt;+disk, or some other route). You can therefore regenerate wiki dependencies via
&lt;br&gt;+the admin interface. This is described further &amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;#regen&amp;quot;&amp;gt;below&amp;lt;/a&amp;gt;.&amp;lt;/p&amp;gt;
&lt;br&gt;+
&lt;br&gt;+
&lt;br&gt;+&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.4.3.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.4.3. &amp;lt;/span&amp;gt;Setting wiki updates&amp;lt;/h3&amp;gt;
&lt;br&gt;+
&lt;br&gt;+&amp;lt;p&amp;gt;A wiki is a working copy of an SVN repository, and so could get out of date
&lt;br&gt;+with respect to the repository. You can update the wiki working copy from the
&lt;br&gt;+admin interface (on the wiki admin page) in two ways:&amp;lt;/p&amp;gt;
&lt;br&gt;+
&lt;br&gt;+&amp;lt;ul&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;Set the update interval. The wiki working copy will be updated at this
&lt;br&gt;+ &amp;nbsp;interval, in minutes. An empty value (null) means that the wiki working copy
&lt;br&gt;+ &amp;nbsp;will never be updated. The default value for a new wiki is set in the wiki
&lt;br&gt;+ &amp;nbsp;config file, and is currently null.&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;Click the update button on the wiki admin page, to update now.&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;/ul&amp;gt;
&lt;br&gt;+
&lt;br&gt;+&amp;lt;p&amp;gt;If the wiki working copy is locked (e.g. by an update following an edit
&lt;br&gt;+checkin), then the update will be skipped. If there is a conflict, the update
&lt;br&gt;+will fail. &amp;nbsp;If the repository requires authentication this must have been set
&lt;br&gt;+up as described above.&amp;lt;/p&amp;gt;
&lt;br&gt;+
&lt;br&gt;+
&lt;br&gt;+&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.5.&amp;quot;/&amp;gt;&amp;lt;h2 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.5. &amp;lt;/span&amp;gt;Building and testing CoW&amp;lt;/h2&amp;gt;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;CoW is built with &amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;&lt;a href=&quot;http://ant.apache.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://ant.apache.org&lt;/a&gt;&amp;quot;&amp;gt;ant&amp;lt;/a&amp;gt;. For more documentation do
&lt;br&gt;&amp;nbsp;&amp;lt;tt&amp;gt;ant help&amp;lt;/tt&amp;gt; in the cow directory. To run CoW see next section.&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -1053,7 +1132,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.4.1.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.4.1. &amp;lt;/span&amp;gt;More about cruising&amp;lt;/h3&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.5.1.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.5.1. &amp;lt;/span&amp;gt;More about cruising&amp;lt;/h3&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;The &amp;lt;tt&amp;gt;cruise&amp;lt;/tt&amp;gt; target does a clean build and runs the Grails unit tests and the
&lt;br&gt;&amp;nbsp;Java-only tests (for YAM etc.). Functional tests used to use Canoo (ant target
&lt;br&gt;@@ -1086,7 +1165,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.4.2.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.4.2. &amp;lt;/span&amp;gt;Selenium tests&amp;lt;/h3&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.5.2.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.5.2. &amp;lt;/span&amp;gt;Selenium tests&amp;lt;/h3&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;Functional testing of CoW uses &amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;&lt;a href=&quot;http://selenium.seleniumhq.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://selenium.seleniumhq.org&lt;/a&gt;&amp;quot;&amp;gt;Selenium&amp;lt;/a&amp;gt;.
&lt;br&gt;&amp;nbsp;Selenium uses various bits of JavaScript magic to enable you to remote-control
&lt;br&gt;@@ -1112,7 +1191,7 @@
&lt;br&gt;&amp;nbsp;Selenium supports various
&lt;br&gt;&amp;nbsp;&amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;&lt;a href=&quot;http://selenium.seleniumhq.org/about/platforms.html#browsers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://selenium.seleniumhq.org/about/platforms.html#browsers&lt;/a&gt;&amp;quot;&amp;gt;different
&lt;br&gt;&amp;nbsp;browsers&amp;lt;/a&amp;gt;, though the current CoW test suite is only known to work reliably
&lt;br&gt;-on Firefox&amp;lt;span class=&amp;quot;cow-footnote&amp;quot; name=&amp;quot;footnote3&amp;quot;&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;a href=&amp;quot;#footnote3&amp;quot;&amp;gt;3&amp;lt;/a&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;/span&amp;gt;. &amp;nbsp;The default configuration
&lt;br&gt;+on Firefox&amp;lt;span class=&amp;quot;cow-footnote&amp;quot; name=&amp;quot;footnote4&amp;quot;&amp;gt;&amp;lt;sup&amp;gt;&amp;lt;a href=&amp;quot;#footnote4&amp;quot;&amp;gt;4&amp;lt;/a&amp;gt;&amp;lt;/sup&amp;gt;&amp;lt;/span&amp;gt;. &amp;nbsp;The default configuration
&lt;br&gt;&amp;nbsp;(specified in &amp;lt;tt&amp;gt;gatewiki/cow/selenium/test-selenium.properties.default&amp;lt;/tt&amp;gt;) runs
&lt;br&gt;&amp;nbsp;the Firefox browser, and expects to find the &amp;lt;tt&amp;gt;firefox-bin&amp;lt;/tt&amp;gt; executable on your
&lt;br&gt;&amp;nbsp;path (Linux) or for Firefox to be installed in the default location
&lt;br&gt;@@ -1145,7 +1224,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.4.2.1.&amp;quot;/&amp;gt;&amp;lt;h4 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.4.2.1. &amp;lt;/span&amp;gt;Developing new tests&amp;lt;/h4&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.5.2.1.&amp;quot;/&amp;gt;&amp;lt;h4 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.5.2.1. &amp;lt;/span&amp;gt;Developing new tests&amp;lt;/h4&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;To develop a new selenium test it is easiest to use the Selenium IDE Firefox
&lt;br&gt;&amp;nbsp;plugin. &amp;nbsp;Start up a test instance of CoW in the relevant mode using &amp;lt;tt&amp;gt;ant
&lt;br&gt;@@ -1162,7 +1241,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.4.3.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.4.3. &amp;lt;/span&amp;gt;Upgrading to new Grails versions&amp;lt;/h3&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.5.3.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.5.3. &amp;lt;/span&amp;gt;Upgrading to new Grails versions&amp;lt;/h3&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;ul&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;li&amp;gt;svn up &amp;amp;&amp;amp; ant clean jar in grails&amp;lt;/li&amp;gt;
&lt;br&gt;@@ -1175,7 +1254,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.4.4.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.4.4. &amp;lt;/span&amp;gt;Using the YAM Tests&amp;lt;/h3&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.5.4.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.5.4. &amp;lt;/span&amp;gt;Using the YAM Tests&amp;lt;/h3&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;The test suite uses a bunch of &amp;lt;tt&amp;gt;.yam&amp;lt;/tt&amp;gt; and compiled &amp;lt;tt&amp;gt;.html&amp;lt;/tt&amp;gt; files in
&lt;br&gt;&amp;nbsp;&amp;lt;tt&amp;gt;cow/test/resources&amp;lt;/tt&amp;gt;. After running the tests the script
&lt;br&gt;@@ -1208,7 +1287,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.4.5.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.4.5. &amp;lt;/span&amp;gt;Grails/Spring/JSecurity and the upload function&amp;lt;/h3&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.5.5.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.5.5. &amp;lt;/span&amp;gt;Grails/Spring/JSecurity and the upload function&amp;lt;/h3&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;There is currently a problem between Grails/Spring and the JSecurity plugin
&lt;br&gt;&amp;nbsp;when uploading a file that we hope will be solved in future updates.&amp;lt;/p&amp;gt;
&lt;br&gt;@@ -1220,9 +1299,43 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.6.&amp;quot;/&amp;gt;&amp;lt;h2 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.6. &amp;lt;/span&amp;gt;Subversion versions&amp;lt;/h2&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-&amp;lt;p&amp;gt;&amp;lt;a name=&amp;quot;config&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.5.&amp;quot;/&amp;gt;&amp;lt;h2 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.5. &amp;lt;/span&amp;gt;Configuring CoW&amp;lt;/h2&amp;gt;
&lt;br&gt;+&amp;lt;p&amp;gt;(This note is only relevant to those using local copies of SVN tree. By the
&lt;br&gt;+time you read this the version number have probably changed.)&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+&amp;lt;p&amp;gt;Wiki areas in CoW are subversion sandbox directories. &amp;nbsp;There are many different
&lt;br&gt;+versions of the subversion Java and command line tools, and each version is
&lt;br&gt;+associated with a particular format of the control files under the &amp;lt;tt&amp;gt;.svn&amp;lt;/tt&amp;gt;
&lt;br&gt;+directory in the sandbox. &amp;nbsp;Generally speaking, later versions of subversion
&lt;br&gt;+tools can read sandboxes created by earlier versions, but in doing so they
&lt;br&gt;+transparently &amp;quot;upgrade&amp;quot; the sandbox to the newer format. &amp;nbsp;Once this happens in
&lt;br&gt;+a particular sandbox, that sandbox will no longer be readable by the earlier
&lt;br&gt;+version.&amp;lt;/p&amp;gt;
&lt;br&gt;+
&lt;br&gt;+&amp;lt;p&amp;gt;CoW's subversion support is provided by the &amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;&lt;a href=&quot;http://svnkit.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svnkit.com&lt;/a&gt;&amp;quot;&amp;gt;SVNKit&amp;lt;/a&amp;gt;
&lt;br&gt;+library. At the time of writing we are using version 1.2.0, which works with
&lt;br&gt;+the same working copy format as the 1.5 series &amp;lt;tt&amp;gt;svn&amp;lt;/tt&amp;gt; command-line tool. &amp;nbsp;This
&lt;br&gt;+means that, for example:&amp;lt;/p&amp;gt;
&lt;br&gt;+
&lt;br&gt;+&amp;lt;ul&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;If you use CoW with a sandbox that was created by &amp;lt;tt&amp;gt;svn&amp;lt;/tt&amp;gt; version 1.4 or
&lt;br&gt;+ &amp;nbsp;earlier, that sandbox will no longer be usable by the 1.4 version
&lt;br&gt;+ &amp;nbsp;command-line tools.&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;If you use 1.6-series command-line tools on a sandbox, that sandbox will no
&lt;br&gt;+ &amp;nbsp;longer be readable by CoW.&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;/ul&amp;gt;
&lt;br&gt;+
&lt;br&gt;+&amp;lt;p&amp;gt;If you intend to use CoW in workstation mode you must use a compatible, e.g.
&lt;br&gt;+1.5-series command-line client. &amp;nbsp;If your command-line client is version e.g.
&lt;br&gt;+1.6 you will need to upgrade the &amp;lt;tt&amp;gt;svnkit&amp;lt;/tt&amp;gt; JAR used by CoW to version 1.3.0
&lt;br&gt;+(which speaks the 1.6 protocol).&amp;lt;/p&amp;gt;
&lt;br&gt;+
&lt;br&gt;+
&lt;br&gt;+&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;+
&lt;br&gt;+&amp;lt;p&amp;gt;&amp;lt;a name=&amp;quot;config&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.7.&amp;quot;/&amp;gt;&amp;lt;h2 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.7. &amp;lt;/span&amp;gt;Configuring CoW&amp;lt;/h2&amp;gt;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;Configuration options in CoW are dealt with in the normal
&lt;br&gt;&amp;nbsp;&amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;&lt;a href=&quot;http://www.grails.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.grails.org/&lt;/a&gt;&amp;quot;&amp;gt;Grails&amp;lt;/a&amp;gt; fashion in a file called &amp;lt;tt&amp;gt;Config.groovy&amp;lt;/tt&amp;gt;; to
&lt;br&gt;&amp;nbsp;override these options create a file called &amp;lt;tt&amp;gt;.cowrc.groovy&amp;lt;/tt&amp;gt; in your home
&lt;br&gt;@@ -1253,14 +1366,14 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.6.&amp;quot;/&amp;gt;&amp;lt;h2 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.6. &amp;lt;/span&amp;gt;CoW's Data Area&amp;lt;/h2&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.8.&amp;quot;/&amp;gt;&amp;lt;h2 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.8. &amp;lt;/span&amp;gt;CoW's Data Area&amp;lt;/h2&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;CoW stores all user data in a directory called &amp;lt;tt&amp;gt;.cowrc.d&amp;lt;/tt&amp;gt; (on &amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;*&amp;lt;/span&amp;gt;NIX), which is
&lt;br&gt;&amp;nbsp;by default in the user's home directory.&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.6.1.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.6.1. &amp;lt;/span&amp;gt;SVN Config Directory&amp;lt;/h3&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.8.1.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.8.1. &amp;lt;/span&amp;gt;SVN Config Directory&amp;lt;/h3&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;The &amp;lt;tt&amp;gt;svnconfig&amp;lt;/tt&amp;gt; directory stores files related to how SVN works within CoW.
&lt;br&gt;&amp;nbsp;This is a standard SVN config directory (i.e. it is the same as
&lt;br&gt;@@ -1273,10 +1386,10 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.7.&amp;quot;/&amp;gt;&amp;lt;h2 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.7. &amp;lt;/span&amp;gt;Deploying and Running CoW&amp;lt;/h2&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.9.&amp;quot;/&amp;gt;&amp;lt;h2 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.9. &amp;lt;/span&amp;gt;Deploying and Running CoW&amp;lt;/h2&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.7.1.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.7.1. &amp;lt;/span&amp;gt;Starting and stopping&amp;lt;/h3&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.9.1.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.9.1. &amp;lt;/span&amp;gt;Starting and stopping&amp;lt;/h3&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;The easiest way to run (or deploy) CoW is via Grails. If you're developing
&lt;br&gt;&amp;nbsp;then use Grails' &amp;lt;tt&amp;gt;run-app&amp;lt;/tt&amp;gt;; for production use &amp;lt;tt&amp;gt;run-war&amp;lt;/tt&amp;gt;. CoW's build file
&lt;br&gt;@@ -1311,7 +1424,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.7.2.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.7.2. &amp;lt;/span&amp;gt;Portability of the .cowrc.d directory&amp;lt;/h3&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.9.2.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.9.2. &amp;lt;/span&amp;gt;Portability of the .cowrc.d directory&amp;lt;/h3&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;If you want to move the data from a CoW installation into a different
&lt;br&gt;&amp;nbsp;location, you need to do two things:&amp;lt;/p&amp;gt;
&lt;br&gt;@@ -1331,7 +1444,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.7.3.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.7.3. &amp;lt;/span&amp;gt;Apache 2 virtual hosts and CoW proxying&amp;lt;/h3&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.9.3.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.9.3. &amp;lt;/span&amp;gt;Apache 2 virtual hosts and CoW proxying&amp;lt;/h3&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;This section describes running multiple websites (e.g. &amp;lt;tt&amp;gt;&amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;&lt;a href=&quot;http://gate.ac.uk/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gate.ac.uk/&lt;/a&gt;&amp;quot;&amp;gt;&lt;a href=&quot;http://gate.ac.uk/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gate.ac.uk/&lt;/a&gt;&amp;lt;/a&amp;gt;&amp;lt;/tt&amp;gt;
&lt;br&gt;&amp;nbsp;and &amp;lt;tt&amp;gt;&amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;&lt;a href=&quot;http://gatecloud.net&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatecloud.net&lt;/a&gt;&amp;quot;&amp;gt;&lt;a href=&quot;http://gatecloud.net&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatecloud.net&lt;/a&gt;&amp;lt;/a&amp;gt;&amp;lt;/tt&amp;gt;) on a single physical server using Apache
&lt;br&gt;@@ -1432,7 +1545,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-&amp;lt;p&amp;gt;&amp;lt;a name=&amp;quot;deployment&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.7.4.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.7.4. &amp;lt;/span&amp;gt;Production Deployment and Upgrade&amp;lt;/h3&amp;gt;
&lt;br&gt;+&amp;lt;p&amp;gt;&amp;lt;a name=&amp;quot;deployment&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.9.4.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.9.4. &amp;lt;/span&amp;gt;Production Deployment and Upgrade&amp;lt;/h3&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;When deploying GATEWiki these elements need to be born in mind:&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -1502,7 +1615,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-&amp;lt;p&amp;gt;&amp;lt;a name=&amp;quot;runtime-dependencies&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.7.5.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.7.5. &amp;lt;/span&amp;gt;Deployment and runtime dependencies&amp;lt;/h3&amp;gt;
&lt;br&gt;+&amp;lt;p&amp;gt;&amp;lt;a name=&amp;quot;runtime-dependencies&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.9.5.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.9.5. &amp;lt;/span&amp;gt;Deployment and runtime dependencies&amp;lt;/h3&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;This note discusses two issues:&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -1610,7 +1723,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-&amp;lt;p&amp;gt;&amp;lt;a name=&amp;quot;saving-space&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.7.5.1.&amp;quot;/&amp;gt;&amp;lt;h4 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.7.5.1. &amp;lt;/span&amp;gt;Saving space&amp;lt;/h4&amp;gt;
&lt;br&gt;+&amp;lt;p&amp;gt;&amp;lt;a name=&amp;quot;saving-space&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.9.5.1.&amp;quot;/&amp;gt;&amp;lt;h4 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.9.5.1. &amp;lt;/span&amp;gt;Saving space&amp;lt;/h4&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;At the time of writing we have the following raw sizes for the runtime
&lt;br&gt;&amp;nbsp;dependencies discussed above (total ~450M):&amp;lt;/p&amp;gt;
&lt;br&gt;@@ -1643,10 +1756,10 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.8.&amp;quot;/&amp;gt;&amp;lt;h2 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.8. &amp;lt;/span&amp;gt;Structure, Naming and Code Conventions&amp;lt;/h2&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.10.&amp;quot;/&amp;gt;&amp;lt;h2 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.10. &amp;lt;/span&amp;gt;Structure, Naming and Code Conventions&amp;lt;/h2&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.8.1.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.8.1. &amp;lt;/span&amp;gt;Naming and Other Code Conventions&amp;lt;/h3&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.10.1.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.10.1. &amp;lt;/span&amp;gt;Naming and Other Code Conventions&amp;lt;/h3&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;GATEWiki uses the GATE coding conventions.&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -1661,7 +1774,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.8.2.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.8.2. &amp;lt;/span&amp;gt;Structure&amp;lt;/h3&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.10.2.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.10.2. &amp;lt;/span&amp;gt;Structure&amp;lt;/h3&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;CoW is made up of the following components (and numerous 3rd party libraries):&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -1677,7 +1790,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.8.2.1.&amp;quot;/&amp;gt;&amp;lt;h4 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.8.2.1. &amp;lt;/span&amp;gt;Main classes and Grails objects&amp;lt;/h4&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.10.2.1.&amp;quot;/&amp;gt;&amp;lt;h4 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.10.2.1. &amp;lt;/span&amp;gt;Main classes and Grails objects&amp;lt;/h4&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;The CoW webapp is organised around the concept of wiki/content areas, which
&lt;br&gt;&amp;nbsp;are file trees stored in SVN. &amp;nbsp;What CoW then provides is &amp;lt;/p&amp;gt;
&lt;br&gt;@@ -1744,7 +1857,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.9.&amp;quot;/&amp;gt;&amp;lt;h2 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.9. &amp;lt;/span&amp;gt;Authentication and Authorisation&amp;lt;/h2&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.11.&amp;quot;/&amp;gt;&amp;lt;h2 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.11. &amp;lt;/span&amp;gt;Authentication and Authorisation&amp;lt;/h2&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Important note:&amp;lt;/b&amp;gt; a new GATE wiki installation has a default user,
&lt;br&gt;&amp;nbsp;scott. Scott is an adminstrator, he can do anything. He has the traditional
&lt;br&gt;@@ -1761,7 +1874,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.9.1.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.9.1. &amp;lt;/span&amp;gt;Grails JSecurity plugin&amp;lt;/h3&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.11.1.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.11.1. &amp;lt;/span&amp;gt;Grails JSecurity plugin&amp;lt;/h3&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;Authentication and authorisation uses &amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;&lt;a href=&quot;http://grails.org/JSecurity+Plugin&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://grails.org/JSecurity+Plugin&lt;/a&gt;&amp;quot;&amp;gt;the JSecurity plugin for Grails&amp;lt;/a&amp;gt;. &amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -1788,7 +1901,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.9.2.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.9.2. &amp;lt;/span&amp;gt;Grails JCaptcha plugin&amp;lt;/h3&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.11.2.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.11.2. &amp;lt;/span&amp;gt;Grails JCaptcha plugin&amp;lt;/h3&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;User registration attempts to prevent registration of bots, using
&lt;br&gt;&amp;nbsp;&amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;&lt;a href=&quot;http://grails.org/JCaptcha+Plugin&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://grails.org/JCaptcha+Plugin&lt;/a&gt;&amp;quot;&amp;gt;the JCaptcha plugin for Grails&amp;lt;/a&amp;gt;:&amp;lt;/p&amp;gt;
&lt;br&gt;@@ -1802,7 +1915,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.9.3.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.9.3. &amp;lt;/span&amp;gt;Users, roles, permissions, actions&amp;lt;/h3&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.11.3.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.11.3. &amp;lt;/span&amp;gt;Users, roles, permissions, actions&amp;lt;/h3&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;Security is based around users, roles, and permissions.&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -1887,7 +2000,7 @@
&lt;br&gt;&amp;nbsp;thread&amp;lt;/a&amp;gt; for a useful description of how permissions work.&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.9.3.1.&amp;quot;/&amp;gt;&amp;lt;h4 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.9.3.1. &amp;lt;/span&amp;gt;Directory level authorisation
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.11.3.1.&amp;quot;/&amp;gt;&amp;lt;h4 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.11.3.1. &amp;lt;/span&amp;gt;Directory level authorisation
&lt;br&gt;&amp;nbsp;&amp;lt;a name=&amp;quot;dirauth&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/h4&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;For actions of the page controller, Gatewiki permissions gives authorisation
&lt;br&gt;@@ -2056,7 +2169,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.9.3.2.&amp;quot;/&amp;gt;&amp;lt;h4 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.9.3.2. &amp;lt;/span&amp;gt;Access to non-page controllers via CowPermission control&amp;lt;/h4&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.11.3.2.&amp;quot;/&amp;gt;&amp;lt;h4 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.11.3.2. &amp;lt;/span&amp;gt;Access to non-page controllers via CowPermission control&amp;lt;/h4&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;The SecurityFilter and the Jsecurity code give access to wiki pages via the
&lt;br&gt;&amp;nbsp;&amp;quot;page&amp;quot; controller. They are also configured at bootstrap to give some access
&lt;br&gt;@@ -2082,7 +2195,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.9.3.3.&amp;quot;/&amp;gt;&amp;lt;h4 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.9.3.3. &amp;lt;/span&amp;gt;User and password constraints&amp;lt;/h4&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.11.3.3.&amp;quot;/&amp;gt;&amp;lt;h4 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.11.3.3. &amp;lt;/span&amp;gt;User and password constraints&amp;lt;/h4&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;Constraints on users are enforced by a UserCommand and PasswordCommand, which
&lt;br&gt;&amp;nbsp;are used in a couple of places. Together, they define more fields than
&lt;br&gt;@@ -2092,7 +2205,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.9.3.4.&amp;quot;/&amp;gt;&amp;lt;h4 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.9.3.4. &amp;lt;/span&amp;gt;Security in workstation and server modes&amp;lt;/h4&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.11.3.4.&amp;quot;/&amp;gt;&amp;lt;h4 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.11.3.4. &amp;lt;/span&amp;gt;Security in workstation and server modes&amp;lt;/h4&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;ul&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;li&amp;gt;Security is turned on only for server mode.&amp;lt;/li&amp;gt;
&lt;br&gt;@@ -2105,7 +2218,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.9.4.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.9.4. &amp;lt;/span&amp;gt;Pre-defined security objects&amp;lt;/h3&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.11.4.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.11.4. &amp;lt;/span&amp;gt;Pre-defined security objects&amp;lt;/h3&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;The above gives an abstract view of how security works. In a default GATE wiki
&lt;br&gt;&amp;nbsp;installation, there will be several pre-defined security objects that you can
&lt;br&gt;@@ -2216,7 +2329,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.9.5.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.9.5. &amp;lt;/span&amp;gt;Tag library&amp;lt;/h3&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.11.5.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.11.5. &amp;lt;/span&amp;gt;Tag library&amp;lt;/h3&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;In addition to the tags defined by Jsecurity (&amp;lt;b&amp;gt;note&amp;lt;/b&amp;gt; do not use jsec:
&lt;br&gt;&amp;nbsp;prinicipal, see below), the following are available in SecurityTagLib:&amp;lt;/p&amp;gt;
&lt;br&gt;@@ -2242,7 +2355,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.9.6.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.9.6. &amp;lt;/span&amp;gt;Code dependencies between Jsecurity and GATE Wiki&amp;lt;/h3&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.11.6.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.11.6. &amp;lt;/span&amp;gt;Code dependencies between Jsecurity and GATE Wiki&amp;lt;/h3&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;There are very few! Of course, there are lots of pages specific to security
&lt;br&gt;&amp;nbsp;and its administration. But it shouldn't be too hard to tease these apart from
&lt;br&gt;@@ -2263,7 +2376,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.9.7.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.9.7. &amp;lt;/span&amp;gt;Known vulnerabilities and avoiding them&amp;lt;/h3&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.11.7.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.11.7. &amp;lt;/span&amp;gt;Known vulnerabilities and avoiding them&amp;lt;/h3&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;ul&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;li&amp;gt;Passwords are posted cleartext, This might not be a problem for most setups.
&lt;br&gt;@@ -2284,7 +2397,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-&amp;lt;p&amp;gt;&amp;lt;a name=&amp;quot;site-specific&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.10.&amp;quot;/&amp;gt;&amp;lt;h2 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.10. &amp;lt;/span&amp;gt;Site- and Wiki-Specific Layout and Navigation&amp;lt;/h2&amp;gt;
&lt;br&gt;+&amp;lt;p&amp;gt;&amp;lt;a name=&amp;quot;site-specific&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.12.&amp;quot;/&amp;gt;&amp;lt;h2 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.12. &amp;lt;/span&amp;gt;Site- and Wiki-Specific Layout and Navigation&amp;lt;/h2&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;CoW's look and feel is a masterpiece of minimalist aesthetics, the like of
&lt;br&gt;&amp;nbsp;which is seldom seen in this age of extravagant waste, technological frenzy
&lt;br&gt;@@ -2305,7 +2418,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-&amp;lt;p&amp;gt;&amp;lt;a name=&amp;quot;navigation&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.10.1.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.10.1. &amp;lt;/span&amp;gt;Navigation&amp;lt;/h3&amp;gt;
&lt;br&gt;+&amp;lt;p&amp;gt;&amp;lt;a name=&amp;quot;navigation&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.12.1.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.12.1. &amp;lt;/span&amp;gt;Navigation&amp;lt;/h3&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;Navigation that applies to the whole site or to a whole wiki area is probably
&lt;br&gt;&amp;nbsp;best put into a Grails layout plugin - see &amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;#guest-layouts&amp;quot;&amp;gt;replacing the
&lt;br&gt;@@ -2352,7 +2465,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.10.2.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.10.2. &amp;lt;/span&amp;gt;Replacing the Main Page Layout &amp;lt;a name=&amp;quot;guest-layouts&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/h3&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.12.2.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.12.2. &amp;lt;/span&amp;gt;Replacing the Main Page Layout &amp;lt;a name=&amp;quot;guest-layouts&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/h3&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;If you want to replace the entire look of the site (or a particular wiki
&lt;br&gt;&amp;nbsp;area), then you need to create a Grails plugin and supply a Sitemesh layout,
&lt;br&gt;@@ -2411,7 +2524,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.10.3.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.10.3. &amp;lt;/span&amp;gt;Changing the Title or Logo&amp;lt;/h3&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.12.3.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.12.3. &amp;lt;/span&amp;gt;Changing the Title or Logo&amp;lt;/h3&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;If you want to replace change a few small things like the name of the site
&lt;br&gt;&amp;nbsp;(which gets put in the page titles) or the main logo, then you just need to
&lt;br&gt;@@ -2439,7 +2552,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-&amp;lt;p&amp;gt;&amp;lt;a name=&amp;quot;raw-html&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.10.4.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.10.4. &amp;lt;/span&amp;gt;Dealing with non-native HTML pages&amp;lt;/h3&amp;gt;
&lt;br&gt;+&amp;lt;p&amp;gt;&amp;lt;a name=&amp;quot;raw-html&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.12.4.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.12.4. &amp;lt;/span&amp;gt;Dealing with non-native HTML pages&amp;lt;/h3&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;Non-native HTML pages are those which are not generated from YAM markup, i.e.
&lt;br&gt;&amp;nbsp;are not really managed by CoW as wiki pages. CoW will serve any old HTML page
&lt;br&gt;@@ -2507,7 +2620,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-&amp;lt;p&amp;gt;&amp;lt;a name=&amp;quot;regen&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.11.&amp;quot;/&amp;gt;&amp;lt;h2 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.11. &amp;lt;/span&amp;gt;Referencing and regeneration&amp;lt;/h2&amp;gt;
&lt;br&gt;+&amp;lt;p&amp;gt;&amp;lt;a name=&amp;quot;regen&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.13.&amp;quot;/&amp;gt;&amp;lt;h2 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.13. &amp;lt;/span&amp;gt;Referencing and regeneration&amp;lt;/h2&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;The problem is that a create/rename/delete/modify operation on a .yam should
&lt;br&gt;&amp;nbsp;be cascaded through any files that link to or include it. &amp;nbsp;The relevant data
&lt;br&gt;@@ -2554,13 +2667,13 @@
&lt;br&gt;&amp;nbsp;&amp;lt;/ul&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;The current design is to use YamFile.generate.&amp;lt;/p&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.11.1.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.11.1. &amp;lt;/span&amp;gt;Serialization&amp;lt;/h3&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.13.1.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.13.1. &amp;lt;/span&amp;gt;Serialization&amp;lt;/h3&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;Dependencies are serialized to the directory conf.gate.cow.dbs, one file per
&lt;br&gt;&amp;nbsp;wiki. They are serialized on shutdown and periodically during uptime. Periodic
&lt;br&gt;&amp;nbsp;serialization is carried out (once a minute) by DependenciesJob. They are
&lt;br&gt;&amp;nbsp;deserialized lazily, as required.&amp;lt;/p&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.11.2.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.11.2. &amp;lt;/span&amp;gt;Regeneration&amp;lt;/h3&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.13.2.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.13.2. &amp;lt;/span&amp;gt;Regeneration&amp;lt;/h3&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;Dependencies for a single wiki are regenerated on four occasions:&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -2579,7 +2692,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.11.3.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.11.3. &amp;lt;/span&amp;gt;Speed of Running SVN Status&amp;lt;/h3&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.13.3.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.13.3. &amp;lt;/span&amp;gt;Speed of Running SVN Status&amp;lt;/h3&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;As noted above, YAM files managed by the wiki can be changed in several ways:&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;ul&amp;gt;
&lt;br&gt;@@ -2649,7 +2762,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.12.&amp;quot;/&amp;gt;&amp;lt;h2 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.12. &amp;lt;/span&amp;gt;Sourceforge notes&amp;lt;/h2&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.14.&amp;quot;/&amp;gt;&amp;lt;h2 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.14. &amp;lt;/span&amp;gt;Sourceforge notes&amp;lt;/h2&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;ul&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;li&amp;gt;&amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;&lt;a href=&quot;http://sf.net/projects/gatewiki/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://sf.net/projects/gatewiki/&lt;/a&gt;&amp;quot;&amp;gt;the Sourceforge project&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;@@ -2669,7 +2782,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.13.&amp;quot;/&amp;gt;&amp;lt;h2 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.13. &amp;lt;/span&amp;gt;Grails MVC notes&amp;lt;/h2&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.15.&amp;quot;/&amp;gt;&amp;lt;h2 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.15. &amp;lt;/span&amp;gt;Grails MVC notes&amp;lt;/h2&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;ul&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;li&amp;gt;A request that hits the application context path (e.g. &amp;quot;cow&amp;quot;) is first
&lt;br&gt;@@ -2686,7 +2799,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.14.&amp;quot;/&amp;gt;&amp;lt;h2 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.14. &amp;lt;/span&amp;gt;IntelliJ notes&amp;lt;/h2&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.16.&amp;quot;/&amp;gt;&amp;lt;h2 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.16. &amp;lt;/span&amp;gt;IntelliJ notes&amp;lt;/h2&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;ul&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;li&amp;gt;download the IDEA from
&lt;br&gt;@@ -2727,7 +2840,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-&amp;lt;p&amp;gt;&amp;lt;a name=&amp;quot;search&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.15.&amp;quot;/&amp;gt;&amp;lt;h2 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.15. &amp;lt;/span&amp;gt;Search infrastructure&amp;lt;/h2&amp;gt;
&lt;br&gt;+&amp;lt;p&amp;gt;&amp;lt;a name=&amp;quot;search&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.17.&amp;quot;/&amp;gt;&amp;lt;h2 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.17. &amp;lt;/span&amp;gt;Search infrastructure&amp;lt;/h2&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;CoW uses a combination of Nutch and Solr for indexing and search of wiki
&lt;br&gt;&amp;nbsp;areas.&amp;lt;/p&amp;gt;
&lt;br&gt;@@ -2746,10 +2859,10 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.15.1.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.15.1. &amp;lt;/span&amp;gt;Installation&amp;lt;/h3&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.17.1.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.17.1. &amp;lt;/span&amp;gt;Installation&amp;lt;/h3&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.15.1.1.&amp;quot;/&amp;gt;&amp;lt;h4 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.15.1.1. &amp;lt;/span&amp;gt;Directory structure&amp;lt;/h4&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.17.1.1.&amp;quot;/&amp;gt;&amp;lt;h4 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.17.1.1. &amp;lt;/span&amp;gt;Directory structure&amp;lt;/h4&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;ul&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;li&amp;gt;Nutch and Solr are checked into &amp;lt;tt&amp;gt;gatewiki/nutch-solr&amp;lt;/tt&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;@@ -2815,7 +2928,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.15.1.2.&amp;quot;/&amp;gt;&amp;lt;h4 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.15.1.2. &amp;lt;/span&amp;gt;Enabling Solr&amp;lt;/h4&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.17.1.2.&amp;quot;/&amp;gt;&amp;lt;h4 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.17.1.2. &amp;lt;/span&amp;gt;Enabling Solr&amp;lt;/h4&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;By default Solr is disabled. &amp;nbsp;To tell CoW to run Solr (when being run via
&lt;br&gt;&amp;nbsp;Grails) set gate.CoW.solr.run to true in the config. Also make sure that the
&lt;br&gt;@@ -2823,11 +2936,11 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.15.2.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.15.2. &amp;lt;/span&amp;gt;Indexing wikis/individual files from CoW&amp;lt;/h3&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.17.2.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.17.2. &amp;lt;/span&amp;gt;Indexing wikis/individual files from CoW&amp;lt;/h3&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-&amp;lt;p&amp;gt;&amp;lt;a name=&amp;quot;indexing&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.15.2.1.&amp;quot;/&amp;gt;&amp;lt;h4 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.15.2.1. &amp;lt;/span&amp;gt;Indexing individual Wiki areas&amp;lt;/h4&amp;gt;
&lt;br&gt;+&amp;lt;p&amp;gt;&amp;lt;a name=&amp;quot;indexing&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.17.2.1.&amp;quot;/&amp;gt;&amp;lt;h4 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.17.2.1. &amp;lt;/span&amp;gt;Indexing individual Wiki areas&amp;lt;/h4&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;ul&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;li&amp;gt;Login as someone with administration rights.&amp;lt;/li&amp;gt;
&lt;br&gt;@@ -2844,7 +2957,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.15.2.2.&amp;quot;/&amp;gt;&amp;lt;h4 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.15.2.2. &amp;lt;/span&amp;gt;Indexing individual files&amp;lt;/h4&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.17.2.2.&amp;quot;/&amp;gt;&amp;lt;h4 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.17.2.2. &amp;lt;/span&amp;gt;Indexing individual files&amp;lt;/h4&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;Whenever a file is created, uploaded or edited, it is queued for indexing. One
&lt;br&gt;&amp;nbsp;of the quartz jobs is dedicated for the indexing purpose only. It runs every
&lt;br&gt;@@ -2853,7 +2966,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.15.3.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.15.3. &amp;lt;/span&amp;gt;Searching&amp;lt;/h3&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.17.3.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.17.3. &amp;lt;/span&amp;gt;Searching&amp;lt;/h3&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;A search box is provided at the top right corner of the page that allows
&lt;br&gt;&amp;nbsp;searching within a wiki area that the current page belongs to. &amp;nbsp;In other
&lt;br&gt;@@ -2876,13 +2989,13 @@
&lt;br&gt;&amp;nbsp;filtered out and not included in the search result.&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;&lt;br&gt;@@ Diff output truncated at 100000 characters. @@
&lt;br&gt;&lt;br&gt;This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;gatewiki-commits mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26425429&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gatewiki-commits@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-1858--trunk-cow-doc-tp26425429p26425429.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26424553</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[1857] trunk/cow</title>
	<published>2009-11-19T03:19:09Z</published>
	<updated>2009-11-19T03:19:09Z</updated>
	<author>
		<name>markagreenwood</name>
	</author>
	<content type="html">Revision: 1857
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1857&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1857&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; markagreenwood
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-11-19 11:19:09 +0000 (Thu, 19 Nov 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;added a simple JMeter testfor performing load testing
&lt;br&gt;&lt;br&gt;Added Paths:
&lt;br&gt;-----------
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/jmeter/
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/jmeter/get-index-html.jmx
&lt;br&gt;&lt;br&gt;Added: trunk/cow/jmeter/get-index-html.jmx
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/jmeter/get-index-html.jmx	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(rev 0)
&lt;br&gt;+++ trunk/cow/jmeter/get-index-html.jmx	2009-11-19 11:19:09 UTC (rev 1857)
&lt;br&gt;@@ -0,0 +1,139 @@
&lt;br&gt;+&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;
&lt;br&gt;+&amp;lt;jmeterTestPlan version=&amp;quot;1.2&amp;quot; properties=&amp;quot;2.1&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;hashTree&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;TestPlan guiclass=&amp;quot;TestPlanGui&amp;quot; testclass=&amp;quot;TestPlan&amp;quot; testname=&amp;quot;CoW Index Page&amp;quot; enabled=&amp;quot;true&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;stringProp name=&amp;quot;TestPlan.comments&amp;quot;&amp;gt;&amp;lt;/stringProp&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;boolProp name=&amp;quot;TestPlan.functional_mode&amp;quot;&amp;gt;false&amp;lt;/boolProp&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;boolProp name=&amp;quot;TestPlan.serialize_threadgroups&amp;quot;&amp;gt;false&amp;lt;/boolProp&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;elementProp name=&amp;quot;TestPlan.user_defined_variables&amp;quot; elementType=&amp;quot;Arguments&amp;quot; guiclass=&amp;quot;ArgumentsPanel&amp;quot; testclass=&amp;quot;Arguments&amp;quot; testname=&amp;quot;User Defined Variables&amp;quot; enabled=&amp;quot;true&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;collectionProp name=&amp;quot;Arguments.arguments&amp;quot;/&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/elementProp&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;stringProp name=&amp;quot;TestPlan.user_define_classpath&amp;quot;&amp;gt;&amp;lt;/stringProp&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;/TestPlan&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;hashTree&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ThreadGroup guiclass=&amp;quot;ThreadGroupGui&amp;quot; testclass=&amp;quot;ThreadGroup&amp;quot; testname=&amp;quot;Thread Group&amp;quot; enabled=&amp;quot;true&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;elementProp name=&amp;quot;ThreadGroup.main_controller&amp;quot; elementType=&amp;quot;LoopController&amp;quot; guiclass=&amp;quot;LoopControlPanel&amp;quot; testclass=&amp;quot;LoopController&amp;quot; testname=&amp;quot;Loop Controller&amp;quot; enabled=&amp;quot;true&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;boolProp name=&amp;quot;LoopController.continue_forever&amp;quot;&amp;gt;false&amp;lt;/boolProp&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;stringProp name=&amp;quot;LoopController.loops&amp;quot;&amp;gt;1&amp;lt;/stringProp&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/elementProp&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;stringProp name=&amp;quot;ThreadGroup.num_threads&amp;quot;&amp;gt;1000&amp;lt;/stringProp&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;stringProp name=&amp;quot;ThreadGroup.ramp_time&amp;quot;&amp;gt;10&amp;lt;/stringProp&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;longProp name=&amp;quot;ThreadGroup.start_time&amp;quot;&amp;gt;1258624994000&amp;lt;/longProp&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;longProp name=&amp;quot;ThreadGroup.end_time&amp;quot;&amp;gt;1258624994000&amp;lt;/longProp&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;boolProp name=&amp;quot;ThreadGroup.scheduler&amp;quot;&amp;gt;false&amp;lt;/boolProp&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;stringProp name=&amp;quot;ThreadGroup.on_sample_error&amp;quot;&amp;gt;continue&amp;lt;/stringProp&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;stringProp name=&amp;quot;ThreadGroup.duration&amp;quot;&amp;gt;&amp;lt;/stringProp&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;stringProp name=&amp;quot;ThreadGroup.delay&amp;quot;&amp;gt;&amp;lt;/stringProp&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/ThreadGroup&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;hashTree&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;HTTPSampler guiclass=&amp;quot;HttpTestSampleGui&amp;quot; testclass=&amp;quot;HTTPSampler&amp;quot; testname=&amp;quot;HTTP Request&amp;quot; enabled=&amp;quot;true&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;elementProp name=&amp;quot;HTTPsampler.Arguments&amp;quot; elementType=&amp;quot;Arguments&amp;quot; guiclass=&amp;quot;HTTPArgumentsPanel&amp;quot; testclass=&amp;quot;Arguments&amp;quot; testname=&amp;quot;User Defined Variables&amp;quot; enabled=&amp;quot;true&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;collectionProp name=&amp;quot;Arguments.arguments&amp;quot;/&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/elementProp&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;stringProp name=&amp;quot;HTTPSampler.domain&amp;quot;&amp;gt;127.0.0.1&amp;lt;/stringProp&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;stringProp name=&amp;quot;HTTPSampler.port&amp;quot;&amp;gt;8080&amp;lt;/stringProp&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;stringProp name=&amp;quot;HTTPSampler.connect_timeout&amp;quot;&amp;gt;&amp;lt;/stringProp&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;stringProp name=&amp;quot;HTTPSampler.response_timeout&amp;quot;&amp;gt;&amp;lt;/stringProp&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;stringProp name=&amp;quot;HTTPSampler.protocol&amp;quot;&amp;gt;&amp;lt;/stringProp&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;stringProp name=&amp;quot;HTTPSampler.contentEncoding&amp;quot;&amp;gt;&amp;lt;/stringProp&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;stringProp name=&amp;quot;HTTPSampler.path&amp;quot;&amp;gt;index.html&amp;lt;/stringProp&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;stringProp name=&amp;quot;HTTPSampler.method&amp;quot;&amp;gt;GET&amp;lt;/stringProp&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;boolProp name=&amp;quot;HTTPSampler.follow_redirects&amp;quot;&amp;gt;false&amp;lt;/boolProp&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;boolProp name=&amp;quot;HTTPSampler.auto_redirects&amp;quot;&amp;gt;true&amp;lt;/boolProp&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;boolProp name=&amp;quot;HTTPSampler.use_keepalive&amp;quot;&amp;gt;true&amp;lt;/boolProp&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;boolProp name=&amp;quot;HTTPSampler.DO_MULTIPART_POST&amp;quot;&amp;gt;false&amp;lt;/boolProp&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;stringProp name=&amp;quot;HTTPSampler.FILE_NAME&amp;quot;&amp;gt;&amp;lt;/stringProp&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;stringProp name=&amp;quot;HTTPSampler.FILE_FIELD&amp;quot;&amp;gt;&amp;lt;/stringProp&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;stringProp name=&amp;quot;HTTPSampler.mimetype&amp;quot;&amp;gt;&amp;lt;/stringProp&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;boolProp name=&amp;quot;HTTPSampler.image_parser&amp;quot;&amp;gt;true&amp;lt;/boolProp&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;boolProp name=&amp;quot;HTTPSampler.monitor&amp;quot;&amp;gt;false&amp;lt;/boolProp&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;stringProp name=&amp;quot;HTTPSampler.embedded_url_re&amp;quot;&amp;gt;&amp;lt;/stringProp&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/HTTPSampler&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;hashTree&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ResponseAssertion guiclass=&amp;quot;AssertionGui&amp;quot; testclass=&amp;quot;ResponseAssertion&amp;quot; testname=&amp;quot;200 Response Code&amp;quot; enabled=&amp;quot;true&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;collectionProp name=&amp;quot;Asserion.test_strings&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;stringProp name=&amp;quot;49586&amp;quot;&amp;gt;200&amp;lt;/stringProp&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/collectionProp&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;stringProp name=&amp;quot;Assertion.test_field&amp;quot;&amp;gt;Assertion.response_code&amp;lt;/stringProp&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;boolProp name=&amp;quot;Assertion.assume_success&amp;quot;&amp;gt;false&amp;lt;/boolProp&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;intProp name=&amp;quot;Assertion.test_type&amp;quot;&amp;gt;8&amp;lt;/intProp&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/ResponseAssertion&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;hashTree/&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ResponseAssertion guiclass=&amp;quot;AssertionGui&amp;quot; testclass=&amp;quot;ResponseAssertion&amp;quot; testname=&amp;quot;Content Check&amp;quot; enabled=&amp;quot;true&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;collectionProp name=&amp;quot;Asserion.test_strings&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;stringProp name=&amp;quot;1400880054&amp;quot;&amp;gt;Welcome to your new wiki&amp;lt;/stringProp&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/collectionProp&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;stringProp name=&amp;quot;Assertion.test_field&amp;quot;&amp;gt;Assertion.response_data&amp;lt;/stringProp&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;boolProp name=&amp;quot;Assertion.assume_success&amp;quot;&amp;gt;false&amp;lt;/boolProp&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;intProp name=&amp;quot;Assertion.test_type&amp;quot;&amp;gt;2&amp;lt;/intProp&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/ResponseAssertion&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;hashTree/&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/hashTree&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/hashTree&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ResultCollector guiclass=&amp;quot;GraphVisualizer&amp;quot; testclass=&amp;quot;ResultCollector&amp;quot; testname=&amp;quot;Graph Results&amp;quot; enabled=&amp;quot;true&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;boolProp name=&amp;quot;ResultCollector.error_logging&amp;quot;&amp;gt;false&amp;lt;/boolProp&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;objProp&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;name&amp;gt;saveConfig&amp;lt;/name&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;value class=&amp;quot;SampleSaveConfiguration&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;time&amp;gt;true&amp;lt;/time&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;latency&amp;gt;true&amp;lt;/latency&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;timestamp&amp;gt;true&amp;lt;/timestamp&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;success&amp;gt;true&amp;lt;/success&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;label&amp;gt;true&amp;lt;/label&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;message&amp;gt;true&amp;lt;/message&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;threadName&amp;gt;true&amp;lt;/threadName&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;dataType&amp;gt;true&amp;lt;/dataType&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;encoding&amp;gt;false&amp;lt;/encoding&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;assertions&amp;gt;true&amp;lt;/assertions&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;subresults&amp;gt;true&amp;lt;/subresults&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;responseData&amp;gt;false&amp;lt;/responseData&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;samplerData&amp;gt;false&amp;lt;/samplerData&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;xml&amp;gt;true&amp;lt;/xml&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;fieldNames&amp;gt;false&amp;lt;/fieldNames&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;responseHeaders&amp;gt;false&amp;lt;/responseHeaders&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;requestHeaders&amp;gt;false&amp;lt;/requestHeaders&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;responseDataOnError&amp;gt;false&amp;lt;/responseDataOnError&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;saveAssertionResultsFailureMessage&amp;gt;false&amp;lt;/saveAssertionResultsFailureMessage&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;assertionsResultsToSave&amp;gt;0&amp;lt;/assertionsResultsToSave&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;bytes&amp;gt;true&amp;lt;/bytes&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/value&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/objProp&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;stringProp name=&amp;quot;filename&amp;quot;&amp;gt;&amp;lt;/stringProp&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/ResultCollector&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;hashTree/&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ResultCollector guiclass=&amp;quot;SummaryReport&amp;quot; testclass=&amp;quot;ResultCollector&amp;quot; testname=&amp;quot;Summary Report&amp;quot; enabled=&amp;quot;true&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;boolProp name=&amp;quot;ResultCollector.error_logging&amp;quot;&amp;gt;false&amp;lt;/boolProp&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;objProp&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;name&amp;gt;saveConfig&amp;lt;/name&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;value class=&amp;quot;SampleSaveConfiguration&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;time&amp;gt;true&amp;lt;/time&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;latency&amp;gt;true&amp;lt;/latency&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;timestamp&amp;gt;true&amp;lt;/timestamp&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;success&amp;gt;true&amp;lt;/success&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;label&amp;gt;true&amp;lt;/label&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;message&amp;gt;true&amp;lt;/message&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;threadName&amp;gt;true&amp;lt;/threadName&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;dataType&amp;gt;true&amp;lt;/dataType&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;encoding&amp;gt;false&amp;lt;/encoding&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;assertions&amp;gt;true&amp;lt;/assertions&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;subresults&amp;gt;true&amp;lt;/subresults&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;responseData&amp;gt;false&amp;lt;/responseData&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;samplerData&amp;gt;false&amp;lt;/samplerData&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;xml&amp;gt;true&amp;lt;/xml&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;fieldNames&amp;gt;false&amp;lt;/fieldNames&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;responseHeaders&amp;gt;false&amp;lt;/responseHeaders&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;requestHeaders&amp;gt;false&amp;lt;/requestHeaders&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;responseDataOnError&amp;gt;false&amp;lt;/responseDataOnError&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;saveAssertionResultsFailureMessage&amp;gt;false&amp;lt;/saveAssertionResultsFailureMessage&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;assertionsResultsToSave&amp;gt;0&amp;lt;/assertionsResultsToSave&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;bytes&amp;gt;true&amp;lt;/bytes&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/value&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/objProp&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;stringProp name=&amp;quot;filename&amp;quot;&amp;gt;&amp;lt;/stringProp&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/ResultCollector&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;hashTree/&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;/hashTree&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;/hashTree&amp;gt;
&lt;br&gt;+&amp;lt;/jmeterTestPlan&amp;gt;
&lt;br&gt;&lt;br&gt;&lt;br&gt;This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;gatewiki-commits mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26424553&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gatewiki-commits@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-1857--trunk-cow-tp26424553p26424553.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26424392</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[1856] trunk/cow/bin/cow-init.sh</title>
	<published>2009-11-19T03:04:17Z</published>
	<updated>2009-11-19T03:04:17Z</updated>
	<author>
		<name>hcunningham-2</name>
	</author>
	<content type="html">Revision: 1856
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1856&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1856&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; hcunningham
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-11-19 11:04:14 +0000 (Thu, 19 Nov 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;refresh stacktrace.log on restart
&lt;br&gt;&lt;br&gt;Modified Paths:
&lt;br&gt;--------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/bin/cow-init.sh
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/bin/cow-init.sh
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/bin/cow-init.sh	2009-11-19 10:56:41 UTC (rev 1855)
&lt;br&gt;+++ trunk/cow/bin/cow-init.sh	2009-11-19 11:04:14 UTC (rev 1856)
&lt;br&gt;@@ -51,6 +51,8 @@
&lt;br&gt;&amp;nbsp;# Again if you're running multiple copies try e.g. COW_USER_HOME instead
&lt;br&gt;&amp;nbsp;LOGFILE=&amp;quot;$COW_HOME/cow.log&amp;quot;
&lt;br&gt;&amp;nbsp;[ -f $LOGFILE ] &amp;&amp; mv $LOGFILE ${LOGFILE}.previous
&lt;br&gt;+STACKTRACE=&amp;quot;${COW_HOME}/stacktrace.log&amp;quot;
&lt;br&gt;+[ -f $STACKTRACE ] &amp;&amp; mv $STACKTRACE ${STACKTRACE}.previous
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;# The location of ant (1.7 or later)
&lt;br&gt;&amp;nbsp;ANT_HOME=/opt/ant-1.7
&lt;br&gt;&lt;br&gt;&lt;br&gt;This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;gatewiki-commits mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26424392&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gatewiki-commits@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-1856--trunk-cow-bin-cow-init.sh-tp26424392p26424392.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26424302</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[1855] trunk/site-plugins/gau/grails-app/views/layouts /cowguest.gsp</title>
	<published>2009-11-19T02:56:41Z</published>
	<updated>2009-11-19T02:56:41Z</updated>
	<author>
		<name>hcunningham-2</name>
	</author>
	<content type="html">Revision: 1855
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1855&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1855&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; hcunningham
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-11-19 10:56:41 +0000 (Thu, 19 Nov 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;link to the updating copy of gatewiki help in the main area instead of the distrib help docs
&lt;br&gt;&lt;br&gt;Modified Paths:
&lt;br&gt;--------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/site-plugins/gau/grails-app/views/layouts/cowguest.gsp
&lt;br&gt;&lt;br&gt;Modified: trunk/site-plugins/gau/grails-app/views/layouts/cowguest.gsp
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/site-plugins/gau/grails-app/views/layouts/cowguest.gsp	2009-11-18 23:05:15 UTC (rev 1854)
&lt;br&gt;+++ trunk/site-plugins/gau/grails-app/views/layouts/cowguest.gsp	2009-11-19 10:56:41 UTC (rev 1855)
&lt;br&gt;@@ -107,7 +107,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;cow:isWorkstation&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(w/s mode) &amp;lt;g:link controller=&amp;quot;admin&amp;quot;&amp;gt;Admin&amp;lt;/g:link&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/cow:isWorkstation&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;g:pageLink action=&amp;quot;show&amp;quot; id=&amp;quot;1&amp;quot; linkPath=&amp;quot;doc/gatewiki.html&amp;quot;&amp;gt;Help&amp;lt;/g:pageLink&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;g:pageLink action=&amp;quot;show&amp;quot; id=&amp;quot;2&amp;quot; linkPath=&amp;quot;/gatewiki/cow/doc/gatewiki.html&amp;quot;&amp;gt;Help&amp;lt;/g:pageLink&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/div&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- second row header links --&amp;gt;
&lt;br&gt;&lt;br&gt;&lt;br&gt;This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;gatewiki-commits mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26424302&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gatewiki-commits@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-1855--trunk-site-plugins-gau-grails-app-views-layouts--cowguest.gsp-tp26424302p26424302.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26417446</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[1854] trunk/cow/grails-app/controllers/WikiController .groovy</title>
	<published>2009-11-18T15:05:16Z</published>
	<updated>2009-11-18T15:05:16Z</updated>
	<author>
		<name>hcunningham-2</name>
	</author>
	<content type="html">Revision: 1854
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1854&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1854&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; hcunningham
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-11-18 23:05:15 +0000 (Wed, 18 Nov 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;dont tell the world we regenerated when we didnt
&lt;br&gt;&lt;br&gt;Modified Paths:
&lt;br&gt;--------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/grails-app/controllers/WikiController.groovy
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/grails-app/controllers/WikiController.groovy
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/grails-app/controllers/WikiController.groovy	2009-11-18 22:42:44 UTC (rev 1853)
&lt;br&gt;+++ trunk/cow/grails-app/controllers/WikiController.groovy	2009-11-18 23:05:15 UTC (rev 1854)
&lt;br&gt;@@ -144,9 +144,11 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// if configd, regenerate the wiki - paths etc may have changed
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String regenMessage = &amp;quot;&amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(CowUtils.config.gate.cow.wikiUpdateRegen) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;log.info(&amp;quot;regenerating ${wiki.id} on update&amp;quot;)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;dependenciesService.regenerate(wiki)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;regenMessage = &amp;quot;, and regenerated&amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} else {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;log.info(&amp;quot;not regenerating updated wiki ${wiki.id}, conf is false&amp;quot;)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;@@ -157,7 +159,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;WikiRegenerationJob.scheduleWikiRegeneration(wiki)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;UpdateJob.scheduleUpdate(wiki)
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;flash.message = &amp;quot;Wiki ${params.id.encodeAsHTML()} updated, and regenerated&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;flash.message =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;Wiki ${params.id.encodeAsHTML()} updated${regenMessage}&amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;redirect(action:show,id:wiki.id)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} else {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;render(view:'edit',model:[wiki:wiki, layouts:layoutsForWiki(wiki)])
&lt;br&gt;&lt;br&gt;&lt;br&gt;This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;gatewiki-commits mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26417446&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gatewiki-commits@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-1854--trunk-cow-grails-app-controllers-WikiController-.groovy-tp26417446p26417446.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26417127</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[1853] trunk/nutch-solr/solr-app/doc/solr-query-syntax .html</title>
	<published>2009-11-18T14:42:45Z</published>
	<updated>2009-11-18T14:42:45Z</updated>
	<author>
		<name>hcunningham-2</name>
	</author>
	<content type="html">Revision: 1853
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1853&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1853&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; hcunningham
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-11-18 22:42:44 +0000 (Wed, 18 Nov 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;checking in the results of the last regeneration
&lt;br&gt;(manually, with server shut down)
&lt;br&gt;&lt;br&gt;Modified Paths:
&lt;br&gt;--------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/nutch-solr/solr-app/doc/solr-query-syntax.html
&lt;br&gt;&lt;br&gt;Modified: trunk/nutch-solr/solr-app/doc/solr-query-syntax.html
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/nutch-solr/solr-app/doc/solr-query-syntax.html	2009-11-18 22:35:53 UTC (rev 1852)
&lt;br&gt;+++ trunk/nutch-solr/solr-app/doc/solr-query-syntax.html	2009-11-18 22:42:44 UTC (rev 1853)
&lt;br&gt;@@ -50,7 +50,7 @@
&lt;br&gt;&amp;nbsp;query terms are &amp;lt;b&amp;gt;case-insenstive&amp;lt;/b&amp;gt;. In other words, the terms &amp;lt;em&amp;gt;GATE&amp;lt;/em&amp;gt;, &amp;lt;em&amp;gt;GaTe&amp;lt;/em&amp;gt; and 
&lt;br&gt;&amp;nbsp;&amp;lt;em&amp;gt;gate&amp;lt;/em&amp;gt; would return the same results. &amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;
&lt;br&gt;+&amp;lt;table&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; &amp;lt;b&amp;gt;Query Type&amp;lt;/b&amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; &amp;lt;b&amp;gt;Example&amp;lt;/b&amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; &amp;lt;b&amp;gt;Description&amp;lt;/b&amp;gt; &amp;nbsp;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; Simple Unquoted Query &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; General Architecture 
&lt;br&gt;&amp;nbsp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; &amp;lt;p&amp;gt;Returns a set of documents with both the terms &amp;lt;em&amp;gt;General&amp;lt;/em&amp;gt; and &amp;lt;em&amp;gt;Architecture&amp;lt;/em&amp;gt; 
&lt;br&gt;&lt;br&gt;&lt;br&gt;This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;gatewiki-commits mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26417127&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gatewiki-commits@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-1853--trunk-nutch-solr-solr-app-doc-solr-query-syntax-.html-tp26417127p26417127.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26417048</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[1852] trunk/cow</title>
	<published>2009-11-18T14:35:53Z</published>
	<updated>2009-11-18T14:35:53Z</updated>
	<author>
		<name>hcunningham-2</name>
	</author>
	<content type="html">Revision: 1852
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1852&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1852&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; hcunningham
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-11-18 22:35:53 +0000 (Wed, 18 Nov 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;&lt;br&gt;fixing the dependencies test that I broke with the checkin that stops regenerations on
&lt;br&gt;wiki change (by making the selenium server config set the options true; also correct
&lt;br&gt;wrong call to config from WikiController).
&lt;br&gt;&lt;br&gt;also: fix an exception thrown by the YAM translator in case of null parse tree
&lt;br&gt;&lt;br&gt;Modified Paths:
&lt;br&gt;--------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/grails-app/controllers/WikiController.groovy
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/selenium/cowrc.server
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/src/java/gate/yam/YamCommand.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/src/java/gate/yam/translate/AbstractTranslator.java
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/grails-app/controllers/WikiController.groovy
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/grails-app/controllers/WikiController.groovy	2009-11-18 19:13:12 UTC (rev 1851)
&lt;br&gt;+++ trunk/cow/grails-app/controllers/WikiController.groovy	2009-11-18 22:35:53 UTC (rev 1852)
&lt;br&gt;@@ -144,11 +144,11 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// if configd, regenerate the wiki - paths etc may have changed
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(conf.gate.cow.wikiUpdateRegen) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;log.info(&amp;quot;regenerating ${w.id} on update&amp;quot;)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(CowUtils.config.gate.cow.wikiUpdateRegen) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;log.info(&amp;quot;regenerating ${wiki.id} on update&amp;quot;)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;dependenciesService.regenerate(wiki)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} else {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;log.info(&amp;quot;not regenerating updated wiki ${w.id}, conf is false&amp;quot;)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;log.info(&amp;quot;not regenerating updated wiki ${wiki.id}, conf is false&amp;quot;)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Reschedule regeneration and update according to the values set. We
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/selenium/cowrc.server
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/selenium/cowrc.server	2009-11-18 19:13:12 UTC (rev 1851)
&lt;br&gt;+++ trunk/cow/selenium/cowrc.server	2009-11-18 22:35:53 UTC (rev 1852)
&lt;br&gt;@@ -1 +1,5 @@
&lt;br&gt;&amp;nbsp;// add any Config.groovy overrides for the server tests here
&lt;br&gt;+
&lt;br&gt;+// we need these as the dependencies tests expect them
&lt;br&gt;+gate.cow.bootstrapRegen &amp;nbsp; &amp;nbsp; &amp;nbsp;= true // regenerate sandboxes on bootstrap?
&lt;br&gt;+gate.cow.wikiUpdateRegen &amp;nbsp; &amp;nbsp; = true // regenerate sandboxes on Wiki update?
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/src/java/gate/yam/YamCommand.java
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/src/java/gate/yam/YamCommand.java	2009-11-18 19:13:12 UTC (rev 1851)
&lt;br&gt;+++ trunk/cow/src/java/gate/yam/YamCommand.java	2009-11-18 22:35:53 UTC (rev 1852)
&lt;br&gt;@@ -134,6 +134,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp;/** Print errors and warnings from parsing. */
&lt;br&gt;&amp;nbsp; &amp;nbsp;public String printErrors(YamParseTree parseTree) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;StringBuffer buf = new StringBuffer();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;if(parseTree == null)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;return &amp;quot;null parse tree in YamCommand.printErrors(YPT)\n&amp;quot;;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;List errors = parseTree.getErrors();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;List warnings = parseTree.getWarnings();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;if(errors.size() == 0 &amp;&amp; warnings.size() == 0)
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/src/java/gate/yam/translate/AbstractTranslator.java
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/src/java/gate/yam/translate/AbstractTranslator.java	2009-11-18 19:13:12 UTC (rev 1851)
&lt;br&gt;+++ trunk/cow/src/java/gate/yam/translate/AbstractTranslator.java	2009-11-18 22:35:53 UTC (rev 1852)
&lt;br&gt;@@ -280,7 +280,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// start is the predicate name; args list has the args
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;String predName = node.getStart();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;List argsList = node.getArgsList();
&lt;br&gt;- &amp;nbsp; &amp;nbsp;if(predName == null) throw new GateException(&amp;quot;predName is null&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;if(predName == null) throw new GateException(
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;predName is null: &amp;quot; + ((SimpleNode) node).getImage()
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;if(argsList == null) throw new GateException(&amp;quot;argsList is null&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;node.setStart(null);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;&lt;br&gt;This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;gatewiki-commits mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26417048&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gatewiki-commits@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-1852--trunk-cow-tp26417048p26417048.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26413902</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[1851] trunk/cow/grails-app</title>
	<published>2009-11-18T11:13:12Z</published>
	<updated>2009-11-18T11:13:12Z</updated>
	<author>
		<name>hcunningham-2</name>
	</author>
	<content type="html">Revision: 1851
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1851&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1851&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; hcunningham
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-11-18 19:13:12 +0000 (Wed, 18 Nov 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;checking in totally untested code
&lt;br&gt;to stop it regenerating on changes to Wiki. planning to blame mark somehow if 
&lt;br&gt;it goes pear-shaped.
&lt;br&gt;&lt;br&gt;Modified Paths:
&lt;br&gt;--------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/grails-app/conf/BootStrap.groovy
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/grails-app/conf/Config.groovy
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/grails-app/controllers/WikiController.groovy
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/grails-app/conf/BootStrap.groovy
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/grails-app/conf/BootStrap.groovy	2009-11-18 18:35:39 UTC (rev 1850)
&lt;br&gt;+++ trunk/cow/grails-app/conf/BootStrap.groovy	2009-11-18 19:13:12 UTC (rev 1851)
&lt;br&gt;@@ -157,6 +157,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(conf.gate.cow.bootstrapRegen) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;log.info(&amp;quot;scheduling regeneration of ${w.id}&amp;quot;)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;WikiRegenerationJob.scheduleWikiRegeneration(w)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;} else {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;log.info(&amp;quot;not regenerating wiki ${w.id}, bootstrapRegen is false&amp;quot;)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// schedule update: we use the wiki id as the quartz job name (and
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/grails-app/conf/Config.groovy
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/grails-app/conf/Config.groovy	2009-11-18 18:35:39 UTC (rev 1850)
&lt;br&gt;+++ trunk/cow/grails-app/conf/Config.groovy	2009-11-18 19:13:12 UTC (rev 1851)
&lt;br&gt;@@ -170,6 +170,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;wiki.updateInterval.default = null
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;bootstrapRegen &amp;nbsp; &amp;nbsp; &amp;nbsp;= false // regenerate sandboxes on bootstrap?
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;wikiUpdateRegen &amp;nbsp; &amp;nbsp; = false // regenerate sandboxes on Wiki update?
&lt;br&gt;&amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/grails-app/controllers/WikiController.groovy
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/grails-app/controllers/WikiController.groovy	2009-11-18 18:35:39 UTC (rev 1850)
&lt;br&gt;+++ trunk/cow/grails-app/controllers/WikiController.groovy	2009-11-18 19:13:12 UTC (rev 1851)
&lt;br&gt;@@ -143,8 +143,13 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Regenerate the wiki - paths etc may have changed
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;dependenciesService.regenerate(wiki)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// if configd, regenerate the wiki - paths etc may have changed
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(conf.gate.cow.wikiUpdateRegen) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;log.info(&amp;quot;regenerating ${w.id} on update&amp;quot;)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;dependenciesService.regenerate(wiki)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} else {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;log.info(&amp;quot;not regenerating updated wiki ${w.id}, conf is false&amp;quot;)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Reschedule regeneration and update according to the values set. We
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// use the wiki id as the quartz job name and will use this name
&lt;br&gt;&lt;br&gt;&lt;br&gt;This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;gatewiki-commits mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26413902&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gatewiki-commits@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-1851--trunk-cow-grails-app-tp26413902p26413902.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26413270</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[1850] trunk/cow/application.properties</title>
	<published>2009-11-18T10:35:39Z</published>
	<updated>2009-11-18T10:35:39Z</updated>
	<author>
		<name>nirajaswani</name>
	</author>
	<content type="html">Revision: 1850
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1850&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1850&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; nirajaswani
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-11-18 18:35:39 +0000 (Wed, 18 Nov 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;mail plugin for contact page
&lt;br&gt;&lt;br&gt;Modified Paths:
&lt;br&gt;--------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/application.properties
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/application.properties
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/application.properties	2009-11-18 16:50:25 UTC (rev 1849)
&lt;br&gt;+++ trunk/cow/application.properties	2009-11-18 18:35:39 UTC (rev 1850)
&lt;br&gt;@@ -4,6 +4,7 @@
&lt;br&gt;&amp;nbsp;plugins.jcaptcha=1.0
&lt;br&gt;&amp;nbsp;app.grails.version=1.1.1
&lt;br&gt;&amp;nbsp;plugins.hibernate=1.1.1
&lt;br&gt;-plugins.quartz=0.4.1
&lt;br&gt;+plugins.quartz=0.4.1
&lt;br&gt;+plugins.mail=0.9
&lt;br&gt;&amp;nbsp;app.name=cow
&lt;br&gt;&amp;nbsp;plugins.jsecurity=0.4.1
&lt;br&gt;&lt;br&gt;&lt;br&gt;This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;gatewiki-commits mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26413270&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gatewiki-commits@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-1850--trunk-cow-application.properties-tp26413270p26413270.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26411387</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[1849] trunk/cow/doc</title>
	<published>2009-11-18T08:50:25Z</published>
	<updated>2009-11-18T08:50:25Z</updated>
	<author>
		<name>hcunningham-2</name>
	</author>
	<content type="html">Revision: 1849
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1849&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1849&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; hcunningham
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-11-18 16:50:25 +0000 (Wed, 18 Nov 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;finished first draft of the content; backlogged logging idea for tracing svn probs
&lt;br&gt;&lt;br&gt;Modified Paths:
&lt;br&gt;--------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/doc/cow-backlog.html
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/doc/cow-backlog.yam
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/doc/index.html
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/doc/cow-backlog.html
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/doc/cow-backlog.html	2009-11-18 15:47:00 UTC (rev 1848)
&lt;br&gt;+++ trunk/cow/doc/cow-backlog.html	2009-11-18 16:50:25 UTC (rev 1849)
&lt;br&gt;@@ -68,7 +68,6 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;ul&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;li&amp;gt;CSS the twitter div a little to make it different (diff colour? make the
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;URLs within it smaller to hide their ugliness?) [IR]&amp;lt;/li&amp;gt;
&lt;br&gt;- &amp;nbsp;&amp;lt;li&amp;gt;finish off first draft of the content [HC]&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;/ul&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;li&amp;gt;user guide to logging in, editing etc., revise &amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;gatewiki.html&amp;quot;&amp;gt;gatewiki.html&amp;lt;/a&amp;gt; [HC]&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;li&amp;gt;buy a ssl certificate for &amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;*&amp;lt;/span&amp;gt;.gate.ac.uk [HC]&amp;lt;/li&amp;gt;
&lt;br&gt;@@ -117,24 +116,18 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;/ul&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;li&amp;gt;g8rs.net [HC, IR]
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;ul&amp;gt;
&lt;br&gt;- &amp;nbsp;&amp;lt;li&amp;gt;need roles and perms for:
&lt;br&gt;- &amp;nbsp; &amp;nbsp;gate-extras safe safe-patents sale/internal sam sins
&lt;br&gt;- &amp;nbsp; &amp;nbsp;[HC]&amp;lt;/li&amp;gt;
&lt;br&gt;- &amp;nbsp;&amp;lt;/ul&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;/ul&amp;gt;
&lt;br&gt;-
&lt;br&gt;-
&lt;br&gt;-
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp;&amp;lt;ul&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;li&amp;gt;need roles and perms for: gate-extras safe safe-patents sale/internal sam
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;sins [HC]&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;li&amp;gt;migration: set up duplicate of existing apache server first then do janet
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;swap [IR, HC]&amp;lt;/li&amp;gt;
&lt;br&gt;- &amp;nbsp;&amp;lt;/ul&amp;gt;
&lt;br&gt;-&amp;lt;ul&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;/ul&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;li&amp;gt;some subset of misc bugs (below)&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;li&amp;gt;start doing a regen cron on gau-main-tree somewhere [HC]&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;li&amp;gt;tell grails to also run on https and get jetty to redirect logins there
&lt;br&gt;&amp;nbsp; &amp;nbsp;[IR/MG]&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;quartz jobs and perhaps also webflows should log their start/end times, and
&lt;br&gt;+ &amp;nbsp;put something characteristic in all their log messages; then we'll be able
&lt;br&gt;+ &amp;nbsp;to grep individual jobs/flows out of the log&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/ul&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;ul&amp;gt;
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/doc/cow-backlog.yam
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/doc/cow-backlog.yam	2009-11-18 15:47:00 UTC (rev 1848)
&lt;br&gt;+++ trunk/cow/doc/cow-backlog.yam	2009-11-18 16:50:25 UTC (rev 1849)
&lt;br&gt;@@ -13,7 +13,6 @@
&lt;br&gt;&amp;nbsp;- g8rs.net [HC, IR]
&lt;br&gt;&amp;nbsp; &amp;nbsp;- CSS the twitter div a little to make it different (diff colour? make the
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;URLs within it smaller to hide their ugliness?) [IR]
&lt;br&gt;- &amp;nbsp;- finish off first draft of the content [HC]
&lt;br&gt;&amp;nbsp;- user guide to logging in, editing etc., revise %(gatewiki.html) [HC]
&lt;br&gt;&amp;nbsp;- buy a ssl certificate for \*.gate.ac.uk [HC]
&lt;br&gt;&amp;nbsp;- analyse the security holes found by ratproxy [MG]
&lt;br&gt;@@ -44,19 +43,17 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;- uploads go directly into the sandbox - they should go via staging, at
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;least in server mode.
&lt;br&gt;&amp;nbsp;- g8rs.net [HC, IR]
&lt;br&gt;- &amp;nbsp;- need roles and perms for:
&lt;br&gt;- &amp;nbsp; &amp;nbsp;gate-extras safe safe-patents sale/internal sam sins
&lt;br&gt;- &amp;nbsp; &amp;nbsp;[HC]
&lt;br&gt;-
&lt;br&gt;-
&lt;br&gt;-
&lt;br&gt;-
&lt;br&gt;+ &amp;nbsp;- need roles and perms for: gate-extras safe safe-patents sale/internal sam
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;sins [HC]
&lt;br&gt;&amp;nbsp; &amp;nbsp;- migration: set up duplicate of existing apache server first then do janet
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;swap [IR, HC]
&lt;br&gt;&amp;nbsp;- some subset of misc bugs (below)
&lt;br&gt;&amp;nbsp;- start doing a regen cron on gau-main-tree somewhere [HC]
&lt;br&gt;&amp;nbsp;- tell grails to also run on https and get jetty to redirect logins there
&lt;br&gt;&amp;nbsp; &amp;nbsp;[IR/MG]
&lt;br&gt;+- quartz jobs and perhaps also webflows should log their start/end times, and
&lt;br&gt;+ &amp;nbsp;put something characteristic in all their log messages; then we'll be able
&lt;br&gt;+ &amp;nbsp;to grep individual jobs/flows out of the log
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;- misc bugs / minor features [all]
&lt;br&gt;&amp;nbsp; &amp;nbsp;- make a page containing a table with two rows, one of which is empty. Save
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/doc/index.html
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/doc/index.html	2009-11-18 15:47:00 UTC (rev 1848)
&lt;br&gt;+++ trunk/cow/doc/index.html	2009-11-18 16:50:25 UTC (rev 1849)
&lt;br&gt;@@ -62,9 +62,9 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;Test results (available when you've built and run the tests)&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;ul&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;../test/reports/index.html&amp;quot;&amp;gt;JUnit tests&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;lt;a class=&amp;quot;cow-non-existant-url&amp;quot; href=&amp;quot;../test/reports/index.html?m=1&amp;quot;&amp;gt;JUnit tests&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;li&amp;gt;&amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;../selenium/results.html&amp;quot;&amp;gt;Selenium functional tests&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;lt;a class=&amp;quot;cow-non-existant-url&amp;quot; href=&amp;quot;../logfile.txt?m=1&amp;quot;&amp;gt;the log file&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;../logfile.txt&amp;quot;&amp;gt;the log file&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/ul&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!--
&lt;br&gt;@@ -77,8 +77,8 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;APIs&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;ul&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;api/javadoc/index.html&amp;quot;&amp;gt;Java API&amp;lt;/a&amp;gt; (&amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;api/javadoc/constant-values.html&amp;quot;&amp;gt;constants&amp;lt;/a&amp;gt;)&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;api/gapi/index.html&amp;quot;&amp;gt;Groovy API&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;lt;a class=&amp;quot;cow-non-existant-url&amp;quot; href=&amp;quot;api/javadoc/index.html?m=1&amp;quot;&amp;gt;Java API&amp;lt;/a&amp;gt; (&amp;lt;a class=&amp;quot;cow-non-existant-url&amp;quot; href=&amp;quot;api/javadoc/constant-values.html?m=1&amp;quot;&amp;gt;constants&amp;lt;/a&amp;gt;)&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;lt;a class=&amp;quot;cow-non-existant-url&amp;quot; href=&amp;quot;api/gapi/index.html?m=1&amp;quot;&amp;gt;Groovy API&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/ul&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;Mailing lists&amp;lt;/p&amp;gt;
&lt;br&gt;&lt;br&gt;&lt;br&gt;This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;gatewiki-commits mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26411387&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gatewiki-commits@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-1849--trunk-cow-doc-tp26411387p26411387.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26410262</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[1848] trunk/cow/doc</title>
	<published>2009-11-18T07:47:03Z</published>
	<updated>2009-11-18T07:47:03Z</updated>
	<author>
		<name>hcunningham-2</name>
	</author>
	<content type="html">Revision: 1848
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1848&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1848&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; hcunningham
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-11-18 15:47:00 +0000 (Wed, 18 Nov 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;more
&lt;br&gt;&lt;br&gt;Modified Paths:
&lt;br&gt;--------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/doc/cow-backlog.html
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/doc/cow-backlog.yam
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/doc/gatewiki.html
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/doc/index.yam
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/doc/cow-backlog.html
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/doc/cow-backlog.html	2009-11-18 14:00:11 UTC (rev 1847)
&lt;br&gt;+++ trunk/cow/doc/cow-backlog.html	2009-11-18 15:47:00 UTC (rev 1848)
&lt;br&gt;@@ -117,11 +117,20 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;/ul&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;li&amp;gt;g8rs.net [HC, IR]
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;ul&amp;gt;
&lt;br&gt;- &amp;nbsp;&amp;lt;li&amp;gt;need roles and perms for: gate-extras safe safe-patents sale/internal sam
&lt;br&gt;- &amp;nbsp; &amp;nbsp;sins [HC]&amp;lt;/li&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;li&amp;gt;need roles and perms for:
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;gate-extras safe safe-patents sale/internal sam sins
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;[HC]&amp;lt;/li&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;/ul&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;/ul&amp;gt;
&lt;br&gt;+
&lt;br&gt;+
&lt;br&gt;+
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;&amp;lt;ul&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;li&amp;gt;migration: set up duplicate of existing apache server first then do janet
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;swap [IR, HC]&amp;lt;/li&amp;gt;
&lt;br&gt;- &amp;nbsp;&amp;lt;/ul&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;/ul&amp;gt;
&lt;br&gt;+&amp;lt;ul&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;li&amp;gt;some subset of misc bugs (below)&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;li&amp;gt;start doing a regen cron on gau-main-tree somewhere [HC]&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;li&amp;gt;tell grails to also run on https and get jetty to redirect logins there
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/doc/cow-backlog.yam
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/doc/cow-backlog.yam	2009-11-18 14:00:11 UTC (rev 1847)
&lt;br&gt;+++ trunk/cow/doc/cow-backlog.yam	2009-11-18 15:47:00 UTC (rev 1848)
&lt;br&gt;@@ -44,8 +44,13 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;- uploads go directly into the sandbox - they should go via staging, at
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;least in server mode.
&lt;br&gt;&amp;nbsp;- g8rs.net [HC, IR]
&lt;br&gt;- &amp;nbsp;- need roles and perms for: gate-extras safe safe-patents sale/internal sam
&lt;br&gt;- &amp;nbsp; &amp;nbsp;sins [HC]
&lt;br&gt;+ &amp;nbsp;- need roles and perms for:
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;gate-extras safe safe-patents sale/internal sam sins
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;[HC]
&lt;br&gt;+
&lt;br&gt;+
&lt;br&gt;+
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp;- migration: set up duplicate of existing apache server first then do janet
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;swap [IR, HC]
&lt;br&gt;&amp;nbsp;- some subset of misc bugs (below)
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/doc/gatewiki.html
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/doc/gatewiki.html	2009-11-18 14:00:11 UTC (rev 1847)
&lt;br&gt;+++ trunk/cow/doc/gatewiki.html	2009-11-18 15:47:00 UTC (rev 1848)
&lt;br&gt;@@ -544,7 +544,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;
&lt;br&gt;+&amp;lt;table&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; Title &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; First paragraph of the file. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; Single-line comment / notes &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; &amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;%&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;%&amp;lt;/span&amp;gt; ... &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; Multi-line comment / notes &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; %&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;/&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;*&amp;lt;/span&amp;gt; ... %&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;*&amp;lt;/span&amp;gt;/ &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&lt;br&gt;@@ -844,7 +844,7 @@
&lt;br&gt;&amp;nbsp;%]
&lt;br&gt;&amp;nbsp;&amp;lt;/pre&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;results in:&amp;lt;/p&amp;gt;
&lt;br&gt;-&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;
&lt;br&gt;+&amp;lt;table&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; &amp;lt;b&amp;gt;header col 1&amp;lt;/b&amp;gt;	&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; &amp;lt;b&amp;gt;header col 2&amp;lt;/b&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; row 1 col 1	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; col 2 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; row 2 col 1	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; col 2 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&lt;br&gt;@@ -1950,7 +1950,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;The last two points can be summarised in this truth table&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;
&lt;br&gt;+&amp;lt;table&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Include pattern&amp;lt;/b&amp;gt;
&lt;br&gt;@@ -1986,7 +1986,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;/ul&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;
&lt;br&gt;+&amp;lt;table&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Pattern&amp;lt;/b&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Note&amp;lt;/b&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Meaning as an include pattern&amp;lt;/b&amp;gt;
&lt;br&gt;@@ -2030,7 +2030,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Some example pattern uses&amp;lt;/b&amp;gt;&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;
&lt;br&gt;+&amp;lt;table&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Scenario
&lt;br&gt;&amp;nbsp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Example use case
&lt;br&gt;&amp;nbsp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Example include pattern
&lt;br&gt;@@ -2111,7 +2111,7 @@
&lt;br&gt;&amp;nbsp;installation, there will be several pre-defined security objects that you can
&lt;br&gt;&amp;nbsp;use to get your installation up and running.&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;
&lt;br&gt;+&amp;lt;table&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Type&amp;lt;/b&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Object&amp;lt;/b&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Description&amp;lt;/b&amp;gt;
&lt;br&gt;@@ -2531,7 +2531,7 @@
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;Referencing events&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;ul&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;li&amp;gt;page or directory is
&lt;br&gt;- &amp;nbsp;&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;table&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; created &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; out-dates all linkers and includers &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; renamed &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; out-dates all linkers and includers &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; deleted &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; out-dates all linkers and includers &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&lt;br&gt;@@ -2605,12 +2605,12 @@
&lt;br&gt;&amp;nbsp;indication of how long it takes to do an &amp;lt;tt&amp;gt;svn st&amp;lt;/tt&amp;gt; on the SALE tree (which is
&lt;br&gt;&amp;nbsp;more than 5Gb of data in more than 100,000 files.&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;
&lt;br&gt;+&amp;lt;table&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; &amp;lt;tt&amp;gt;svn st&amp;lt;/tt&amp;gt; on the sale tree (from cold)
&lt;br&gt;&amp;nbsp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; &amp;lt;tt&amp;gt;svn st -u&amp;lt;/tt&amp;gt; on sale (filesystem cached)
&lt;br&gt;&amp;nbsp;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;
&lt;br&gt;-&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;
&lt;br&gt;+&amp;lt;table&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; First run &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Tenth run &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;real &amp;nbsp; &amp;nbsp;0m58.839s &amp;lt;br/&amp;gt;
&lt;br&gt;@@ -2623,7 +2623,7 @@
&lt;br&gt;&amp;nbsp;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/table&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;
&lt;br&gt;-&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;
&lt;br&gt;+&amp;lt;table&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; First run &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Tenth run &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;real &amp;nbsp; &amp;nbsp;0m33.331s &amp;lt;br/&amp;gt;
&lt;br&gt;@@ -2971,12 +2971,12 @@
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;&amp;lt;a name=&amp;quot;extending-yam&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.17.&amp;quot;/&amp;gt;&amp;lt;h2 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.17. &amp;lt;/span&amp;gt;Extending YAM with Plugins&amp;lt;/h2&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;YAM has a plugin mechanism that involves writing a Java (or Groovy) class that
&lt;br&gt;-implements &amp;lt;a class=&amp;quot;cow-non-existant-url&amp;quot; href=&amp;quot;api/javadoc/index.html?gate/yam/YamPlugin.html?m=1&amp;quot;&amp;gt;the YamPlugin
&lt;br&gt;+implements &amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;api/javadoc/index.html?gate/yam/YamPlugin.html&amp;quot;&amp;gt;the YamPlugin
&lt;br&gt;&amp;nbsp;interface&amp;lt;/a&amp;gt;. Drop this class (which must be in the package &amp;lt;tt&amp;gt;gate.yam.plugins&amp;lt;/tt&amp;gt;
&lt;br&gt;&amp;nbsp;into the classpath of the application hosting the YAM translator (e.g.
&lt;br&gt;&amp;nbsp;GATEWiki) and then you can make calls as described in the YAM documentation.&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-&amp;lt;p&amp;gt;See e.g. &amp;lt;a class=&amp;quot;cow-non-existant-url&amp;quot; href=&amp;quot;api/javadoc/index.html?src-html/gate/yam/plugins/Twitter.html?m=1&amp;quot;&amp;gt;the
&lt;br&gt;+&amp;lt;p&amp;gt;See e.g. &amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;api/javadoc/index.html?src-html/gate/yam/plugins/Twitter.html&amp;quot;&amp;gt;the
&lt;br&gt;&amp;nbsp;implementation of the Twitter plugin&amp;lt;/a&amp;gt; for inspiration.&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;One of the things this is useful for is dropping snippets of HTML into YAM
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/doc/index.yam
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/doc/index.yam	2009-11-18 14:00:11 UTC (rev 1847)
&lt;br&gt;+++ trunk/cow/doc/index.yam	2009-11-18 15:47:00 UTC (rev 1848)
&lt;br&gt;@@ -2,7 +2,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;%image(gslidy/gate-logo-colour.png, GATE, 426, 263, right)
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-%(acknowledgements.html,Acknowledgements)
&lt;br&gt;+%(acknowledgements.html, Acknowledgements)
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;Manuals
&lt;br&gt;&amp;nbsp;- %(gatewiki.html, User and Developer Manual)
&lt;br&gt;&lt;br&gt;&lt;br&gt;This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;gatewiki-commits mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26410262&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gatewiki-commits@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-1848--trunk-cow-doc-tp26410262p26410262.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26408275</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[1847] trunk/cow/scripts/_Events.groovy</title>
	<published>2009-11-18T06:00:11Z</published>
	<updated>2009-11-18T06:00:11Z</updated>
	<author>
		<name>markagreenwood</name>
	</author>
	<content type="html">Revision: 1847
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1847&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1847&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; markagreenwood
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-11-18 14:00:11 +0000 (Wed, 18 Nov 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;strengthed the logic so that if the secure port isn't specified we don't try and use it
&lt;br&gt;&lt;br&gt;Modified Paths:
&lt;br&gt;--------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/scripts/_Events.groovy
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/scripts/_Events.groovy
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/scripts/_Events.groovy	2009-11-18 13:45:52 UTC (rev 1846)
&lt;br&gt;+++ trunk/cow/scripts/_Events.groovy	2009-11-18 14:00:11 UTC (rev 1847)
&lt;br&gt;@@ -73,7 +73,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;if (it.getPort() != securePort) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;if (securePort != null &amp;&amp; it.getPort() != securePort) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;println &amp;quot;Setting ${securePort} as confidential port for connector ${it}&amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;it.setConfidentialPort(securePort)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&lt;br&gt;&lt;br&gt;This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;gatewiki-commits mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26408275&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gatewiki-commits@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-1847--trunk-cow-scripts-_Events.groovy-tp26408275p26408275.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26408018</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[1846] trunk/cow</title>
	<published>2009-11-18T05:45:52Z</published>
	<updated>2009-11-18T05:45:52Z</updated>
	<author>
		<name>markagreenwood</name>
	</author>
	<content type="html">Revision: 1846
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1846&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1846&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; markagreenwood
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-11-18 13:45:52 +0000 (Wed, 18 Nov 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;added the ability to force authorization requests to be handled via https instead of http -- it is disabled for now as the selenium tests would fail because of the self sign certificate used by grails. Once we get our own certificate from a known authority we should be able to turn this on by default
&lt;br&gt;&lt;br&gt;Modified Paths:
&lt;br&gt;--------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/application.properties
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/build.xml
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/scripts/_Events.groovy
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/src/templates/war/web.xml
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/application.properties
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/application.properties	2009-11-18 12:02:59 UTC (rev 1845)
&lt;br&gt;+++ trunk/cow/application.properties	2009-11-18 13:45:52 UTC (rev 1846)
&lt;br&gt;@@ -1,9 +1,9 @@
&lt;br&gt;-#utf-8
&lt;br&gt;-#Sat Nov 14 22:10:08 GMT 2009
&lt;br&gt;-app.version=1.0-snapshot
&lt;br&gt;-app.grails.version=1.1.1
&lt;br&gt;-plugins.jcaptcha=1.0
&lt;br&gt;-plugins.hibernate=1.1.1
&lt;br&gt;-plugins.jsecurity=0.4.1
&lt;br&gt;-app.name=cow
&lt;br&gt;-plugins.quartz=0.4.1
&lt;br&gt;+#utf-8
&lt;br&gt;+#Wed Nov 18 11:00:01 GMT 2009
&lt;br&gt;+app.version=1.0-snapshot
&lt;br&gt;+plugins.jcaptcha=1.0
&lt;br&gt;+app.grails.version=1.1.1
&lt;br&gt;+plugins.hibernate=1.1.1
&lt;br&gt;+plugins.quartz=0.4.1
&lt;br&gt;+app.name=cow
&lt;br&gt;+plugins.jsecurity=0.4.1
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/build.xml
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/build.xml	2009-11-18 12:02:59 UTC (rev 1845)
&lt;br&gt;+++ trunk/cow/build.xml	2009-11-18 13:45:52 UTC (rev 1846)
&lt;br&gt;@@ -25,6 +25,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;jetty.shutdown.key&amp;quot; value=&amp;quot;15jj46zfdl7uo&amp;quot; /&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;property file=&amp;quot;application.properties&amp;quot; /&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;gate.cow.server.port&amp;quot; value=&amp;quot;8080&amp;quot; /&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;property name=&amp;quot;gate.cow.server.port.https&amp;quot; value=&amp;quot;8443&amp;quot; /&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;!--
&lt;br&gt;&amp;nbsp; &amp;nbsp;The types of test to run with ant test - an empty string (the default) will
&lt;br&gt;@@ -572,7 +573,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;target name=&amp;quot;run-dev&amp;quot; depends=&amp;quot;set.user-home.dev, setup-grails, -prepare-run&amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;description=&amp;quot;Run CoW in development mode&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;exec dir=&amp;quot;.&amp;quot; executable=&amp;quot;${os.shell}&amp;quot; failonerror=&amp;quot;true&amp;quot;&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;arg line='${grails} -Dserver.port=${gate.cow.server.port} -Dgate.cow.user.home=${gate.cow.user.home} run-app&amp;quot;' /&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;arg line='${grails} -Dserver.port=${gate.cow.server.port} -Dserver.port.https=${gate.cow.server.port.https} -Dgate.cow.user.home=${gate.cow.user.home} run-app -https&amp;quot;' /&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/exec&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;/target&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/scripts/_Events.groovy
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/scripts/_Events.groovy	2009-11-18 12:02:59 UTC (rev 1845)
&lt;br&gt;+++ trunk/cow/scripts/_Events.groovy	2009-11-18 13:45:52 UTC (rev 1846)
&lt;br&gt;@@ -61,15 +61,22 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;// get config
&lt;br&gt;&amp;nbsp; &amp;nbsp;Map conf = ConfigurationHolder.config
&lt;br&gt;+ &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;int securePort = Integer.getInteger(&amp;quot;server.port.https&amp;quot;)
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp;if(conf.gate.cow.proxied) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp;// set up the server for proxying
&lt;br&gt;- &amp;nbsp; &amp;nbsp;server.connectors.each {
&lt;br&gt;+ &amp;nbsp;server.connectors.each {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;if(conf.gate.cow.proxied) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;// set up the server for proxying
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(it.respondsTo('setForwarded', boolean)) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;println &amp;quot;Setting connector ${it} to be forwarded&amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;it.setForwarded(true)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;if (it.getPort() != securePort) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;println &amp;quot;Setting ${securePort} as confidential port for connector ${it}&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;it.setConfidentialPort(securePort)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;println &amp;quot;Setting gate.cow.cowrc.d=${conf.gate.cow.data}&amp;quot;
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/src/templates/war/web.xml
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/src/templates/war/web.xml	2009-11-18 12:02:59 UTC (rev 1845)
&lt;br&gt;+++ trunk/cow/src/templates/war/web.xml	2009-11-18 13:45:52 UTC (rev 1846)
&lt;br&gt;@@ -105,4 +105,17 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/taglib&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/jsp-config&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;!-- This ensures that any pages requiring authentication are served via https
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Currently disabled as the selenium tests would fail because they would have
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; to accept the self signed certificate --&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;!-- 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;security-constraint&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;user-data-constraint&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;transport-guarantee&amp;gt;CONFIDENTIAL&amp;lt;/transport-guarantee&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/user-data-constraint&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;web-resource-collection&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;url-pattern&amp;gt;/g8/auth/*&amp;lt;/url-pattern&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/web-resource-collection&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;/security-constraint&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;--&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/web-app&amp;gt;
&lt;br&gt;&lt;br&gt;&lt;br&gt;This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;gatewiki-commits mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26408018&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gatewiki-commits@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-1846--trunk-cow-tp26408018p26408018.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26406623</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[1845] trunk/grails/bin/startGrails.bat</title>
	<published>2009-11-18T04:03:00Z</published>
	<updated>2009-11-18T04:03:00Z</updated>
	<author>
		<name>markagreenwood</name>
	</author>
	<content type="html">Revision: 1845
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1845&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1845&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; markagreenwood
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-11-18 12:02:59 +0000 (Wed, 18 Nov 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;fixed a known bug in grails 1.1.1 that stops it from ever starting up under windows
&lt;br&gt;&lt;br&gt;Modified Paths:
&lt;br&gt;--------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/grails/bin/startGrails.bat
&lt;br&gt;&lt;br&gt;Modified: trunk/grails/bin/startGrails.bat
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/grails/bin/startGrails.bat	2009-11-17 21:19:43 UTC (rev 1844)
&lt;br&gt;+++ trunk/grails/bin/startGrails.bat	2009-11-18 12:02:59 UTC (rev 1845)
&lt;br&gt;@@ -127,7 +127,7 @@
&lt;br&gt;&amp;nbsp;if &amp;quot;%JAVA_OPTS%&amp;quot; == &amp;quot;&amp;quot; set JAVA_OPTS=&amp;quot;-Xmx512m&amp;quot;
&lt;br&gt;&amp;nbsp;set JAVA_OPTS=%JAVA_OPTS% -Dprogram.name=&amp;quot;%PROGNAME%&amp;quot;
&lt;br&gt;&amp;nbsp;set JAVA_OPTS=%JAVA_OPTS% -Dgrails.home=&amp;quot;%GRAILS_HOME%&amp;quot;
&lt;br&gt;-set JAVA_OPTS=%JAVA_OPTS% -Dgrails.version=&amp;quot;1.1.1-SNAPSHOT&amp;quot;
&lt;br&gt;+set JAVA_OPTS=%JAVA_OPTS% -Dgrails.version=&amp;quot;1.1.1&amp;quot;
&lt;br&gt;&amp;nbsp;set JAVA_OPTS=%JAVA_OPTS% -Dbase.dir=&amp;quot;.&amp;quot;
&lt;br&gt;&amp;nbsp;set JAVA_OPTS=%JAVA_OPTS% -Dtools.jar=&amp;quot;%TOOLS_JAR%&amp;quot;
&lt;br&gt;&amp;nbsp;set JAVA_OPTS=%JAVA_OPTS% -Dgroovy.starter.conf=&amp;quot;%STARTER_CONF%&amp;quot;
&lt;br&gt;&lt;br&gt;&lt;br&gt;This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;gatewiki-commits mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26406623&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gatewiki-commits@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-1845--trunk-grails-bin-startGrails.bat-tp26406623p26406623.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26397825</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[1844] trunk/cow/doc</title>
	<published>2009-11-17T13:19:44Z</published>
	<updated>2009-11-17T13:19:44Z</updated>
	<author>
		<name>hcunningham-2</name>
	</author>
	<content type="html">Revision: 1844
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1844&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1844&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; hcunningham
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-11-17 21:19:43 +0000 (Tue, 17 Nov 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;anchor for nav section
&lt;br&gt;&lt;br&gt;Modified Paths:
&lt;br&gt;--------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/doc/gatewiki.html
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/doc/gatewiki.yam
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/doc/gatewiki.html
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/doc/gatewiki.html	2009-11-17 17:39:11 UTC (rev 1843)
&lt;br&gt;+++ trunk/cow/doc/gatewiki.html	2009-11-17 21:19:43 UTC (rev 1844)
&lt;br&gt;@@ -548,7 +548,7 @@
&lt;br&gt;&amp;nbsp;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; Title &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; First paragraph of the file. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; Single-line comment / notes &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; &amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;%&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;%&amp;lt;/span&amp;gt; ... &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; Multi-line comment / notes &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; %&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;/&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;*&amp;lt;/span&amp;gt; ... %&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;*&amp;lt;/span&amp;gt;/ &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&lt;br&gt;-&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; Headings &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; &amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;%&amp;lt;/span&amp;gt;1,&amp;not;&amp;ne;&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;%&amp;lt;/span&amp;gt;2,&amp;not;&amp;ne;etc.; &amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;%&amp;lt;/span&amp;gt;1&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;*&amp;lt;/span&amp;gt; is unnumbered; follow with blank line &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; Headings &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; &amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;%&amp;lt;/span&amp;gt;1,&amp;shy;&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;%&amp;lt;/span&amp;gt;2,&amp;shy;etc.; &amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;%&amp;lt;/span&amp;gt;1&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;*&amp;lt;/span&amp;gt; is unnumbered; follow with blank line &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; Bold, italic, teletype, underlined &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; &amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;*&amp;lt;/span&amp;gt;...&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;*&amp;lt;/span&amp;gt;, &amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;_&amp;lt;/span&amp;gt;...&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;_&amp;lt;/span&amp;gt;, &amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;^&amp;lt;/span&amp;gt;...&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;^&amp;lt;/span&amp;gt;, &amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;_&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;_&amp;lt;/span&amp;gt;...&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;_&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;_&amp;lt;/span&amp;gt; &amp;nbsp;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; Contents &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; &amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;%&amp;lt;/span&amp;gt;contents &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; Horizontal lines &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; &amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;-&amp;lt;/span&amp;gt;-- &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&lt;br&gt;@@ -2304,8 +2304,9 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;!--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.10.1.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.10.1. &amp;lt;/span&amp;gt;Navigation&amp;lt;/h3&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+&amp;lt;p&amp;gt;&amp;lt;a name=&amp;quot;navigation&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.10.1.&amp;quot;/&amp;gt;&amp;lt;h3 class=&amp;quot;cow-heading&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;cow-sec-number&amp;quot;&amp;gt;4.10.1. &amp;lt;/span&amp;gt;Navigation&amp;lt;/h3&amp;gt;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;Navigation that applies to the whole site or to a whole wiki area is probably
&lt;br&gt;&amp;nbsp;best put into a Grails layout plugin - see &amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;#guest-layouts&amp;quot;&amp;gt;replacing the
&lt;br&gt;&amp;nbsp;main layout&amp;lt;/a&amp;gt; below. In other cases, e.g. navigation that is different for
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/doc/gatewiki.yam
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/doc/gatewiki.yam	2009-11-17 17:39:11 UTC (rev 1843)
&lt;br&gt;+++ trunk/cow/doc/gatewiki.yam	2009-11-17 21:19:43 UTC (rev 1844)
&lt;br&gt;@@ -1606,6 +1606,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
&lt;br&gt;+%#navigation
&lt;br&gt;&amp;nbsp;%3 Navigation
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;Navigation that applies to the whole site or to a whole wiki area is probably
&lt;br&gt;&lt;br&gt;&lt;br&gt;This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;gatewiki-commits mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26397825&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gatewiki-commits@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-1844--trunk-cow-doc-tp26397825p26397825.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26394241</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[1843] trunk/cow/lib/jaxen-1.1.jar</title>
	<published>2009-11-17T09:39:11Z</published>
	<updated>2009-11-17T09:39:11Z</updated>
	<author>
		<name>hcunningham-2</name>
	</author>
	<content type="html">Revision: 1843
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1843&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=1843&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; hcunningham
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-11-17 17:39:11 +0000 (Tue, 17 Nov 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;added lib needed by jsp converter
&lt;br&gt;&lt;br&gt;Added Paths:
&lt;br&gt;-----------
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/lib/jaxen-1.1.jar
&lt;br&gt;&lt;br&gt;Added: trunk/cow/lib/jaxen-1.1.jar
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;&lt;br&gt;Property changes on: trunk/cow/lib/jaxen-1.1.jar
&lt;br&gt;___________________________________________________________________
&lt;br&gt;Added: svn:mime-type
&lt;br&gt;&amp;nbsp; &amp;nbsp;+ application/octet-stream
&lt;br&gt;&lt;br&gt;&lt;br&gt;This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;gatewiki-commits mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26394241&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gatewiki-commits@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/gatewiki-commits&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-1843--trunk-cow-lib-jaxen-1.1.jar-tp26394241p26394241.html" />
</entry>

</feed>
