<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<id>tag:old.nabble.com,2006:forum-28143</id>
	<title>Nabble - gatewiki</title>
	<updated>2009-12-17T04:10:38Z</updated>
	<link rel="self" type="application/atom+xml" href="http://old.nabble.com/gatewiki-f28143.xml" />
	<link rel="alternate" type="text/html" href="http://old.nabble.com/gatewiki-f28143.html" />
	<subtitle type="html">&lt;a href=&quot;http://gatewiki.sourceforge.net/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;CoW&lt;/a&gt;&amp;nbsp;(Controllable Wiki) is a wiki/CMS system based on &lt;a href=&quot;http://grails.codehaus.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Grails&lt;/a&gt;&amp;nbsp;and &lt;a href=&quot;http://subversion.tigris.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Subversion&lt;/a&gt;&amp;nbsp;written by the &lt;a href=&quot;http://gate.ac.uk/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;GATE team&lt;/a&gt;.</subtitle>
	
<entry>
	<id>tag:old.nabble.com,2006:post-26827132</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[2124] trunk/cow/doc</title>
	<published>2009-12-17T04:10:38Z</published>
	<updated>2009-12-17T04:10:38Z</updated>
	<author>
		<name>gate-project</name>
	</author>
	<content type="html">Revision: 2124
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2124&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2124&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; gate-project
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-12-17 12:10:38 +0000 (Thu, 17 Dec 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;[hamish] edit buggette
&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-12-17 12:08:15 UTC (rev 2123)
&lt;br&gt;+++ trunk/cow/doc/cow-backlog.html	2009-12-17 12:10:38 UTC (rev 2124)
&lt;br&gt;@@ -69,6 +69,12 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;li&amp;gt;restrict file uploads so users can't upload raw HTML in a location they
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;wouldn't be allowed to view it.&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;edit flow [IR]
&lt;br&gt;+ &amp;nbsp;&amp;lt;ul&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;li&amp;gt;in cases where a previous failed edit is present, and there is also a 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;conflict on update, it seems that edit flow fails to resolve the conflict
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;and therefore prevents saving&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;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 issues identified in cow/doc/&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;*&amp;lt;/span&amp;gt;.yam [NA]&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-12-17 12:08:15 UTC (rev 2123)
&lt;br&gt;+++ trunk/cow/doc/cow-backlog.yam	2009-12-17 12:10:38 UTC (rev 2124)
&lt;br&gt;@@ -16,6 +16,10 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;staging, at least in server mode.
&lt;br&gt;&amp;nbsp; &amp;nbsp;- restrict file uploads so users can't upload raw HTML in a location they
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;wouldn't be allowed to view it.
&lt;br&gt;+- edit flow [IR]
&lt;br&gt;+ &amp;nbsp;- in cases where a previous failed edit is present, and there is also a 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;conflict on update, it seems that edit flow fails to resolve the conflict
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;and therefore prevents saving
&lt;br&gt;&amp;nbsp;- jape yamalyser [HC, NA]
&lt;br&gt;&amp;nbsp; &amp;nbsp;- fix issues identified in cow/doc/\*.yam [NA]
&lt;br&gt;&amp;nbsp; &amp;nbsp;- do the TODO in PageService.saveEdit [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;This SF.Net email is sponsored by the Verizon Developer Community
&lt;br&gt;Take advantage of Verizon's best-in-class app development support
&lt;br&gt;A streamlined, 14 day to market process makes app distribution fast and easy
&lt;br&gt;Join now and get one step closer to millions of Verizon customers
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/verizon-dev2dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/verizon-dev2dev&lt;/a&gt;&amp;nbsp;
&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=26827132&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;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gatewiki---commits-f28145.html&quot; embed=&quot;fixTarget[28145]&quot; target=&quot;_top&quot; &gt;gatewiki - commits&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-2124--trunk-cow-doc-tp26827132p26827132.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26827102</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[2123] trunk/cow/doc</title>
	<published>2009-12-17T04:08:15Z</published>
	<updated>2009-12-17T04:08:15Z</updated>
	<author>
		<name>gate-project</name>
	</author>
	<content type="html">Revision: 2123
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2123&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2123&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; gate-project
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-12-17 12:08:15 +0000 (Thu, 17 Dec 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;[hamish] done task
&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-12-17 11:52:41 UTC (rev 2122)
&lt;br&gt;+++ trunk/cow/doc/cow-backlog.html	2009-12-17 12:08:15 UTC (rev 2123)
&lt;br&gt;@@ -1,8 +1,7 @@
&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;!DOCTYPE html PUBLIC &amp;quot;-//W3C//DTD HTML 4.01//EN&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;quot;&lt;a href=&quot;http://www.w3.org/TR/html4/strict.dtd&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/TR/html4/strict.dtd&lt;/a&gt;&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;!-- AUTOGENERATED FILE: ALL EDITS WILL BE LOST!!! --&amp;gt;
&lt;br&gt;-&amp;lt;!DOCTYPE html PUBLIC &amp;quot;-//W3C//DTD XHTML 1.0 Transitional//EN&amp;quot;
&lt;br&gt;- &amp;nbsp;&amp;quot;&lt;a href=&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&lt;/a&gt;&amp;quot;&amp;gt;
&lt;br&gt;-&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;lt;html 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;nbsp;&amp;lt;title&amp;gt;CoW Backlog&amp;lt;/title&amp;gt;
&lt;br&gt;@@ -57,16 +56,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-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;Roadmap (version 1.1, early 2010)&amp;lt;/h1&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-1.&amp;quot;&amp;gt;&amp;lt;/a&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;Roadmap (version 1.1, early 2010)&amp;lt;/h1&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;TODO: reprioritise, pull in any pressing stuff from future tasks&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;ul&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;cache the twitter&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;webflows [IR]
&lt;br&gt;- &amp;nbsp;&amp;lt;ul&amp;gt;
&lt;br&gt;- &amp;nbsp;&amp;lt;li&amp;gt;selenium test for delete flow&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;li&amp;gt;upload and newpage flows [IR]
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;ul&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;li&amp;gt;upload of an empty file fails without a message&amp;lt;/li&amp;gt;
&lt;br&gt;@@ -79,6 +73,7 @@
&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 issues identified in cow/doc/&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;*&amp;lt;/span&amp;gt;.yam [NA]&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;li&amp;gt;do the TODO in PageService.saveEdit [HC]&amp;lt;/li&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;li&amp;gt;put back the &amp;quot;switch to wysiwyg&amp;quot; in edit.gsp&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;when dependencies regeneration is triggered for a file containing includes,
&lt;br&gt;&amp;nbsp; &amp;nbsp;the regeneration seems to be run with includes turned off (e.g. edit the
&lt;br&gt;@@ -92,11 +87,12 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;li&amp;gt;prioritise user guide and top-level htmls in solr results&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;li&amp;gt;group similar pages in solr results&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;cache the twitter&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;
&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-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;Future Tasks&amp;lt;/h1&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-2.&amp;quot;&amp;gt;&amp;lt;/a&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;Future Tasks&amp;lt;/h1&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;we should rethink how we preview non-YAM HTML files. At the moment we inject
&lt;br&gt;@@ -479,13 +475,13 @@
&lt;br&gt;&amp;nbsp;&amp;lt;/ul&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.&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;Completed Tasks&amp;lt;/h1&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-3.&amp;quot;&amp;gt;&amp;lt;/a&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;Completed Tasks&amp;lt;/h1&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;&amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;cow-done.html&amp;quot;&amp;gt;A list of completed tasks is here.&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-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;About this Document&amp;lt;/h1&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.&amp;quot;&amp;gt;&amp;lt;/a&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;About this Document&amp;lt;/h1&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;This document contains the list of features, functions, technologies,
&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-12-17 11:52:41 UTC (rev 2122)
&lt;br&gt;+++ trunk/cow/doc/cow-backlog.yam	2009-12-17 12:08:15 UTC (rev 2123)
&lt;br&gt;@@ -10,9 +10,6 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;TODO: reprioritise, pull in any pressing stuff from future tasks
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-- cache the twitter
&lt;br&gt;-- webflows [IR]
&lt;br&gt;- &amp;nbsp;- selenium test for delete flow
&lt;br&gt;&amp;nbsp;- upload and newpage flows [IR]
&lt;br&gt;&amp;nbsp; &amp;nbsp;- upload of an empty file fails without a message
&lt;br&gt;&amp;nbsp; &amp;nbsp;- uploads and newpage go directly into the sandbox - they should go via
&lt;br&gt;@@ -22,6 +19,7 @@
&lt;br&gt;&amp;nbsp;- jape yamalyser [HC, NA]
&lt;br&gt;&amp;nbsp; &amp;nbsp;- fix issues identified in cow/doc/\*.yam [NA]
&lt;br&gt;&amp;nbsp; &amp;nbsp;- do the TODO in PageService.saveEdit [HC]
&lt;br&gt;+ &amp;nbsp;- put back the &amp;quot;switch to wysiwyg&amp;quot; in edit.gsp
&lt;br&gt;&amp;nbsp;- when dependencies regeneration is triggered for a file containing includes,
&lt;br&gt;&amp;nbsp; &amp;nbsp;the regeneration seems to be run with includes turned off (e.g. edit the
&lt;br&gt;&amp;nbsp; &amp;nbsp;download page on g8rs.net, then look at /narrative.html - this now has the
&lt;br&gt;@@ -32,6 +30,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;should just message instead
&lt;br&gt;&amp;nbsp; &amp;nbsp;- prioritise user guide and top-level htmls in solr results
&lt;br&gt;&amp;nbsp; &amp;nbsp;- group similar pages in solr results
&lt;br&gt;+- cache the twitter
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&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;This SF.Net email is sponsored by the Verizon Developer Community
&lt;br&gt;Take advantage of Verizon's best-in-class app development support
&lt;br&gt;A streamlined, 14 day to market process makes app distribution fast and easy
&lt;br&gt;Join now and get one step closer to millions of Verizon customers
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/verizon-dev2dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/verizon-dev2dev&lt;/a&gt;&amp;nbsp;
&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=26827102&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;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gatewiki---commits-f28145.html&quot; embed=&quot;fixTarget[28145]&quot; target=&quot;_top&quot; &gt;gatewiki - commits&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-2123--trunk-cow-doc-tp26827102p26827102.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26826915</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[2122] trunk/cow/doc</title>
	<published>2009-12-17T03:52:41Z</published>
	<updated>2009-12-17T03:52:41Z</updated>
	<author>
		<name>gate-project</name>
	</author>
	<content type="html">Revision: 2122
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2122&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2122&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; gate-project
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-12-17 11:52:41 +0000 (Thu, 17 Dec 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;[hamish] a done task
&lt;br&gt;&lt;br&gt;Modified Paths:
&lt;br&gt;--------------
&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-done.html
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/doc/cow-done.html	2009-12-16 14:14:46 UTC (rev 2121)
&lt;br&gt;+++ trunk/cow/doc/cow-done.html	2009-12-17 11:52:41 UTC (rev 2122)
&lt;br&gt;@@ -2557,5 +2557,8 @@
&lt;br&gt;&amp;nbsp;&amp;lt;li&amp;gt;merge in stuff from gate-server/html that has been added since the branch to
&lt;br&gt;&amp;nbsp; &amp;nbsp;gau-main-tree (e.g. the projects dir has had new stuff...) [VT] [done -
&lt;br&gt;&amp;nbsp; &amp;nbsp;nothing needed]&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;/ul&amp;gt;
&lt;br&gt;-&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;webflows [IR]
&lt;br&gt;+ &amp;nbsp;&amp;lt;ul&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;li&amp;gt;selenium test for delete flow&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;&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-12-16 14:14:46 UTC (rev 2121)
&lt;br&gt;+++ trunk/cow/doc/cow-done.yam	2009-12-17 11:52:41 UTC (rev 2122)
&lt;br&gt;@@ -1780,3 +1780,5 @@
&lt;br&gt;&amp;nbsp;- merge in stuff from gate-server/html that has been added since the branch to
&lt;br&gt;&amp;nbsp; &amp;nbsp;gau-main-tree (e.g. the projects dir has had new stuff...) [VT] [done -
&lt;br&gt;&amp;nbsp; &amp;nbsp;nothing needed]
&lt;br&gt;+- webflows [IR]
&lt;br&gt;+ &amp;nbsp;- selenium test for delete flow
&lt;br&gt;\ No newline at end of file
&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;This SF.Net email is sponsored by the Verizon Developer Community
&lt;br&gt;Take advantage of Verizon's best-in-class app development support
&lt;br&gt;A streamlined, 14 day to market process makes app distribution fast and easy
&lt;br&gt;Join now and get one step closer to millions of Verizon customers
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/verizon-dev2dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/verizon-dev2dev&lt;/a&gt;&amp;nbsp;
&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=26826915&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;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gatewiki---commits-f28145.html&quot; embed=&quot;fixTarget[28145]&quot; target=&quot;_top&quot; &gt;gatewiki - commits&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-2122--trunk-cow-doc-tp26826915p26826915.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26811696</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[2121] trunk/cow/selenium</title>
	<published>2009-12-16T06:14:46Z</published>
	<updated>2009-12-16T06:14:46Z</updated>
	<author>
		<name>ian_roberts</name>
	</author>
	<content type="html">Revision: 2121
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2121&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2121&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; ian_roberts
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-12-16 14:14:46 +0000 (Wed, 16 Dec 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;Added a selenium test for the delete flow.
&lt;br&gt;&lt;br&gt;Modified Paths:
&lt;br&gt;--------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/selenium/server-suite.html
&lt;br&gt;&lt;br&gt;Added Paths:
&lt;br&gt;-----------
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/selenium/tests/delete.html
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/selenium/server-suite.html
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/selenium/server-suite.html	2009-12-16 14:14:06 UTC (rev 2120)
&lt;br&gt;+++ trunk/cow/selenium/server-suite.html	2009-12-16 14:14:46 UTC (rev 2121)
&lt;br&gt;@@ -15,6 +15,7 @@
&lt;br&gt;&amp;nbsp;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;a href=&amp;quot;tests/dependencies.html&amp;quot;&amp;gt;dependencies&amp;lt;/a&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;&amp;lt;a href=&amp;quot;tests/svn-update.html&amp;quot;&amp;gt;svn update&amp;lt;/a&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;&amp;lt;a href=&amp;quot;tests/directory-security.html&amp;quot;&amp;gt;directory-security&amp;lt;/a&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;&amp;lt;a href=&amp;quot;tests/delete.html&amp;quot;&amp;gt;delete&amp;lt;/a&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/tbody&amp;gt;&amp;lt;/table&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/body&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/html&amp;gt;
&lt;br&gt;&lt;br&gt;Added: trunk/cow/selenium/tests/delete.html
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/selenium/tests/delete.html	 &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/selenium/tests/delete.html	2009-12-16 14:14:46 UTC (rev 2121)
&lt;br&gt;@@ -0,0 +1,1013 @@
&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;!DOCTYPE html PUBLIC &amp;quot;-//W3C//DTD XHTML 1.0 Strict//EN&amp;quot; &amp;quot;&lt;a href=&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&lt;/a&gt;&amp;quot;&amp;gt;
&lt;br&gt;+&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; xml:lang=&amp;quot;en&amp;quot; lang=&amp;quot;en&amp;quot;&amp;gt;
&lt;br&gt;+&amp;lt;head profile=&amp;quot;&lt;a href=&quot;http://selenium-ide.openqa.org/profiles/test-case&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://selenium-ide.openqa.org/profiles/test-case&lt;/a&gt;&amp;quot;&amp;gt;
&lt;br&gt;+&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;lt;link rel=&amp;quot;selenium.base&amp;quot; href=&amp;quot;&amp;quot; /&amp;gt;
&lt;br&gt;+&amp;lt;title&amp;gt;delete&amp;lt;/title&amp;gt;
&lt;br&gt;+&amp;lt;/head&amp;gt;
&lt;br&gt;+&amp;lt;body&amp;gt;
&lt;br&gt;+&amp;lt;table cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot;&amp;gt;
&lt;br&gt;+&amp;lt;thead&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;&amp;lt;td rowspan=&amp;quot;1&amp;quot; colspan=&amp;quot;3&amp;quot;&amp;gt;delete&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;/thead&amp;gt;&amp;lt;tbody&amp;gt;
&lt;br&gt;+
&lt;br&gt;+&amp;lt;!--admin user details, stored for later use--&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;store&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;scott&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;adminUsername&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;store&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;tiger&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;adminPassword&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+
&lt;br&gt;+&amp;lt;!--wiki details, stored for later use--&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;store&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;Delete flow tests&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;wikiName&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+ &amp;nbsp;
&lt;br&gt;+&amp;lt;!-- Define some test users, stored for later use--&amp;gt;
&lt;br&gt;+&amp;lt;!-- This use will not be allowed to delete anything --&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;store&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;javascript{'user' + (new Date()).getTime() + &amp;quot;1&amp;quot;}&amp;lt;/td&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+	&amp;lt;td&amp;gt;noDeleteUser&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;!-- This user will be able to delete in all dirs except a privileged one --&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;store&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;javascript{'user' + (new Date()).getTime() + &amp;quot;2&amp;quot;}&amp;lt;/td&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+	&amp;lt;td&amp;gt;normalUser&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;!-- This user will be able to delete in all directories--&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;store&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;javascript{'user' + (new Date()).getTime() + &amp;quot;3&amp;quot;}&amp;lt;/td&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+	&amp;lt;td&amp;gt;privilegedUser&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+
&lt;br&gt;+&amp;lt;!-- This action set will contain just the delete action --&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;store&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;javascript{'actions' + (new Date()).getTime() + &amp;quot;3&amp;quot;}&amp;lt;/td&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+	&amp;lt;td&amp;gt;deleteActions&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+
&lt;br&gt;+&amp;lt;!--Test users will share the same details--&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;store&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;Test&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;userFirstName&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;store&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;User&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;userLastName&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;store&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26811696&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;test@...&lt;/a&gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;userEmail&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;store&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;1password4WTU&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;userPassword&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+
&lt;br&gt;+&amp;lt;!-- Define some directory names, stored for later use--&amp;gt;
&lt;br&gt;+&amp;lt;!-- This directory will be deletable by normal users and privileged users--&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;store&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;normal&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;normalDir&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;!-- This directory will be deletable by privileged users only--&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;store&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;privileged&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;privilegedDir&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+
&lt;br&gt;+&amp;lt;!-- Define some role names, stored for later use--&amp;gt;
&lt;br&gt;+&amp;lt;!-- This role can delete in the normal dir but not the privileged dir--&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;store&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;javascript{'role' + (new Date()).getTime() + &amp;quot;1&amp;quot;}&amp;lt;/td&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+	&amp;lt;td&amp;gt;normalRole&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;!-- This role can access everything--&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;store&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;javascript{'role' + (new Date()).getTime() + &amp;quot;3&amp;quot;}&amp;lt;/td&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+	&amp;lt;td&amp;gt;privilegedRole&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;
&lt;br&gt;+&amp;lt;!-- Ensure logged out --&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;open&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;/g8/auth/signOut&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;!--Log in as admin--&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;open&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;/&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;type&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;username&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;${adminUsername}&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;type&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;password&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;${adminPassword}&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;clickAndWait&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;//input[@value='Sign in']&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;verifyTextPresent&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;CoW&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;!--Create a new wiki--&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;open&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;/g8/admin/&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;clickAndWait&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;link=Wiki areas&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;clickAndWait&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;link=New Wiki&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;click&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;createNewSandbox&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;type&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;description&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;${wikiName}&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;clickAndWait&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;//input[@value='Create']&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+
&lt;br&gt;+&amp;lt;!--store the new wiki's id--&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;storeText&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;//td[preceding-sibling::td = 'Id:']&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;wikiID&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+
&lt;br&gt;+&amp;lt;!--make sure the new wiki works--&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;clickAndWait&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;link=Browse area&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;verifyTextPresent&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;Directory&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+
&lt;br&gt;+&amp;lt;!-- Create a directory for normal access --&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;open&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;/g8/page/show/${wikiID}&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;click&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;link=New page&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;waitForElementPresent&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;newpageName&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;type&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;newpageName&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;${normalDir}&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;click&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;_eventId_submitName&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;waitForElementPresent&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;_eventId_create&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;clickAndWait&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;_eventId_create&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+
&lt;br&gt;+&amp;lt;!-- Create a directory for privileged access --&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;open&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;/g8/page/show/${wikiID}&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;click&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;link=New page&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;waitForElementPresent&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;newpageName&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;type&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;newpageName&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;${privilegedDir}&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;click&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;_eventId_submitName&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;waitForElementPresent&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;_eventId_create&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;clickAndWait&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;_eventId_create&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+
&lt;br&gt;+
&lt;br&gt;+&amp;lt;!--create delete action set --&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;open&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;/g8/jsecActionList/create&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;type&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;name&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;${deleteActions}&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;type&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;actions&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;delete&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;clickAndWait&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;//input[@value='Create']&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;assertText&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;//div[@class='body']/div[@class='message']&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;regexp:^JsecActionList \d+ created$&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+
&lt;br&gt;+&amp;lt;!--create normal access role --&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;open&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;/g8/jsecRole/create&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;type&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;name&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;${normalRole}&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;clickAndWait&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;//input[@value='Create']&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;assertText&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;//div[@class='body']/div[@class='message']&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;regexp:^JsecRole \d+ created$&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;!--store the normal role's id--&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;storeText&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;//td[preceding-sibling::td = 'Id:']&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;normalRoleID&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+
&lt;br&gt;+&amp;lt;!--create normal access permission for this role--&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;open&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;/g8/jsecRolePermissionRel/create&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;select&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;role.id&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;${normalRole}&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;select&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;wikiId&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;${wikiID}&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;type&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;includeDir&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;.*&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;type&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;excludeDir&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;select&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;controllerName.id&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;page&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;select&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;actions.id&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;Read&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;clickAndWait&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;//input[@value='Create']&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;assertText&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;//div[@class='body']/div[@class='message']&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;regexp:^JsecRolePermissionRel \d+ created$&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;open&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;/g8/jsecRolePermissionRel/create&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;select&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;role.id&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;${normalRole}&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;select&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;wikiId&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;${wikiID}&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;type&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;includeDir&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;.*&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;type&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;excludeDir&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;.*${privilegedDir}\/\z&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;select&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;controllerName.id&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;page&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;select&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;actions.id&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;${deleteActions}&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;clickAndWait&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;//input[@value='Create']&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;assertText&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;//div[@class='body']/div[@class='message']&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;regexp:^JsecRolePermissionRel \d+ created$&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+
&lt;br&gt;+&amp;lt;!--create privileged access role --&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;open&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;/g8/jsecRole/create&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;type&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;name&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;${privilegedRole}&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;clickAndWait&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;//input[@value='Create']&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;assertText&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;//div[@class='body']/div[@class='message']&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;regexp:^JsecRole \d+ created$&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;!--store the privileged role's id--&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;storeText&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;//td[preceding-sibling::td = 'Id:']&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;privilegedRoleID&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;!--create privileged access permission for this role--&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;open&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;/g8/jsecRolePermissionRel/create&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;select&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;role.id&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;${privilegedRole}&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;select&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;wikiId&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;${wikiID}&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;type&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;includeDir&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;.*&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;type&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;excludeDir&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;select&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;controllerName.id&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;page&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;select&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;actions.id&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;Read&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;clickAndWait&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;//input[@value='Create']&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;assertText&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;//div[@class='body']/div[@class='message']&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;regexp:^JsecRolePermissionRel \d+ created$&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;open&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;/g8/jsecRolePermissionRel/create&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;select&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;role.id&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;${privilegedRole}&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;select&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;wikiId&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;${wikiID}&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;type&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;includeDir&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;.*&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;type&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;excludeDir&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;select&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;controllerName.id&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;page&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;select&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;actions.id&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;${deleteActions}&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;clickAndWait&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;//input[@value='Create']&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;assertText&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;//div[@class='body']/div[@class='message']&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;regexp:^JsecRolePermissionRel \d+ created$&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+
&lt;br&gt;+
&lt;br&gt;+&amp;lt;!--create normal user--&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;open&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;/g8/jsecUser/list&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;open&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;/g8/jsecUser/create&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;type&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;username&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;${normalUser}&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;type&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;firstname&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;${userFirstName}&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;type&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;lastname&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;${userLastName}&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;type&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;email&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;${userEmail}&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;type&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;password&amp;lt;/td&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;+	&amp;lt;td&amp;gt;${userPassword}&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;type&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;repeatPassword&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;${userPassword}&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;clickAndWait&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;//input[@value='Create']&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;assertText&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;//div[@class='body']/div[@class='message']&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;regexp:^JsecUser \d+ created$&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;!--store the normal user's id--&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;storeText&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;//td[preceding-sibling::td = 'Id:']&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;normalUserID&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;!--add external user to appropriate role--&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;open&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;/g8/jsecUserRoleMappings/listByUser/${normalUserID}&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;select&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;id2&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;label=${normalRole}&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;clickAndWait&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;add&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;assertText&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;//div[@class='body']/div[@class='message']&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;User ${normalUser} (${userFirstName} ${userLastName}) added to role ${normalRole}&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+
&lt;br&gt;+
&lt;br&gt;+
&lt;br&gt;+&amp;lt;!--create privileged user--&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;open&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;/g8/jsecUser/list&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;open&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;/g8/jsecUser/create&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;type&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;username&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;${privilegedUser}&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;type&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;firstname&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;${userFirstName}&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;type&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;lastname&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;${userLastName}&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;type&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;email&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;${userEmail}&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;type&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;password&amp;lt;/td&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;+	&amp;lt;td&amp;gt;${userPassword}&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;type&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;repeatPassword&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;${userPassword}&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;clickAndWait&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;//input[@value='Create']&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;assertText&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;//div[@class='body']/div[@class='message']&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;regexp:^JsecUser \d+ created$&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;!--store the privileged user's id--&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;storeText&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;//td[preceding-sibling::td = 'Id:']&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;privilegedUserID&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;!--add privileged user to appropriate role--&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;open&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;/g8/jsecUserRoleMappings/listByUser/${privilegedUserID}&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;select&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;id2&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;label=${privilegedRole}&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;clickAndWait&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;add&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;assertText&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;//div[@class='body']/div[@class='message']&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;User ${privilegedUser} (${userFirstName} ${userLastName}) added to role ${privilegedRole}&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+
&lt;br&gt;+
&lt;br&gt;+&amp;lt;!--Log out of admin and in as the normal user--&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;clickAndWait&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;link=Log out&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;open&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;/&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;assertLocation&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;*/g8/auth/login?*&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;type&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;username&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;${normalUser}&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;type&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;password&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;${userPassword}&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;clickAndWait&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;//input[@value='Sign in']&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;!-- Try to delete something including the privileged directory --&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;open&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;/g8/page/show/${wikiID}/?type=dir&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;verifyTextPresent&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;Directory:&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;!-- Check that we don't get a delete checkbox for directories we can't delete --&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;verifyElementNotPresent&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;//input[@name = 'filesToDelete' and @value = '${privilegedDir}/']&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;!-- Pretend to be malicious - try and delete it anyway --&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;open&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;/g8/page/delete/${wikiID}/?filesToDelete=${privilegedDir}/&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;verifyTextPresent&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;Confirm deletion&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;clickAndWait&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;_eventId_confirm&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;verifyTextPresent&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;You do not have permission to delete&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+
&lt;br&gt;+
&lt;br&gt;+&amp;lt;!--Log out, and in as the privileged user--&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;clickAndWait&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;link=Log out&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;open&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;/&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;assertLocation&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;*/g8/auth/login?*&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;type&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;username&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;${privilegedUser}&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;type&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;password&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;${userPassword}&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;clickAndWait&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;//input[@value='Sign in']&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;!-- Try to delete something including the privileged directory --&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;open&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;/g8/page/show/${wikiID}/?type=dir&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;verifyTextPresent&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;Directory:&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;!-- This time we do have a checkbox for the privileged dir --&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;verifyElementPresent&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;//input[@name = 'filesToDelete' and @value = '${privilegedDir}/']&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;check&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;//input[@name = 'filesToDelete' and @value = '${privilegedDir}/']&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;check&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;//input[@name = 'filesToDelete' and @value = '${normalDir}/']&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;clickAndWait&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;delete&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;verifyTextPresent&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;Confirm deletion&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;clickAndWait&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;_eventId_confirm&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;verifyTextPresent&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;Successfully deleted&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;!-- Check that the privileged dir has actually gone --&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;verifyElementNotPresent&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;//a[href = '${privilegedDir}']&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+
&lt;br&gt;+&amp;lt;!--Clean up: log back in as admin--&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;open&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;/g8/auth/signOut&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;type&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;username&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;${adminUsername}&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;type&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;password&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;${adminPassword}&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;clickAndWait&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;//input[@value='Sign in']&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+
&lt;br&gt;+
&lt;br&gt;+
&lt;br&gt;+
&lt;br&gt;+&amp;lt;!--Delete the temp users--&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;open&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;/g8/jsecUser/show/${normalUserID}&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;click&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;_action_Delete&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;assertConfirmation&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;Are you sure?&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;waitForPageToLoad&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;10000&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;assertText&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;//div[@class='body']/div[@class='message']&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;JsecUser ${normalUserID} deleted&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;open&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;/g8/jsecUser/show/${privilegedUserID}&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;click&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;_action_Delete&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;assertConfirmation&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;Are you sure?&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;waitForPageToLoad&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;10000&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;assertText&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;//div[@class='body']/div[@class='message']&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;JsecUser ${privilegedUserID} deleted&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+
&lt;br&gt;+
&lt;br&gt;+&amp;lt;!--Delete the temp roles (this deletes the permissions too)--&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;open&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;/g8/jsecRole/show/${normalRoleID}&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;click&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;_action_Delete&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;assertConfirmation&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;regexp:^This role is currently unused.\s*Definitely delete\?$&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;waitForPageToLoad&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;10000&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;open&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;/g8/jsecRole/show/${privilegedRoleID}&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;click&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;_action_Delete&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;assertConfirmation&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;regexp:^This role is currently unused.\s*Definitely delete\?$&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;waitForPageToLoad&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;10000&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+
&lt;br&gt;+
&lt;br&gt;+&amp;lt;!--Delete the temp wiki--&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;open&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;/g8/wiki/show/${wikiID}&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;click&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;_action_Delete&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;assertConfirmation&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;Are you sure?&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;waitForPageToLoad&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;10000&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;assertText&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;//div[@class='body']/div[@class='message']&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;Wiki ${wikiID} deleted&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+
&lt;br&gt;+&amp;lt;!--Log out--&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;open&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;/g8/auth/signOut&amp;lt;/td&amp;gt;
&lt;br&gt;+	&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
&lt;br&gt;+&amp;lt;/tr&amp;gt;
&lt;br&gt;+
&lt;br&gt;+&amp;lt;/tbody&amp;gt;&amp;lt;/table&amp;gt;
&lt;br&gt;+&amp;lt;/body&amp;gt;
&lt;br&gt;+&amp;lt;/html&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;This SF.Net email is sponsored by the Verizon Developer Community
&lt;br&gt;Take advantage of Verizon's best-in-class app development support
&lt;br&gt;A streamlined, 14 day to market process makes app distribution fast and easy
&lt;br&gt;Join now and get one step closer to millions of Verizon customers
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/verizon-dev2dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/verizon-dev2dev&lt;/a&gt;&amp;nbsp;
&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=26811696&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;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gatewiki---commits-f28145.html&quot; embed=&quot;fixTarget[28145]&quot; target=&quot;_top&quot; &gt;gatewiki - commits&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-2121--trunk-cow-selenium-tp26811696p26811696.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26811683</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[2120] trunk/cow/grails-app</title>
	<published>2009-12-16T06:14:06Z</published>
	<updated>2009-12-16T06:14:06Z</updated>
	<author>
		<name>ian_roberts</name>
	</author>
	<content type="html">Revision: 2120
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2120&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2120&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; ian_roberts
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-12-16 14:14:06 +0000 (Wed, 16 Dec 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;Check directory permissions by matching the directory name both with and
&lt;br&gt;without a trailing slash against the regular expressions. &amp;nbsp;If either the slash
&lt;br&gt;or no-slash versions match the regex we assume a match. &amp;nbsp;This means you can
&lt;br&gt;write your directory regex to match either form (either deliberately or
&lt;br&gt;accidentally) and it will protect the right things.
&lt;br&gt;&lt;br&gt;Modified Paths:
&lt;br&gt;--------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/grails-app/taglib/SecurityTagLib.groovy
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/grails-app/utils/gate/cow/CowPermission.groovy
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/grails-app/taglib/SecurityTagLib.groovy
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/grails-app/taglib/SecurityTagLib.groovy	2009-12-16 10:30:32 UTC (rev 2119)
&lt;br&gt;+++ trunk/cow/grails-app/taglib/SecurityTagLib.groovy	2009-12-16 14:14:06 UTC (rev 2120)
&lt;br&gt;@@ -169,7 +169,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(lastDir == -1) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pagePathDir = &amp;quot;&amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} else { &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pagePathDir = pagePath?.substring(0,lastDir)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pagePathDir = pagePath?.substring(0,lastDir + 1)
&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;}
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/grails-app/utils/gate/cow/CowPermission.groovy
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/grails-app/utils/gate/cow/CowPermission.groovy	2009-12-16 10:30:32 UTC (rev 2119)
&lt;br&gt;+++ trunk/cow/grails-app/utils/gate/cow/CowPermission.groovy	2009-12-16 14:14:06 UTC (rev 2120)
&lt;br&gt;@@ -184,22 +184,34 @@
&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;(this.wiki.equals(WILDCARD)
&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;| reqd.wiki.equals(this.wiki))
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// check the directory - we use match, not find, a pattern. The
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// whole regexp must match the path. We apply a pattern for all
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// directories to include, and then a pattern for all driectories to
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// exclude.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// check the directory - we use match, not find, a pattern. The whole
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// regexp must match the path. We apply a pattern for all directories
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// to include, and then a pattern for all driectories to exclude. &amp;nbsp;We
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// check the required directory against the patterns both with and
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// without a trailing slash
&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;// remove any trailing slashes from the required dir
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;def requiredDirNoSlash = reqd.requiredDir.replaceAll(/\/+$/, '')
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// if we're not looking at the root dir then add a trailing slash
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// (the root of a wiki area is always the empty string, not a slash
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// on its own)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;def requiredDirWithSlash = requiredDirNoSlash ?
&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;requiredDirNoSlash + '/' :
&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;requiredDirNoSlash
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// If includeDir is null or empty string nothing will be included
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;implies = implies &amp;&amp; 
&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;this.includeDir != null &amp;&amp;
&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;!this.includeDir.equals(&amp;quot;&amp;quot;) &amp;&amp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;reqd.requiredDir ==~ /${this.includeDir}/
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(requiredDirNoSlash ==~ this.includeDir ||
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; requiredDirWithSlash ==~ this.includeDir)
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// If exlcudeDir is null or empty string nothing will be excluded
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;implies = implies &amp;&amp;
&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;!(this.excludeDir != null &amp;&amp; 
&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;!this.excludeDir.equals(&amp;quot;&amp;quot;) &amp;&amp;
&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;reqd.requiredDir ==~ /${this.excludeDir}/)
&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;(requiredDirNoSlash ==~ this.excludeDir ||
&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; requiredDirWithSlash ==~ this.excludeDir))
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// &amp;nbsp;old style pre regexp: implies = implies &amp;&amp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// reqd.dirRegex.startsWith(this.dirRegex)
&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;This SF.Net email is sponsored by the Verizon Developer Community
&lt;br&gt;Take advantage of Verizon's best-in-class app development support
&lt;br&gt;A streamlined, 14 day to market process makes app distribution fast and easy
&lt;br&gt;Join now and get one step closer to millions of Verizon customers
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/verizon-dev2dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/verizon-dev2dev&lt;/a&gt;&amp;nbsp;
&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=26811683&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;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gatewiki---commits-f28145.html&quot; embed=&quot;fixTarget[28145]&quot; target=&quot;_top&quot; &gt;gatewiki - commits&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-2120--trunk-cow-grails-app-tp26811683p26811683.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26809099</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[2119] trunk/cow/doc</title>
	<published>2009-12-16T02:30:33Z</published>
	<updated>2009-12-16T02:30:33Z</updated>
	<author>
		<name>hcunningham-2</name>
	</author>
	<content type="html">Revision: 2119
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2119&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2119&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; hcunningham
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-12-16 10:30:32 +0000 (Wed, 16 Dec 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;more user-level documentation
&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/gatewiki.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-12-16 09:43:21 UTC (rev 2118)
&lt;br&gt;+++ trunk/cow/doc/cow-backlog.html	2009-12-16 10:30:32 UTC (rev 2119)
&lt;br&gt;@@ -62,9 +62,10 @@
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;TODO: reprioritise, pull in any pressing stuff from future tasks&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;ul&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;cache the twitter&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;li&amp;gt;webflows [IR]
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;ul&amp;gt;
&lt;br&gt;- &amp;nbsp;&amp;lt;li&amp;gt;add delete flow (operating on the selected files in directory view)&amp;lt;/li&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;li&amp;gt;selenium test for delete flow&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;upload and newpage flows [IR]
&lt;br&gt;&amp;nbsp; &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-12-16 09:43:21 UTC (rev 2118)
&lt;br&gt;+++ trunk/cow/doc/cow-backlog.yam	2009-12-16 10:30:32 UTC (rev 2119)
&lt;br&gt;@@ -10,8 +10,9 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;TODO: reprioritise, pull in any pressing stuff from future tasks
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+- cache the twitter
&lt;br&gt;&amp;nbsp;- webflows [IR]
&lt;br&gt;- &amp;nbsp;- add delete flow (operating on the selected files in directory view)
&lt;br&gt;+ &amp;nbsp;- selenium test for delete flow
&lt;br&gt;&amp;nbsp;- upload and newpage flows [IR]
&lt;br&gt;&amp;nbsp; &amp;nbsp;- upload of an empty file fails without a message
&lt;br&gt;&amp;nbsp; &amp;nbsp;- uploads and newpage go directly into the sandbox - they should go via
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/doc/gatewiki.html
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/doc/gatewiki.html	2009-12-16 09:43:21 UTC (rev 2118)
&lt;br&gt;+++ trunk/cow/doc/gatewiki.html	2009-12-16 10:30:32 UTC (rev 2119)
&lt;br&gt;@@ -1,7 +1,8 @@
&lt;br&gt;-&amp;lt;!DOCTYPE html PUBLIC &amp;quot;-//W3C//DTD HTML 4.01//EN&amp;quot;
&lt;br&gt;- &amp;nbsp; &amp;quot;&lt;a href=&quot;http://www.w3.org/TR/html4/strict.dtd&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/TR/html4/strict.dtd&lt;/a&gt;&amp;quot;&amp;gt;
&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;nbsp;&amp;lt;!-- AUTOGENERATED FILE: ALL EDITS WILL BE LOST!!! --&amp;gt;
&lt;br&gt;-&amp;lt;html lang=&amp;quot;en&amp;quot;&amp;gt;
&lt;br&gt;+&amp;lt;!DOCTYPE html PUBLIC &amp;quot;-//W3C//DTD XHTML 1.0 Transitional//EN&amp;quot;
&lt;br&gt;+ &amp;nbsp;&amp;quot;&lt;a href=&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&lt;/a&gt;&amp;quot;&amp;gt;
&lt;br&gt;+&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;nbsp;&amp;lt;title&amp;gt;GATEWiki: User and Developer Guide&amp;lt;/title&amp;gt;
&lt;br&gt;@@ -44,10 +45,11 @@
&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;nbsp;&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;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;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;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;lt;!--%% %image(gslidy/gate-logo-colour.png, GATE, 426, 263, right, 0)--&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;&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;&amp;nbsp;
&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;@@ -58,11 +60,15 @@
&lt;br&gt;&amp;nbsp;&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;nbsp;&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;nbsp;&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;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-3.1.3.&amp;quot;&amp;gt;3.1.3. Deleting and copying&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.4.&amp;quot;&amp;gt;3.1.4. 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;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-3.1.5.&amp;quot;&amp;gt;3.1.5. Finding things&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.6.&amp;quot;&amp;gt;3.1.6. Raw HTML pages vs. wiki pages&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.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;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.6.&amp;quot;&amp;gt;3.6. Searching&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.7.&amp;quot;&amp;gt;3.7. Report a bug&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.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;nbsp;&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;@@ -152,9 +158,8 @@
&lt;br&gt;&amp;nbsp;&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;nbsp;&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;nbsp;&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;nbsp;&amp;nbsp;&amp;lt;a href=&amp;quot;#section-4.17.3.&amp;quot;&amp;gt;4.17.3. 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.4.&amp;quot;&amp;gt;4.17.4. Debugging&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.18.&amp;quot;&amp;gt;4.18. SVN Browsing&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;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;nbsp;&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;@@ -162,7 +167,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-1.&amp;quot;&amp;gt;&amp;lt;/a&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;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;&amp;nbsp;&amp;lt;p&amp;gt;Files and directories, documents and folders, disks and memory sticks, laptops
&lt;br&gt;&amp;nbsp;and games machines, TV time-shifters and corporate IT systems. Data data
&lt;br&gt;@@ -187,7 +192,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-2.&amp;quot;&amp;gt;&amp;lt;/a&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;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;@@ -262,7 +267,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;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;/a&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;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;nbsp;&amp;lt;p&amp;gt;In general using GATEWiki should be easy enough not to need a manual. To edit
&lt;br&gt;&amp;nbsp;click the &amp;quot;edit&amp;quot; link, for example. A few things have some subtlety, though,
&lt;br&gt;@@ -273,10 +278,10 @@
&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;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;/a&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;+&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;&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.1.&amp;quot;&amp;gt;&amp;lt;/a&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;+&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;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&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;&amp;nbsp;(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;@@ -301,7 +306,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.1.2.&amp;quot;&amp;gt;&amp;lt;/a&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;+&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;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&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;&amp;nbsp;to be placed (click on the &amp;quot;Directory&amp;quot; link from any page in that directory).
&lt;br&gt;@@ -330,8 +335,93 @@
&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.2.&amp;quot;&amp;gt;&amp;lt;/a&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;&amp;nbsp;
&lt;br&gt;+&amp;lt;p&amp;gt;&amp;lt;a name=&amp;quot;delete&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.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.1.3. &amp;lt;/span&amp;gt;Deleting and copying&amp;lt;/h3&amp;gt;
&lt;br&gt;+
&lt;br&gt;+&amp;lt;p&amp;gt;Files and directories (and their contents) can be &amp;lt;b&amp;gt;deleted&amp;lt;/b&amp;gt; via the directory
&lt;br&gt;+view: follow the &amp;quot;Directory&amp;quot; link from any page, tick the checkbox(es) of the
&lt;br&gt;+entries you want to remove, then hit the &amp;quot;Delete selected&amp;quot; button at the foot
&lt;br&gt;+of the page.&amp;lt;/p&amp;gt;
&lt;br&gt;+
&lt;br&gt;+&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Copying&amp;lt;/b&amp;gt; (and renaming) of wiki pages is more convoluted at present (and
&lt;br&gt;+copying of directories is not supported). To copy a page first edit it, copy
&lt;br&gt;+the text to the clipboard, then create a new file, edit it and paste the
&lt;br&gt;+contents of the old file. (To do a rename simply perform this process and then
&lt;br&gt;+delete the old file.)&amp;lt;/p&amp;gt;
&lt;br&gt;+
&lt;br&gt;+&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Don't&amp;lt;/b&amp;gt; use the WYSIWYG editor for copying - just use the form editor
&lt;br&gt;+(otherwise you're liable to lose all the formatting of the page).&amp;lt;/p&amp;gt;
&lt;br&gt;+
&lt;br&gt;+&amp;lt;p&amp;gt;(One reason we haven't made copying easier (yet) is that you can also use any
&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; client, of which there are
&lt;br&gt;+legion.)&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;upload&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.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;3.1.4. &amp;lt;/span&amp;gt;Upload other types of files&amp;lt;/h3&amp;gt;
&lt;br&gt;+
&lt;br&gt;+&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;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 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;+
&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;dir-view&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.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;3.1.5. &amp;lt;/span&amp;gt;Finding things&amp;lt;/h3&amp;gt;
&lt;br&gt;+
&lt;br&gt;+&amp;lt;p&amp;gt;In the usual way GATEWiki supports &amp;lt;b&amp;gt;search&amp;lt;/b&amp;gt; via the &amp;quot;Search&amp;quot; box: just type
&lt;br&gt;+your keywords and press the button. For more sophisticated queries, see the
&lt;br&gt;+search syntax description at the foot of the search results page or the
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;#searching&amp;quot;&amp;gt;section on searching&amp;lt;/a&amp;gt;.&amp;lt;/p&amp;gt;
&lt;br&gt;+
&lt;br&gt;+&amp;lt;p&amp;gt;In keeping with our everything-is-a-directory-tree philosophy, another way to
&lt;br&gt;+see &amp;lt;b&amp;gt;what files live where&amp;lt;/b&amp;gt; etc. is via the directory view.&amp;lt;/p&amp;gt;
&lt;br&gt;+
&lt;br&gt;+&amp;lt;p&amp;gt;When you're logged in (and have permission) each page has a &amp;quot;Directory&amp;quot; link
&lt;br&gt;+leading to the directory view, which is just like a files and folders browser
&lt;br&gt;+on your desktop. The type of each entry is indicated by an icon:&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;img src=&amp;quot;../web-app/_images/filetypes/directory.png&amp;quot;/&amp;gt; directory&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;lt;img src=&amp;quot;../web-app/_images/filetypes/html+yam.png&amp;quot;/&amp;gt; wiki page (in &amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;#yam&amp;quot;&amp;gt;YAM&amp;lt;/a&amp;gt;)&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;lt;img src=&amp;quot;../web-app/_images/filetypes/pdf.png&amp;quot;/&amp;gt; PDF&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;lt;img src=&amp;quot;../web-app/_images/filetypes/html.png&amp;quot;/&amp;gt; raw HTML file (see
&lt;br&gt;+ &amp;nbsp;&amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;#raw-html&amp;quot;&amp;gt;below&amp;lt;/a&amp;gt;)&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;lt;img src=&amp;quot;../web-app/_images/filetypes/image.png&amp;quot;/&amp;gt; image&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;lt;img src=&amp;quot;../web-app/_images/filetypes/word.png&amp;quot;/&amp;gt; word processor&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;lt;img src=&amp;quot;../web-app/_images/filetypes/unknown.png&amp;quot;/&amp;gt; other&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;/ul&amp;gt;
&lt;br&gt;+
&lt;br&gt;+&amp;lt;p&amp;gt;Directory view also provides access to the &amp;lt;b&amp;gt;&amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;#upload&amp;quot;&amp;gt;upload&amp;lt;/a&amp;gt;&amp;lt;/b&amp;gt; and
&lt;br&gt;+&amp;lt;b&amp;gt;&amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;#delete&amp;quot;&amp;gt;delete&amp;lt;/a&amp;gt;&amp;lt;/b&amp;gt; functions.&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;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-3.1.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;3.1.6. &amp;lt;/span&amp;gt;Raw HTML pages vs. wiki pages&amp;lt;/h3&amp;gt;
&lt;br&gt;+
&lt;br&gt;+&amp;lt;p&amp;gt;When you create a new web page in GATEWiki two files are added:&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 &amp;lt;tt&amp;gt;.html&amp;lt;/tt&amp;gt; file that will be served to web browsers when they follow a link
&lt;br&gt;+ &amp;nbsp;to the page&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;a &amp;lt;tt&amp;gt;.yam&amp;lt;/tt&amp;gt; file that contains the source text, in &amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;#yam&amp;quot;&amp;gt;YAM format&amp;lt;/a&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;In general you can simply ignore this - edit and delete operations, for
&lt;br&gt;+example, work transparently on your pages. However, GATEWiki also supports raw
&lt;br&gt;+HTML files, which have no YAM source. Again editing and so on is transparent,
&lt;br&gt;+but because HTML presents more of a security risk the permissions associated
&lt;br&gt;+with these pages are often different from ordinary wiki pages - hence the
&lt;br&gt;+different icon for these pages in &amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;#dir-view&amp;quot;&amp;gt;directory view&amp;lt;/a&amp;gt;, for example.&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;@@ -351,7 +441,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.3.&amp;quot;&amp;gt;&amp;lt;/a&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;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;&amp;nbsp;&amp;lt;p&amp;gt;When CoW is running in server mode, it is necessary to create an account and
&lt;br&gt;&amp;nbsp;to log in before being allowed to edit pages. Some pages will also not be
&lt;br&gt;@@ -360,7 +450,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.4.&amp;quot;&amp;gt;&amp;lt;/a&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.4. &amp;lt;/span&amp;gt;Create a new wiki page or directory&amp;lt;/h2&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-3.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;3.4. &amp;lt;/span&amp;gt;Create a new wiki page or directory&amp;lt;/h2&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;To create a new wiki page you can either:&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;ul&amp;gt;
&lt;br&gt;@@ -395,7 +485,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;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;/a&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;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;nbsp;&amp;lt;p&amp;gt;When you have permission to edit a page that you're viewing an edit link will
&lt;br&gt;&amp;nbsp;appear. Two types of editor are available:&amp;lt;/p&amp;gt;
&lt;br&gt;@@ -438,17 +528,31 @@
&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;upload&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.6.&amp;quot;&amp;gt;&amp;lt;/a&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.6. &amp;lt;/span&amp;gt;Upload other types of files&amp;lt;/h2&amp;gt;
&lt;br&gt;+&amp;lt;p&amp;gt;&amp;lt;a name=&amp;quot;searching&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.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;3.6. &amp;lt;/span&amp;gt;Searching&amp;lt;/h2&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-&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;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 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;lt;p&amp;gt;A search box is provided at the top right corner of the page that allows
&lt;br&gt;+searching within a wiki area that the current page belongs to. &amp;nbsp;In other
&lt;br&gt;+words, if a page belongs to the Help section, results are retrieved only from
&lt;br&gt;+the Help section. Information on Solr query syntax is available at
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;&lt;a href=&quot;http://wiki.apache.org/solr/SolrQuerySyntax&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://wiki.apache.org/solr/SolrQuerySyntax&lt;/a&gt;&amp;quot;&amp;gt;&lt;a href=&quot;http://wiki.apache.org/solr/SolrQuerySyntax&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://wiki.apache.org/solr/SolrQuerySyntax&lt;/a&gt;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+&amp;lt;p&amp;gt;Given a query, if it succeeds, maximum of 10 results are shown on a single
&lt;br&gt;+page. User can navigate through different page links at the top or bottom of
&lt;br&gt;+the search results to jump to a different sets of results. &amp;nbsp;A search result
&lt;br&gt;+comprises of the following:&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;title of the document&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;link to the document&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;text snippet with matching terms highlighted&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;/ul&amp;gt;
&lt;br&gt;+
&lt;br&gt;+&amp;lt;p&amp;gt;Hits from pages which the current user doesn't have permission to view are
&lt;br&gt;+filtered out and not included in the search result.&amp;lt;/p&amp;gt;
&lt;br&gt;+
&lt;br&gt;+
&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;/a&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;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;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;@@ -460,7 +564,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;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;/a&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;+&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;&amp;nbsp;
&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;@@ -470,7 +574,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.8.1.&amp;quot;&amp;gt;&amp;lt;/a&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;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;@@ -484,28 +588,28 @@
&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;-&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; Lists &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; item 1 &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; item 2 &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; numbered item 1 &amp;lt;br&amp;gt;
&lt;br&gt;+&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; Lists &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; item 1 &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; item 2 &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; numbered item 1 &amp;lt;br/&amp;gt;
&lt;br&gt;&amp;nbsp;(for nesting use indentation)&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; Footnote &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;footnote(...) &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; 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;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;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;nbsp;&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;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;-&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;%&amp;lt;/span&amp;gt;image(file, alt tag, width, height, position, border) &amp;lt;br&amp;gt;
&lt;br&gt;+&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;+&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;%&amp;lt;/span&amp;gt;image(file, alt tag, width, height, position, border) &amp;lt;br/&amp;gt;
&lt;br&gt;&amp;nbsp;(second and subsequent arguments are optional)&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; Citations &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;cite(citekey,citekey,...) &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&lt;br&gt;-&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;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;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; 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;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;&amp;nbsp;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt; Google &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;google(siteip=gate.ac.uk) &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&lt;br&gt;@@ -514,27 +618,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.8.2.&amp;quot;&amp;gt;&amp;lt;/a&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;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.8.2.1.&amp;quot;&amp;gt;&amp;lt;/a&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;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.8.2.2.&amp;quot;&amp;gt;&amp;lt;/a&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;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.8.2.3.&amp;quot;&amp;gt;&amp;lt;/a&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;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;@@ -549,7 +653,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.8.2.4.&amp;quot;&amp;gt;&amp;lt;/a&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;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;nbsp;&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;@@ -557,11 +661,11 @@
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;and&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;both result in:
&lt;br&gt;-&amp;lt;hr&amp;gt;&amp;lt;/p&amp;gt;
&lt;br&gt;+&amp;lt;hr/&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.8.2.5.&amp;quot;&amp;gt;&amp;lt;/a&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;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;@@ -612,7 +716,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.8.2.6.&amp;quot;&amp;gt;&amp;lt;/a&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;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;@@ -625,7 +729,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.8.2.7.&amp;quot;&amp;gt;&amp;lt;/a&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;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;@@ -638,7 +742,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.8.2.8.&amp;quot;&amp;gt;&amp;lt;/a&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;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;@@ -646,14 +750,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.8.2.9.&amp;quot;&amp;gt;&amp;lt;/a&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;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.8.2.10.&amp;quot;&amp;gt;&amp;lt;/a&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;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;@@ -673,7 +777,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.8.2.11.&amp;quot;&amp;gt;&amp;lt;/a&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;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;@@ -707,19 +811,19 @@
&lt;br&gt;&amp;nbsp;plain text must be followed by a space, tab or newline.&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;A relative link to a non-existant file will be rendered as a link to the host
&lt;br&gt;-application's &amp;quot;create&amp;quot; page, e.g. &amp;lt;br&amp;gt;&amp;lt;/p&amp;gt;
&lt;br&gt;+application's &amp;quot;create&amp;quot; page, e.g. &amp;lt;br/&amp;gt;&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;pre&amp;gt; %(../non-existant.html) &amp;lt;/pre&amp;gt;
&lt;br&gt;-&amp;lt;p&amp;gt;becomes: &amp;lt;br&amp;gt;
&lt;br&gt;+&amp;lt;p&amp;gt;becomes: &amp;lt;br/&amp;gt;
&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;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;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;nbsp;&amp;lt;pre&amp;gt; %(index.html) &amp;lt;/pre&amp;gt;
&lt;br&gt;-&amp;lt;p&amp;gt;becomes: &amp;lt;br&amp;gt;
&lt;br&gt;+&amp;lt;p&amp;gt;becomes: &amp;lt;br/&amp;gt;
&lt;br&gt;&amp;nbsp;&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.8.2.12.&amp;quot;&amp;gt;&amp;lt;/a&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;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;@@ -754,18 +858,18 @@
&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.8.2.13.&amp;quot;&amp;gt;&amp;lt;/a&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;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;&amp;nbsp;This line is broken %br in two.
&lt;br&gt;&amp;nbsp;&amp;lt;/pre&amp;gt;
&lt;br&gt;-&amp;lt;p&amp;gt;becomes: &amp;lt;br&amp;gt;
&lt;br&gt;-This line is broken &amp;lt;br&amp;gt; in two.&amp;lt;/p&amp;gt;
&lt;br&gt;+&amp;lt;p&amp;gt;becomes: &amp;lt;br/&amp;gt;
&lt;br&gt;+This line is broken &amp;lt;br/&amp;gt; in two.&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.8.2.14.&amp;quot;&amp;gt;&amp;lt;/a&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;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;@@ -791,21 +895,21 @@
&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.8.2.15.&amp;quot;&amp;gt;&amp;lt;/a&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;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;-&amp;lt;li&amp;gt;'&amp;lt;tt&amp;gt;&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;%&amp;lt;/span&amp;gt;image(test-image.png)&amp;lt;/tt&amp;gt;' will become &amp;lt;img src=&amp;quot;test-image.png&amp;quot;&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;'&amp;lt;tt&amp;gt;&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;%&amp;lt;/span&amp;gt;image(test-image.png, a test image)&amp;lt;/tt&amp;gt;' will become &amp;lt;img src=&amp;quot;test-image.png&amp;quot; alt=&amp;quot;a test image&amp;quot;&amp;gt; (the text becomes the &amp;quot;alt&amp;quot; attribute of the image)&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;'&amp;lt;tt&amp;gt;&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;%&amp;lt;/span&amp;gt;image(test-image.png)&amp;lt;/tt&amp;gt;' will become &amp;lt;img src=&amp;quot;test-image.png&amp;quot;/&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;'&amp;lt;tt&amp;gt;&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;%&amp;lt;/span&amp;gt;image(test-image.png, a test image)&amp;lt;/tt&amp;gt;' will become &amp;lt;img src=&amp;quot;test-image.png&amp;quot; alt=&amp;quot;a test image&amp;quot;/&amp;gt; (the text becomes the &amp;quot;alt&amp;quot; attribute of the image)&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;You can also specify an ALT tag, width and height, position and border width:
&lt;br&gt;&amp;nbsp;'&amp;lt;tt&amp;gt;&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;%&amp;lt;/span&amp;gt;image(test-image.png, ALT tag, 500, 500, left, 0)&amp;lt;/tt&amp;gt;' becomes
&lt;br&gt;-&amp;lt;img src=&amp;quot;test-image.png&amp;quot; alt=&amp;quot;ALT tag&amp;quot; width=&amp;quot;200&amp;quot; height=&amp;quot;200&amp;quot; align=&amp;quot;top&amp;quot; border=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;
&lt;br&gt;+&amp;lt;img src=&amp;quot;test-image.png&amp;quot; alt=&amp;quot;ALT tag&amp;quot; width=&amp;quot;200&amp;quot; height=&amp;quot;200&amp;quot; align=&amp;quot;top&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;
&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.8.2.16.&amp;quot;&amp;gt;&amp;lt;/a&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;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;@@ -813,7 +917,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.8.2.17.&amp;quot;&amp;gt;&amp;lt;/a&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;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;&amp;nbsp;
&lt;br&gt;@@ -834,7 +938,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.8.2.18.&amp;quot;&amp;gt;&amp;lt;/a&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;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;@@ -844,13 +948,13 @@
&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.8.2.19.&amp;quot;&amp;gt;&amp;lt;/a&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;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;&amp;nbsp;This is not commented &amp;nbsp; %% but this is
&lt;br&gt;&amp;nbsp;&amp;lt;/pre&amp;gt;
&lt;br&gt;-&amp;lt;p&amp;gt;becomes: &amp;lt;br&amp;gt;
&lt;br&gt;+&amp;lt;p&amp;gt;becomes: &amp;lt;br/&amp;gt;
&lt;br&gt;&amp;nbsp;This is not commented &amp;nbsp; &amp;lt;/p&amp;gt;&amp;lt;!-- but this is--&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -859,13 +963,13 @@
&lt;br&gt;&amp;nbsp;This is not commented &amp;nbsp; %/* but this is
&lt;br&gt;&amp;nbsp;and this is too %*/
&lt;br&gt;&amp;nbsp;&amp;lt;/pre&amp;gt;
&lt;br&gt;-&amp;lt;p&amp;gt;becomes: &amp;lt;br&amp;gt;
&lt;br&gt;+&amp;lt;p&amp;gt;becomes: &amp;lt;br/&amp;gt;
&lt;br&gt;&amp;nbsp;This is not commented &amp;nbsp; &amp;lt;/p&amp;gt;&amp;lt;!-- but this is
&lt;br&gt;&amp;nbsp;and this is too --&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.8.2.20.&amp;quot;&amp;gt;&amp;lt;/a&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;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;@@ -873,15 +977,15 @@
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;Plugins bundled with GATEWiki:&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;ul&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Twitter.&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt; Adds a list of Twitter updates to a page. Example usage:
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Twitter.&amp;lt;/b&amp;gt; &amp;lt;br/&amp;gt; Adds a list of Twitter updates to a page. Example usage:
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;tt&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;/tt&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Google.&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt; Adds a Google site search box. Example usage:
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Google.&amp;lt;/b&amp;gt; &amp;lt;br/&amp;gt; Adds a Google site search box. Example usage:
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;tt&amp;gt;&amp;lt;span class=&amp;quot;cow-escape&amp;quot;&amp;gt;%&amp;lt;/span&amp;gt;google(siteip=gate.ac.uk)&amp;lt;/tt&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;
&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.8.2.21.&amp;quot;&amp;gt;&amp;lt;/a&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;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;@@ -910,7 +1014,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;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;/a&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;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;nbsp;&amp;lt;p&amp;gt;Currently CoW includes:&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -935,7 +1039,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.1.&amp;quot;&amp;gt;&amp;lt;/a&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;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;&amp;nbsp;&amp;lt;p&amp;gt;The development roadmap, currently active tasks list and wish-list is recorded
&lt;br&gt;&amp;nbsp;in the &amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;cow-backlog.html&amp;quot;&amp;gt;backlog document&amp;lt;/a&amp;gt;.&amp;lt;/p&amp;gt;
&lt;br&gt;@@ -943,7 +1047,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;checkout&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.2.&amp;quot;&amp;gt;&amp;lt;/a&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.2. &amp;lt;/span&amp;gt;Checking out the code&amp;lt;/h2&amp;gt;
&lt;br&gt;+&amp;lt;p&amp;gt;&amp;lt;a name=&amp;quot;checkout&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.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;4.2. &amp;lt;/span&amp;gt;Checking out the code&amp;lt;/h2&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;To check out CoW from Subversion first decide if you want to check out a copy
&lt;br&gt;&amp;nbsp;of GWT and Grails HEAD while you're at it. If so do this:&amp;lt;/p&amp;gt;
&lt;br&gt;@@ -966,7 +1070,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;modes&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.3.&amp;quot;&amp;gt;&amp;lt;/a&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.3. &amp;lt;/span&amp;gt;Selecting Modes&amp;lt;/h2&amp;gt;
&lt;br&gt;+&amp;lt;p&amp;gt;&amp;lt;a name=&amp;quot;modes&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.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;4.3. &amp;lt;/span&amp;gt;Selecting Modes&amp;lt;/h2&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;To select the mode (see above) use&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;ul&amp;gt;
&lt;br&gt;@@ -980,7 +1084,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.&amp;quot;&amp;gt;&amp;lt;/a&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;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;nbsp;&amp;lt;p&amp;gt;To create a new wiki space go to the Admin page and click through to wiki
&lt;br&gt;&amp;nbsp;areas and select &amp;quot;New wiki&amp;quot;. Then you can either:&amp;lt;/p&amp;gt;
&lt;br&gt;@@ -1004,7 +1108,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;/a&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;+&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;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;When running in server mode, or when doing scheduled or one-off subversion
&lt;br&gt;&amp;nbsp;updates (see below), CoW needs to communicate with the subversion repository
&lt;br&gt;@@ -1073,7 +1177,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;/a&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;+&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;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;Wiki pages may refer to other wiki pages, via links and includes. They are
&lt;br&gt;&amp;nbsp;therefore dependent on each other. When you change a page, the dependencies
&lt;br&gt;@@ -1083,7 +1187,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;/a&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;+&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;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&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;&amp;nbsp;with respect to the repository. You can update the wiki working copy from the
&lt;br&gt;@@ -1104,7 +1208,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.5.&amp;quot;&amp;gt;&amp;lt;/a&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;+&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;&amp;nbsp;
&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;@@ -1136,7 +1240,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.5.1.&amp;quot;&amp;gt;&amp;lt;/a&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;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;@@ -1169,7 +1273,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.5.2.&amp;quot;&amp;gt;&amp;lt;/a&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;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;@@ -1227,7 +1331,7 @@
&lt;br&gt;&amp;nbsp;&amp;lt;/ul&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.5.2.1.&amp;quot;&amp;gt;&amp;lt;/a&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;Firefox Profiles&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;Firefox Profiles&amp;lt;/h4&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;The Selenium tests are run using a custom Firefox profile that allows us to
&lt;br&gt;&amp;nbsp;pre-configure certain settings without changing the default user profile.
&lt;br&gt;@@ -1240,7 +1344,7 @@
&lt;br&gt;&amp;nbsp;can be found &amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;../selenium/profile/instructions.html&amp;quot;&amp;gt;here&amp;lt;/a&amp;gt;.&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.5.2.2.&amp;quot;&amp;gt;&amp;lt;/a&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.2. &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.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.5.2.2. &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;@@ -1257,7 +1361,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.5.3.&amp;quot;&amp;gt;&amp;lt;/a&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;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;@@ -1270,7 +1374,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.5.4.&amp;quot;&amp;gt;&amp;lt;/a&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;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;@@ -1303,7 +1407,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.5.5.&amp;quot;&amp;gt;&amp;lt;/a&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;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;@@ -1315,7 +1419,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.6.&amp;quot;&amp;gt;&amp;lt;/a&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;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;nbsp;&amp;lt;p&amp;gt;(This note is only relevant to those using local copies of SVN tree. By the
&lt;br&gt;&amp;nbsp;time you read this the version number have probably changed.)&amp;lt;/p&amp;gt;
&lt;br&gt;@@ -1350,7 +1454,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;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;/a&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;+&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;&amp;nbsp;
&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;@@ -1382,21 +1486,21 @@
&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;robots&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.1.&amp;quot;&amp;gt;&amp;lt;/a&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;Serving robots.txt&amp;lt;/h3&amp;gt;
&lt;br&gt;+&amp;lt;p&amp;gt;&amp;lt;a name=&amp;quot;robots&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.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;Serving robots.txt&amp;lt;/h3&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;To change the default &amp;lt;tt&amp;gt;/robots.txt&amp;lt;/tt&amp;gt; (which does nothing) set
&lt;br&gt;&amp;nbsp;&amp;lt;tt&amp;gt;gate.cow.robots&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-4.8.&amp;quot;&amp;gt;&amp;lt;/a&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;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.8.1.&amp;quot;&amp;gt;&amp;lt;/a&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;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;@@ -1409,10 +1513,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.9.&amp;quot;&amp;gt;&amp;lt;/a&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;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.9.1.&amp;quot;&amp;gt;&amp;lt;/a&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;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;@@ -1447,7 +1551,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;/a&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;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;@@ -1467,7 +1571,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;/a&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;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;@@ -1568,7 +1672,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.9.4.&amp;quot;&amp;gt;&amp;lt;/a&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;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;@@ -1638,7 +1742,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.9.5.&amp;quot;&amp;gt;&amp;lt;/a&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;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;@@ -1746,7 +1850,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.9.5.1.&amp;quot;&amp;gt;&amp;lt;/a&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;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;@@ -1779,10 +1883,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.10.&amp;quot;&amp;gt;&amp;lt;/a&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;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.10.1.&amp;quot;&amp;gt;&amp;lt;/a&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;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;@@ -1797,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.10.2.&amp;quot;&amp;gt;&amp;lt;/a&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;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;@@ -1813,7 +1917,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.1.&amp;quot;&amp;gt;&amp;lt;/a&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;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;@@ -1880,7 +1984,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.&amp;quot;&amp;gt;&amp;lt;/a&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;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;@@ -1897,7 +2001,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.1.&amp;quot;&amp;gt;&amp;lt;/a&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;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;@@ -1924,7 +2028,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.2.&amp;quot;&amp;gt;&amp;lt;/a&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;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;@@ -1938,7 +2042,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;/a&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;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;@@ -2023,7 +2127,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.11.3.1.&amp;quot;&amp;gt;&amp;lt;/a&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;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;@@ -2192,7 +2296,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.2.&amp;quot;&amp;gt;&amp;lt;/a&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;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;@@ -2218,7 +2322,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.3.&amp;quot;&amp;gt;&amp;lt;/a&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;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;@@ -2228,7 +2332,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.4.&amp;quot;&amp;gt;&amp;lt;/a&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;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;@@ -2241,7 +2345,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.4.&amp;quot;&amp;gt;&amp;lt;/a&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;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;@@ -2352,7 +2456,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.5.&amp;quot;&amp;gt;&amp;lt;/a&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;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;@@ -2378,7 +2482,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.6.&amp;quot;&amp;gt;&amp;lt;/a&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;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;@@ -2399,7 +2503,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.7.&amp;quot;&amp;gt;&amp;lt;/a&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;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;@@ -2420,7 +2524,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.12.&amp;quot;&amp;gt;&amp;lt;/a&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;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;@@ -2441,7 +2545,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.12.1.&amp;quot;&amp;gt;&amp;lt;/a&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;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;@@ -2488,7 +2592,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.2.&amp;quot;&amp;gt;&amp;lt;/a&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;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;@@ -2547,7 +2651,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.3.&amp;quot;&amp;gt;&amp;lt;/a&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;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;@@ -2575,7 +2679,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.12.4.&amp;quot;&amp;gt;&amp;lt;/a&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;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;@@ -2614,9 +2718,9 @@
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;Each wiki area has two regular expressions for this purpose:&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;ul&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;include directory pattern&amp;lt;/b&amp;gt;: &amp;lt;br&amp;gt; this specifies directories that are allowed
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;include directory pattern&amp;lt;/b&amp;gt;: &amp;lt;br/&amp;gt; this specifies directories that are allowed
&lt;br&gt;&amp;nbsp; &amp;nbsp;to serve non-native HTMLs&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;exclude directory pattern&amp;lt;/b&amp;gt;: &amp;lt;br&amp;gt; this specifies directories that are
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;exclude directory pattern&amp;lt;/b&amp;gt;: &amp;lt;br/&amp;gt; this specifies directories that are
&lt;br&gt;&amp;nbsp; &amp;nbsp;restricted from serving non-native HTMLs&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/ul&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -2633,7 +2737,7 @@
&lt;br&gt;&amp;nbsp;permission to see a non-native HTML file if the directory to which the
&lt;br&gt;&amp;nbsp;non-native file belongs is granted access by at least one of the two options.&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;To iframe or not to iframe?&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt; In general the resultant page contains an
&lt;br&gt;+&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;To iframe or not to iframe?&amp;lt;/b&amp;gt; &amp;lt;br/&amp;gt; In general the resultant page contains an
&lt;br&gt;&amp;nbsp;iframe that pulls in the raw HTML page. This is good for things like Javadocs
&lt;br&gt;&amp;nbsp;etcc., but in some cases you may want to just serve the body of the page
&lt;br&gt;&amp;nbsp;instead (e.g. the GATE user guide). If a file called &amp;lt;tt&amp;gt;.cow:no-iframe&amp;lt;/tt&amp;gt; is
&lt;br&gt;@@ -2643,7 +2747,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.13.&amp;quot;&amp;gt;&amp;lt;/a&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;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;@@ -2690,13 +2794,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.13.1.&amp;quot;&amp;gt;&amp;lt;/a&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;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.13.2.&amp;quot;&amp;gt;&amp;lt;/a&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;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;@@ -2715,7 +2819,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.3.&amp;quot;&amp;gt;&amp;lt;/a&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;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;@@ -2749,12 +2853,12 @@
&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; 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;lt;p&amp;gt;real &amp;nbsp; &amp;nbsp;0m58.839s &amp;lt;br&amp;gt;
&lt;br&gt;-user &amp;nbsp; &amp;nbsp;0m5.236s &amp;lt;br&amp;gt;
&lt;br&gt;+&amp;lt;p&amp;gt;real &amp;nbsp; &amp;nbsp;0m58.839s &amp;lt;br/&amp;gt;
&lt;br&gt;+user &amp;nbsp; &amp;nbsp;0m5.236s &amp;lt;br/&amp;gt;
&lt;br&gt;&amp;nbsp;sys &amp;nbsp; &amp;nbsp; 0m3.576s&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;
&lt;br&gt;-&amp;lt;p&amp;gt;real &amp;nbsp; &amp;nbsp;0m2.380s &amp;lt;br&amp;gt;
&lt;br&gt;-user &amp;nbsp; &amp;nbsp;0m1.604s &amp;lt;br&amp;gt;
&lt;br&gt;+&amp;lt;p&amp;gt;real &amp;nbsp; &amp;nbsp;0m2.380s &amp;lt;br/&amp;gt;
&lt;br&gt;+user &amp;nbsp; &amp;nbsp;0m1.604s &amp;lt;br/&amp;gt;
&lt;br&gt;&amp;nbsp;sys &amp;nbsp; &amp;nbsp; 0m0.504s&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;/table&amp;gt;
&lt;br&gt;@@ -2762,12 +2866,12 @@
&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; 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;lt;p&amp;gt;real &amp;nbsp; &amp;nbsp;0m33.331s &amp;lt;br&amp;gt;
&lt;br&gt;-user &amp;nbsp; &amp;nbsp;0m3.772s &amp;lt;br&amp;gt;
&lt;br&gt;+&amp;lt;p&amp;gt;real &amp;nbsp; &amp;nbsp;0m33.331s &amp;lt;br/&amp;gt;
&lt;br&gt;+user &amp;nbsp; &amp;nbsp;0m3.772s &amp;lt;br/&amp;gt;
&lt;br&gt;&amp;nbsp;sys &amp;nbsp; &amp;nbsp; 0m0.852s&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;
&lt;br&gt;-&amp;lt;p&amp;gt;real &amp;nbsp; &amp;nbsp;0m31.082s &amp;lt;br&amp;gt;
&lt;br&gt;-user &amp;nbsp; &amp;nbsp;0m3.280s &amp;lt;br&amp;gt;
&lt;br&gt;+&amp;lt;p&amp;gt;real &amp;nbsp; &amp;nbsp;0m31.082s &amp;lt;br/&amp;gt;
&lt;br&gt;+user &amp;nbsp; &amp;nbsp;0m3.280s &amp;lt;br/&amp;gt;
&lt;br&gt;&amp;nbsp;sys &amp;nbsp; &amp;nbsp; 0m0.972s&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;/table&amp;gt;
&lt;br&gt;@@ -2785,7 +2889,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;/a&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;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;@@ -2805,7 +2909,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.&amp;quot;&amp;gt;&amp;lt;/a&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;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;@@ -2822,7 +2926,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.16.&amp;quot;&amp;gt;&amp;lt;/a&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;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;@@ -2863,7 +2967,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.17.&amp;quot;&amp;gt;&amp;lt;/a&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;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;@@ -2882,10 +2986,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.17.1.&amp;quot;&amp;gt;&amp;lt;/a&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;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.17.1.1.&amp;quot;&amp;gt;&amp;lt;/a&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;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;@@ -2951,7 +3055,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.17.1.2.&amp;quot;&amp;gt;&amp;lt;/a&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;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;@@ -2959,11 +3063,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.17.2.&amp;quot;&amp;gt;&amp;lt;/a&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;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.17.2.1.&amp;quot;&amp;gt;&amp;lt;/a&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;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;@@ -2980,7 +3084,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.17.2.2.&amp;quot;&amp;gt;&amp;lt;/a&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;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;@@ -2989,36 +3093,13 @@
&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.17.3.&amp;quot;&amp;gt;&amp;lt;/a&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;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;Testing&amp;lt;/h3&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-&amp;lt;p&amp;gt;A search box is provided at the top right corner of the page that allows
&lt;br&gt;-searching within a wiki area that the current page belongs to. &amp;nbsp;In other
&lt;br&gt;-words, if a page belongs to the Help section, results are retrieved only from
&lt;br&gt;-the Help section. Information on Solr query syntax is available at
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;&lt;a href=&quot;http://wiki.apache.org/solr/SolrQuerySyntax&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://wiki.apache.org/solr/SolrQuerySyntax&lt;/a&gt;&amp;quot;&amp;gt;&lt;a href=&quot;http://wiki.apache.org/solr/SolrQuerySyntax&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://wiki.apache.org/solr/SolrQuerySyntax&lt;/a&gt;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;
&lt;br&gt;-
&lt;br&gt;-&amp;lt;p&amp;gt;Given a query, if it succeeds, maximum of 10 results are shown on a single
&lt;br&gt;-page. User can navigate through different page links at the top or bottom of
&lt;br&gt;-the search results to jump to a different sets of results. &amp;nbsp;A search result
&lt;br&gt;-comprises of the following:&amp;lt;/p&amp;gt;
&lt;br&gt;-
&lt;br&gt;-&amp;lt;ul&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;title of the document&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;link to the document&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;text snippet with matching terms highlighted&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;/ul&amp;gt;
&lt;br&gt;-
&lt;br&gt;-&amp;lt;p&amp;gt;Hits from pages which the current user doesn't have permission to view are
&lt;br&gt;-filtered out and not included in the search result.&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-4.17.4.&amp;quot;&amp;gt;&amp;lt;/a&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.4. &amp;lt;/span&amp;gt;Testing&amp;lt;/h3&amp;gt;
&lt;br&gt;-
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;There is now a separate test suite (&amp;lt;tt&amp;gt;selenium/solr-suite.html&amp;lt;/tt&amp;gt;) for testing solr 
&lt;br&gt;&amp;nbsp;indexing and searching functionalities. Please note that running selenium tests 
&lt;br&gt;&amp;nbsp;does not test the solr functionalities. Instead, please use the 
&lt;br&gt;&amp;nbsp;&amp;lt;tt&amp;gt;test-selenium-solr&amp;lt;/tt&amp;gt; ant target to invoke the solr tests.&amp;lt;/p&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-4.17.5.&amp;quot;&amp;gt;&amp;lt;/a&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.5. &amp;lt;/span&amp;gt;Debugging&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.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.17.4. &amp;lt;/span&amp;gt;Debugging&amp;lt;/h3&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;If you get no results for your queries, the first thing to make sure is that you
&lt;br&gt;&amp;nbsp;have followed all the right procedure for indexing respective wiki area. &amp;nbsp;Please
&lt;br&gt;@@ -3061,7 +3142,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;svn-browsing&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.18.&amp;quot;&amp;gt;&amp;lt;/a&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.18. &amp;lt;/span&amp;gt;SVN Browsing&amp;lt;/h2&amp;gt;
&lt;br&gt;+&amp;lt;p&amp;gt;&amp;lt;a name=&amp;quot;svn-browsing&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.18.&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.18. &amp;lt;/span&amp;gt;SVN Browsing&amp;lt;/h2&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;GATEWiki layers on top of SVN in order to take advantage of SVN's mature and
&lt;br&gt;&amp;nbsp;sophisticated support for collaborative concurrent editing, versionning,
&lt;br&gt;@@ -3076,7 +3157,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.18.1.&amp;quot;&amp;gt;&amp;lt;/a&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.18.1. &amp;lt;/span&amp;gt;Notes on Sventon in 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.18.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.18.1. &amp;lt;/span&amp;gt;Notes on Sventon in CoW&amp;lt;/h3&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;CoW uses an unpacked version of Sventon's &amp;lt;tt&amp;gt;svn.war&amp;lt;/tt&amp;gt; with an additional config
&lt;br&gt;&amp;nbsp;file which:&amp;lt;/p&amp;gt;
&lt;br&gt;@@ -3104,7 +3185,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;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;/a&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;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;&amp;nbsp;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;@@ -3123,21 +3204,21 @@
&lt;br&gt;&amp;nbsp;&amp;lt;h1 class=&amp;quot;cow-heading&amp;quot;&amp;gt;Footnotes&amp;lt;/h1&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;&amp;lt;ol&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;li&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-footnote-anchor&amp;quot; name=&amp;quot;footnote1&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-footnote-anchor&amp;quot; name=&amp;quot;footnote1&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;span class=&amp;quot;cow-footnote-text&amp;quot; name=&amp;quot;footnote1&amp;quot;&amp;gt;SVN: the
&lt;br&gt;&amp;nbsp; &amp;nbsp;Subversion version control system.&amp;lt;/span&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;li&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-footnote-anchor&amp;quot; name=&amp;quot;footnote2&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-footnote-anchor&amp;quot; name=&amp;quot;footnote2&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;span class=&amp;quot;cow-footnote-text&amp;quot; name=&amp;quot;footnote2&amp;quot;&amp;gt;Except when in workstation
&lt;br&gt;&amp;nbsp;mode.&amp;lt;/span&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;li&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-footnote-anchor&amp;quot; name=&amp;quot;footnote3&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-footnote-anchor&amp;quot; name=&amp;quot;footnote3&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;span class=&amp;quot;cow-footnote-text&amp;quot; name=&amp;quot;footnote3&amp;quot;&amp;gt;This is a footnote.&amp;lt;/span&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;li&amp;gt;
&lt;br&gt;-&amp;lt;a class=&amp;quot;cow-footnote-anchor&amp;quot; name=&amp;quot;footnote4&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-footnote-anchor&amp;quot; name=&amp;quot;footnote4&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;span class=&amp;quot;cow-footnote-text&amp;quot; name=&amp;quot;footnote4&amp;quot;&amp;gt;The file upload test needs to programatically fill in a
&lt;br&gt;&amp;nbsp;file upload form field and this is only possible in a special &amp;quot;elevated
&lt;br&gt;&amp;nbsp;privileges&amp;quot; mode using the *firefox launcher&amp;lt;/span&amp;gt;
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/doc/gatewiki.yam
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/doc/gatewiki.yam	2009-12-16 09:43:21 UTC (rev 2118)
&lt;br&gt;+++ trunk/cow/doc/gatewiki.yam	2009-12-16 10:30:32 UTC (rev 2119)
&lt;br&gt;@@ -2,7 +2,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;%image(larson.png, A Larson Cartoon, 307, 404, right, 0)
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-%image(gslidy/gate-logo-colour.png, GATE, 426, 263, right, 0)
&lt;br&gt;+%%%% %image(gslidy/gate-logo-colour.png, GATE, 426, 263, right, 0)
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;*In a hurry?* See %(#quick, the quick start section).
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -167,6 +167,88 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
&lt;br&gt;+%#delete
&lt;br&gt;+%3 Deleting and copying
&lt;br&gt;+
&lt;br&gt;+Files and directories (and their contents) can be *deleted* via the directory
&lt;br&gt;+view: follow the &amp;quot;Directory&amp;quot; link from any page, tick the checkbox(es) of the
&lt;br&gt;+entries you want to remove, then hit the &amp;quot;Delete selected&amp;quot; button at the foot
&lt;br&gt;+of the page.
&lt;br&gt;+
&lt;br&gt;+*Copying* (and renaming) of wiki pages is more convoluted at present (and
&lt;br&gt;+copying of directories is not supported). To copy a page first edit it, copy
&lt;br&gt;+the text to the clipboard, then create a new file, edit it and paste the
&lt;br&gt;+contents of the old file. (To do a rename simply perform this process and then
&lt;br&gt;+delete the old file.)
&lt;br&gt;+
&lt;br&gt;+*Don't* use the WYSIWYG editor for copying - just use the form editor
&lt;br&gt;+(otherwise you're liable to lose all the formatting of the page).
&lt;br&gt;+
&lt;br&gt;+(One reason we haven't made copying easier (yet) is that you can also use any
&lt;br&gt;+%(&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;, Subversion) client, of which there are
&lt;br&gt;+legion.)
&lt;br&gt;+
&lt;br&gt;+
&lt;br&gt;+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
&lt;br&gt;+%#upload
&lt;br&gt;+%3 Upload other types of files
&lt;br&gt;+
&lt;br&gt;+If you want to upload plain HTML, or a PNG image, or whatever, you can use the
&lt;br&gt;+&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 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.
&lt;br&gt;+
&lt;br&gt;+
&lt;br&gt;+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
&lt;br&gt;+%#dir-view
&lt;br&gt;+%3 Finding things
&lt;br&gt;+
&lt;br&gt;+In the usual way GATEWiki supports *search* via the &amp;quot;Search&amp;quot; box: just type
&lt;br&gt;+your keywords and press the button. For more sophisticated queries, see the
&lt;br&gt;+search syntax description at the foot of the search results page or the
&lt;br&gt;+%(#searching, section on searching).
&lt;br&gt;+
&lt;br&gt;+In keeping with our everything-is-a-directory-tree philosophy, another way to
&lt;br&gt;+see *what files live where* etc. is via the directory view.
&lt;br&gt;+
&lt;br&gt;+When you're logged in (and have permission) each page has a &amp;quot;Directory&amp;quot; link
&lt;br&gt;+leading to the directory view, which is just like a files and folders browser
&lt;br&gt;+on your desktop. The type of each entry is indicated by an icon:
&lt;br&gt;+
&lt;br&gt;+- %image(../web-app/_images/filetypes/directory.png) directory
&lt;br&gt;+- %image(../web-app/_images/filetypes/html+yam.png) wiki page (in %(#yam,
&lt;br&gt;+ &amp;nbsp;YAM))
&lt;br&gt;+- %image(../web-app/_images/filetypes/pdf.png) PDF
&lt;br&gt;+- %image(../web-app/_images/filetypes/html.png) raw HTML file (see
&lt;br&gt;+ &amp;nbsp;%(#raw-html, below))
&lt;br&gt;+- %image(../web-app/_images/filetypes/image.png) image
&lt;br&gt;+- %image(../web-app/_images/filetypes/word.png) word processor
&lt;br&gt;+- %image(../web-app/_images/filetypes/unknown.png) other
&lt;br&gt;+
&lt;br&gt;+Directory view also provides access to the *%(#upload, upload)* and
&lt;br&gt;+*%(#delete, delete)* functions.
&lt;br&gt;+
&lt;br&gt;+
&lt;br&gt;+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
&lt;br&gt;+%#raw-html
&lt;br&gt;+%3 Raw HTML pages vs. wiki pages
&lt;br&gt;+
&lt;br&gt;+When you create a new web page in GATEWiki two files are added:
&lt;br&gt;+
&lt;br&gt;+- a ^.html^ file that will be served to web browsers when they follow a link
&lt;br&gt;+ &amp;nbsp;to the page
&lt;br&gt;+- a ^.yam^ file that contains the source text, in %(#yam, YAM format)
&lt;br&gt;+
&lt;br&gt;+In general you can simply ignore this - edit and delete operations, for
&lt;br&gt;+example, work transparently on your pages. However, GATEWiki also supports raw
&lt;br&gt;+HTML files, which have no YAM source. Again editing and so on is transparent,
&lt;br&gt;+but because HTML presents more of a security risk the permissions associated
&lt;br&gt;+with these pages are often different from ordinary wiki pages - hence the
&lt;br&gt;+different icon for these pages in %(#dir-view, directory view), for example.
&lt;br&gt;+
&lt;br&gt;+
&lt;br&gt;+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
&lt;br&gt;&amp;nbsp;%2 Modes
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;CoW has two operational modes:
&lt;br&gt;@@ -267,16 +349,28 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
&lt;br&gt;-%#upload
&lt;br&gt;-%2 Upload other types of files
&lt;br&gt;+%#searching
&lt;br&gt;+%2 Searching
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-If you want to upload plain HTML, or a PNG image, or whatever, you can use the
&lt;br&gt;-&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 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.
&lt;br&gt;+A search box is provided at the top right corner of the page that allows
&lt;br&gt;+searching within a wiki area that the current page belongs to. &amp;nbsp;In other
&lt;br&gt;+words, if a page belongs to the Help section, results are retrieved only from
&lt;br&gt;+the Help section. Information on Solr query syntax is available at
&lt;br&gt;+&lt;a href=&quot;http://wiki.apache.org/solr/SolrQuerySyntax&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://wiki.apache.org/solr/SolrQuerySyntax&lt;/a&gt;&lt;br&gt;&amp;nbsp;
&lt;br&gt;+Given a query, if it succeeds, maximum of 10 results are shown on a single
&lt;br&gt;+page. User can navigate through different page links at the top or bottom of
&lt;br&gt;+the search results to jump to a different sets of results. &amp;nbsp;A search result
&lt;br&gt;+comprises of the following:
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+- title of the document
&lt;br&gt;+- link to the document
&lt;br&gt;+- text snippet with matching terms highlighted
&lt;br&gt;+
&lt;br&gt;+Hits from pages which the current user doesn't have permission to view are
&lt;br&gt;+filtered out and not included in the search result.
&lt;br&gt;+
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
&lt;br&gt;&amp;nbsp;%2 Report a bug
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -2239,27 +2333,6 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
&lt;br&gt;-%3 Searching
&lt;br&gt;-
&lt;br&gt;-A search box is provided at the top right corner of the page that allows
&lt;br&gt;-searching within a wiki area that the current page belongs to. &amp;nbsp;In other
&lt;br&gt;-words, if a page belongs to the Help section, results are retrieved only from
&lt;br&gt;-the Help section. Information on Solr query syntax is available at
&lt;br&gt;-&lt;a href=&quot;http://wiki.apache.org/solr/SolrQuerySyntax&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://wiki.apache.org/solr/SolrQuerySyntax&lt;/a&gt;&lt;br&gt;-
&lt;br&gt;-Given a query, if it succeeds, maximum of 10 results are shown on a single
&lt;br&gt;-page. User can navigate through different page links at the top or bottom of
&lt;br&gt;-the search results to jump to a different sets of results. &amp;nbsp;A search result
&lt;br&gt;-comprises of the following:
&lt;br&gt;-
&lt;br&gt;-- title of the document
&lt;br&gt;-- link to the document
&lt;br&gt;-- text snippet with matching terms highlighted
&lt;br&gt;-
&lt;br&gt;-Hits from pages which the current user doesn't have permission to view are
&lt;br&gt;-filtered out and not included in the search result.
&lt;br&gt;-
&lt;br&gt;-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
&lt;br&gt;&amp;nbsp;%3 Testing
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;There is now a separate test suite (^selenium/solr-suite.html^) for testing solr 
&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;This SF.Net email is sponsored by the Verizon Developer Community
&lt;br&gt;Take advantage of Verizon's best-in-class app development support
&lt;br&gt;A streamlined, 14 day to market process makes app distribution fast and easy
&lt;br&gt;Join now and get one step closer to millions of Verizon customers
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/verizon-dev2dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/verizon-dev2dev&lt;/a&gt;&amp;nbsp;
&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=26809099&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;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gatewiki---commits-f28145.html&quot; embed=&quot;fixTarget[28145]&quot; target=&quot;_top&quot; &gt;gatewiki - commits&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-2119--trunk-cow-doc-tp26809099p26809099.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26808609</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[2118] trunk/cow/doc/non-yam-edit-notes.yam</title>
	<published>2009-12-16T01:43:21Z</published>
	<updated>2009-12-16T01:43:21Z</updated>
	<author>
		<name>hcunningham-2</name>
	</author>
	<content type="html">Revision: 2118
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2118&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2118&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; hcunningham
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-12-16 09:43:21 +0000 (Wed, 16 Dec 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;removed old stuff
&lt;br&gt;&lt;br&gt;Removed Paths:
&lt;br&gt;-------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/doc/non-yam-edit-notes.yam
&lt;br&gt;&lt;br&gt;Deleted: trunk/cow/doc/non-yam-edit-notes.yam
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/doc/non-yam-edit-notes.yam	2009-12-15 15:14:49 UTC (rev 2117)
&lt;br&gt;+++ trunk/cow/doc/non-yam-edit-notes.yam	2009-12-16 09:43:21 UTC (rev 2118)
&lt;br&gt;@@ -1,144 +0,0 @@
&lt;br&gt;-Non-YAM editing
&lt;br&gt;-
&lt;br&gt;-
&lt;br&gt;-The below gets some of the way, by:
&lt;br&gt;-
&lt;br&gt;-- having a y flag in the view models and the URLs that encode the flow between
&lt;br&gt;- &amp;nbsp;show/edit/preview/save
&lt;br&gt;-- conditional logic in the actions that deals with the presence/absence of the
&lt;br&gt;- &amp;nbsp;.yam
&lt;br&gt;-
&lt;br&gt;-BUT: the logic gets pretty messy in the controller.
&lt;br&gt;-
&lt;br&gt;-So I gave up for now...
&lt;br&gt;-
&lt;br&gt;-%&amp;lt;
&lt;br&gt;-Index: grails-app/controllers/WikiController.groovy
&lt;br&gt;-===================================================================
&lt;br&gt;---- grails-app/controllers/WikiController.groovy	(revision 197)
&lt;br&gt;-+++ grails-app/controllers/WikiController.groovy	(working copy)
&lt;br&gt;-@@ -104,11 +104,12 @@
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; String body = FileUtils.getBody(pageFile)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; Map model = [body: body, requestPath: requestPath]
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; YamFile yam = YamFile.get(wikiPage.fsr)
&lt;br&gt;-- &amp;nbsp; &amp;nbsp; &amp;nbsp;if (yam) model.put(&amp;quot;editLink&amp;quot;, &amp;quot;${wiki.id}${requestPath}&amp;quot;)
&lt;br&gt;-+ &amp;nbsp; &amp;nbsp; &amp;nbsp;if (yam) model.put(&amp;quot;isYam&amp;quot;, &amp;quot;1&amp;quot;)
&lt;br&gt;-+ &amp;nbsp; &amp;nbsp; &amp;nbsp;model.put(&amp;quot;editLink&amp;quot;, &amp;quot;${wiki.id}${requestPath}&amp;quot;)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; if (wiki.directoryListingAllowed)
&lt;br&gt;-- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;model.put(// d=1: directory = true (so it doesn't bounce back to show)
&lt;br&gt;-+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;model.put( // d=1: directory = true (so it doesn't bounce back to show)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;quot;dirsLink&amp;quot;, &amp;quot;${wiki.id}${wikiPage.requestPathDir}?d=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; model.put(&amp;quot;editAllowed&amp;quot;, AcegiHelper.editAllowed(params))
&lt;br&gt;- 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; return model
&lt;br&gt;-@@ -132,6 +133,7 @@
&lt;br&gt;- 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; // process wiki page
&lt;br&gt;- &amp;nbsp; &amp;nbsp; WikiPage wikiPage = new WikiPage(wiki, sandboxManager, params, request)
&lt;br&gt;-+ &amp;nbsp; &amp;nbsp;String yamFlag = &amp;quot;&amp;quot;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; if (!wikiPage.valid) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; return wikiPage.badPage(this) // construction failed
&lt;br&gt;- &amp;nbsp; &amp;nbsp; } else if (wikiPage.mimeType != &amp;quot;text/html&amp;quot;) { // not HTML
&lt;br&gt;-@@ -140,13 +142,18 @@
&lt;br&gt;- &amp;nbsp; &amp;nbsp; } else { // return model with the current page text etc.
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; String pageText = &amp;quot;&amp;quot;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; if(params.f == &amp;quot;1&amp;quot;) { // using fck edit
&lt;br&gt;-- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// regenerate to a temp file with YamFile.setDoIncludes(false)
&lt;br&gt;-- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;File tempFile = File.createTempFile(&amp;quot;cow-fck-edit-&amp;quot;, &amp;quot;.yam&amp;quot;)
&lt;br&gt;-- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String tempFilePath = tempFile.path
&lt;br&gt;-- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;tempFile.withWriter { writer -&amp;gt; writer &amp;lt;&amp;lt; wikiPage.dotYamFile.text }
&lt;br&gt;-- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;YamFile yam = generate(tempFilePath, wikiPage, false)
&lt;br&gt;-- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pageText =
&lt;br&gt;-- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;new File(FileUtils.replaceFileSuffix(tempFile, &amp;quot;html&amp;quot;)).text
&lt;br&gt;-+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(params.y == &amp;quot;1&amp;quot;) { // it was a yam file
&lt;br&gt;-+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// regenerate to a temp file with YamFile.setDoIncludes(false)
&lt;br&gt;-+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;File tempFile = File.createTempFile(&amp;quot;cow-fck-edit-&amp;quot;, &amp;quot;.yam&amp;quot;)
&lt;br&gt;-+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String tempFilePath = tempFile.path
&lt;br&gt;-+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;tempFile.withWriter { writer -&amp;gt; writer &amp;lt;&amp;lt; wikiPage.dotYamFile.text }
&lt;br&gt;-+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;YamFile yam = generate(tempFilePath, wikiPage, false)
&lt;br&gt;-+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pageText =
&lt;br&gt;-+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;new File(FileUtils.replaceFileSuffix(tempFile, &amp;quot;html&amp;quot;)).text
&lt;br&gt;-+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;yamFlag = &amp;quot;&amp;y=1&amp;quot;
&lt;br&gt;-+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} else { // doing a plain html file
&lt;br&gt;-+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pageText = wikiPage.fsr.file.text
&lt;br&gt;-+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; } else { // using html form edit
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; YamFile yam = YamFile.get(wikiPage.fsr)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; pageText = yam?.location?.file?.text
&lt;br&gt;-@@ -156,7 +163,7 @@
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; def model = [
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; wiki: wiki,
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; requestPath: wikiPage.requestPath,
&lt;br&gt;-- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;previewLink: &amp;quot;${wiki.id}${wikiPage.requestPath}?preview=1&amp;quot;,
&lt;br&gt;-+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;previewLink: &amp;quot;${wiki.id}${wikiPage.requestPath}?preview=1${yamFlag}&amp;quot;,
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; pageText: pageText,
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; syntax: YamHelp.syntax()
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; ]
&lt;br&gt;-@@ -183,6 +190,7 @@
&lt;br&gt;- &amp;nbsp; &amp;nbsp; // get and verify the Wiki instance (will redirect if problems)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; Wiki wiki = verifyWiki()
&lt;br&gt;- &amp;nbsp; &amp;nbsp; if (!wiki) return null
&lt;br&gt;-+// TODO deal with non-yam html edits here
&lt;br&gt;- 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; // create a wiki page object (or redirect) and get the request path
&lt;br&gt;- &amp;nbsp; &amp;nbsp; WikiPage wikiPage = new WikiPage(wiki, sandboxManager, params, request)
&lt;br&gt;-@@ -215,10 +223,9 @@
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; model: [
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; preview: 1, wiki: wiki, body: body,
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; editedTextPath: tempFilePath, requestPath: requestPath,
&lt;br&gt;-- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;saveLink:&amp;quot;${wiki.id}${wikiPage.requestPath}&amp;quot;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; saveLink: &amp;quot;${wiki.id}${requestPath}&amp;quot;
&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;)
&lt;br&gt;- &amp;nbsp; } // preview
&lt;br&gt;- 
&lt;br&gt;- &amp;nbsp; /** Save an edit. */
&lt;br&gt;-Index: grails-app/views/layouts/wiki.gsp
&lt;br&gt;-===================================================================
&lt;br&gt;---- grails-app/views/layouts/wiki.gsp	(revision 193)
&lt;br&gt;-+++ grails-app/views/layouts/wiki.gsp	(working copy)
&lt;br&gt;-@@ -76,11 +76,17 @@
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;!-- show stuff --&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;g:if test=&amp;quot;${editAllowed &amp;&amp; editLink}&amp;quot;&amp;gt;
&lt;br&gt;-- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;span class=&amp;quot;pageLink&amp;quot;&amp;gt;
&lt;br&gt;-- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;g:link action=&amp;quot;edit&amp;quot; id=&amp;quot;${editLink}?f=1&amp;quot;&amp;gt;Edit&amp;lt;/g:link&amp;gt;
&lt;br&gt;-- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;pageLink&amp;quot;&amp;gt;
&lt;br&gt;-- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;g:link action=&amp;quot;edit&amp;quot; id=&amp;quot;${editLink}&amp;quot;&amp;gt;(with form)&amp;lt;/g:link&amp;gt;
&lt;br&gt;-- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/span&amp;gt;
&lt;br&gt;-+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;g:if test=&amp;quot;${isYam}&amp;quot;&amp;gt;
&lt;br&gt;-+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;span class=&amp;quot;pageLink&amp;quot;&amp;gt; &amp;lt;g:link action=&amp;quot;edit&amp;quot; id=&amp;quot;${editLink}?f=1,y=1&amp;quot;&amp;gt;Edit&amp;lt;/g:link&amp;gt; &amp;lt;/span&amp;gt;
&lt;br&gt;-+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/g:if&amp;gt;
&lt;br&gt;-+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;g:else&amp;gt;
&lt;br&gt;-+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;span class=&amp;quot;pageLink&amp;quot;&amp;gt; &amp;lt;g:link action=&amp;quot;edit&amp;quot; id=&amp;quot;${editLink}?f=1&amp;quot;&amp;gt;Edit&amp;lt;/g:link&amp;gt; &amp;lt;/span&amp;gt;
&lt;br&gt;-+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/g:else&amp;gt;
&lt;br&gt;-+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;g:if test=&amp;quot;${isYam}&amp;quot;&amp;gt;
&lt;br&gt;-+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;span class=&amp;quot;pageLink&amp;quot;&amp;gt;
&lt;br&gt;-+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;g:link action=&amp;quot;edit&amp;quot; id=&amp;quot;${editLink}&amp;quot;&amp;gt;(with form)&amp;lt;/g:link&amp;gt;
&lt;br&gt;-+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/span&amp;gt;
&lt;br&gt;-+ &amp;nbsp; &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&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;g:if test=&amp;quot;${dirsLink}&amp;quot;&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;span class=&amp;quot;pageLink&amp;quot;&amp;gt;
&lt;br&gt;-Index: grails-app/views/wiki/edit.gsp
&lt;br&gt;-===================================================================
&lt;br&gt;---- grails-app/views/wiki/edit.gsp	(revision 193)
&lt;br&gt;-+++ grails-app/views/wiki/edit.gsp	(working copy)
&lt;br&gt;-@@ -20,12 +20,6 @@
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;g:richTextEditor name=&amp;quot;editedtext&amp;quot; value=&amp;quot;${pageText}&amp;quot; toolbar=&amp;quot;Default&amp;quot; basepath=&amp;quot;js/fckeditor/&amp;quot; height=&amp;quot;500&amp;quot; /&amp;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;lt;hr&amp;gt;
&lt;br&gt;--&amp;lt;!--
&lt;br&gt;-- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;g:form controller=&amp;quot;wiki&amp;quot; action=&amp;quot;preview&amp;quot; id=&amp;quot;${previewLink}&amp;f=1&amp;quot;
&lt;br&gt;-- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;method=&amp;quot;post&amp;quot; enctype=&amp;quot;multipart/form-data&amp;quot; height=&amp;quot;250&amp;quot;&amp;gt;
&lt;br&gt;-- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;fck:editor name=&amp;quot;editedtext&amp;quot; height=&amp;quot;250&amp;quot;&amp;gt;${pageText}&amp;lt;/fck:editor&amp;gt;
&lt;br&gt;-- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/g:form&amp;gt;
&lt;br&gt;----&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:elseif test=&amp;quot;${useFck != 1}&amp;quot;&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;g:form controller=&amp;quot;wiki&amp;quot; action=&amp;quot;preview&amp;quot; id=&amp;quot;${previewLink}&amp;quot; method=&amp;quot;post&amp;quot;&amp;gt;
&lt;br&gt;-%&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;This SF.Net email is sponsored by the Verizon Developer Community
&lt;br&gt;Take advantage of Verizon's best-in-class app development support
&lt;br&gt;A streamlined, 14 day to market process makes app distribution fast and easy
&lt;br&gt;Join now and get one step closer to millions of Verizon customers
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/verizon-dev2dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/verizon-dev2dev&lt;/a&gt;&amp;nbsp;
&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=26808609&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;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gatewiki---commits-f28145.html&quot; embed=&quot;fixTarget[28145]&quot; target=&quot;_top&quot; &gt;gatewiki - commits&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-2118--trunk-cow-doc-non-yam-edit-notes.yam-tp26808609p26808609.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26796386</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[2117] trunk/nutch-solr</title>
	<published>2009-12-15T07:14:49Z</published>
	<updated>2009-12-15T07:14:49Z</updated>
	<author>
		<name>nirajaswani</name>
	</author>
	<content type="html">Revision: 2117
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2117&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2117&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; nirajaswani
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-12-15 15:14:49 +0000 (Tue, 15 Dec 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;after reading several posts and tutorials on indexing optimization, trying to hit better settings for indexing with solr and crawling with nutch - it took 5 hours to crawl (less than half of the time recorded in the last experiment). Asking solr to use compound file format for indexing - which could make solr bit slow at indexing, but atleast, it will make sure the searching is faster. &amp;nbsp;On the other hand, with more memory given to the indexing process, we can now safely increase the number of threads to reduce the time it takes for crawling. &amp;nbsp;Also reduced the mergeFactor (the parameter used for deciding how many file descriptors could be opened at a time) and increased the ramBufferSizeMB (the parameter used for caching files and results). Finally, added a solr command for optimizing the index - aparantly, this is the first step that should be taken for avoiding too many open files problem - hopefully, we won't see this error again (atleast when solr is responsible for it)
&lt;br&gt;&lt;br&gt;Modified Paths:
&lt;br&gt;--------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/nutch-solr/lib/nutch-wrapper.jar
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/nutch-solr/nutch-config/nutch-site.xml
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/nutch-solr/solr-app/multicore/conf/solrconfig.xml
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/nutch-solr/solr-app/solr/conf/solrconfig.xml
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/nutch-solr/src/java/gate/solr/SolrIndexer.java
&lt;br&gt;&lt;br&gt;Modified: trunk/nutch-solr/lib/nutch-wrapper.jar
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;Modified: trunk/nutch-solr/nutch-config/nutch-site.xml
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/nutch-solr/nutch-config/nutch-site.xml	2009-12-15 01:20:10 UTC (rev 2116)
&lt;br&gt;+++ trunk/nutch-solr/nutch-config/nutch-site.xml	2009-12-15 15:14:49 UTC (rev 2117)
&lt;br&gt;@@ -96,40 +96,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp;is turned off).&amp;lt;/description&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/property&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-
&lt;br&gt;&amp;nbsp;&amp;lt;property&amp;gt;
&lt;br&gt;- &amp;nbsp;&amp;lt;name&amp;gt;indexer.mergeFactor&amp;lt;/name&amp;gt;
&lt;br&gt;- &amp;nbsp;&amp;lt;value&amp;gt;50&amp;lt;/value&amp;gt;
&lt;br&gt;- &amp;nbsp;&amp;lt;description&amp;gt;The factor that determines the frequency of Lucene segment
&lt;br&gt;- &amp;nbsp;merges. This must not be less than 2, higher values increase indexing
&lt;br&gt;- &amp;nbsp;speed but lead to increased RAM usage, and increase the number of
&lt;br&gt;- &amp;nbsp;open file handles (which may lead to &amp;quot;Too many open files&amp;quot; errors).
&lt;br&gt;- &amp;nbsp;NOTE: the &amp;quot;segments&amp;quot; here have nothing to do with Nutch segments, they
&lt;br&gt;- &amp;nbsp;are a low-level data unit used by Lucene.
&lt;br&gt;- &amp;nbsp;&amp;lt;/description&amp;gt;
&lt;br&gt;-&amp;lt;/property&amp;gt;
&lt;br&gt;-
&lt;br&gt;-&amp;lt;property&amp;gt;
&lt;br&gt;- &amp;nbsp;&amp;lt;name&amp;gt;indexer.minMergeDocs&amp;lt;/name&amp;gt;
&lt;br&gt;- &amp;nbsp;&amp;lt;value&amp;gt;200&amp;lt;/value&amp;gt;
&lt;br&gt;- &amp;nbsp;&amp;lt;description&amp;gt;This number determines the minimum number of Lucene
&lt;br&gt;- &amp;nbsp;Documents buffered in memory between Lucene segment merges. Larger
&lt;br&gt;- &amp;nbsp;values increase indexing speed and increase RAM usage.
&lt;br&gt;- &amp;nbsp;&amp;lt;/description&amp;gt;
&lt;br&gt;-&amp;lt;/property&amp;gt;
&lt;br&gt;-
&lt;br&gt;-&amp;lt;property&amp;gt;
&lt;br&gt;- &amp;nbsp;&amp;lt;name&amp;gt;indexer.maxMergeDocs&amp;lt;/name&amp;gt;
&lt;br&gt;- &amp;nbsp;&amp;lt;value&amp;gt;1000&amp;lt;/value&amp;gt;
&lt;br&gt;- &amp;nbsp;&amp;lt;description&amp;gt;This number determines the maximum number of Lucene
&lt;br&gt;- &amp;nbsp;Documents to be merged into a new Lucene segment. Larger values
&lt;br&gt;- &amp;nbsp;increase batch indexing speed and reduce the number of Lucene segments,
&lt;br&gt;- &amp;nbsp;which reduces the number of open file handles; however, this also
&lt;br&gt;- &amp;nbsp;decreases incremental indexing performance.
&lt;br&gt;- &amp;nbsp;&amp;lt;/description&amp;gt;
&lt;br&gt;-&amp;lt;/property&amp;gt;
&lt;br&gt;-
&lt;br&gt;-&amp;lt;property&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;name&amp;gt;db.max.inlinks&amp;lt;/name&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;value&amp;gt;100000&amp;lt;/value&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;description&amp;gt;Maximum number of Inlinks per URL to be kept in LinkDb.
&lt;br&gt;@@ -147,5 +114,4 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;/description&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/property&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-
&lt;br&gt;&amp;nbsp;&amp;lt;/configuration&amp;gt;
&lt;br&gt;&lt;br&gt;Modified: trunk/nutch-solr/solr-app/multicore/conf/solrconfig.xml
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/nutch-solr/solr-app/multicore/conf/solrconfig.xml	2009-12-15 01:20:10 UTC (rev 2116)
&lt;br&gt;+++ trunk/nutch-solr/solr-app/multicore/conf/solrconfig.xml	2009-12-15 15:14:49 UTC (rev 2117)
&lt;br&gt;@@ -20,6 +20,46 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;updateHandler class=&amp;quot;solr.DirectUpdateHandler2&amp;quot; /&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;dataDir&amp;gt;${coreDataDir}&amp;lt;/dataDir&amp;gt;
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;&amp;lt;indexDefaults&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;useCompoundFile&amp;gt;true&amp;lt;/useCompoundFile&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;mergeFactor&amp;gt;10&amp;lt;/mergeFactor&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;ramBufferSizeMB&amp;gt;256&amp;lt;/ramBufferSizeMB&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;maxMergeDocs&amp;gt;2147483647&amp;lt;/maxMergeDocs&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;maxFieldLength&amp;gt;100000&amp;lt;/maxFieldLength&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;writeLockTimeout&amp;gt;1000&amp;lt;/writeLockTimeout&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;commitLockTimeout&amp;gt;10000&amp;lt;/commitLockTimeout&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;lockType&amp;gt;single&amp;lt;/lockType&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;/indexDefaults&amp;gt;
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;&amp;lt;mainIndex&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;!-- options specific to the main on-disk lucene index --&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;!-- setting the following parameter to true, makes indexing slower
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;but good for avoiding too many open files exception --&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;useCompoundFile&amp;gt;true&amp;lt;/useCompoundFile&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;!-- default value is 32 but lets increase it to speed up indexing.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; higher the value, more the documents will be indexed --&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;ramBufferSizeMB&amp;gt;256&amp;lt;/ramBufferSizeMB&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;!-- This tells how many segments should be kept --&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;mergeFactor&amp;gt;10&amp;lt;/mergeFactor&amp;gt;
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;!-- maximum docs in a single segment (after merging) --&amp;gt; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;maxMergeDocs&amp;gt;2147483647&amp;lt;/maxMergeDocs&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;!-- max length of a field --&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;maxFieldLength&amp;gt;100000&amp;lt;/maxFieldLength&amp;gt;
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;!-- If true, unlock any held write or commit locks on startup. 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; This defeats the locking mechanism that allows multiple
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; processes to safely access a lucene index, and should be
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; used with care.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; This is not needed if lock type is 'none' or 'single'
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; --&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;unlockOnStartup&amp;gt;false&amp;lt;/unlockOnStartup&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;/mainIndex&amp;gt;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;query&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: trunk/nutch-solr/solr-app/solr/conf/solrconfig.xml
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/nutch-solr/solr-app/solr/conf/solrconfig.xml	2009-12-15 01:20:10 UTC (rev 2116)
&lt;br&gt;+++ trunk/nutch-solr/solr-app/solr/conf/solrconfig.xml	2009-12-15 15:14:49 UTC (rev 2117)
&lt;br&gt;@@ -34,7 +34,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;indexDefaults&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;!-- Values here affect all index writers and act as a default unless overridden. --&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;useCompoundFile&amp;gt;false&amp;lt;/useCompoundFile&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;useCompoundFile&amp;gt;true&amp;lt;/useCompoundFile&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;mergeFactor&amp;gt;10&amp;lt;/mergeFactor&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!--
&lt;br&gt;@@ -48,7 +48,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;If both ramBufferSizeMB and maxBufferedDocs is set, then Lucene will flush based on whichever limit is hit first.
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;--&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;ramBufferSizeMB&amp;gt;32&amp;lt;/ramBufferSizeMB&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;ramBufferSizeMB&amp;gt;256&amp;lt;/ramBufferSizeMB&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;maxMergeDocs&amp;gt;2147483647&amp;lt;/maxMergeDocs&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;maxFieldLength&amp;gt;10000&amp;lt;/maxFieldLength&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;writeLockTimeout&amp;gt;1000&amp;lt;/writeLockTimeout&amp;gt;
&lt;br&gt;&lt;br&gt;Modified: trunk/nutch-solr/src/java/gate/solr/SolrIndexer.java
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/nutch-solr/src/java/gate/solr/SolrIndexer.java	2009-12-15 01:20:10 UTC (rev 2116)
&lt;br&gt;+++ trunk/nutch-solr/src/java/gate/solr/SolrIndexer.java	2009-12-15 15:14:49 UTC (rev 2117)
&lt;br&gt;@@ -136,7 +136,52 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;return true;
&lt;br&gt;&amp;nbsp; &amp;nbsp;} // deleteByQuery(String, int)
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp;/**
&lt;br&gt;+ &amp;nbsp; * Removes documents that match the given query
&lt;br&gt;+ &amp;nbsp; * 
&lt;br&gt;+ &amp;nbsp; * @param query
&lt;br&gt;+ &amp;nbsp; * &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;search query to be used for obtaining a list of documents
&lt;br&gt;+ &amp;nbsp; * @param coreId
&lt;br&gt;+ &amp;nbsp; * &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;core that holds the given file
&lt;br&gt;+ &amp;nbsp; * @return true if file is deleted successfully, false otherwise
&lt;br&gt;+ &amp;nbsp; */
&lt;br&gt;+ &amp;nbsp;public boolean optimize(int coreId) {
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;try {
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;// Send data
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;URL url = new URL(solrUrl + &amp;quot;/core&amp;quot; + coreId + &amp;quot;/update&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;URLConnection conn = url.openConnection();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;conn.setDoOutput(true);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;conn.setRequestProperty(&amp;quot;Content-type&amp;quot;, &amp;quot;text/xml&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;conn.setRequestProperty(&amp;quot;charset&amp;quot;, &amp;quot;utf-8&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;System.out.println(&amp;quot;******************optimizing&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;wr.write(&amp;quot;&amp;lt;optimize/&amp;gt;&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;wr.flush();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;// Get the response
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;BufferedReader rd =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;new BufferedReader(new InputStreamReader(conn.getInputStream()));
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;String line;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;while((line = rd.readLine()) != null) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;System.out.println(line);
&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;wr.close();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;rd.close();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;catch(Exception e) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;e.printStackTrace();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;return false;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;// successful
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;return true;
&lt;br&gt;+ &amp;nbsp;} // deleteByQuery(String, int)
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; * Removes the file from solr index and then adds it using nutch
&lt;br&gt;&amp;nbsp; &amp;nbsp; * 
&lt;br&gt;&amp;nbsp; &amp;nbsp; * @param fileUrls
&lt;br&gt;@@ -214,7 +259,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;filteringRegexs.append(&amp;quot;\n+&amp;quot;).append(aFileUrl).append(&amp;quot;.*/$&amp;quot;);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;depth = &amp;quot;70&amp;quot;;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;threads = &amp;quot;20&amp;quot;;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;threads = &amp;quot;30&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;// and the file itself that user has asked for indexing
&lt;br&gt;@@ -290,6 +335,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String query = 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;new File(new URL(fileUrls.get(0)).toURI()).getAbsolutePath();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;deleteByQuery(query, coreId);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;optimize(coreId);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;catch(Exception 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;Return on Information:
&lt;br&gt;Google Enterprise Search pays you back
&lt;br&gt;Get the facts.
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/google-dev2dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/google-dev2dev&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=26796386&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;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gatewiki---commits-f28145.html&quot; embed=&quot;fixTarget[28145]&quot; target=&quot;_top&quot; &gt;gatewiki - commits&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-2117--trunk-nutch-solr-tp26796386p26796386.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26787954</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[2116] trunk/cow/doc</title>
	<published>2009-12-14T17:20:10Z</published>
	<updated>2009-12-14T17:20:10Z</updated>
	<author>
		<name>gate-project</name>
	</author>
	<content type="html">Revision: 2116
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2116&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2116&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; gate-project
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-12-15 01:20:10 +0000 (Tue, 15 Dec 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;[nirajaswani] added credits for the mail plugin for grails, apache solr and apache nutch
&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;&lt;br&gt;Modified: trunk/cow/doc/acknowledgements.html
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/doc/acknowledgements.html	2009-12-14 11:36:29 UTC (rev 2115)
&lt;br&gt;+++ trunk/cow/doc/acknowledgements.html	2009-12-15 01:20:10 UTC (rev 2116)
&lt;br&gt;@@ -54,11 +54,14 @@
&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://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;/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://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;/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://grails.codehaus.org/Quartz+plugin&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://grails.codehaus.org/Quartz+plugin&lt;/a&gt;&amp;quot;&amp;gt;the Quartz plugin for Grails&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://www.grails.org/Mail+plugin&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.grails.org/Mail+plugin&lt;/a&gt;&amp;quot;&amp;gt;the Mail plugin for Grails&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://groovy.codehaus.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://groovy.codehaus.org/&lt;/a&gt;&amp;quot;&amp;gt;Groovy&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;https://javacc.dev.java.net/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://javacc.dev.java.net/&lt;/a&gt;&amp;quot;&amp;gt;JavaCC&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://seleniumhq.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://seleniumhq.org/&lt;/a&gt;&amp;quot;&amp;gt;Selenium&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://webtest.canoo.com/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://webtest.canoo.com/&lt;/a&gt;&amp;quot;&amp;gt;the Canoo Webtest plugin for Grails&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://ant.apache.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://ant.apache.org/&lt;/a&gt;&amp;quot;&amp;gt;Apache Ant&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://lucene.apache.org/solr/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lucene.apache.org/solr/&lt;/a&gt;&amp;quot;&amp;gt;Apache Solr&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://lucene.apache.org/nutch/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lucene.apache.org/nutch/&lt;/a&gt;&amp;quot;&amp;gt;Apache Nutch&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://java.sun.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://java.sun.com&lt;/a&gt;&amp;quot;&amp;gt;Java&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.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;&lt;br&gt;Modified: trunk/cow/doc/acknowledgements.yam
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/doc/acknowledgements.yam	2009-12-14 11:36:29 UTC (rev 2115)
&lt;br&gt;+++ trunk/cow/doc/acknowledgements.yam	2009-12-15 01:20:10 UTC (rev 2116)
&lt;br&gt;@@ -10,11 +10,14 @@
&lt;br&gt;&amp;nbsp;- %(&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;, the JSecurity plugin for Grails)
&lt;br&gt;&amp;nbsp;- %(&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;, the JCaptcha plugin for Grails)
&lt;br&gt;&amp;nbsp;- %(&lt;a href=&quot;http://grails.codehaus.org/Quartz+plugin&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://grails.codehaus.org/Quartz+plugin&lt;/a&gt;, the Quartz plugin for Grails)
&lt;br&gt;+- %(&lt;a href=&quot;http://www.grails.org/Mail+plugin&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.grails.org/Mail+plugin&lt;/a&gt;, the Mail plugin for Grails)
&lt;br&gt;&amp;nbsp;- %(&lt;a href=&quot;http://groovy.codehaus.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://groovy.codehaus.org/&lt;/a&gt;, Groovy)
&lt;br&gt;&amp;nbsp;- %(&lt;a href=&quot;https://javacc.dev.java.net/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://javacc.dev.java.net/&lt;/a&gt;, JavaCC)
&lt;br&gt;&amp;nbsp;- %(&lt;a href=&quot;http://seleniumhq.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://seleniumhq.org/&lt;/a&gt;, Selenium)
&lt;br&gt;&amp;nbsp;- %(&lt;a href=&quot;http://webtest.canoo.com/,the&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://webtest.canoo.com/,the&lt;/a&gt;&amp;nbsp;Canoo Webtest plugin for Grails)
&lt;br&gt;&amp;nbsp;- %(&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;, Apache Ant)
&lt;br&gt;+- %(&lt;a href=&quot;http://lucene.apache.org/solr/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lucene.apache.org/solr/&lt;/a&gt;, Apache Solr)
&lt;br&gt;+- %(&lt;a href=&quot;http://lucene.apache.org/nutch/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lucene.apache.org/nutch/&lt;/a&gt;, Apache Nutch)
&lt;br&gt;&amp;nbsp;- %(&lt;a href=&quot;http://java.sun.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://java.sun.com&lt;/a&gt;, Java)
&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;&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;Return on Information:
&lt;br&gt;Google Enterprise Search pays you back
&lt;br&gt;Get the facts.
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/google-dev2dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/google-dev2dev&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=26787954&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;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gatewiki---commits-f28145.html&quot; embed=&quot;fixTarget[28145]&quot; target=&quot;_top&quot; &gt;gatewiki - commits&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-2116--trunk-cow-doc-tp26787954p26787954.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26776424</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[2115] trunk/cow/doc</title>
	<published>2009-12-14T03:36:30Z</published>
	<updated>2009-12-14T03:36:30Z</updated>
	<author>
		<name>hcunningham-2</name>
	</author>
	<content type="html">Revision: 2115
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2115&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2115&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; hcunningham
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-12-14 11:36:29 +0000 (Mon, 14 Dec 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;some backlog for next year
&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-12-11 13:40:55 UTC (rev 2114)
&lt;br&gt;+++ trunk/cow/doc/cow-backlog.html	2009-12-14 11:36:29 UTC (rev 2115)
&lt;br&gt;@@ -1,7 +1,8 @@
&lt;br&gt;-&amp;lt;!DOCTYPE html PUBLIC &amp;quot;-//W3C//DTD HTML 4.01//EN&amp;quot;
&lt;br&gt;- &amp;nbsp; &amp;quot;&lt;a href=&quot;http://www.w3.org/TR/html4/strict.dtd&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/TR/html4/strict.dtd&lt;/a&gt;&amp;quot;&amp;gt;
&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;nbsp;&amp;lt;!-- AUTOGENERATED FILE: ALL EDITS WILL BE LOST!!! --&amp;gt;
&lt;br&gt;-&amp;lt;html lang=&amp;quot;en&amp;quot;&amp;gt;
&lt;br&gt;+&amp;lt;!DOCTYPE html PUBLIC &amp;quot;-//W3C//DTD XHTML 1.0 Transitional//EN&amp;quot;
&lt;br&gt;+ &amp;nbsp;&amp;quot;&lt;a href=&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&lt;/a&gt;&amp;quot;&amp;gt;
&lt;br&gt;+&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;nbsp;&amp;lt;title&amp;gt;CoW Backlog&amp;lt;/title&amp;gt;
&lt;br&gt;@@ -56,7 +57,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-1.&amp;quot;&amp;gt;&amp;lt;/a&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;Roadmap (version 1.1, early 2010)&amp;lt;/h1&amp;gt;
&lt;br&gt;+&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;Roadmap (version 1.1, early 2010)&amp;lt;/h1&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;TODO: reprioritise, pull in any pressing stuff from future tasks&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -82,11 +83,19 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp;the regeneration seems to be run with includes turned off (e.g. edit the
&lt;br&gt;&amp;nbsp; &amp;nbsp;download page on g8rs.net, then look at /narrative.html - this now has the
&lt;br&gt;&amp;nbsp; &amp;nbsp;includes not processed). [AR]&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;bar admin edit on readonly dir (or at least message) [IR]&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;search [NA]
&lt;br&gt;+ &amp;nbsp;&amp;lt;ul&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;li&amp;gt;a query to solr like &amp;quot;tokenisation NOT&amp;quot; generates a server error; it
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;should just message instead&amp;lt;/li&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;li&amp;gt;prioritise user guide and top-level htmls in solr results&amp;lt;/li&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;li&amp;gt;group similar pages in solr results&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;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-2.&amp;quot;&amp;gt;&amp;lt;/a&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;Future Tasks&amp;lt;/h1&amp;gt;
&lt;br&gt;+&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;Future Tasks&amp;lt;/h1&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;we should rethink how we preview non-YAM HTML files. At the moment we inject
&lt;br&gt;@@ -469,13 +478,13 @@
&lt;br&gt;&amp;nbsp;&amp;lt;/ul&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.&amp;quot;&amp;gt;&amp;lt;/a&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;Completed Tasks&amp;lt;/h1&amp;gt;
&lt;br&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;Completed Tasks&amp;lt;/h1&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;&amp;lt;a class=&amp;quot;cow-url&amp;quot; href=&amp;quot;cow-done.html&amp;quot;&amp;gt;A list of completed tasks is here.&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-4.&amp;quot;&amp;gt;&amp;lt;/a&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;About this Document&amp;lt;/h1&amp;gt;
&lt;br&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;About this Document&amp;lt;/h1&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;This document contains the list of features, functions, technologies,
&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-12-11 13:40:55 UTC (rev 2114)
&lt;br&gt;+++ trunk/cow/doc/cow-backlog.yam	2009-12-14 11:36:29 UTC (rev 2115)
&lt;br&gt;@@ -25,6 +25,12 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp;the regeneration seems to be run with includes turned off (e.g. edit the
&lt;br&gt;&amp;nbsp; &amp;nbsp;download page on g8rs.net, then look at /narrative.html - this now has the
&lt;br&gt;&amp;nbsp; &amp;nbsp;includes not processed). [AR]
&lt;br&gt;+- bar admin edit on readonly dir (or at least message) [IR]
&lt;br&gt;+- search [NA]
&lt;br&gt;+ &amp;nbsp;- a query to solr like &amp;quot;tokenisation NOT&amp;quot; generates a server error; it
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;should just message instead
&lt;br&gt;+ &amp;nbsp;- prioritise user guide and top-level htmls in solr results
&lt;br&gt;+ &amp;nbsp;- group similar pages in solr results
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&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;Return on Information:
&lt;br&gt;Google Enterprise Search pays you back
&lt;br&gt;Get the facts.
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/google-dev2dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/google-dev2dev&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=26776424&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;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gatewiki---commits-f28145.html&quot; embed=&quot;fixTarget[28145]&quot; target=&quot;_top&quot; &gt;gatewiki - commits&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-2115--trunk-cow-doc-tp26776424p26776424.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26744467</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[2114] trunk/cow/src/java/gate/yam/format/YamFormatter .java</title>
	<published>2009-12-11T05:40:55Z</published>
	<updated>2009-12-11T05:40:55Z</updated>
	<author>
		<name>nirajaswani</name>
	</author>
	<content type="html">Revision: 2114
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2114&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2114&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; nirajaswani
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-12-11 13:40:55 +0000 (Fri, 11 Dec 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;fixed several bugs related to new lines.
&lt;br&gt;&lt;br&gt;Modified Paths:
&lt;br&gt;--------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/src/java/gate/yam/format/YamFormatter.java
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/src/java/gate/yam/format/YamFormatter.java
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/src/java/gate/yam/format/YamFormatter.java	2009-12-11 12:48:51 UTC (rev 2113)
&lt;br&gt;+++ trunk/cow/src/java/gate/yam/format/YamFormatter.java	2009-12-11 13:40:55 UTC (rev 2114)
&lt;br&gt;@@ -118,7 +118,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;catch(Exception e) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throw new RuntimeException(e);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp;// TODO
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;// TODO uncomment the following line
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// formatDocument(doc, content);
&lt;br&gt;&amp;nbsp; &amp;nbsp;} // normalise(Document)
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -181,15 +181,15 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// from the original document content
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;int contentCopiedTill = 0;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;// position where the new lines (as part of Edit annotations formatting) 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;// position where the blank lines (as part of Edit annotations formatting) 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// should be added or removed from
&lt;br&gt;- &amp;nbsp; &amp;nbsp;int nlPosition = 0;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;int blPosition = 0;
&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; *Keeps track of how many nls were added at the end of the last 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; *seen annotation. 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; * Keeps track of how many *blank* lines were preserved at the end of the 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; * last seen annotation. 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;int nlsAdded = 0;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;int blsPreserved = 0;
&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;* Some Edit annotations have wrap annotations inside them.
&lt;br&gt;@@ -202,31 +202,41 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* When sorted, they appear in the following order
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* Wrap, Edit, Wrap, Wrap 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* 
&lt;br&gt;- &amp;nbsp; &amp;nbsp;* New lines need to be added/removed before/after the Edit annotations
&lt;br&gt;- &amp;nbsp; &amp;nbsp;* based on the number of new lines are already there.
&lt;br&gt;- &amp;nbsp; &amp;nbsp;* In the above example, newlines should be added before the first Wrap 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;* Blank lines need to be added/removed before/after the Edit annotations
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;* based on the number of blank lines are already there.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;* In the above example, blank lines should be added before the first Wrap 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* annotation as well as after the last Wrap annotation. However the
&lt;br&gt;- &amp;nbsp; &amp;nbsp;* information about how many new lines are already there is in the Edit
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;* information about how many blank lines are already there is in the Edit
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* annotation. &amp;nbsp;When we get to the last Wrap annotation we would need to
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* have access to the Edit annotation.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* The following variable is useful for remembering the last seen Edit 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* annotation's offsets. When we reach at the last Wrap annotation 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* in the above sequence, whose endOffset is equal to the last seen Edit 
&lt;br&gt;- &amp;nbsp; &amp;nbsp;* annotation's end offset, we add new lines. 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;* annotation's end offset, we add blank lines. 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;*/ 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Annotation lastEditAnnotation = null;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;/*
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; * In case Edit annotation E2 follows another Edit annotation E1 and incase 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; * the E1's preference for blank lines after it is not equal to the E2's
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; * preference for blank lines before it, we choose the higher value.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; * The following variable is used for remembering the preference of E1's
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; * blank lines after the E1 annotation. Later, this is used when deciding
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; * the number of blank lines to preserve before the E2.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; */
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;int minBLsToPreserve = 0;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// processing one annotation at time
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;for(Annotation currentAnnotation : annotationsToProcess) {
&lt;br&gt;-
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// offsets
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int startOffset = currentAnnotation.getStartNode().getOffset().intValue();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int endOffset = currentAnnotation.getEndNode().getOffset().intValue();
&lt;br&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; &amp;nbsp; * before we add any further content, 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; * check if we need to add new lines for the lastEditAnnotation.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; * check if we need to add blank lines for the lastEditAnnotation.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * This happens when 1) we come across a wrap annotation that has same
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * end offset as the end offset of the lastEditAnnotation (this condition
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * is checked later when the Wrap annotation is processed) and 
&lt;br&gt;@@ -238,8 +248,12 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;lastEditAnnotation.getEndNode().getOffset().intValue();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(startOffset &amp;gt;= lastEditAnnotationEndOffset) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;nlsAdded = nlsAfterAnnotation(formattedBuffer, lastEditAnnotation, 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;blsPreserved = blsAfterAnnotation(formattedBuffer, lastEditAnnotation, 
&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; formattedBuffer.length());
&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; 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// at least this many nls must be preserved
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;minBLsToPreserve = blsPreserved;
&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; &amp;nbsp;lastEditAnnotation = null;
&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;@@ -247,19 +261,31 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// see if there's any content not annotated in the document (e.g. verbatim
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// tables etc? copy the text over to the new string
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int numCharsToCopy = startOffset - contentCopiedTill;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(numCharsToCopy &amp;gt; 0) {
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// content to copy
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String contentToCopy = content.substring(contentCopiedTill, startOffset);
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// if the content we added does not have only new AND/OR blank lines in 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// it
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(contentToCopy.replaceAll(&amp;quot;\n&amp;quot;,&amp;quot;&amp;quot;).length() &amp;gt; 0) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;minBLsToPreserve = 0;
&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; &amp;nbsp;// copying from original content to the new content
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;formattedBuffer.append(
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;content.substring(contentCopiedTill, startOffset));
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;formattedBuffer.append(contentToCopy);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// contents copied till the startOffset of the current annotation 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;contentCopiedTill = startOffset;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// if need be, where to add blank lines to or remove from
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;blPosition = formattedBuffer.length();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// if need be, where to add new lines to or remove from
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;nlPosition = formattedBuffer.length();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// at the end of string copy, we don't have any nls added
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;nlsAdded = 0;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// the content we are adding could be ending with a new line that
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// results into a new blank line. Therefore we need to count how many
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// blank lines are there after our addition
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;blsPreserved = countTrailingBLs(formattedBuffer);
&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;// if it is a wrap annotation
&lt;br&gt;@@ -275,30 +301,29 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// wrap the content
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;wrap(wrapRange, 0, wrapRange.length(), indentLevel, 79);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// if need be, where to add new lines
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;nlPosition = formattedBuffer.length();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// if need be, where to add blank lines
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;blPosition = formattedBuffer.length();
&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;// append the wrapped text
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;formattedBuffer.append(wrapRange);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// if the endoffset of the wrap annotation is same as the
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// endoffset of the last edit annotation, this is where we
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// add new lines 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// add blank lines 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(lastEditAnnotation != null) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int lastEditAnnotationEndOffset =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;lastEditAnnotation.getEndNode().getOffset().intValue();
&lt;br&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;nbsp; &amp;nbsp;// only if the current wrap annotation ends at the same place
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// where the edit annotation ended
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(lastEditAnnotationEndOffset == endOffset) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;nlsAdded = nlsAfterAnnotation(formattedBuffer, lastEditAnnotation, 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;blsPreserved = blsAfterAnnotation(formattedBuffer, lastEditAnnotation, 
&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; formattedBuffer.length());
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;minBLsToPreserve = blsPreserved;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;lastEditAnnotation = null;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} else if(endOffset &amp;gt; lastEditAnnotationEndOffset) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;log.error(&amp;quot;Overlapping &amp;quot; + WRAP_AT + 
&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;quot; annotation found at position &amp;quot;+startOffset);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/*throw new RuntimeException(&amp;quot;Overlapping &amp;quot; + WRAP_AT + 
&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; annotation found at position &amp;quot;+startOffset);*/
&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;
&lt;br&gt;@@ -307,16 +332,19 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} else if(currentAnnotation.getType().equals(EDIT_AT)) {
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// add new lines before the annotation here
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;nlsBeforeAnnotation(formattedBuffer, currentAnnotation, nlPosition, 
&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;nlsAdded);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// add blank lines before the annotation here
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;blsBeforeAnnotation(formattedBuffer, currentAnnotation, blPosition, 
&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;blsPreserved, minBLsToPreserve);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//reset nlsAdded
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;nlsAdded = 0;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//reset blsPreserved
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;blsPreserved = 0;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// reset this variable as well
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;minBLsToPreserve = 0;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// remember last seen edit annotation
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;lastEditAnnotation = currentAnnotation;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;} //else if
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}// for
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;@@ -326,11 +354,38 @@
&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;// replacing the original content with the new one
&lt;br&gt;- &amp;nbsp; &amp;nbsp;content.replace(0, content.length(), formattedBuffer.toString());
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;// remove any leading and trailing spaces in the formattedBuffer
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;content.replace(0, content.length(), formattedBuffer.toString().trim());
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;} // formatDocument(Document, StringBuilder)
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp;/**
&lt;br&gt;+ &amp;nbsp; * This method counts the number of consecutive *blank* lines appearing
&lt;br&gt;+ &amp;nbsp; * at the end of the content parameter. 
&lt;br&gt;+ &amp;nbsp; *
&lt;br&gt;+ &amp;nbsp; * @param content
&lt;br&gt;+ &amp;nbsp; * @return number of BLs
&lt;br&gt;+ &amp;nbsp; */
&lt;br&gt;+ &amp;nbsp;private static int countTrailingBLs(StringBuilder content) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;// empty content
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;if(content.length() == 0) return 0;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;int i = content.length() - 1;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;char ch = content.charAt(i);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;int nlCounter = 0;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;while(ch == '\n') {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;nlCounter++;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;i--;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;if(i &amp;lt; 0) break;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;ch = content.charAt(i);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;if(nlCounter == 0) return 0;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;else return nlCounter - 1;
&lt;br&gt;+ &amp;nbsp;} //countTrailingBLs(StringBuilder)
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; * This method counts the indentLevel by looking for white-spaces 
&lt;br&gt;&amp;nbsp; &amp;nbsp; * at the start of the first line.
&lt;br&gt;&amp;nbsp; &amp;nbsp; * 
&lt;br&gt;@@ -362,18 +417,19 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp;} // calculateIndentLevel(StringBuilder)
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;/**
&lt;br&gt;- &amp;nbsp; * Removes new lines where more than desired and adds where too few
&lt;br&gt;+ &amp;nbsp; * Removes blank lines where more than desired and adds where too few
&lt;br&gt;&amp;nbsp; &amp;nbsp; * 
&lt;br&gt;&amp;nbsp; &amp;nbsp; * @param content
&lt;br&gt;- &amp;nbsp; * &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;content of the document that should be formatted for new lines
&lt;br&gt;+ &amp;nbsp; * &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;content of the document that should be formatted for blank lines
&lt;br&gt;&amp;nbsp; &amp;nbsp; * @param a
&lt;br&gt;- &amp;nbsp; * &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Edit annotation which contains information about new lines 
&lt;br&gt;+ &amp;nbsp; * &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Edit annotation which contains information about blank lines 
&lt;br&gt;&amp;nbsp; &amp;nbsp; * &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;before and after the annotations (as counted in the original 
&lt;br&gt;&amp;nbsp; &amp;nbsp; * &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;document).
&lt;br&gt;&amp;nbsp; &amp;nbsp; * @param insertAt
&lt;br&gt;- &amp;nbsp; * &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;position where the nls should be added or removed
&lt;br&gt;+ &amp;nbsp; * &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;position where the bls should be added or removed
&lt;br&gt;+ &amp;nbsp; * @return number of blank lines preserved at the end of the annotation
&lt;br&gt;&amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp;private static int nlsAfterAnnotation(StringBuilder content, Annotation a,
&lt;br&gt;+ &amp;nbsp;private static int blsAfterAnnotation(StringBuilder content, Annotation a,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int insertAt) {
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// type of the edit annotation we're editing
&lt;br&gt;@@ -404,31 +460,33 @@
&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; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;// how many newlines were there already after the current annotation
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;// how many blank lines were there already after the current annotation
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;return numBlankLinesAfter;
&lt;br&gt;- &amp;nbsp;} // nlsAfterAnnotation(StringBuilder, Annotation, int)
&lt;br&gt;+ &amp;nbsp;} // blsAfterAnnotation(StringBuilder, Annotation, int)
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;/**
&lt;br&gt;- &amp;nbsp; * Removes new lines where more than desired and adds where too few
&lt;br&gt;+ &amp;nbsp; * Removes blank lines where more than desired and adds where too few
&lt;br&gt;&amp;nbsp; &amp;nbsp; * 
&lt;br&gt;&amp;nbsp; &amp;nbsp; * @param content
&lt;br&gt;- &amp;nbsp; * &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;content of the document that should be formatted for new lines
&lt;br&gt;+ &amp;nbsp; * &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;content of the document that should be formatted for blank lines
&lt;br&gt;&amp;nbsp; &amp;nbsp; * @param a
&lt;br&gt;- &amp;nbsp; * &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Edit annotation which contains information about new lines 
&lt;br&gt;+ &amp;nbsp; * &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Edit annotation which contains information about blank lines 
&lt;br&gt;&amp;nbsp; &amp;nbsp; * &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;before and after the annotations (as counted in the original 
&lt;br&gt;&amp;nbsp; &amp;nbsp; * &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;document).
&lt;br&gt;&amp;nbsp; &amp;nbsp; * @param insertAt
&lt;br&gt;&amp;nbsp; &amp;nbsp; * &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;position where the nls should be added or removed
&lt;br&gt;- &amp;nbsp; * @param nlsToPreserve
&lt;br&gt;- &amp;nbsp; * &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;number of new lines must be preserved 
&lt;br&gt;+ &amp;nbsp; * @param blsToPreserve
&lt;br&gt;+ &amp;nbsp; * &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;number of blank lines must be preserved 
&lt;br&gt;+ &amp;nbsp; * @param minBLsToPreserve
&lt;br&gt;+ &amp;nbsp; * &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;minimum number of blank lines to preserve before the annotation a
&lt;br&gt;&amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp;private static void nlsBeforeAnnotation(StringBuilder content, Annotation a,
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int insertAt, int nlsToPreserve) {
&lt;br&gt;+ &amp;nbsp;private static void blsBeforeAnnotation(StringBuilder content, Annotation a,
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int insertAt, int blsPreserved, int minBLsToPreserve) {
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// type of the edit annotation we're editing
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;String aType = (String)a.getFeatures().get(&amp;quot;type&amp;quot;);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;// obtain the information about desired min/max/norm new lines for this
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;// obtain the information about desired min/max/norm blank lines for this
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// annotation type
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;SpacesTable spaceTable = spacesTable.get(aType);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -438,15 +496,6 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throw new RuntimeException(&amp;quot;could not recognize &amp;quot; + EDIT_AT
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;+ &amp;quot; with type &amp;quot; + aType);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;// number of blank lines before the current annotation
&lt;br&gt;- &amp;nbsp; &amp;nbsp;int numBlankLinesBefore =
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(Integer)a.getFeatures().get(NUM_BLANK_LINES_BEFORE_FEATURE_NAME);
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp;// these many nls are already there.
&lt;br&gt;- &amp;nbsp; &amp;nbsp;// nlsAlready there give us the number of spaces added as a result of
&lt;br&gt;- &amp;nbsp; &amp;nbsp;// previous Edit annotation
&lt;br&gt;- &amp;nbsp; &amp;nbsp;numBlankLinesBefore += nlsToPreserve;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// normal spaces for this annotation
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;int normSpacesBefore = spaceTable.getNormSpacesBefore();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;@@ -454,21 +503,21 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// while processing SectionHead, say we added/left 2 new lines after it;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// now while processing Paragraph, it says that there should be 1 nl before;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// we take the value whichever is the larger
&lt;br&gt;- &amp;nbsp; &amp;nbsp;if(nlsToPreserve &amp;gt; normSpacesBefore) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;normSpacesBefore = nlsToPreserve;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;if(minBLsToPreserve &amp;gt; normSpacesBefore) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;normSpacesBefore = minBLsToPreserve;
&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;// nls before the current annotation should be edited only
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// if it is not between the min and max desired spaces
&lt;br&gt;- &amp;nbsp; &amp;nbsp;if(numBlankLinesBefore &amp;lt; spaceTable.getMinSpacesBefore()) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;int nlToAdd = normSpacesBefore - numBlankLinesBefore;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;if(blsPreserved &amp;lt; spaceTable.getMinSpacesBefore()) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;int nlToAdd = normSpacesBefore - blsPreserved;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;insertNL(content, nlToAdd, insertAt-1);
&lt;br&gt;- &amp;nbsp; &amp;nbsp;} else if(numBlankLinesBefore &amp;gt; spaceTable.getMaxSpacesBefore()) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;int nlToRemove = numBlankLinesBefore - normSpacesBefore;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;} else if(blsPreserved &amp;gt; spaceTable.getMaxSpacesBefore()) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;int nlToRemove = blsPreserved - normSpacesBefore;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;removeNL(content, nlToRemove, insertAt-1, true);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp;} // nlsBeforeAnnotation(StringBuilder, Annotation, int, int)
&lt;br&gt;+ &amp;nbsp;} // blsBeforeAnnotation(StringBuilder, Annotation, int, int, int)
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; * Removes new lines (represented by nlToRemove) at the specified position
&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;Return on Information:
&lt;br&gt;Google Enterprise Search pays you back
&lt;br&gt;Get the facts.
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/google-dev2dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/google-dev2dev&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=26744467&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;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gatewiki---commits-f28145.html&quot; embed=&quot;fixTarget[28145]&quot; target=&quot;_top&quot; &gt;gatewiki - commits&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-2114--trunk-cow-src-java-gate-yam-format-YamFormatter-.java-tp26744467p26744467.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26743768</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[2113] trunk/cow/grails-app/services/PageService. groovy</title>
	<published>2009-12-11T04:48:51Z</published>
	<updated>2009-12-11T04:48:51Z</updated>
	<author>
		<name>ian_roberts</name>
	</author>
	<content type="html">Revision: 2113
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2113&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2113&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; ian_roberts
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-12-11 12:48:51 +0000 (Fri, 11 Dec 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;Forgot about workstation mode... Now only does a repository delete and update
&lt;br&gt;in server mode; workstation mode just schedules files for deletion in the
&lt;br&gt;sandbox.
&lt;br&gt;&lt;br&gt;Modified Paths:
&lt;br&gt;--------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/grails-app/services/PageService.groovy
&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-12-11 12:06:25 UTC (rev 2112)
&lt;br&gt;+++ trunk/cow/grails-app/services/PageService.groovy	2009-12-11 12:48:51 UTC (rev 2113)
&lt;br&gt;@@ -751,14 +751,21 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;filesToDelete.addAll(yamsToDelete)
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;// delete the files from the repository
&lt;br&gt;- &amp;nbsp; &amp;nbsp;sandbox.deleteFromRepository(
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(filesToDelete.collect {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sandbox.getRepositoryURL(new File(directory, it))
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}) as SVNURL[], &amp;quot;PageService.deleteFiles called by user ${flow.user}&amp;quot;)
&lt;br&gt;- &amp;nbsp; &amp;nbsp;// update the files in the sandbox
&lt;br&gt;- &amp;nbsp; &amp;nbsp;filesToDelete.each {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;sandbox.update(new File(directory, it), SVNRevision.HEAD, true)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;if(conf.mode == &amp;quot;server&amp;quot;) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;// delete the files from the repository
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;sandbox.deleteFromRepository(
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(filesToDelete.collect {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sandbox.getRepositoryURL(new File(directory, it))
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}) as SVNURL[], &amp;quot;PageService.deleteFiles called by user ${flow.user}&amp;quot;)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;// update the files in the sandbox
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;filesToDelete.each {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sandbox.update(new File(directory, it), SVNRevision.HEAD, true)
&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;// workstation mode, just schedule for deletion
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;filesToDelete.each {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sandbox.delete(new File(directory, it), false)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;return true
&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;Return on Information:
&lt;br&gt;Google Enterprise Search pays you back
&lt;br&gt;Get the facts.
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/google-dev2dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/google-dev2dev&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=26743768&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;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gatewiki---commits-f28145.html&quot; embed=&quot;fixTarget[28145]&quot; target=&quot;_top&quot; &gt;gatewiki - commits&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-2113--trunk-cow-grails-app-services-PageService.-groovy-tp26743768p26743768.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26743099</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[2112] trunk/cow/web-app/css/page.css</title>
	<published>2009-12-11T04:06:26Z</published>
	<updated>2009-12-11T04:06:26Z</updated>
	<author>
		<name>ian_roberts</name>
	</author>
	<content type="html">Revision: 2112
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2112&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2112&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; ian_roberts
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-12-11 12:06:25 +0000 (Fri, 11 Dec 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;Playing with CSS positioning to get all the file names and icons in a directory
&lt;br&gt;listing to line up vertically, with their delete checkboxes (if any) to the
&lt;br&gt;left of the icon.
&lt;br&gt;&lt;br&gt;Modified Paths:
&lt;br&gt;--------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/web-app/css/page.css
&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-12-11 12:05:22 UTC (rev 2111)
&lt;br&gt;+++ trunk/cow/web-app/css/page.css	2009-12-11 12:06:25 UTC (rev 2112)
&lt;br&gt;@@ -230,8 +230,9 @@
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;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;position: relative;
&lt;br&gt;+ &amp;nbsp;padding: 2px 0 2px 42px;
&lt;br&gt;+ &amp;nbsp;background-position: 22px center;
&lt;br&gt;&amp;nbsp; &amp;nbsp;background-repeat: no-repeat;
&lt;br&gt;&amp;nbsp; &amp;nbsp;background-image: url(../_images/filetypes/unknown.png);
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;@@ -263,7 +264,9 @@
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;ul.dirList li span.deleteCheckbox {
&lt;br&gt;- &amp;nbsp;width: 20px;
&lt;br&gt;+ &amp;nbsp;display: block;
&lt;br&gt;+ &amp;nbsp;position: absolute;
&lt;br&gt;+ &amp;nbsp;left: 0;
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;/* Menu support */
&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;Return on Information:
&lt;br&gt;Google Enterprise Search pays you back
&lt;br&gt;Get the facts.
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/google-dev2dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/google-dev2dev&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=26743099&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;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gatewiki---commits-f28145.html&quot; embed=&quot;fixTarget[28145]&quot; target=&quot;_top&quot; &gt;gatewiki - commits&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-2112--trunk-cow-web-app-css-page.css-tp26743099p26743099.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26743090</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[2111] trunk/cow/grails-app</title>
	<published>2009-12-11T04:05:22Z</published>
	<updated>2009-12-11T04:05:22Z</updated>
	<author>
		<name>ian_roberts</name>
	</author>
	<content type="html">Revision: 2111
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2111&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2111&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; ian_roberts
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-12-11 12:05:22 +0000 (Fri, 11 Dec 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;Moved the logic to check whether user has &amp;quot;show&amp;quot; permission for each entry in a
&lt;br&gt;directory listing into the controller, so removing the duplicated code from the
&lt;br&gt;dirList template. &amp;nbsp;Also don't show a delete checkbox for '..'.
&lt;br&gt;&lt;br&gt;Modified Paths:
&lt;br&gt;--------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/grails-app/controllers/PageController.groovy
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/grails-app/views/page/_dirList.gsp
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/grails-app/controllers/PageController.groovy
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/grails-app/controllers/PageController.groovy	2009-12-10 15:58:16 UTC (rev 2110)
&lt;br&gt;+++ trunk/cow/grails-app/controllers/PageController.groovy	2009-12-11 12:05:22 UTC (rev 2111)
&lt;br&gt;@@ -87,7 +87,11 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return [:]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;} else if(thisPage.isDirNoIndex || params.type == &amp;quot;dir&amp;quot;) { // dir listing
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(thisPage.wiki.directoryListingAllowed) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;thisPage.dirList = pageService.getDirList(pageFile, thisPage.wiki)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;thisPage.dirList = pageService.getDirList(pageFile, thisPage.wiki).findAll {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// only include entries the user is allowed to see
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;securityService.checkPermission(&amp;quot;page&amp;quot;, &amp;quot;show&amp;quot;, &amp;quot;${thisPage.wiki.id}&amp;quot;,
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;thisPage.pagePathDir + it[0])
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pageBody = renderTemplate(&amp;quot;dirList&amp;quot;, [ thisPage : thisPage ])
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pageLinks = renderTemplate(&amp;quot;dirLinks&amp;quot;, [ thisPage : thisPage ])
&lt;br&gt;&amp;nbsp;// TODO what is this doing here? shouldn't it be in PS.analyse?
&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-12-10 15:58:16 UTC (rev 2110)
&lt;br&gt;+++ trunk/cow/grails-app/views/page/_dirList.gsp	2009-12-11 12:05:22 UTC (rev 2111)
&lt;br&gt;@@ -5,34 +5,19 @@
&lt;br&gt;&amp;nbsp;&amp;lt;form action=&amp;quot;${g.pageURI(controller:'page', action:'delete', id:thisPage.wiki.id, linkPath:thisPage.pagePathDir)}&amp;quot; method=&amp;quot;POST&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp;&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;g:if test=&amp;quot;${dirEntry[1] != 'ft_directory'}&amp;quot;&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;!-- WARNING: duplicated code branch follows --&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;li class=&amp;quot;${dirEntry[1]}&amp;quot;&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;span class=&amp;quot;deleteCheckbox&amp;quot;&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;%-- do not show a delete checkbox for parent directory --%&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;g:if test=&amp;quot;${dirEntry[0] != '..'}&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &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;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;nbsp; &amp;nbsp;&amp;lt;g:set var=&amp;quot;someDeletes&amp;quot; value=&amp;quot;${true}&amp;quot; /&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;input type=&amp;quot;checkbox&amp;quot; name=&amp;quot;filesToDelete&amp;quot; value=&amp;quot;${dirEntry[0].encodeAsHTML()}&amp;quot;&amp;gt;&amp;lt;/input&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/cow:hasPermission&amp;gt;
&lt;br&gt;- &amp;nbsp; &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;/li&amp;gt;
&lt;br&gt;- &amp;nbsp;&amp;lt;/g:if&amp;gt;
&lt;br&gt;- &amp;nbsp;&amp;lt;g:else&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;cow:hasPermission wiki=&amp;quot;${thisPage.wiki.id}&amp;quot; actions=&amp;quot;show&amp;quot; pagePathDir=&amp;quot;${thisPage.pagePathDir + dirEntry[0]}&amp;quot;&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- WARNING: duplicated code branch follows --&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;li class=&amp;quot;${dirEntry[1]}&amp;quot;&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &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;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;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;nbsp; &amp;nbsp;&amp;lt;g:set var=&amp;quot;someDeletes&amp;quot; value=&amp;quot;${true}&amp;quot; /&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;input type=&amp;quot;checkbox&amp;quot; name=&amp;quot;filesToDelete&amp;quot; value=&amp;quot;${dirEntry[0].encodeAsHTML()}&amp;quot;&amp;gt;&amp;lt;/input&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/cow:hasPermission&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/span&amp;gt;
&lt;br&gt;- &amp;nbsp; &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;nbsp;&amp;lt;/li&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;/cow:hasPermission&amp;gt;
&lt;br&gt;- &amp;nbsp;&amp;lt;/g:else&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;/span&amp;gt;
&lt;br&gt;+ &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;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;&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;Return on Information:
&lt;br&gt;Google Enterprise Search pays you back
&lt;br&gt;Get the facts.
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/google-dev2dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/google-dev2dev&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=26743090&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;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gatewiki---commits-f28145.html&quot; embed=&quot;fixTarget[28145]&quot; target=&quot;_top&quot; &gt;gatewiki - commits&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-2111--trunk-cow-grails-app-tp26743090p26743090.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26729804</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[2110] trunk/cow/grails-app</title>
	<published>2009-12-10T07:58:17Z</published>
	<updated>2009-12-10T07:58:17Z</updated>
	<author>
		<name>ian_roberts</name>
	</author>
	<content type="html">Revision: 2110
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2110&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2110&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; ian_roberts
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-12-10 15:58:16 +0000 (Thu, 10 Dec 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;Delete flow.
&lt;br&gt;&lt;br&gt;Modified Paths:
&lt;br&gt;--------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/grails-app/controllers/PageController.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/services/PageService.groovy
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/grails-app/views/page/_dirList.gsp
&lt;br&gt;&lt;br&gt;Added Paths:
&lt;br&gt;-----------
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/grails-app/views/page/_deletedFiles.gsp
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/grails-app/views/page/_forbiddenFiles.gsp
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/grails-app/views/page/delete/confirm.gsp
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/grails-app/views/page/delete/errorExit.gsp
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/grails-app/views/page/delete/normalExit.gsp
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/grails-app/controllers/PageController.groovy
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/grails-app/controllers/PageController.groovy	2009-12-10 12:47:15 UTC (rev 2109)
&lt;br&gt;+++ trunk/cow/grails-app/controllers/PageController.groovy	2009-12-10 15:58:16 UTC (rev 2110)
&lt;br&gt;@@ -777,7 +777,13 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Map thisPage = pageService.analyse(params)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;flow.asMap().putAll(thisPage)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;flow.filesToDelete = params.filesToDelete
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;flow.user = (securityService.username) ?: new File(conf.user.home).name
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// flatten trick to work with either a single String or a List
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;flow.filesToDelete = [params.filesToDelete].flatten()
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(!flow.filesToDelete) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;flow.message = g.message(code:'cow.delete.nothing.selected')
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return error()
&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;on(&amp;quot;success&amp;quot;) { log.debug(&amp;quot;triage -&amp;gt; confirm&amp;quot;) }.to &amp;quot;confirm&amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;on(&amp;quot;error&amp;quot;) &amp;nbsp; { log.debug(&amp;quot;triage -&amp;gt; errorExit&amp;quot;) }.to &amp;quot;errorExit&amp;quot;
&lt;br&gt;@@ -791,7 +797,13 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;doDelete {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;action {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(!pageService.deleteFiles(flow)) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(pageService.deleteFiles(flow)) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;flow.message = g.render(template:'deletedFiles', model:[flow:flow])
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return success()
&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;if(flow.forbiddenFiles) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;flow.errMessage = g.render(template:'forbiddenFiles', model:[flow:flow])
&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; &amp;nbsp;return error()
&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;&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-12-10 12:47:15 UTC (rev 2109)
&lt;br&gt;+++ trunk/cow/grails-app/i18n/cow.properties	2009-12-10 15:58:16 UTC (rev 2110)
&lt;br&gt;@@ -18,6 +18,9 @@
&lt;br&gt;&amp;nbsp;cow.new.page.title=New page name
&lt;br&gt;&amp;nbsp;cow.raw.html.disallowed=You do not have permission to view this (raw HTML) file - please contact your site administrator.
&lt;br&gt;&amp;nbsp;cow.staging.file.modified=Previous failed edit detected. &amp;nbsp;The text you are editing may not match what you saw on the wiki page. &amp;nbsp;If you click cancel, the failed edit will be abandoned and you can edit again to get a fresh copy of the page.
&lt;br&gt;+cow.delete.nothing.selected=No files selected for deletion
&lt;br&gt;+cow.delete.forbidden.dirs=You do not have permission to delete the following\:
&lt;br&gt;+cow.delete.successful=Successfully deleted\:
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;# SvnAuthController messages
&lt;br&gt;&amp;nbsp;cow.svnauth.password.set=A password is set
&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-12-10 12:47:15 UTC (rev 2109)
&lt;br&gt;+++ trunk/cow/grails-app/services/PageService.groovy	2009-12-10 15:58:16 UTC (rev 2110)
&lt;br&gt;@@ -717,6 +717,83 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp;} // createDirectory(Map, Sandbox)
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;/**
&lt;br&gt;+ &amp;nbsp; * Attempt to delete a set of files, checking (recursively) whether the user
&lt;br&gt;+ &amp;nbsp; * has permission to do so. &amp;nbsp;Returns false on failure, setting
&lt;br&gt;+ &amp;nbsp; * flow.errMessage.
&lt;br&gt;+ &amp;nbsp; */
&lt;br&gt;+ &amp;nbsp;boolean deleteFiles(flow) throws SVNException {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;File directory = flow.pageFileDir
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;List filesToDelete = flow.filesToDelete
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;List forbiddenFiles = []
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;filesToDelete.each { f -&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;findForbiddenFiles(flow.wiki, &amp;quot;page&amp;quot;, &amp;quot;delete&amp;quot;, new File(directory, f), forbiddenFiles)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;if(forbiddenFiles) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;flow.forbiddenFiles = forbiddenFiles
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;return false
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;// get the sandbox for the current wiki area
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;Sandbox sandbox = sandboxManager.getSandbox(flow.wiki.path)
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;List yamsToDelete = []
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;filesToDelete.each { name -&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;// for HTML files, delete the corresponding .yam as well, if one exists
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;if(name.endsWith('.html')) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;File yamFile = new File(directory, name.substring(0, name.lastIndexOf('.')) + '.yam')
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(yamFile.isFile()) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;yamsToDelete &amp;lt;&amp;lt; yamFile.name
&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;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;filesToDelete.addAll(yamsToDelete)
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;// delete the files from the repository
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;sandbox.deleteFromRepository(
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(filesToDelete.collect {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sandbox.getRepositoryURL(new File(directory, it))
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}) as SVNURL[], &amp;quot;PageService.deleteFiles called by user ${flow.user}&amp;quot;)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;// update the files in the sandbox
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;filesToDelete.each {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;sandbox.update(new File(directory, it), SVNRevision.HEAD, true)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;return true
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;/**
&lt;br&gt;+ &amp;nbsp; * Determine whether the current user has the requested permission on the
&lt;br&gt;+ &amp;nbsp; * given file and (if the File represents a directory) all its descendants.
&lt;br&gt;+ &amp;nbsp; * If the user does &amp;lt;b&amp;gt;not&amp;lt;/b&amp;gt; have permission on the given file then the
&lt;br&gt;+ &amp;nbsp; * file is added to the forbiddenFiles list. &amp;nbsp;Otherwise if the File
&lt;br&gt;+ &amp;nbsp; * represents a directory this method is called recursively for all the
&lt;br&gt;+ &amp;nbsp; * directory's immediate subdirectories (excluding .svn). &amp;nbsp;Note that if the
&lt;br&gt;+ &amp;nbsp; * user does not have the required permission on this file its subdirectories
&lt;br&gt;+ &amp;nbsp; * are not scanned.
&lt;br&gt;+ &amp;nbsp; */
&lt;br&gt;+ &amp;nbsp;private void findForbiddenFiles(wiki, controllerName, actions, File f, List forbiddenFiles) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;// check self
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;def path = f.absolutePath - wiki.path
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;if(path.startsWith('/')) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;path = path - '/'
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;if(!securityService.checkPermission(controllerName, actions, &amp;quot;${wiki.id}&amp;quot;, path)) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;forbiddenFiles &amp;lt;&amp;lt; f
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;} else if(f.isDirectory()) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;// recurse for children (except for ., .. and .svn)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;f.eachDir { subDir -&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(subDir.name != '.svn' &amp;&amp; subDir.name != '.' &amp;&amp; subDir.name != '..') {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;findForbiddenFiles(wiki, controllerName, actions, subDir, forbiddenFiles)
&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;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; * Create a new YAM page. Returns false on error and sets
&lt;br&gt;&amp;nbsp; &amp;nbsp; * thisPage.errMessage.
&lt;br&gt;&amp;nbsp; &amp;nbsp; */
&lt;br&gt;@@ -905,6 +982,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp;/** Tasks related to Dependencies. */
&lt;br&gt;&amp;nbsp; &amp;nbsp;def dependenciesService
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+ &amp;nbsp;/** Security service, used for permission checks. */
&lt;br&gt;+ &amp;nbsp;def securityService
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp;/** get the spring message resource bundle */
&lt;br&gt;&amp;nbsp; &amp;nbsp;def messageSource
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Added: trunk/cow/grails-app/views/page/_deletedFiles.gsp
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/grails-app/views/page/_deletedFiles.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/page/_deletedFiles.gsp	2009-12-10 15:58:16 UTC (rev 2110)
&lt;br&gt;@@ -0,0 +1,6 @@
&lt;br&gt;+&amp;lt;g:message code=&amp;quot;cow.delete.successful&amp;quot; /&amp;gt;
&lt;br&gt;+&amp;lt;ul&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;g:each in=&amp;quot;${flow.filesToDelete}&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;li&amp;gt;${it}&amp;lt;/li&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;/g:each&amp;gt;
&lt;br&gt;+&amp;lt;/ul&amp;gt;
&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-12-10 12:47:15 UTC (rev 2109)
&lt;br&gt;+++ trunk/cow/grails-app/views/page/_dirList.gsp	2009-12-10 15:58:16 UTC (rev 2110)
&lt;br&gt;@@ -1,6 +1,8 @@
&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;g:set var=&amp;quot;someDeletes&amp;quot; value=&amp;quot;${false}&amp;quot; /&amp;gt;
&lt;br&gt;+&amp;lt;form action=&amp;quot;${g.pageURI(controller:'page', action:'delete', id:thisPage.wiki.id, linkPath:thisPage.pagePathDir)}&amp;quot; method=&amp;quot;POST&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp;&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;nbsp;&amp;lt;g:if test=&amp;quot;${dirEntry[1] != 'ft_directory'}&amp;quot;&amp;gt;
&lt;br&gt;@@ -9,7 +11,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &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;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;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;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;nbsp; &amp;nbsp;&amp;lt;g:set var=&amp;quot;someDeletes&amp;quot; value=&amp;quot;${true}&amp;quot; /&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;input type=&amp;quot;checkbox&amp;quot; name=&amp;quot;filesToDelete&amp;quot; value=&amp;quot;${dirEntry[0].encodeAsHTML()}&amp;quot;&amp;gt;&amp;lt;/input&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/cow:hasPermission&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/span&amp;gt;
&lt;br&gt;&amp;nbsp; &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;@@ -22,7 +25,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &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;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;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;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;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;g:set var=&amp;quot;someDeletes&amp;quot; value=&amp;quot;${true}&amp;quot; /&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;input type=&amp;quot;checkbox&amp;quot; name=&amp;quot;filesToDelete&amp;quot; value=&amp;quot;${dirEntry[0].encodeAsHTML()}&amp;quot;&amp;gt;&amp;lt;/input&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/cow:hasPermission&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/span&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &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;@@ -31,3 +35,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;/g:else&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;+&amp;lt;g:if test=&amp;quot;${someDeletes}&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;p&amp;gt;&amp;lt;g:submitButton name=&amp;quot;delete&amp;quot; value=&amp;quot;Delete selected&amp;quot; /&amp;gt;&amp;lt;/p&amp;gt;
&lt;br&gt;+&amp;lt;/g:if&amp;gt;
&lt;br&gt;+&amp;lt;/form&amp;gt;
&lt;br&gt;&lt;br&gt;Added: trunk/cow/grails-app/views/page/_forbiddenFiles.gsp
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/grails-app/views/page/_forbiddenFiles.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/page/_forbiddenFiles.gsp	2009-12-10 15:58:16 UTC (rev 2110)
&lt;br&gt;@@ -0,0 +1,6 @@
&lt;br&gt;+&amp;lt;g:message code=&amp;quot;cow.delete.forbidden.dirs&amp;quot; /&amp;gt;
&lt;br&gt;+&amp;lt;ul&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;g:each in=&amp;quot;${flow.forbiddenFiles}&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;li&amp;gt;${it.absolutePath - flow.wiki.path}&amp;lt;/li&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;/g:each&amp;gt;
&lt;br&gt;+&amp;lt;/ul&amp;gt;
&lt;br&gt;&lt;br&gt;Added: trunk/cow/grails-app/views/page/delete/confirm.gsp
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/grails-app/views/page/delete/confirm.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/page/delete/confirm.gsp	2009-12-10 15:58:16 UTC (rev 2110)
&lt;br&gt;@@ -0,0 +1,28 @@
&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;Delete files&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;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;h1&amp;gt;Confirm deletion&amp;lt;/h1&amp;gt;
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;g:render template=&amp;quot;/messages&amp;quot; model=&amp;quot;${pageScope.variables}&amp;quot; /&amp;gt;
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;form action=&amp;quot;${pageURI(action:'delete', id:id, linkPath:pagePath)}&amp;quot; method=&amp;quot;post&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;execution&amp;quot; value=&amp;quot;${request['flowExecutionKey']}&amp;quot; id=&amp;quot;execution&amp;quot; /&amp;gt;
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;p&amp;gt;You selected the following files to delete:&amp;lt;/p&amp;gt;
&lt;br&gt;+ &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;nbsp;&amp;lt;g:each in=&amp;quot;${filesToDelete}&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;li&amp;gt;${it.encodeAsHTML()}&amp;lt;/li&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/g:each&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/ul&amp;gt;
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;p&amp;gt;Are you sure?
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;g:submitButton name=&amp;quot;confirm&amp;quot; value=&amp;quot;Yes&amp;quot; /&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;g:submitButton name=&amp;quot;cancel&amp;quot; value=&amp;quot;No&amp;quot; /&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/p&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/form&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;Added: trunk/cow/grails-app/views/page/delete/errorExit.gsp
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/grails-app/views/page/delete/errorExit.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/page/delete/errorExit.gsp	2009-12-10 15:58:16 UTC (rev 2110)
&lt;br&gt;@@ -0,0 +1,7 @@
&lt;br&gt;+&amp;lt;%
&lt;br&gt;+ &amp;nbsp;flash.message = message
&lt;br&gt;+ &amp;nbsp;flash.errMessage = errMessage
&lt;br&gt;+ &amp;nbsp;g.handleWebFlowException(exception:rootCauseException)
&lt;br&gt;+ &amp;nbsp;response.sendRedirect(pageURI(action:'show', id:id, linkPath:pagePathDir, query:'type=dir'))
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+%&amp;gt;
&lt;br&gt;&lt;br&gt;Added: trunk/cow/grails-app/views/page/delete/normalExit.gsp
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/grails-app/views/page/delete/normalExit.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/page/delete/normalExit.gsp	2009-12-10 15:58:16 UTC (rev 2110)
&lt;br&gt;@@ -0,0 +1,5 @@
&lt;br&gt;+&amp;lt;% 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;flash.message = message
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;flash.errMessage = errMessage
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;response.sendRedirect(pageURI(action:'show', id:id, linkPath:pagePath, query:'type=dir'))
&lt;br&gt;+%&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;Return on Information:
&lt;br&gt;Google Enterprise Search pays you back
&lt;br&gt;Get the facts.
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/google-dev2dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/google-dev2dev&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=26729804&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;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gatewiki---commits-f28145.html&quot; embed=&quot;fixTarget[28145]&quot; target=&quot;_top&quot; &gt;gatewiki - commits&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-2110--trunk-cow-grails-app-tp26729804p26729804.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26726666</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[2109] trunk/cow/grails-app/controllers/ ContactController.groovy</title>
	<published>2009-12-10T04:47:17Z</published>
	<updated>2009-12-10T04:47:17Z</updated>
	<author>
		<name>hcunningham-2</name>
	</author>
	<content type="html">Revision: 2109
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2109&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2109&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; hcunningham
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-12-10 12:47:15 +0000 (Thu, 10 Dec 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;do not copy the recipient on the emails
&lt;br&gt;&lt;br&gt;Modified Paths:
&lt;br&gt;--------------
&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/controllers/ContactController.groovy
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/grails-app/controllers/ContactController.groovy	2009-12-10 12:43:28 UTC (rev 2108)
&lt;br&gt;+++ trunk/cow/grails-app/controllers/ContactController.groovy	2009-12-10 12:47:15 UTC (rev 2109)
&lt;br&gt;@@ -89,7 +89,6 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &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; &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; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// attach prefix to subject
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;def sub = conf.contact.subject.prefix + params.subject
&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;Return on Information:
&lt;br&gt;Google Enterprise Search pays you back
&lt;br&gt;Get the facts.
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/google-dev2dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/google-dev2dev&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=26726666&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;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gatewiki---commits-f28145.html&quot; embed=&quot;fixTarget[28145]&quot; target=&quot;_top&quot; &gt;gatewiki - commits&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-2109--trunk-cow-grails-app-controllers--ContactController.groovy-tp26726666p26726666.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26726627</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[2108] trunk/cow/application.properties</title>
	<published>2009-12-10T04:43:41Z</published>
	<updated>2009-12-10T04:43:41Z</updated>
	<author>
		<name>hcunningham-2</name>
	</author>
	<content type="html">Revision: 2108
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2108&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2108&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; hcunningham
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-12-10 12:43:28 +0000 (Thu, 10 Dec 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;now on 1.1 snapshots
&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-12-10 12:39:02 UTC (rev 2107)
&lt;br&gt;+++ trunk/cow/application.properties	2009-12-10 12:43:28 UTC (rev 2108)
&lt;br&gt;@@ -2,7 +2,7 @@
&lt;br&gt;&amp;nbsp;#Thu Dec 03 10:55:00 GMT 2009
&lt;br&gt;&amp;nbsp;app.name=cow
&lt;br&gt;&amp;nbsp;app.grails.version=1.1.1
&lt;br&gt;-app.version=1.0
&lt;br&gt;+app.version=1.1-snapshot
&lt;br&gt;&amp;nbsp;plugins.hibernate=1.1.1
&lt;br&gt;&amp;nbsp;plugins.jcaptcha=1.0
&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;Return on Information:
&lt;br&gt;Google Enterprise Search pays you back
&lt;br&gt;Get the facts.
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/google-dev2dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/google-dev2dev&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=26726627&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;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gatewiki---commits-f28145.html&quot; embed=&quot;fixTarget[28145]&quot; target=&quot;_top&quot; &gt;gatewiki - commits&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-2108--trunk-cow-application.properties-tp26726627p26726627.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26726556</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[2107] branches/gatewiki-1.0/</title>
	<published>2009-12-10T04:39:02Z</published>
	<updated>2009-12-10T04:39:02Z</updated>
	<author>
		<name>hcunningham-2</name>
	</author>
	<content type="html">Revision: 2107
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2107&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2107&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; hcunningham
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-12-10 12:39:02 +0000 (Thu, 10 Dec 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;tagging the 1.0 version
&lt;br&gt;&lt;br&gt;Added Paths:
&lt;br&gt;-----------
&lt;br&gt;&amp;nbsp; &amp;nbsp; branches/gatewiki-1.0/
&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;Return on Information:
&lt;br&gt;Google Enterprise Search pays you back
&lt;br&gt;Get the facts.
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/google-dev2dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/google-dev2dev&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=26726556&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;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gatewiki---commits-f28145.html&quot; embed=&quot;fixTarget[28145]&quot; target=&quot;_top&quot; &gt;gatewiki - commits&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-2107--branches-gatewiki-1.0--tp26726556p26726556.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26696465</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[2106] trunk/cow/web-app/css/page.css</title>
	<published>2009-12-08T08:20:51Z</published>
	<updated>2009-12-08T08:20:51Z</updated>
	<author>
		<name>hcunningham-2</name>
	</author>
	<content type="html">Revision: 2106
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2106&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2106&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; hcunningham
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-12-08 16:20:51 +0000 (Tue, 08 Dec 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;restore bold of top-level menu fonts
&lt;br&gt;&lt;br&gt;Modified Paths:
&lt;br&gt;--------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/web-app/css/page.css
&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-12-08 16:06:25 UTC (rev 2105)
&lt;br&gt;+++ trunk/cow/web-app/css/page.css	2009-12-08 16:20:51 UTC (rev 2106)
&lt;br&gt;@@ -329,7 +329,8 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;.menu li {
&lt;br&gt;&amp;nbsp; &amp;nbsp;position: relative;
&lt;br&gt;- &amp;nbsp;font: bold Verdana,Arial,sans-serif;
&lt;br&gt;+ &amp;nbsp;font-family: Verdana,Arial,sans-serif;
&lt;br&gt;+ &amp;nbsp;font-weight: bold;
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;/* Treat links nested in a &amp;lt;b&amp;gt; tag as submenus, to make it easier to define
&lt;br&gt;@@ -358,7 +359,8 @@
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;.menu ul ul li {
&lt;br&gt;- &amp;nbsp;font: normal Verdana,Arial,sans-serif;
&lt;br&gt;+ &amp;nbsp;font-family: Verdana,Arial,sans-serif;
&lt;br&gt;+ &amp;nbsp;font-weight: normal;
&lt;br&gt;&amp;nbsp; &amp;nbsp;z-index: 300;
&lt;br&gt;&amp;nbsp;}
&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;Return on Information:
&lt;br&gt;Google Enterprise Search pays you back
&lt;br&gt;Get the facts.
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/google-dev2dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/google-dev2dev&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=26696465&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;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gatewiki---commits-f28145.html&quot; embed=&quot;fixTarget[28145]&quot; target=&quot;_top&quot; &gt;gatewiki - commits&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-2106--trunk-cow-web-app-css-page.css-tp26696465p26696465.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26696218</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[2105] trunk/cow/web-app/css/page.css</title>
	<published>2009-12-08T08:06:25Z</published>
	<updated>2009-12-08T08:06:25Z</updated>
	<author>
		<name>hcunningham-2</name>
	</author>
	<content type="html">Revision: 2105
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2105&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2105&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; hcunningham
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-12-08 16:06:25 +0000 (Tue, 08 Dec 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;remove absolute size from menu fonts
&lt;br&gt;&lt;br&gt;Modified Paths:
&lt;br&gt;--------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/web-app/css/page.css
&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-12-08 15:38:45 UTC (rev 2104)
&lt;br&gt;+++ trunk/cow/web-app/css/page.css	2009-12-08 16:06:25 UTC (rev 2105)
&lt;br&gt;@@ -329,7 +329,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;.menu li {
&lt;br&gt;&amp;nbsp; &amp;nbsp;position: relative;
&lt;br&gt;- &amp;nbsp;font: bold 14px Verdana,Arial,sans-serif;
&lt;br&gt;+ &amp;nbsp;font: bold Verdana,Arial,sans-serif;
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;/* Treat links nested in a &amp;lt;b&amp;gt; tag as submenus, to make it easier to define
&lt;br&gt;@@ -358,7 +358,7 @@
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;.menu ul ul li {
&lt;br&gt;- &amp;nbsp;font: normal 14px Verdana,Arial,sans-serif;
&lt;br&gt;+ &amp;nbsp;font: normal Verdana,Arial,sans-serif;
&lt;br&gt;&amp;nbsp; &amp;nbsp;z-index: 300;
&lt;br&gt;&amp;nbsp;}
&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;Return on Information:
&lt;br&gt;Google Enterprise Search pays you back
&lt;br&gt;Get the facts.
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/google-dev2dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/google-dev2dev&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=26696218&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;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gatewiki---commits-f28145.html&quot; embed=&quot;fixTarget[28145]&quot; target=&quot;_top&quot; &gt;gatewiki - commits&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-2105--trunk-cow-web-app-css-page.css-tp26696218p26696218.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26695769</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[2104] trunk/cow/doc</title>
	<published>2009-12-08T07:38:45Z</published>
	<updated>2009-12-08T07:38:45Z</updated>
	<author>
		<name>hcunningham-2</name>
	</author>
	<content type="html">Revision: 2104
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2104&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2104&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; hcunningham
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-12-08 15:38:45 +0000 (Tue, 08 Dec 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;last of the 1.0 jobs gone :-)
&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-12-08 15:37:03 UTC (rev 2103)
&lt;br&gt;+++ trunk/cow/doc/cow-backlog.html	2009-12-08 15:38:45 UTC (rev 2104)
&lt;br&gt;@@ -48,24 +48,15 @@
&lt;br&gt;&amp;nbsp;
&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;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#section-1.&amp;quot;&amp;gt;1. Roadmap (version 1.1)&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#section-1.&amp;quot;&amp;gt;1. Roadmap (version 1.1, early 2010)&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. Future Tasks&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. Completed Tasks&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. About this Document&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;&amp;nbsp;
&lt;br&gt;-&amp;lt;ul&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;the redirect on gate.ac.uk/wiki assumes that we will leave JSP wiki running,
&lt;br&gt;- &amp;nbsp;but this is probably confusing and not a good idea now that we moved all the
&lt;br&gt;- &amp;nbsp;pages? redirect to /wiki instead? [IR]&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;merge in stuff from gate-server/html that has been added since the branch to
&lt;br&gt;- &amp;nbsp;gau-main-tree (e.g. the projects dir has had new stuff...) [VT]&amp;lt;/li&amp;gt;
&lt;br&gt;-&amp;lt;/ul&amp;gt;
&lt;br&gt;-
&lt;br&gt;-
&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-1.&amp;quot;&amp;gt;&amp;lt;/a&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;Roadmap (version 1.1)&amp;lt;/h1&amp;gt;
&lt;br&gt;+&amp;lt;a class=&amp;quot;cow-section-anchor&amp;quot; name=&amp;quot;section-1.&amp;quot;&amp;gt;&amp;lt;/a&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;Roadmap (version 1.1, early 2010)&amp;lt;/h1&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;p&amp;gt;TODO: reprioritise, pull in any pressing stuff from future tasks&amp;lt;/p&amp;gt;
&lt;br&gt;&amp;nbsp;
&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-12-08 15:37:03 UTC (rev 2103)
&lt;br&gt;+++ trunk/cow/doc/cow-backlog.yam	2009-12-08 15:38:45 UTC (rev 2104)
&lt;br&gt;@@ -5,15 +5,8 @@
&lt;br&gt;&amp;nbsp;%contents
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-- the redirect on gate.ac.uk/wiki assumes that we will leave JSP wiki running,
&lt;br&gt;- &amp;nbsp;but this is probably confusing and not a good idea now that we moved all the
&lt;br&gt;- &amp;nbsp;pages? redirect to /wiki instead? [IR]
&lt;br&gt;-- merge in stuff from gate-server/html that has been added since the branch to
&lt;br&gt;- &amp;nbsp;gau-main-tree (e.g. the projects dir has had new stuff...) [VT]
&lt;br&gt;-
&lt;br&gt;-
&lt;br&gt;&amp;nbsp;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
&lt;br&gt;-%1 Roadmap (version 1.1)
&lt;br&gt;+%1 Roadmap (version 1.1, early 2010)
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;TODO: reprioritise, pull in any pressing stuff from future tasks
&lt;br&gt;&amp;nbsp;
&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-12-08 15:37:03 UTC (rev 2103)
&lt;br&gt;+++ trunk/cow/doc/cow-done.html	2009-12-08 15:38:45 UTC (rev 2104)
&lt;br&gt;@@ -2554,5 +2554,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;query&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;merge in stuff from gate-server/html that has been added since the branch to
&lt;br&gt;+ &amp;nbsp;gau-main-tree (e.g. the projects dir has had new stuff...) [VT] [done -
&lt;br&gt;+ &amp;nbsp;nothing needed]&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-12-08 15:37:03 UTC (rev 2103)
&lt;br&gt;+++ trunk/cow/doc/cow-done.yam	2009-12-08 15:38:45 UTC (rev 2104)
&lt;br&gt;@@ -1777,3 +1777,6 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;- 4 pages only appeat in the gmane search: 5045, 5810, 5879, 6212
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;- so there are at least 14 pages which are (possibly) relevant to the
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;query
&lt;br&gt;+- merge in stuff from gate-server/html that has been added since the branch to
&lt;br&gt;+ &amp;nbsp;gau-main-tree (e.g. the projects dir has had new stuff...) [VT] [done -
&lt;br&gt;+ &amp;nbsp;nothing needed]
&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;Return on Information:
&lt;br&gt;Google Enterprise Search pays you back
&lt;br&gt;Get the facts.
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/google-dev2dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/google-dev2dev&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=26695769&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;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gatewiki---commits-f28145.html&quot; embed=&quot;fixTarget[28145]&quot; target=&quot;_top&quot; &gt;gatewiki - commits&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-2104--trunk-cow-doc-tp26695769p26695769.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26695741</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[2103] trunk/site-plugins/gau/grails-app/views/layouts /cowguest.gsp</title>
	<published>2009-12-08T07:37:03Z</published>
	<updated>2009-12-08T07:37:03Z</updated>
	<author>
		<name>hcunningham-2</name>
	</author>
	<content type="html">Revision: 2103
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2103&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2103&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; hcunningham
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-12-08 15:37:03 +0000 (Tue, 08 Dec 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;submenu under wiki
&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-12-08 13:59:13 UTC (rev 2102)
&lt;br&gt;+++ trunk/site-plugins/gau/grails-app/views/layouts/cowguest.gsp	2009-12-08 15:37:03 UTC (rev 2103)
&lt;br&gt;@@ -153,7 +153,12 @@
&lt;br&gt;&amp;nbsp; &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;nbsp; &amp;nbsp;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;/userguide/&amp;quot;&amp;gt;User guide&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;/mail/&amp;quot;&amp;gt;Mailing list&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;/wiki/&amp;quot;&amp;gt;Wiki&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;b&amp;gt;&amp;lt;a href=&amp;quot;/wiki/&amp;quot;&amp;gt;Wiki&amp;lt;/a&amp;gt;&amp;lt;/b&amp;gt;
&lt;br&gt;+ &amp;nbsp; &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;nbsp; &amp;nbsp;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;/wiki/jape-repository/&amp;quot;&amp;gt;JAPE tips&amp;lt;/a&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;/wiki/code-repository/&amp;quot;&amp;gt;Example code&amp;lt;/a&amp;gt;
&lt;br&gt;+ &amp;nbsp; &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;nbsp;&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;/demos/developer-videos/&amp;quot;&amp;gt;Screencams&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;/gate/doc/plugins.html&amp;quot;&amp;gt;Core plugins&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;/sale/gate-flyer/2009/gate-flyer-4-page.pdf&amp;quot;&amp;gt;Brochure&amp;lt;/a&amp;gt;&amp;lt;/li&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;Return on Information:
&lt;br&gt;Google Enterprise Search pays you back
&lt;br&gt;Get the facts.
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/google-dev2dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/google-dev2dev&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=26695741&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;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gatewiki---commits-f28145.html&quot; embed=&quot;fixTarget[28145]&quot; target=&quot;_top&quot; &gt;gatewiki - commits&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-2103--trunk-site-plugins-gau-grails-app-views-layouts--cowguest.gsp-tp26695741p26695741.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26694292</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[2102] trunk/cow/web-app/css/page.css</title>
	<published>2009-12-08T05:59:13Z</published>
	<updated>2009-12-08T05:59:13Z</updated>
	<author>
		<name>markagreenwood</name>
	</author>
	<content type="html">Revision: 2102
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2102&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2102&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; markagreenwood
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-12-08 13:59:13 +0000 (Tue, 08 Dec 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;added the banner classes from the old gate css file so that legacy content will be displayed correctly even if we don't use an iframe
&lt;br&gt;&lt;br&gt;Modified Paths:
&lt;br&gt;--------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/web-app/css/page.css
&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-12-08 13:14:09 UTC (rev 2101)
&lt;br&gt;+++ trunk/cow/web-app/css/page.css	2009-12-08 13:59:13 UTC (rev 2102)
&lt;br&gt;@@ -397,3 +397,31 @@
&lt;br&gt;&amp;nbsp;#twitter_div {
&lt;br&gt;&amp;nbsp; &amp;nbsp;background: #EDEDED;
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+/* the following banner styles are from the old gate site so that we
&lt;br&gt;+ * can display legacy non-yam html in a similar style to before.
&lt;br&gt;+ * I'm guessing that once we have updated these pages to YAM then
&lt;br&gt;+ * these could be removed
&lt;br&gt;+ */
&lt;br&gt;+
&lt;br&gt;+div.banner {
&lt;br&gt;+ &amp;nbsp;border: none;
&lt;br&gt;+ &amp;nbsp;margin-right: 0px;
&lt;br&gt;+ &amp;nbsp;margin-left: 0px;
&lt;br&gt;+ &amp;nbsp;padding: 0.09em;
&lt;br&gt;+ &amp;nbsp;text-align: center;
&lt;br&gt;+ &amp;nbsp;font-weight: bold; 
&lt;br&gt;+}
&lt;br&gt;+div.banner a:link, div.banner {
&lt;br&gt;+ &amp;nbsp;background: #A0D0F0;
&lt;br&gt;+ &amp;nbsp;color: #000000;
&lt;br&gt;+}
&lt;br&gt;+div.banner a:active {
&lt;br&gt;+ &amp;nbsp;background: #000000;
&lt;br&gt;+ &amp;nbsp;color: #FFFFFF;
&lt;br&gt;+}
&lt;br&gt;+div.banner a:hover {
&lt;br&gt;+ &amp;nbsp;background: #000000;
&lt;br&gt;+ &amp;nbsp;color: #FFFFFF;
&lt;br&gt;+}
&lt;br&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;Return on Information:
&lt;br&gt;Google Enterprise Search pays you back
&lt;br&gt;Get the facts.
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/google-dev2dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/google-dev2dev&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=26694292&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;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gatewiki---commits-f28145.html&quot; embed=&quot;fixTarget[28145]&quot; target=&quot;_top&quot; &gt;gatewiki - commits&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-2102--trunk-cow-web-app-css-page.css-tp26694292p26694292.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26693715</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[2101] trunk/cow/doc</title>
	<published>2009-12-08T05:14:10Z</published>
	<updated>2009-12-08T05:14:10Z</updated>
	<author>
		<name>gate-project</name>
	</author>
	<content type="html">Revision: 2101
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2101&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2101&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; gate-project
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-12-08 13:14:09 +0000 (Tue, 08 Dec 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;[nirajaswani] moved security related backlog item under the cow security header and added a new backlog item for nutch
&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-12-08 11:40:29 UTC (rev 2100)
&lt;br&gt;+++ trunk/cow/doc/cow-backlog.html	2009-12-08 13:14:09 UTC (rev 2101)
&lt;br&gt;@@ -98,8 +98,6 @@
&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;/a&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;Future Tasks&amp;lt;/h1&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;ul&amp;gt;
&lt;br&gt;-&amp;lt;li&amp;gt;we need to look at the SecurityService.groovy code to remove any redundant code. 
&lt;br&gt;- &amp;nbsp;Also we need to merge the three methods isPermitted, anonAllowed and checkForPermission some way.&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;li&amp;gt;we should rethink how we preview non-YAM HTML files. At the moment we inject
&lt;br&gt;&amp;nbsp; &amp;nbsp;the head section into the preview page which means we can end up replacing values
&lt;br&gt;&amp;nbsp; &amp;nbsp;for base target and href which cause weird security problems&amp;lt;/li&amp;gt;
&lt;br&gt;@@ -337,7 +335,13 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; directories). This could be changed to (a) allow a list of regular
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; expressions on each permission and (b) use the easier ant syntax, rather
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; than java regexp syntax.&amp;lt;/li&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;li&amp;gt;We need to look at the SecurityService.groovy code to remove any 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; redundant code. Also we need to merge the three methods isPermitted,
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; anonAllowed and checkForPermission some way.&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;/ul&amp;gt;
&lt;br&gt;+
&lt;br&gt;+&amp;lt;ul&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;li&amp;gt;[GATE.ac.uk] &amp;quot;what we do page&amp;quot; &amp;lt;DD,VT&amp;gt; (or: MIMIR search):
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;ul&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;li&amp;gt;A JSP that displays Di/Wim's taxonomy and allows users to select one or
&lt;br&gt;@@ -465,9 +469,14 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;li&amp;gt;CowPermission(Wiki 1, directory &amp;quot;&amp;quot;, controller [page, search], actions
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;[Read])&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;[CoW] nutch-solr
&lt;br&gt;+ &amp;nbsp;&amp;lt;ul&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;li&amp;gt;Upgrade to nutch version 1.0 failed due to some hadoop configuration problem.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;The problem occurs when trying to upload a huge amount of crawled data to the 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;solr webapp.&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;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-3.&amp;quot;&amp;gt;&amp;lt;/a&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;Completed Tasks&amp;lt;/h1&amp;gt;
&lt;br&gt;&amp;nbsp;
&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-12-08 11:40:29 UTC (rev 2100)
&lt;br&gt;+++ trunk/cow/doc/cow-backlog.yam	2009-12-08 13:14:09 UTC (rev 2101)
&lt;br&gt;@@ -37,8 +37,6 @@
&lt;br&gt;&amp;nbsp;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
&lt;br&gt;&amp;nbsp;%1 Future Tasks
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-- we need to look at the SecurityService.groovy code to remove any redundant code. 
&lt;br&gt;- &amp;nbsp;Also we need to merge the three methods isPermitted, anonAllowed and checkForPermission some way.
&lt;br&gt;&amp;nbsp;- we should rethink how we preview non-YAM HTML files. At the moment we inject
&lt;br&gt;&amp;nbsp; &amp;nbsp;the head section into the preview page which means we can end up replacing values
&lt;br&gt;&amp;nbsp; &amp;nbsp;for base target and href which cause weird security problems
&lt;br&gt;@@ -227,6 +225,10 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; directories). This could be changed to (a) allow a list of regular
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; expressions on each permission and (b) use the easier ant syntax, rather
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; than java regexp syntax.
&lt;br&gt;+ &amp;nbsp;- &amp;nbsp;We need to look at the SecurityService.groovy code to remove any 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; redundant code. Also we need to merge the three methods isPermitted,
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; anonAllowed and checkForPermission some way.
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;- [GATE.ac.uk] &amp;quot;what we do page&amp;quot; &amp;lt;DD,VT&amp;gt; (or: MIMIR search):
&lt;br&gt;&amp;nbsp; &amp;nbsp;- A JSP that displays Di/Wim's taxonomy and allows users to select one or
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;more concepts
&lt;br&gt;@@ -326,8 +328,11 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;defined over sets of controllers, in the same way we do for actions:
&lt;br&gt;&amp;nbsp; &amp;nbsp;- CowPermission(Wiki 1, directory &amp;quot;&amp;quot;, controller [page, search], actions
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;[Read])
&lt;br&gt;+- [CoW] nutch-solr
&lt;br&gt;+ &amp;nbsp;- Upgrade to nutch version 1.0 failed due to some hadoop configuration problem.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;The problem occurs when trying to upload a huge amount of crawled data to the 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;solr webapp.
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-
&lt;br&gt;&amp;nbsp;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
&lt;br&gt;&amp;nbsp;%1 Completed Tasks
&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;Return on Information:
&lt;br&gt;Google Enterprise Search pays you back
&lt;br&gt;Get the facts.
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/google-dev2dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/google-dev2dev&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=26693715&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;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gatewiki---commits-f28145.html&quot; embed=&quot;fixTarget[28145]&quot; target=&quot;_top&quot; &gt;gatewiki - commits&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-2101--trunk-cow-doc-tp26693715p26693715.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26692599</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[2100] trunk</title>
	<published>2009-12-08T03:40:30Z</published>
	<updated>2009-12-08T03:40:30Z</updated>
	<author>
		<name>nirajaswani</name>
	</author>
	<content type="html">Revision: 2100
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2100&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2100&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; nirajaswani
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-12-08 11:40:29 +0000 (Tue, 08 Dec 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;reverting back to developer version of nutch. Reverting back as I could not upload crawled and indexed data over to solr web-apps when using the released version 1.0. &amp;nbsp;It could be due to improper integration and will be done in future. This is now in the backlog. Added a parameter in the Config.groovy to specify the amount of RAM the external nutch process should use
&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/services/IndexingService.groovy
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/nutch-solr/lib/nutch-wrapper.jar
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/nutch-solr/nutch/plugins/clustering-carrot2/clustering-carrot2.jar
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/nutch-solr/nutch/plugins/creativecommons/creativecommons.jar
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/nutch-solr/nutch/plugins/feed/feed.jar
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/nutch-solr/nutch/plugins/field-basic/field-basic.jar
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/nutch-solr/nutch/plugins/field-boost/field-boost.jar
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/nutch-solr/nutch/plugins/index-anchor/index-anchor.jar
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/nutch-solr/nutch/plugins/index-basic/index-basic.jar
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/nutch-solr/nutch/plugins/index-more/index-more.jar
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/nutch-solr/nutch/plugins/language-identifier/language-identifier.jar
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/nutch-solr/nutch/plugins/lib-http/lib-http.jar
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/nutch-solr/nutch/plugins/lib-parsems/lib-parsems.jar
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/nutch-solr/nutch/plugins/lib-regex-filter/lib-regex-filter.jar
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/nutch-solr/nutch/plugins/microformats-reltag/microformats-reltag.jar
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/nutch-solr/nutch/plugins/nutch-extensionpoints/nutch-extensionpoints.jar
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/nutch-solr/nutch/plugins/ontology/ontology.jar
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/nutch-solr/nutch/plugins/parse-ext/parse-ext.jar
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/nutch-solr/nutch/plugins/parse-html/parse-html.jar
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/nutch-solr/nutch/plugins/parse-js/parse-js.jar
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/nutch-solr/nutch/plugins/parse-msexcel/parse-msexcel.jar
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/nutch-solr/nutch/plugins/parse-mspowerpoint/parse-mspowerpoint.jar
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/nutch-solr/nutch/plugins/parse-msword/parse-msword.jar
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/nutch-solr/nutch/plugins/parse-oo/parse-oo.jar
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/nutch-solr/nutch/plugins/parse-pdf/parse-pdf.jar
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/nutch-solr/nutch/plugins/parse-rss/parse-rss.jar
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/nutch-solr/nutch/plugins/parse-swf/parse-swf.jar
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/nutch-solr/nutch/plugins/parse-text/parse-text.jar
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/nutch-solr/nutch/plugins/parse-zip/parse-zip.jar
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/nutch-solr/nutch/plugins/protocol-file/protocol-file.jar
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/nutch-solr/nutch/plugins/protocol-ftp/protocol-ftp.jar
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/nutch-solr/nutch/plugins/protocol-http/protocol-http.jar
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/nutch-solr/nutch/plugins/protocol-httpclient/protocol-httpclient.jar
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/nutch-solr/nutch/plugins/query-basic/query-basic.jar
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/nutch-solr/nutch/plugins/query-custom/query-custom.jar
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/nutch-solr/nutch/plugins/query-more/query-more.jar
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/nutch-solr/nutch/plugins/query-site/query-site.jar
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/nutch-solr/nutch/plugins/query-url/query-url.jar
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/nutch-solr/nutch/plugins/response-json/response-json.jar
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/nutch-solr/nutch/plugins/response-xml/response-xml.jar
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/nutch-solr/nutch/plugins/scoring-link/scoring-link.jar
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/nutch-solr/nutch/plugins/scoring-opic/scoring-opic.jar
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/nutch-solr/nutch/plugins/subcollection/subcollection.jar
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/nutch-solr/nutch/plugins/summary-basic/summary-basic.jar
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/nutch-solr/nutch/plugins/summary-lucene/summary-lucene.jar
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/nutch-solr/nutch/plugins/tld/tld.jar
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/nutch-solr/nutch/plugins/urlfilter-automaton/urlfilter-automaton.jar
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/nutch-solr/nutch/plugins/urlfilter-domain/urlfilter-domain.jar
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/nutch-solr/nutch/plugins/urlfilter-prefix/urlfilter-prefix.jar
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/nutch-solr/nutch/plugins/urlfilter-regex/urlfilter-regex.jar
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/nutch-solr/nutch/plugins/urlfilter-suffix/urlfilter-suffix.jar
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/nutch-solr/nutch/plugins/urlfilter-validator/urlfilter-validator.jar
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/nutch-solr/nutch/plugins/urlnormalizer-basic/urlnormalizer-basic.jar
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/nutch-solr/nutch/plugins/urlnormalizer-pass/urlnormalizer-pass.jar
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/nutch-solr/nutch/plugins/urlnormalizer-regex/urlnormalizer-regex.jar
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/nutch-solr/src/java/gate/solr/NutchCrawler.java
&lt;br&gt;&lt;br&gt;Added Paths:
&lt;br&gt;-----------
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/nutch-solr/nutch/nutch-2009-02-26_04-01-15.jar
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/nutch-solr/nutch/nutch-2009-02-26_04-01-15.job
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/nutch-solr/nutch/nutch-2009-02-26_04-01-15.war
&lt;br&gt;&lt;br&gt;Removed Paths:
&lt;br&gt;-------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/nutch-solr/nutch/nutch-1.0.jar
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/nutch-solr/nutch/nutch-1.0.job
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/nutch-solr/nutch/nutch-1.0.war
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/nutch-solr/nutch/plugins/hadoop/
&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-12-08 11:14:55 UTC (rev 2099)
&lt;br&gt;+++ trunk/cow/grails-app/conf/Config.groovy	2009-12-08 11:40:29 UTC (rev 2100)
&lt;br&gt;@@ -115,6 +115,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;logFile &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;${sysUserDir}/../nutch-solr/solr-app/multicore/conf/logging.properties&amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;baseUrl &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = &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; + System.getProperty(&amp;quot;server.port&amp;quot;)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;indexingRam &amp;nbsp; &amp;nbsp; &amp;nbsp; = &amp;quot;2048m&amp;quot; // 2GB ram for solr
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;guest {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;layout.dir &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= &amp;quot;layouts/&amp;quot; //directory with layouts gsp in it
&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-12-08 11:14:55 UTC (rev 2099)
&lt;br&gt;+++ trunk/cow/grails-app/services/IndexingService.groovy	2009-12-08 11:40:29 UTC (rev 2100)
&lt;br&gt;@@ -171,7 +171,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;classpath:classpath, classname:&amp;quot;gate.solr.SolrIndexer&amp;quot;, fork:&amp;quot;true&amp;quot;,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;resultproperty: &amp;quot;nutch-indexing-exit-code&amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;jvmarg(value:&amp;quot;-Xmx1512m&amp;quot;)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;jvmarg(value:&amp;quot;-Xmx&amp;quot; + conf.gate.cow.solr.indexingRam)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;arg(value:cmd)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;arg(value:solrUrl)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;arg(value:wikiId)
&lt;br&gt;&lt;br&gt;Modified: trunk/nutch-solr/lib/nutch-wrapper.jar
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;Deleted: trunk/nutch-solr/nutch/nutch-1.0.jar
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;Deleted: trunk/nutch-solr/nutch/nutch-1.0.job
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;Deleted: trunk/nutch-solr/nutch/nutch-1.0.war
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;Added: trunk/nutch-solr/nutch/nutch-2009-02-26_04-01-15.jar
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;&lt;br&gt;Property changes on: trunk/nutch-solr/nutch/nutch-2009-02-26_04-01-15.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;Added: trunk/nutch-solr/nutch/nutch-2009-02-26_04-01-15.job
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;&lt;br&gt;Property changes on: trunk/nutch-solr/nutch/nutch-2009-02-26_04-01-15.job
&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/nutch-solr/nutch/nutch-2009-02-26_04-01-15.war
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;&lt;br&gt;Property changes on: trunk/nutch-solr/nutch/nutch-2009-02-26_04-01-15.war
&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/nutch-solr/nutch/plugins/clustering-carrot2/clustering-carrot2.jar
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;Modified: trunk/nutch-solr/nutch/plugins/creativecommons/creativecommons.jar
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;Modified: trunk/nutch-solr/nutch/plugins/feed/feed.jar
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;Modified: trunk/nutch-solr/nutch/plugins/field-basic/field-basic.jar
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;Modified: trunk/nutch-solr/nutch/plugins/field-boost/field-boost.jar
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;Modified: trunk/nutch-solr/nutch/plugins/index-anchor/index-anchor.jar
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;Modified: trunk/nutch-solr/nutch/plugins/index-basic/index-basic.jar
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;Modified: trunk/nutch-solr/nutch/plugins/index-more/index-more.jar
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;Modified: trunk/nutch-solr/nutch/plugins/language-identifier/language-identifier.jar
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;Modified: trunk/nutch-solr/nutch/plugins/lib-http/lib-http.jar
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;Modified: trunk/nutch-solr/nutch/plugins/lib-parsems/lib-parsems.jar
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;Modified: trunk/nutch-solr/nutch/plugins/lib-regex-filter/lib-regex-filter.jar
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;Modified: trunk/nutch-solr/nutch/plugins/microformats-reltag/microformats-reltag.jar
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;Modified: trunk/nutch-solr/nutch/plugins/nutch-extensionpoints/nutch-extensionpoints.jar
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;Modified: trunk/nutch-solr/nutch/plugins/ontology/ontology.jar
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;Modified: trunk/nutch-solr/nutch/plugins/parse-ext/parse-ext.jar
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;Modified: trunk/nutch-solr/nutch/plugins/parse-html/parse-html.jar
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;Modified: trunk/nutch-solr/nutch/plugins/parse-js/parse-js.jar
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;Modified: trunk/nutch-solr/nutch/plugins/parse-msexcel/parse-msexcel.jar
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;Modified: trunk/nutch-solr/nutch/plugins/parse-mspowerpoint/parse-mspowerpoint.jar
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;Modified: trunk/nutch-solr/nutch/plugins/parse-msword/parse-msword.jar
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;Modified: trunk/nutch-solr/nutch/plugins/parse-oo/parse-oo.jar
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;Modified: trunk/nutch-solr/nutch/plugins/parse-pdf/parse-pdf.jar
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;Modified: trunk/nutch-solr/nutch/plugins/parse-rss/parse-rss.jar
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;Modified: trunk/nutch-solr/nutch/plugins/parse-swf/parse-swf.jar
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;Modified: trunk/nutch-solr/nutch/plugins/parse-text/parse-text.jar
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;Modified: trunk/nutch-solr/nutch/plugins/parse-zip/parse-zip.jar
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;Modified: trunk/nutch-solr/nutch/plugins/protocol-file/protocol-file.jar
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;Modified: trunk/nutch-solr/nutch/plugins/protocol-ftp/protocol-ftp.jar
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;Modified: trunk/nutch-solr/nutch/plugins/protocol-http/protocol-http.jar
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;Modified: trunk/nutch-solr/nutch/plugins/protocol-httpclient/protocol-httpclient.jar
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;Modified: trunk/nutch-solr/nutch/plugins/query-basic/query-basic.jar
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;Modified: trunk/nutch-solr/nutch/plugins/query-custom/query-custom.jar
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;Modified: trunk/nutch-solr/nutch/plugins/query-more/query-more.jar
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;Modified: trunk/nutch-solr/nutch/plugins/query-site/query-site.jar
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;Modified: trunk/nutch-solr/nutch/plugins/query-url/query-url.jar
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;Modified: trunk/nutch-solr/nutch/plugins/response-json/response-json.jar
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;Modified: trunk/nutch-solr/nutch/plugins/response-xml/response-xml.jar
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;Modified: trunk/nutch-solr/nutch/plugins/scoring-link/scoring-link.jar
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;Modified: trunk/nutch-solr/nutch/plugins/scoring-opic/scoring-opic.jar
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;Modified: trunk/nutch-solr/nutch/plugins/subcollection/subcollection.jar
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;Modified: trunk/nutch-solr/nutch/plugins/summary-basic/summary-basic.jar
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;Modified: trunk/nutch-solr/nutch/plugins/summary-lucene/summary-lucene.jar
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;Modified: trunk/nutch-solr/nutch/plugins/tld/tld.jar
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;Modified: trunk/nutch-solr/nutch/plugins/urlfilter-automaton/urlfilter-automaton.jar
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;Modified: trunk/nutch-solr/nutch/plugins/urlfilter-domain/urlfilter-domain.jar
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;Modified: trunk/nutch-solr/nutch/plugins/urlfilter-prefix/urlfilter-prefix.jar
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;Modified: trunk/nutch-solr/nutch/plugins/urlfilter-regex/urlfilter-regex.jar
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;Modified: trunk/nutch-solr/nutch/plugins/urlfilter-suffix/urlfilter-suffix.jar
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;Modified: trunk/nutch-solr/nutch/plugins/urlfilter-validator/urlfilter-validator.jar
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;Modified: trunk/nutch-solr/nutch/plugins/urlnormalizer-basic/urlnormalizer-basic.jar
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;Modified: trunk/nutch-solr/nutch/plugins/urlnormalizer-pass/urlnormalizer-pass.jar
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;Modified: trunk/nutch-solr/nutch/plugins/urlnormalizer-regex/urlnormalizer-regex.jar
&lt;br&gt;===================================================================
&lt;br&gt;(Binary files differ)
&lt;br&gt;&lt;br&gt;Modified: trunk/nutch-solr/src/java/gate/solr/NutchCrawler.java
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/nutch-solr/src/java/gate/solr/NutchCrawler.java	2009-12-08 11:14:55 UTC (rev 2099)
&lt;br&gt;+++ trunk/nutch-solr/src/java/gate/solr/NutchCrawler.java	2009-12-08 11:40:29 UTC (rev 2100)
&lt;br&gt;@@ -47,7 +47,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;/* Perform complete crawling given a set of root urls. */
&lt;br&gt;&amp;nbsp; &amp;nbsp;public static void main(String args[]) throws Exception {
&lt;br&gt;- &amp;nbsp; &amp;nbsp;System.out.println(&amp;quot;Using Fetcher: new version*************************&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;System.out.println(&amp;quot;Using Fetcher2 implementation&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;if (args.length &amp;lt; 1) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;System.out.println(&amp;quot;Usage: NutchCrawler &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;quot;&amp;lt;urlDir&amp;gt; [-dir d] [-threads n] [-depth i] [-topN N]&amp;quot;);
&lt;br&gt;@@ -104,10 +104,10 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Generator generator = new Generator(conf);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// using fetcher2 implementation
&lt;br&gt;- &amp;nbsp; &amp;nbsp;//Fetcher2 fetcher = new Fetcher2(conf);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;Fetcher2 fetcher = new Fetcher2(conf);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// Fetcher 1 implementation
&lt;br&gt;- &amp;nbsp; &amp;nbsp;Fetcher fetcher = new Fetcher(conf);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;//Fetcher fetcher = new Fetcher(conf);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// segmenter parser
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;ParseSegment parseSegment = new ParseSegment(conf);
&lt;br&gt;@@ -132,7 +132,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;fetcher.fetch(segment, threads, true); &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// parse it, if needed
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;if (!Fetcher.isParsing(job)) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;if (!Fetcher2.isParsing(job)) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;parseSegment.parse(segment); &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&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;Return on Information:
&lt;br&gt;Google Enterprise Search pays you back
&lt;br&gt;Get the facts.
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/google-dev2dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/google-dev2dev&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=26692599&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;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gatewiki---commits-f28145.html&quot; embed=&quot;fixTarget[28145]&quot; target=&quot;_top&quot; &gt;gatewiki - commits&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-2100--trunk-tp26692599p26692599.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26692268</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[2099] trunk/cow/grails-app/services/PageService. groovy</title>
	<published>2009-12-08T03:14:55Z</published>
	<updated>2009-12-08T03:14:55Z</updated>
	<author>
		<name>markagreenwood</name>
	</author>
	<content type="html">Revision: 2099
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2099&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2099&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; markagreenwood
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-12-08 11:14:55 +0000 (Tue, 08 Dec 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;removed some code left over from debugging the vanishing blank lines problem
&lt;br&gt;&lt;br&gt;Modified Paths:
&lt;br&gt;--------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/grails-app/services/PageService.groovy
&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-12-08 11:11:08 UTC (rev 2098)
&lt;br&gt;+++ trunk/cow/grails-app/services/PageService.groovy	2009-12-08 11:14:55 UTC (rev 2099)
&lt;br&gt;@@ -680,7 +680,6 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp;void overwrite(Map flow, File editFile, String text) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;text = text.replace('\r\n', '\n')
&lt;br&gt;- &amp;nbsp; &amp;nbsp;if (text.charAt(0) == '\n') text = &amp;quot;\n&amp;quot;+text;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;if(
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;flow.editType == conf.page.NON_YAM_HTML_EDIT ||
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;flow.editType == conf.page.PLAIN_TEXT_EDIT
&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;Return on Information:
&lt;br&gt;Google Enterprise Search pays you back
&lt;br&gt;Get the facts.
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/google-dev2dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/google-dev2dev&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=26692268&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;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gatewiki---commits-f28145.html&quot; embed=&quot;fixTarget[28145]&quot; target=&quot;_top&quot; &gt;gatewiki - commits&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-2099--trunk-cow-grails-app-services-PageService.-groovy-tp26692268p26692268.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26692220</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[2098] trunk/cow/grails-app</title>
	<published>2009-12-08T03:11:08Z</published>
	<updated>2009-12-08T03:11:08Z</updated>
	<author>
		<name>markagreenwood</name>
	</author>
	<content type="html">Revision: 2098
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2098&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2098&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; markagreenwood
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-12-08 11:11:08 +0000 (Tue, 08 Dec 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;make sure we replace the starting newline character with a double new line when ever we pass the yam source backwards and forwards otherwise we seem to lose the blank lines which is a problem for files like leftBar.html which need to have blank lines at the top to stop the first line becoming a title
&lt;br&gt;&lt;br&gt;Modified Paths:
&lt;br&gt;--------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/grails-app/controllers/PageController.groovy
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/grails-app/services/PageService.groovy
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/grails-app/controllers/PageController.groovy
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/grails-app/controllers/PageController.groovy	2009-12-07 17:47:35 UTC (rev 2097)
&lt;br&gt;+++ trunk/cow/grails-app/controllers/PageController.groovy	2009-12-08 11:11:08 UTC (rev 2098)
&lt;br&gt;@@ -466,7 +466,12 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/** Display the preview view state. */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;preview {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;on(&amp;quot;back&amp;quot;) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//we need the same fix here as we do when saving the files otherwise we lose the blank lines
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;flow.editInput = flow.editOutput
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;flow.editInput.replace('\r\n', '\n')
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (flow.editInput.charAt(0) == '\r') flow.editInput = &amp;quot;\n&amp;quot;+flow.editInput
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;flow.commitMessage = params.commitMessage
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}.to &amp;quot;edit&amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;on(&amp;quot;save&amp;quot;) {
&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-12-07 17:47:35 UTC (rev 2097)
&lt;br&gt;+++ trunk/cow/grails-app/services/PageService.groovy	2009-12-08 11:11:08 UTC (rev 2098)
&lt;br&gt;@@ -680,6 +680,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp;void overwrite(Map flow, File editFile, String text) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;text = text.replace('\r\n', '\n')
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;if (text.charAt(0) == '\n') text = &amp;quot;\n&amp;quot;+text;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;if(
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;flow.editType == conf.page.NON_YAM_HTML_EDIT ||
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;flow.editType == conf.page.PLAIN_TEXT_EDIT
&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;Return on Information:
&lt;br&gt;Google Enterprise Search pays you back
&lt;br&gt;Get the facts.
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/google-dev2dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/google-dev2dev&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=26692220&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;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gatewiki---commits-f28145.html&quot; embed=&quot;fixTarget[28145]&quot; target=&quot;_top&quot; &gt;gatewiki - commits&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-2098--trunk-cow-grails-app-tp26692220p26692220.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26681054</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[2097] trunk/site-plugins/gau/grails-app/views/layouts /cowguest.gsp</title>
	<published>2009-12-07T09:47:35Z</published>
	<updated>2009-12-07T09:47:35Z</updated>
	<author>
		<name>hcunningham-2</name>
	</author>
	<content type="html">Revision: 2097
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2097&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2097&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; hcunningham
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-12-07 17:47:35 +0000 (Mon, 07 Dec 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;added a submenu for documentation
&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-12-07 17:38:32 UTC (rev 2096)
&lt;br&gt;+++ trunk/site-plugins/gau/grails-app/views/layouts/cowguest.gsp	2009-12-07 17:47:35 UTC (rev 2097)
&lt;br&gt;@@ -149,7 +149,18 @@
&lt;br&gt;&amp;nbsp; &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;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;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;b&amp;gt;&amp;lt;a href=&amp;quot;/documentation.html&amp;quot;&amp;gt;Documentation&amp;lt;/a&amp;gt;&amp;lt;/b&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;nbsp;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;/userguide/&amp;quot;&amp;gt;User guide&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;/mail/&amp;quot;&amp;gt;Mailing list&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;/wiki/&amp;quot;&amp;gt;Wiki&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;/demos/developer-videos/&amp;quot;&amp;gt;Screencams&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;/gate/doc/plugins.html&amp;quot;&amp;gt;Core plugins&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;/sale/gate-flyer/2009/gate-flyer-4-page.pdf&amp;quot;&amp;gt;Brochure&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;/gate/doc/javadoc/index.html&amp;quot;&amp;gt;Javadocs&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;Docs summary&amp;lt;/a&amp;gt;&amp;lt;/b&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;/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;/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;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;&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;Join us December 9, 2009 for the Red Hat Virtual Experience,
&lt;br&gt;a free event focused on virtualization and cloud computing. 
&lt;br&gt;Attend in-depth sessions from your desk. Your couch. Anywhere.
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/redhat-sfdev2dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/redhat-sfdev2dev&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=26681054&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;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gatewiki---commits-f28145.html&quot; embed=&quot;fixTarget[28145]&quot; target=&quot;_top&quot; &gt;gatewiki - commits&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-2097--trunk-site-plugins-gau-grails-app-views-layouts--cowguest.gsp-tp26681054p26681054.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26680917</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[2096] trunk/cow/doc</title>
	<published>2009-12-07T09:38:33Z</published>
	<updated>2009-12-07T09:38:33Z</updated>
	<author>
		<name>gate-project</name>
	</author>
	<content type="html">Revision: 2096
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2096&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2096&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; gate-project
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-12-07 17:38:32 +0000 (Mon, 07 Dec 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;[nirajaswani] added a backlog time for reviewing the methods of SecurityService.groovy
&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-12-07 17:30:47 UTC (rev 2095)
&lt;br&gt;+++ trunk/cow/doc/cow-backlog.html	2009-12-07 17:38:32 UTC (rev 2096)
&lt;br&gt;@@ -98,6 +98,8 @@
&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;/a&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;Future Tasks&amp;lt;/h1&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;ul&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;we need to look at the SecurityService.groovy code to remove any redundant code. 
&lt;br&gt;+ &amp;nbsp;Also we need to merge the three methods isPermitted, anonAllowed and checkForPermission some way.&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;li&amp;gt;we should rethink how we preview non-YAM HTML files. At the moment we inject
&lt;br&gt;&amp;nbsp; &amp;nbsp;the head section into the preview page which means we can end up replacing values
&lt;br&gt;&amp;nbsp; &amp;nbsp;for base target and href which cause weird security problems&amp;lt;/li&amp;gt;
&lt;br&gt;@@ -150,6 +152,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp;(alternatively the arrow area should open the submenu)... difficult: perhaps
&lt;br&gt;&amp;nbsp; &amp;nbsp;buy valy a new phone?! or WAP-style tailoring of CSS to different devices,
&lt;br&gt;&amp;nbsp; &amp;nbsp;and while we're at it add skins?!&amp;lt;/li&amp;gt;
&lt;br&gt;+&amp;lt;li&amp;gt;directories: an anonymous has permissions to browse directories (at the moment, via ?dir,
&lt;br&gt;+ &amp;nbsp;as the link is disabled). we could implement permissions for directory
&lt;br&gt;+ &amp;nbsp;browsing, implementing a specific controller and/or action.&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-12-07 17:30:47 UTC (rev 2095)
&lt;br&gt;+++ trunk/cow/doc/cow-backlog.yam	2009-12-07 17:38:32 UTC (rev 2096)
&lt;br&gt;@@ -37,6 +37,8 @@
&lt;br&gt;&amp;nbsp;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
&lt;br&gt;&amp;nbsp;%1 Future Tasks
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+- we need to look at the SecurityService.groovy code to remove any redundant code. 
&lt;br&gt;+ &amp;nbsp;Also we need to merge the three methods isPermitted, anonAllowed and checkForPermission some way.
&lt;br&gt;&amp;nbsp;- we should rethink how we preview non-YAM HTML files. At the moment we inject
&lt;br&gt;&amp;nbsp; &amp;nbsp;the head section into the preview page which means we can end up replacing values
&lt;br&gt;&amp;nbsp; &amp;nbsp;for base target and href which cause weird security problems
&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;Join us December 9, 2009 for the Red Hat Virtual Experience,
&lt;br&gt;a free event focused on virtualization and cloud computing. 
&lt;br&gt;Attend in-depth sessions from your desk. Your couch. Anywhere.
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/redhat-sfdev2dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/redhat-sfdev2dev&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=26680917&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;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gatewiki---commits-f28145.html&quot; embed=&quot;fixTarget[28145]&quot; target=&quot;_top&quot; &gt;gatewiki - commits&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-2096--trunk-cow-doc-tp26680917p26680917.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26680787</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[2095] trunk/cow/grails-app/services/SecurityService. groovy</title>
	<published>2009-12-07T09:30:47Z</published>
	<updated>2009-12-07T09:30:47Z</updated>
	<author>
		<name>nirajaswani</name>
	</author>
	<content type="html">Revision: 2095
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2095&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2095&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; nirajaswani
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-12-07 17:30:47 +0000 (Mon, 07 Dec 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;reverting back the changes made to SecurityService as asked by Angus - description in the backlog
&lt;br&gt;&lt;br&gt;Modified Paths:
&lt;br&gt;--------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/grails-app/services/SecurityService.groovy
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/grails-app/services/SecurityService.groovy
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/grails-app/services/SecurityService.groovy	2009-12-07 16:21:12 UTC (rev 2094)
&lt;br&gt;+++ trunk/cow/grails-app/services/SecurityService.groovy	2009-12-07 17:30:47 UTC (rev 2095)
&lt;br&gt;@@ -27,7 +27,11 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp;boolean isPermitted(CowPermission requiredPerm) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;def subject = SecurityUtils.getSubject()
&lt;br&gt;- &amp;nbsp; &amp;nbsp;return subject.isPermitted(requiredPerm)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;if(subject.authenticated) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;return subject.isPermitted(requiredPerm)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;} else {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;return false
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp;
&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;Join us December 9, 2009 for the Red Hat Virtual Experience,
&lt;br&gt;a free event focused on virtualization and cloud computing. 
&lt;br&gt;Attend in-depth sessions from your desk. Your couch. Anywhere.
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/redhat-sfdev2dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/redhat-sfdev2dev&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=26680787&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;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gatewiki---commits-f28145.html&quot; embed=&quot;fixTarget[28145]&quot; target=&quot;_top&quot; &gt;gatewiki - commits&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-2095--trunk-cow-grails-app-services-SecurityService.-groovy-tp26680787p26680787.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26679676</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[2094] trunk/cow/doc/cow-backlog.yam</title>
	<published>2009-12-07T08:21:12Z</published>
	<updated>2009-12-07T08:21:12Z</updated>
	<author>
		<name>angus_roberts</name>
	</author>
	<content type="html">Revision: 2094
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2094&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2094&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; angus_roberts
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-12-07 16:21:12 +0000 (Mon, 07 Dec 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;note on directory browsing under future tasks
&lt;br&gt;&lt;br&gt;Modified Paths:
&lt;br&gt;--------------
&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.yam
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/doc/cow-backlog.yam	2009-12-07 15:20:11 UTC (rev 2093)
&lt;br&gt;+++ trunk/cow/doc/cow-backlog.yam	2009-12-07 16:21:12 UTC (rev 2094)
&lt;br&gt;@@ -87,6 +87,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp;(alternatively the arrow area should open the submenu)... difficult: perhaps
&lt;br&gt;&amp;nbsp; &amp;nbsp;buy valy a new phone?! or WAP-style tailoring of CSS to different devices,
&lt;br&gt;&amp;nbsp; &amp;nbsp;and while we're at it add skins?!
&lt;br&gt;+- directories: an anonymous has permissions to browse directories (at the moment, via ?dir,
&lt;br&gt;+ &amp;nbsp;as the link is disabled). we could implement permissions for directory
&lt;br&gt;+ &amp;nbsp;browsing, implementing a specific controller and/or action.
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;- add exclusions for / and /help to HtmlTranslator so that links to these
&lt;br&gt;&amp;nbsp; &amp;nbsp;areas are not considered to be missing pages [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;Join us December 9, 2009 for the Red Hat Virtual Experience,
&lt;br&gt;a free event focused on virtualization and cloud computing. 
&lt;br&gt;Attend in-depth sessions from your desk. Your couch. Anywhere.
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/redhat-sfdev2dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/redhat-sfdev2dev&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=26679676&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;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gatewiki---commits-f28145.html&quot; embed=&quot;fixTarget[28145]&quot; target=&quot;_top&quot; &gt;gatewiki - commits&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-2094--trunk-cow-doc-cow-backlog.yam-tp26679676p26679676.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26678727</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[2093] trunk/cow/grails-app/controllers/ SearchController.groovy</title>
	<published>2009-12-07T07:20:11Z</published>
	<updated>2009-12-07T07:20:11Z</updated>
	<author>
		<name>nirajaswani</name>
	</author>
	<content type="html">Revision: 2093
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2093&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2093&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; nirajaswani
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-12-07 15:20:11 +0000 (Mon, 07 Dec 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;check if the anon user has permission to see a hit
&lt;br&gt;&lt;br&gt;Modified Paths:
&lt;br&gt;--------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/grails-app/controllers/SearchController.groovy
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/grails-app/controllers/SearchController.groovy
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/grails-app/controllers/SearchController.groovy	2009-12-07 14:21:29 UTC (rev 2092)
&lt;br&gt;+++ trunk/cow/grails-app/controllers/SearchController.groovy	2009-12-07 15:20:11 UTC (rev 2093)
&lt;br&gt;@@ -317,9 +317,11 @@
&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;new CowPermission(params.id, directory, &amp;quot;page&amp;quot;, &amp;quot;show&amp;quot;)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// if permission denied continue with the next document
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// TODO check if this could be optimized
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(!securityService.isPermitted(requiredPerm)) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;continue
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(!securityService.anonAllowed(requiredPerm) &amp;&amp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; !securityService.isPermitted(requiredPerm)) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// user not allowed to see this
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;continue;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} 
&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;// this is an invalid hit, it must start with wikipath
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// throwing it away
&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;Join us December 9, 2009 for the Red Hat Virtual Experience,
&lt;br&gt;a free event focused on virtualization and cloud computing. 
&lt;br&gt;Attend in-depth sessions from your desk. Your couch. Anywhere.
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/redhat-sfdev2dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/redhat-sfdev2dev&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=26678727&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;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gatewiki---commits-f28145.html&quot; embed=&quot;fixTarget[28145]&quot; target=&quot;_top&quot; &gt;gatewiki - commits&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-2093--trunk-cow-grails-app-controllers--SearchController.groovy-tp26678727p26678727.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26677919</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[2092] trunk/cow/doc</title>
	<published>2009-12-07T06:21:29Z</published>
	<updated>2009-12-07T06:21:29Z</updated>
	<author>
		<name>gate-project</name>
	</author>
	<content type="html">Revision: 2092
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2092&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2092&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; gate-project
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-12-07 14:21:29 +0000 (Mon, 07 Dec 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;[mark] updated the item about the contact controller
&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-12-07 14:04:12 UTC (rev 2091)
&lt;br&gt;+++ trunk/cow/doc/cow-backlog.html	2009-12-07 14:21:29 UTC (rev 2092)
&lt;br&gt;@@ -102,7 +102,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp;the head section into the preview page which means we can end up replacing values
&lt;br&gt;&amp;nbsp; &amp;nbsp;for base target and href which cause weird security problems&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;li&amp;gt;the DB entry for the controller &amp;quot;contact&amp;quot; should be created as part of the
&lt;br&gt;- &amp;nbsp;JSec stuff in bootstrap, and anonymous given read access&amp;lt;/li&amp;gt;
&lt;br&gt;+ &amp;nbsp;JSec stuff in bootstrap, and anonymous given complete access not just read otherwise they
&lt;br&gt;+ &amp;nbsp;won't be able to access the send action&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;li&amp;gt;edit of /gate/doc/index.html throws some exceptions to the log (to do with
&lt;br&gt;&amp;nbsp; &amp;nbsp;illegal state when writing the images to the response)&amp;lt;/li&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;li&amp;gt;allow serving of robots.txt on password-protected sites&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-12-07 14:04:12 UTC (rev 2091)
&lt;br&gt;+++ trunk/cow/doc/cow-backlog.yam	2009-12-07 14:21:29 UTC (rev 2092)
&lt;br&gt;@@ -41,7 +41,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp;the head section into the preview page which means we can end up replacing values
&lt;br&gt;&amp;nbsp; &amp;nbsp;for base target and href which cause weird security problems
&lt;br&gt;&amp;nbsp;- the DB entry for the controller &amp;quot;contact&amp;quot; should be created as part of the
&lt;br&gt;- &amp;nbsp;JSec stuff in bootstrap, and anonymous given read access
&lt;br&gt;+ &amp;nbsp;JSec stuff in bootstrap, and anonymous given complete access not just read otherwise they
&lt;br&gt;+ &amp;nbsp;won't be able to access the send action
&lt;br&gt;&amp;nbsp;- edit of /gate/doc/index.html throws some exceptions to the log (to do with
&lt;br&gt;&amp;nbsp; &amp;nbsp;illegal state when writing the images to the response)
&lt;br&gt;&amp;nbsp;- allow serving of robots.txt on password-protected sites
&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;Join us December 9, 2009 for the Red Hat Virtual Experience,
&lt;br&gt;a free event focused on virtualization and cloud computing. 
&lt;br&gt;Attend in-depth sessions from your desk. Your couch. Anywhere.
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/redhat-sfdev2dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/redhat-sfdev2dev&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=26677919&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;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gatewiki---commits-f28145.html&quot; embed=&quot;fixTarget[28145]&quot; target=&quot;_top&quot; &gt;gatewiki - commits&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-2092--trunk-cow-doc-tp26677919p26677919.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26677708</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[2091] trunk/cow/grails-app/services/SecurityService. groovy</title>
	<published>2009-12-07T06:04:12Z</published>
	<updated>2009-12-07T06:04:12Z</updated>
	<author>
		<name>nirajaswani</name>
	</author>
	<content type="html">Revision: 2091
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2091&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2091&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; nirajaswani
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-12-07 14:04:12 +0000 (Mon, 07 Dec 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;subject.isPermitted(requiredPerm) should be called even for anonymous users and therefore no need for subject.authenticated
&lt;br&gt;&lt;br&gt;Modified Paths:
&lt;br&gt;--------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/grails-app/services/SecurityService.groovy
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/grails-app/services/SecurityService.groovy
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/grails-app/services/SecurityService.groovy	2009-12-07 14:01:25 UTC (rev 2090)
&lt;br&gt;+++ trunk/cow/grails-app/services/SecurityService.groovy	2009-12-07 14:04:12 UTC (rev 2091)
&lt;br&gt;@@ -27,11 +27,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp;boolean isPermitted(CowPermission requiredPerm) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;def subject = SecurityUtils.getSubject()
&lt;br&gt;- &amp;nbsp; &amp;nbsp;if (subject.authenticated) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;return subject.isPermitted(requiredPerm)
&lt;br&gt;- &amp;nbsp; &amp;nbsp;} else {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;return false;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;return subject.isPermitted(requiredPerm)
&lt;br&gt;&amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp;
&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;Join us December 9, 2009 for the Red Hat Virtual Experience,
&lt;br&gt;a free event focused on virtualization and cloud computing. 
&lt;br&gt;Attend in-depth sessions from your desk. Your couch. Anywhere.
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/redhat-sfdev2dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/redhat-sfdev2dev&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=26677708&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;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gatewiki---commits-f28145.html&quot; embed=&quot;fixTarget[28145]&quot; target=&quot;_top&quot; &gt;gatewiki - commits&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-2091--trunk-cow-grails-app-services-SecurityService.-groovy-tp26677708p26677708.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26677663</id>
	<title>[gatewiki-commits] SF.net SVN: gatewiki:[2090] trunk/cow/grails-app/controllers/PageController .groovy</title>
	<published>2009-12-07T06:01:25Z</published>
	<updated>2009-12-07T06:01:25Z</updated>
	<author>
		<name>ian_roberts</name>
	</author>
	<content type="html">Revision: 2090
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2090&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gatewiki.svn.sourceforge.net/gatewiki/?rev=2090&amp;view=rev&lt;/a&gt;&lt;br&gt;Author: &amp;nbsp; ian_roberts
&lt;br&gt;Date: &amp;nbsp; &amp;nbsp; 2009-12-07 14:01:25 +0000 (Mon, 07 Dec 2009)
&lt;br&gt;&lt;br&gt;Log Message:
&lt;br&gt;-----------
&lt;br&gt;Close the input stream properly when serving binaries.
&lt;br&gt;&lt;br&gt;Modified Paths:
&lt;br&gt;--------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; trunk/cow/grails-app/controllers/PageController.groovy
&lt;br&gt;&lt;br&gt;Modified: trunk/cow/grails-app/controllers/PageController.groovy
&lt;br&gt;===================================================================
&lt;br&gt;--- trunk/cow/grails-app/controllers/PageController.groovy	2009-12-07 13:21:27 UTC (rev 2089)
&lt;br&gt;+++ trunk/cow/grails-app/controllers/PageController.groovy	2009-12-07 14:01:25 UTC (rev 2090)
&lt;br&gt;@@ -130,7 +130,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pageTree = renderBreadCrumb(thisPage.id, thisPage.pageFile)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;} else { // non-text content, serve directly to the response
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;response.contentType = thisPage.mimeType
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;response.outputStream &amp;lt;&amp;lt; new FileInputStream(pageFile)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;pageFile.withInputStream { stream -&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;response.outputStream &amp;lt;&amp;lt; stream
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&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;thisPage.putAll( // add navigation div contents to the model
&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;Join us December 9, 2009 for the Red Hat Virtual Experience,
&lt;br&gt;a free event focused on virtualization and cloud computing. 
&lt;br&gt;Attend in-depth sessions from your desk. Your couch. Anywhere.
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/redhat-sfdev2dev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/redhat-sfdev2dev&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=26677663&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;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gatewiki---commits-f28145.html&quot; embed=&quot;fixTarget[28145]&quot; target=&quot;_top&quot; &gt;gatewiki - commits&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-gatewiki-commits--SF.net-SVN%3A-gatewiki%3A-2090--trunk-cow-grails-app-controllers-PageController-.groovy-tp26677663p26677663.html" />
</entry>

</feed>
