Index: /documented-examples/trunk/authen-e/etc/collectionConfig.xml
===================================================================
--- /documented-examples/trunk/authen-e/etc/collectionConfig.xml	(revision 36246)
+++ /documented-examples/trunk/authen-e/etc/collectionConfig.xml	(revision 36246)
@@ -0,0 +1,298 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<CollectionConfig xmlns:gsf="http://www.greenstone.org/greenstone3/schema/ConfigFormat" xmlns:gslib="http://www.greenstone.org/skinning" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+	<security default_access="private" scope="document">
+		<exception>
+			<group name="demo"/>
+		</exception>
+		<exception>
+			<documentSet name="always-public"/>
+			<group name=""/>
+		</exception>
+		<documentSet name="always-public">
+			<match>fb33fe</match>
+			<match>fb34fe</match>
+		</documentSet>
+	</security>
+	<metadataList>
+		<metadata lang="en" name="creator">greenstone@cs.waikato.ac.nz</metadata>
+		<metadata lang="en" name="maintainer"/>
+		<metadata lang="en" name="public">true</metadata>
+	</metadataList>
+	<displayItemList>
+		<displayItem assigned="true" dictionary="collectionConfig" key="description" name="description"/>
+		<displayItem assigned="true" dictionary="collectionConfig" key="name" name="name"/>
+		<displayItem assigned="true" lang="en" name="name">Authentication demo</displayItem>
+		<displayItem assigned="true" dictionary="collectionConfig" key="shortDescription" name="shortDescription"/>
+		<displayItem assigned="true" dictionary="collectionConfig" key="textsource" name="textsource"/>
+		<displayItem assigned="true" dictionary="collectionConfig" key="textnumpages" name="textnumpages"/>
+		<displayItem assigned="true" dictionary="collectionConfig" key="textdate" name="textdate"/>
+	</displayItemList>
+	<format/>
+	<search type="mgpp">
+		<level name="section">
+			<displayItem lang="en" name="name">chapter</displayItem>
+		</level>
+		<level name="document">
+			<displayItem lang="en" name="name">book</displayItem>
+		</level>
+		<defaultLevel name="section"/>
+		<index name="dls.Organization">
+			<displayItem lang="en" name="name">dls.Organization</displayItem>
+		</index>
+		<index name="dls.Keyword">
+			<displayItem lang="en" name="name">dls.Keyword</displayItem>
+		</index>
+		<index name="dls.Title,Title">
+			<displayItem lang="en" name="name">dls.Title,Title</displayItem>
+		</index>
+		<index name="text">
+			<displayItem lang="en" name="name">text</displayItem>
+		</index>
+		<index name="dls.Subject">
+			<displayItem lang="en" name="name">dls.Subject</displayItem>
+		</index>
+		<defaultIndex name="text"/>
+		<indexOption name="casefold"/>
+		<indexOption name="stem"/>
+		<searchType name="plain"/>
+		<searchType name="simpleform"/>
+		<searchType name="advancedform"/>
+		<format>
+			<gsf:template match="documentNode">
+				<td valign="top">
+					<gsf:link type="document">
+						<gsf:icon type="document"/>
+					</gsf:link>
+				</td>
+				<td>
+					<gsf:switch>
+						<gsf:metadata name="Title"/>
+						<gsf:when test="exists">
+							<gsf:metadata name="Title"/>:
+						</gsf:when>
+					</gsf:switch>
+					<gsf:link type="document">
+						<gsf:metadata name="Title"/>
+					</gsf:link>
+				</td>
+			</gsf:template>
+		</format>
+	</search>
+	<infodb type="gdbm"/>
+	<import>
+		<pluginList>
+			<plugin name="GreenstoneXMLPlugin"/>
+			<plugin name="HTMLPlugin">
+				<option name="-description_tags"/>
+				<option name="-OIDtype" value="dirname"/>
+			</plugin>
+			<plugin name="MetadataXMLPlugin"/>
+			<plugin name="ArchivesInfPlugin"/>
+			<plugin name="DirectoryPlugin"/>
+		</pluginList>
+	</import>
+	<browse>
+		<classifier name="List">
+			<option name="-metadata" value="dls.Title"/>
+			<option name="-partition_type_within_level" value="constant_size"/>
+		</classifier>
+		<classifier name="Hierarchy">
+			<option name="-metadata" value="dls.Subject"/>
+			<option name="-sort" value="dls.Title"/>
+		</classifier>
+		<classifier name="List">
+			<option name="-metadata" value="dls.Organization"/>
+			<option name="-sort_leaf_nodes_using" value="dls.Title"/>
+			<option name="-partition_type_within_level" value="constant_size"/>
+			<option name="-bookshelf_type" value="always"/>
+		</classifier>
+		<classifier name="List">
+			<option name="-metadata" value="dls.Keyword"/>
+			<option name="-buttonname" value="Howto"/>
+			<option name="-partition_type_within_level" value="constant_size"/>
+			<format>
+				<gsf:template match="documentNode">
+					<td>
+						<gsf:link type="document">
+							<gsf:icon type="document"/>
+						</gsf:link>
+					</td>
+					<td>
+						<gsf:link type="document">
+							<gsf:metadata name="dls.Keyword"/>
+						</gsf:link>
+					</td>
+				</gsf:template>
+				<gsf:template match="classifierNode">
+					<td>
+						<gsf:link type="classifier">
+							<gsf:icon type="classifier"/>
+						</gsf:link>
+					</td>
+					<td>
+						<gsf:link type="classifier">
+							<gsf:metadata name="dls.Keyword"/>
+						</gsf:link>
+					</td>
+				</gsf:template>
+			</format>
+		</classifier>
+		<format>
+			<gsf:template match="documentNode">
+				<td valign="top">
+					<gsf:link type="document">
+						<gsf:icon type="document"/>
+					</gsf:link>
+				</td>
+				<td valign="top">
+					<span class="highlight">
+						<gsf:choose-metadata>
+							<gsf:metadata name="Title"/>
+							<gsf:default>Untitled</gsf:default>
+						</gsf:choose-metadata>
+					</span>
+					<gsf:switch>
+						<gsf:metadata name="Date"/>
+						<gsf:when test="exists">
+							<br/>
+							<small>
+								<i>
+									<gsf:displayItem name="textdate"/>
+									<gsf:metadata name="Date"/>
+								</i>
+							</small>
+						</gsf:when>
+					</gsf:switch>
+					<gsf:switch>
+						<gsf:metadata name="NumPages"/>
+						<gsf:when test="exists">
+							<br/>
+							<small>
+								<i>
+									<gsf:displayItem name="textnumpages"/>
+									<gsf:metadata name="NumPages"/>
+								</i>
+							</small>
+						</gsf:when>
+					</gsf:switch>
+					<gsf:switch>
+						<gsf:metadata name="Source"/>
+						<gsf:when test="exists">
+							<br/>
+							<small>
+								<i>
+									<gsf:displayItem name="textsource"/>
+									<gsf:metadata name="Source"/>
+								</i>
+							</small>
+						</gsf:when>
+					</gsf:switch>
+				</td>
+			</gsf:template>
+			<gsf:template match="classifierNode">
+				<td valign="top">
+					<gsf:link type="classifier">
+						<gsf:icon type="classifier"/>
+					</gsf:link>
+				</td>
+				<td valign="top">
+					<span class="highlight">
+						<gsf:choose-metadata>
+							<gsf:metadata name="Title"/>
+							<gsf:default>Untitled</gsf:default>
+						</gsf:choose-metadata>
+					</span>
+					<gsf:switch>
+						<gsf:metadata name="Date"/>
+						<gsf:when test="exists">
+							<br/>
+							<small>
+								<i>
+									<gsf:displayItem name="textdate"/>
+									<gsf:metadata name="Date"/>
+								</i>
+							</small>
+						</gsf:when>
+					</gsf:switch>
+					<gsf:switch>
+						<gsf:metadata name="NumPages"/>
+						<gsf:when test="exists">
+							<br/>
+							<small>
+								<i>
+									<gsf:displayItem name="textnumpages"/>
+									<gsf:metadata name="NumPages"/>
+								</i>
+							</small>
+						</gsf:when>
+					</gsf:switch>
+					<gsf:switch>
+						<gsf:metadata name="Source"/>
+						<gsf:when test="exists">
+							<br/>
+							<small>
+								<i>
+									<gsf:displayItem name="textsource"/>
+									<gsf:metadata name="Source"/>
+								</i>
+							</small>
+						</gsf:when>
+					</gsf:switch>
+				</td>
+			</gsf:template>
+			<gsf:template match="classifierNode" mode="horizontal">
+				<gsf:link type="classifier">
+					<span class="highlight">
+						<gsf:metadata name="Title"/>
+					</span>
+				</gsf:link>
+			</gsf:template>
+		</format>
+	</browse>
+	<display>
+		<format>
+			<gsf:option name="TOC" value="true"/>
+			<gsf:option name="AllowUserComments" value="false"/><!--
+Overwriting this template allows you to change the heading of the document.
+--><!--
+<gsf:template name="documentHeading">
+<span style="font-weight:bold; font-size: 120%;">
+<xsl:call-template name="choose-title"/>
+</span>
+</gsf:template>
+--><!--
+Overwriting this template can be used to redefine the content of the whole document.This is useful for simple documents, but not recommended for more complex documents(e.g. hierachical and paged documents) as it can prevent any sub-sections from showing.
+--><!--
+<gsf:template name="documentContent">
+<div id="gs-document">
+<xsl:call-template name="documentPre"/>
+<xsl:call-template name="wrappedSectionImage"/>
+<div id="gs-document-text">
+<xsl:call-template name="documentNodeText"/>
+</div>
+</gsf:template>
+--><!--
+Overwriting this template can be used to change the content of section headings.
+--><!--
+<gsf:template name="sectionHeading">
+<xsl:call-template name="choose-title"/>
+</gsf:template>
+--><!--
+Overwriting this template can be used to change the content of the top-level section.
+--><!--
+<gsf:template name="topLevelSectionContent">
+<xsl:call-template name="wrappedSectionImage"/>
+<xsl:call-template name="wrappedSectionText"/>
+</gsf:template>
+--><!--
+Overwriting this template can be used to change the content of sections.
+--><!--
+<gsf:template name="sectionContent">
+<xsl:call-template name="wrappedSectionImage"/>
+<xsl:call-template name="wrappedSectionText"/>
+</gsf:template>
+-->
+		</format>
+	</display>
+	<replaceListRef id="gs2-standard"/>
+</CollectionConfig>
Index: /documented-examples/trunk/authen-e/resources/collectionConfig.properties
===================================================================
--- /documented-examples/trunk/authen-e/resources/collectionConfig.properties	(revision 36246)
+++ /documented-examples/trunk/authen-e/resources/collectionConfig.properties	(revision 36246)
@@ -0,0 +1,6 @@
+name=Authentication demo
+shortDescription=Collection demonstrating document-level collection authentication in Greenstone 3.
+description=<p>This demonstration collection contains the same material as the original Greenstone demo collection, but it includes some basic authentication commands. Two documents are publicly available (Farming snails 1 &amp; 2), while the others require logging in to view.</p> <p><center><b> To access this collection try user:</b> <i>demo</i> <b>and password:</b> <i>demo</i></center></p> <h3>How the collection works</h3>  <p> The collection configuration file is exactly the same as for the original demo collection apart from the authentication directives, one plugin option (and this description).</p>  <p> The authentication scheme controls access to the collection. It works in two steps. First it determines whether to restrict access to the collection as a whole or to individual documents in it, and in the latter case which documents those are (either by giving a list of private documents for which access is to be authenticated, or specifying that all documents are private except for a given list of public documents). Then for access-restricted documents it determines which user groups are to have access.</p>  <p> Authentication is activated by the <i>authenticate</i> directive with the value <i>collection</i> or <i>document</i> depending on whether authentication is to be performed on the full collection or on a per-document basis (the default value is <i>collection</i>). If authentication is on a <i>document</i> basis, then one can <i>either</i> specify a list of private documents (in which case all others are public) or a list of public documents (in which case all others are private) using directives <i>private_documents</i> or <i>public_documents</i>. The documents themselves are specified using Greenstone document identifiers (separated by spaces): the easiest way to determine these is to locate each document in the collection and look at the <i>d</i> argument in its Greenstone URL.</p>   <p>In this case, we have used the <i>-OIDtype dirname</i> option to HTMLPlugin, which specifies that directory names should be used as identifiers. This works for collections where each document is in a separate directory. We have used this option to ensure that identifiers remain the same across different platforms (which may not be the case for HASH identifiers), as we need to specify identifiers here for the authentication directives.</p>  <p> The <i>auth_groups</i> directive specifies the Greenstone groups for to which access will be permitted, if the document (or collection) is one of those that requires authentication. It is followed by a group name (or a list of group names separated by spaces). The Greenstone <i>admin</i> pages allow you to define groups and add members to them. </p>
+textdate=publication date: 
+textnumpages=no. of pages: 
+textsource=source ref: 
Index: /documented-examples/trunk/authen-e/resources/collectionConfig_es.properties
===================================================================
--- /documented-examples/trunk/authen-e/resources/collectionConfig_es.properties	(revision 36246)
+++ /documented-examples/trunk/authen-e/resources/collectionConfig_es.properties	(revision 36246)
@@ -0,0 +1,3 @@
+name=DemostraciÃ³n de autenticaciÃ³n
+shortDescription=Collection demonstrating document-level collection authentication in Greenstone 3.
+description=<p>Esta colecciÃ³n de demostraciÃ³n de Greenstone contiene el mismo material que la colecciÃ³n de demo original, pero incluye ademÃ¡s algunos comandos de autenticaciÃ³n bÃ¡sica. Solo dos documentos tienen libre acceso (Farming snails 1 &amp; 2), mientras que los restantes requieren autenticaciÃ³n para poder visualizarse.</p> <p>  <center><b> Para tener acceso a esta colecciÃ³n ingrese el nombre de usuario:</b> <i>demo</i> <b>y la contraseÃ±a:</b> <i>demo</i> </center></p>  <h3>CÃ³mo trabaja esta colecciÃ³n</h3> <p> El <a href="_httpcollection_/etc/collect.cfg" target="collect.cfg">archivo de configuraciÃ³n</a> es exactamente el mismo que el de la demo original salvo las directivas para la autenticaciÃ³n (y su descripciÃ³n).</p>  <p> El esquema de autenticaciÃ³n controla el acceso a la colecciÃ³n. Consiste de dos pasos. Primero determina si se va a restringir el acceso a toda la colecciÃ³n o sÃ³lo a documentos individuales dentro de la misma y, en este Ãºltimo caso, a quÃ© documentos (ya sea dando una lista de los documentos confidenciales para los cuales el acceso estÃ¡ limitado a determinadas cuentas o especificando que todos los documentos son confidenciales, excepto por una lista dada de documentos del dominio pÃºblico). A continuaciÃ³n para los documentos con acceso restringido determina quÃ© usuarios tendrÃ¡n acceso a ellos.</p> <p>  La funciÃ³n de autenticaciÃ³n se activa por medio de la directiva <i>authenticate</i> con el valor <i>collection</i> o <i>document</i>, dependiendo de si la autenticaciÃ³n se debe realizar para tener acceso a toda la colecciÃ³n o por cada documento (el valor por omisiÃ³n es <i>colecciÃ³n</i>). Si la autenticaciÃ³n se va a realizar con base en cada <i>documento</i>, entonces se puede establecer una lista de documentos confidenciales (en cuyo caso todos los demÃ¡s son del dominio pÃºblico) o una lista de documentos de dominio pÃºblico (en cuyo caso todos los demÃ¡s documentos son confidenciales) usando las directivas <i>private_documents</i> o <i>public_documents</i>. Los documentos mismos se especifican por medio de los identificadores de documento de Greenstone (separados por espacios). La forma mÃ¡s fÃ¡cil de determinarlos es localizar cada documento en la colecciÃ³n y ver el argumento d en su URL.</p>  <p>En este caso, hemos usado la opciÃ³n <i>-OIDtype dirname</i> del HTMLPlugin, la cual especifica que deben usarse los nombres de las carpetas como identificadores. Esto funciona para cualquier colecciÃ³n en donde cada documento estÃ¡ en una carpeta separada. Hemos usado esta opciÃ³n para asegurarnos de que los identificadores permanezcan inalterados en diferentes plataformas (lo cual no es el caso de los identificadores HASH), ya que aquÃ­ necesitamos especificar identificadores en las directivas de autenticaciÃ³n.  La directiva <i>auth_groups</i> especifica los grupos a los cuales se permite el acceso, si el documento (o la colecciÃ³n) es uno de los que requieren autenticaciÃ³n. EstÃ¡ seguida por el nombre del grupo (o una lista de nombres de grupos separados por espacios). Las pÃ¡ginas <i>admin</i> de Greenstone le permiten definir los grupos y aÃ±adir miembros. </p>
Index: /documented-examples/trunk/authen-e/resources/collectionConfig_fr.properties
===================================================================
--- /documented-examples/trunk/authen-e/resources/collectionConfig_fr.properties	(revision 36246)
+++ /documented-examples/trunk/authen-e/resources/collectionConfig_fr.properties	(revision 36246)
@@ -0,0 +1,3 @@
+name=DÃ©monstration d'authentification
+shortDescription=Collection demonstrating document-level collection authentication in Greenstone 3.
+description=<p>Cette collection de dÃ©monstration contient le mÃªme contenu que la collection de dÃ©monstration originale fournie avec Greenstone, mais elle inclue Ã©galement quelques commandes d'authentification basiques. Deux documents sont diffusÃ©s de maniÃšre publique (Farming snails 1 &amp; 2), alors que le reste des documents requiÃšrent une authentification afin de pouvoir les consulter.</p>  <p><center><b>Pour accÃ©der Ã  cette collection, essayez utilisateur : </b> <i>demo</i> <b> et mot de passe : </b> <i>demo.</i></center></p>  <h3>Comment marche cette collection?</h3>  <p> Ce <a href="_httpcollection_/etc/collect.cfg" target="collect.cfg">fichier de configuration de collection</a> est exactement le mÃªme que celui de la collection de dÃ©monstration originale sauf pour les directives d'authentification, une option de plugiciel (et cette description).</p>  <p> Le schÃ©ma d'authentification contrÃŽle l'accÃšs Ã  la collection. Il fonctionne en deux Ã©tapes. Dans un premier temps il dÃ©termine s'il faut restreindre l'accÃšs Ã  la collection dans son ensemble ou Ã  des documents spÃ©cifiques qu'elle contient, et dans ce dernier cas, de quels documents il s'agit (soit en donnant une liste de documents privÃ©s dont l'accÃšs nÃ©cessite une authentification, soit en dÃ©clarant que tous les documents sont privÃ©s Ã  l'exeption d'une liste de documents publics donnÃ©e). Ensuite, pour les documents Ã  accÃšs restreint, il dÃ©termine les utilisateurs qui y ont accÃšs.</p>  <p> L'authentification est activÃ©e par la directive <i>authenticate</i> avec la valeur <i>collection</i> ou <i>document</i>, suivant que la restriction d'accÃšs s'applique Ã  toute la collection ou sur des documents spÃ©cifiques (la valeur par dÃ©faut est <i>collection</i>). Si l'authentification est effectuÃ©e sur la base <i>document</i>, on peut donc soit spÃ©cifier une liste de documents privÃ©s (dans ce cas tous les autres sont publiques), soit une liste de documents publics (dans ce cas tous les autres sont privÃ©s)en utilisant les directives <i>private_documents</i> ou <i>public_documents</i>. Ces documents eux-mÃªmes sont specifiÃ©s en utilisant les identificateurs de documents de Greenstone (sÃ©parÃ©s par des espaces) : la faÃ§on la plus facile de les determiner est de localiser chaque document dans la collection et de regarder son argument <i>d</i> dans son URL Greenstone.</p>  <p>Dans ce cas, nous avons utilisÃ© l'option <i>-OIDtype dirname</i> du plugiciel HTMLPlugin, qui prÃ©cise que les noms de rÃ©pertoires seront utilisÃ©s comme identifiants. Cela fonctionne pour les collections dans lesquelles chaque document est stockÃ© dans un rÃ©pertoire distinct. Nous avons utilisÃ© cette option pour que les identifiants restent identiques sur diffÃ©rentes plateformes (ce qui ne pourrait Ãªtre le cas avec les identifiants de hachage), puisque nous avons besoin ici de prÃ©ciser les identifiants pour dÃ©finir les options d'identification.</p>  <p> La directive <i>auth-groups</i> prÃ©cise les groupes Greenstone pour lesquels l'accÃšs sera permis, si le document (ou la collection) est de ceux qui exigent une authentification. Il est suivi par un nom de groupe (ou une liste de noms de groupe sÃ©parÃ©s par des espaces). Les pages <i>admin</i>de Greenstone vous permettent de dÃ©finir des groupes et d'y ajouter des membres. </p>
Index: /documented-examples/trunk/authen-e/resources/collectionConfig_ru.properties
===================================================================
--- /documented-examples/trunk/authen-e/resources/collectionConfig_ru.properties	(revision 36246)
+++ /documented-examples/trunk/authen-e/resources/collectionConfig_ru.properties	(revision 36246)
@@ -0,0 +1,18 @@
+name=Authentication demo
+shortDescription=Collection demonstrating document-level collection authentication in Greenstone 3.
+description=<p>ÐÐ°ÐœÐœÐ°Ñ ÐŽÐµÐŒÐŸÐœÑÑÑÐ°ÑÐžÐŸÐœÐœÐ°Ñ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ ÑÐŸÐŽÐµÑÐ¶ÐžÑ ÑÐµ Ð¶Ðµ ÐŒÐ°ÑÐµÑÐžÐ°Ð»Ñ ÑÑÐŸ Ðž ÐŸÑÐžÐ³ÐžÐœÐ°Ð»ÑÐœÐ°Ñ ÐŽÐµÐŒÐŸÐœÑÑÑÐ°ÑÐžÐŸÐœÐœÐ°Ñ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ ÐÑÐžÐœÑÑÐŸÑÐœ, ÐœÐŸ Ð²ÐºÐ»ÑÑÐ°ÐµÑ ÐºÐŸÐŒÐ°ÐœÐŽÑ Ð±Ð°Ð·ÐŸÐ²ÐŸÐ¹ Ð°ÑÑÐµÐœÑÐžÑÐžÐºÐ°ÑÐžÐž. ÐÐ²Ð° ÐŽÐŸÐºÑÐŒÐµÐœÑÐ° ÐŽÐŸÑÑÑÐ¿ÐœÑ ÐŽÐ»Ñ ÐŸÑÐºÑÑÑÐŸÐ³ÐŸ ÐŽÐŸÑÑÑÐ¿Ð° (Ð Ð°Ð·Ð²ÐµÐŽÐµÐœÐžÐµ ÑÐ»ÐžÑÐŸÐº 1 Ðž 2), ÐœÐŸ ÐŽÑÑÐ³ÐžÐµ ÐŽÐŸÐºÑÐŒÐµÐœÑÑ ÑÑÐµÐ±ÑÑÑ Ð²Ñ
+ÐŸÐŽÐ° ÐŽÐ»Ñ Ð¿ÑÐŸÑÐŒÐŸÑÑÐ°.</p>  <p><center><b> ÐÐ»Ñ ÐŽÐŸÑÑÑÐ¿Ð° Ðº ÑÑÐŸÐ¹ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž ÐœÐµÐŸÐ±Ñ
+ÐŸÐŽÐžÐŒÐŸ Ð²Ð²ÐµÑÑÐž user:</b> <i>demo</i> <b>Ðž password:</b> <i>demo</i></center></p>  <h3>ÐÐ°Ðº ÑÐ°Ð±ÐŸÑÐ°ÐµÑ ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ</h3>  <p> <!-- _text1_ --> The <a href="_httpcollection_/etc/collect.cfg" target="collect.cfg">collection configuration file</a> is exactly the same as for the original demo collection apart from the authentication directives, one plugin option (and this description).</p>  <p> Ð¡Ñ
+ÐµÐŒÐ° Ð°ÑÑÐµÐœÑÐžÑÐžÐºÐ°ÑÐžÐž ÑÐ¿ÑÐ°Ð²Ð»ÑÐµÑ ÐŽÐŸÑÑÑÐ¿ÐŸÐŒ Ðº ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž. ÐÐœÐ° ÑÐ²Ð»ÑÐµÑÑÑ ÐŽÐ²ÑÑ
+ÑÑÑÐ¿ÐµÐœÑÐ°ÑÐŸÐ¹. Ð¡ÐœÐ°ÑÐ°Ð»Ð° ÐŸÐœÐ° ÑÐµÑÐ°ÐµÑ, ÐŸÐ³ÑÐ°ÐœÐžÑÐžÑÑ Ð»Ðž ÐŽÐŸÑÑÑÐ¿ Ðº ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž Ð² ÑÐµÐ»ÐŸÐŒ ÐžÐ»Ðž Ðº ÐŸÑÐŽÐµÐ»ÑÐœÑÐŒ ÐŽÐŸÐºÑÐŒÐµÐœÑÐ°ÐŒ. Ð Ð¿ÐŸÑÐ»ÐµÐŽÐœÐµÐŒ ÑÐ»ÑÑÐ°Ðµ ÐŸÐ¿ÑÐµÐŽÐµÐ»ÑÐµÑÑÑ, ÐºÐ°ÐºÐžÐµ ÐŽÐŸÐºÑÐŒÐµÐœÑÑ ÑÐ²Ð»ÑÑÑÑÑ ÑÐ°ÐºÐŸÐ²ÑÐŒÐž (ÐžÐ»Ðž Ð¿ÑÐµÐŽÑÑÐ°Ð²Ð»ÑÑ ÑÐ¿ÐžÑÐŸÐº ÑÐµÑ
+ ÐŽÐŸÐºÑÐŒÐµÐœÑÐŸÐ², Ðº ÐºÐŸÑÐŸÑÑÐŒ ÑÑÐµÐ±ÑÐµÑÑÑ ÑÐ°Ð·ÑÐµÑÐµÐœÐžÐµ ÐœÐ° ÐŽÐŸÑÑÑÐ¿, ÐžÐ»Ðž Ð¶Ðµ ÐŸÐ¿ÑÐµÐŽÐµÐ»ÑÑ, ÑÑÐŸ Ð²ÑÐµ ÐŽÐŸÐºÑÐŒÐµÐœÑÑ ÑÐ²Ð»ÑÑÑÑÑ ÐœÐµÐŽÐŸÑÑÑÐ¿ÐœÑÐŒÐž Ð·Ð° ÐžÑÐºÐ»ÑÑÐµÐœÐžÐµÐŒ ÑÐµÑ
+, ÑÑÐŸ Ð²ÐºÐ»ÑÑÐµÐœÑ Ð² ÑÐ¿ÐžÑÐŸÐº ÐŸÐ±ÑÐµÐŽÐŸÑÑÑÐ¿ÐœÑÑ
+ ÐŽÐŸÐºÑÐŒÐµÐœÑÐŸÐ²). Ð¢ÐŸÐ³ÐŽÐ° ÐŽÐ»Ñ ÐŽÐŸÐºÑÐŒÐµÐœÑÐŸÐ² ÐŸÐ³ÑÐ°ÐœÐžÑÐµÐœÐœÐŸÐ³ÐŸ ÐŽÐŸÑÑÑÐ¿Ð° ÐŸÐ¿ÑÐµÐŽÐµÐ»ÑÐµÑÑÑ, ÐºÐ°ÐºÐžÐŒ Ð¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÐµÐ»ÑÐŒ ÑÐ°Ð·ÑÐµÑÐµÐœ Ðº ÐœÐžÐŒ ÐŽÐŸÑÑÑÐ¿.</p>  <p> <!-- _text3_ -->Authentication is activated by the <i>authenticate</i> directive with the value <i>collection</i> or <i>document</i> depending on whether authentication is to be performed on the full collection or on a per-document basis (the default value is <i>collection</i>). If authentication is on a <i>document</i> basis, then one can <i>either</i> specify a list of private documents (in which case all others are public) or a list of public documents (in which case all others are private) using directives <i>private_documents</i> or <i>public_documents</i>. Ð¡Ð¿ÐµÑÐžÑÐžÐºÑ ÑÐ°ÐŒÐžÑ
+ ÐŽÐŸÐºÑÐŒÐµÐœÑÐŸÐ² ÐŸÐ¿ÑÐµÐŽÐµÐ»ÑÑÑ, ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÑ ÐžÐŽÐµÐœÑÐžÑÐžÐºÐ°ÑÐŸÑÑ ÐŽÐŸÐºÑÐŒÐµÐœÑÐ° Ð² Greenstone (ÑÐ°ÑÐ¿ÑÐµÐŽÐµÐ»ÐµÐœÐœÑÑ
+ Ð¿ÐŸ ÐŸÐ±Ð»Ð°ÑÑÑÐŒ). Ð¡Ð°ÐŒÑÐ¹ Ð»ÐµÐ³ÐºÐžÐ¹ ÑÐ¿ÐŸÑÐŸÐ± ÐžÑ
+ ÐŸÑÐœÐµÑÐµÐœÐžÑ ÑÐŸÑÑÐŸÐžÑ Ð² ÑÐŸÐŒ, ÑÑÐŸÐ±Ñ ÐŸÐ¿ÑÐµÐŽÐµÐ»ÐžÑÑ ÐŒÐµÑÑÐŸÐœÐ°Ñ
+ÐŸÐ¶ÐŽÐµÐœÐžÐµ ÐºÐ°Ð¶ÐŽÐŸÐ³ÐŸ ÐŽÐŸÐºÑÐŒÐµÐœÑÐ° Ð² ÐºÐŸÐ»Ð»ÐµÐºÑÐžÐž Ðž ÑÐ°ÑÑÐŒÐŸÑÑÐµÑÑ ÐµÐ³ÐŸ <i>d</i>-Ð°ÑÐ³ÑÐŒÐµÐœÑ Ð² URL Greenstone.</p>  <p><!-- _text2_ --> In this case, we have used the <i>-OIDtype dirname</i> option to HTMLPlugin, which specifies that directory names should be used as identifiers. This works for collections where each document is in a separate directory. We have used this option to ensure that identifiers remain the same across different platforms (which may not be the case for HASH identifiers), as we need to specify identifiers here for the authentication directives.</p>  <p> ÐÐžÑÐµÐºÑÐžÐ²Ð° <i>auth_groups</i> ÐŸÐ¿ÑÐµÐŽÐµÐ»ÑÐµÑ Ð³ÑÑÐ¿Ð¿Ñ Greenstone, Ðº ÐºÐŸÑÐŸÑÑÐŒ ÐŽÐŸÑÑÑÐ¿ Ð±ÑÐŽÐµÑ ÑÐ°Ð·ÑÐµÑÐµÐœ, ÐµÑÐ»Ðž ÐŽÐŸÐºÑÐŒÐµÐœÑ (ÐžÐ»Ðž ÐºÐŸÐ»Ð»ÐµÐºÑÐžÑ) ÐŸÑÐœÐŸÑÐžÑÑÑ Ðº ÑÐµÐŒ, ÐŽÐ»Ñ ÐºÐŸÑÐŸÑÑÑ
+ ÑÑÐµÐ±ÑÐµÑÑÑ Ð°ÑÑÐµÐœÑÐžÑÐžÐºÐ°ÑÐžÑ. Ð­ÑÐŸ ÐŸÐ¿ÑÐµÐŽÐµÐ»ÑÐµÑÑÑ ÐœÐ°Ð·Ð²Ð°ÐœÐžÐµÐŒ Ð³ÑÑÐ¿Ð¿Ñ (ÐžÐ»Ðž ÑÐ¿ÐžÑÐºÐŸÐŒ ÐœÐ°Ð·Ð²Ð°ÐœÐžÐ¹ Ð³ÑÑÐ¿Ð¿ ÐŸÐ¿ÑÐµÐŽÐµÐ»ÐµÐœÐœÑÑ
+ ÐŸÐ±Ð»Ð°ÑÑÐµÐ¹). <i>Admin</i> ÑÑÑÐ°ÐœÐžÑÑ Greenstone Ð¿ÐŸÐ·Ð²ÐŸÐ»ÑÐµÑ ÐŸÐ¿ÑÐµÐŽÐµÐ»ÑÑÑ Ð³ÑÑÐ¿Ð¿Ñ Ðž ÐŽÐŸÐ±Ð°Ð²Ð»ÑÑÑ Ðº ÐœÐžÐŒ ÐœÐŸÐ²ÑÐµ.</p>
+
+
Index: /documented-examples/trunk/authen-e/resources/collectionConfig_zh.properties
===================================================================
--- /documented-examples/trunk/authen-e/resources/collectionConfig_zh.properties	(revision 36246)
+++ /documented-examples/trunk/authen-e/resources/collectionConfig_zh.properties	(revision 36246)
@@ -0,0 +1,33 @@
+name=è®€è¯æŒç€ºéŠè
+shortDescription=Collection demonstrating document-level collection authentication in Greenstone 3.
+description=<p>æ¬æŒç€ºéŠèæå
+å«çææ¡£äžGreenstoneæŒç€ºéŠèäž­äžæ ·ïŒäœæ¬éŠèè¿å
+æ¬äžäºåºæ¬çè®€è¯åèœã å
+¶äž­äž€äžªææ¡£æ¯å
+¬å
+±å¯è§çïŒFarming snails 1 å 2ïŒïŒèå
+¶ä»çææ¡£åèŠæ±å
+ç»åœåæµè§ã </p><p><center><b>èŠè®¿é®æ¬éŠèïŒçšæ·åäžºïŒ</b> <i>demo</i> <b>ïŒå¯ç äžº:</b> <i>demo</i></center></p>  <h3>æ¬éŠèåŠäœå·¥äœ</h3>  <p>é€äºè®€è¯é
+çœ®ïŒäžäžªæä»¶åæ°ïŒä»¥åæ¬éŠèæè¿°ïŒä¹å€ïŒæ¬éŠèç <a href="_httpcollection_/etc/collect.cfg" target="collect.cfg">é
+çœ®æä»¶</a>äžæŒç€ºéŠèç é
+çœ®æä»¶äžæš¡äžæ ·ã  </p> <p>è®€è¯æš¡åŒæ§å¶æ¬éŠèçè®¿é®æéãè®€è¯æš¡åŒåäž€æ­¥ãéŠå
+å®ç¡®å®æ¯åŠå¯¹æŽäžªéŠèæè
+éŠèäž­çå äžªææ¡£è¿è¡è®¿é®éå¶ïŒèåšåè
+æ
+åµäžïŒèŠä¹è®Ÿå®äžäžªéèŠè®€è¯æèœè®¿é®çç§æææ¡£åè¡šïŒæè
+ç»å® äžäžªå
+¬å
+±ææ¡£åè¡šïŒé€è¯¥åè¡šä¹å€ææææ¡£åäžºç§æææ¡£ãç¶åå¯¹éå¶æ§è®¿é®çææ¡£ç¡®å®åªäºçšæ·ç» æ¥æè®¿é®æéã  </p> <p>è®€è¯æš¡åŒç±è®Ÿå®<i>authenticate</i>åæ°çåŒäžº<i>collection</i>æè
+<i>document</i> æ¥æ¿æŽ»ïŒååªäžªåŒåå³äºæ¯åŠåšæŽäžªéŠèæè
+åäžªææ¡£çåºç¡äžè¿è¡è®€è¯ïŒçŒºçåŒäžº<i>collection</i>ïŒã åŠæè®€è¯æ¯åºäº<i>document</i>ïŒææ¡£ïŒçïŒå<i>èŠä¹</i>è®Ÿå®äžäžªç§æææ¡£çåè¡šïŒæ­€æ¶ææå
+¶ä» ææ¡£éœå°æ¯å
+¬å
+±ææ¡£ïŒïŒæè
+è®Ÿå®äžäžªå
+¬å
+±ææ¡£åè¡šïŒæ­€æ¶ææå
+¶ä»ææ¡£éœæ¯ç§æææ¡£ïŒïŒè¿éè¿äœ¿çš <i>private_documents</i>æè
+<i>public_documents</i>åæ°æ¥è®Ÿçœ®ãææ¡£æ¬èº«çšGreenstoneç ææ¡£æ è¯ç¬ŠïŒä»¥ç©ºæ ŒéŽéïŒïŒç¡®å®è¿äºææ¡£çæç®åæ¹åŒæ¯åšéŠèäž­æŸå°è¿äºææ¡£ïŒç¶åæ¥çå®ä»¬ Greenstone URLç<i>d</i>åæ°åŒã  </p> <p>åšè¿ç§æ
+åµäžïŒæä»¬å·²ç»è®Ÿçœ®äºHTMLPluginç<i>-OIDtype dirname</i>åæ°ïŒè¯¥åæ°æææä»¶ç®åœå åºè¢«çšäœæ è¯ç¬Šãè¿ç§è®Ÿçœ®éçšäºæ¯äžªææ¡£éœåšäžäžªåç¬çæä»¶ç®åœäž­ãæä»¬äœ¿çšè¿äžªéé¡¹æ¥ç¡®ä¿åšäžåç³»ç»äž è¿äºæ è¯ç¬Šéœæ¯äžæ ·çïŒèHASHæ è¯ç¬Šåšäžåç³»ç»äž­å¯èœäžåïŒïŒå äžºæä»¬éèŠåš<i>authenticate</i>åæ° äž­çšå°è¿äºæ è¯ç¬Šã  </p> <p><i>auth_groups</i>åæ°æå®äºå
+è®žè®¿é®çGreenstoneçšæ·ç»ïŒåŠæè¯¥ææ¡£ïŒæéŠèïŒæ¯éèŠè®€è¯çã åšè¿äžªåæ°åé¢æ¯äžäžªç»åïŒæè
+æ¯äžäžªçšç©ºæ ŒéŽéçç»ååè¡šïŒãGreenstone <i>admin</i>é¡µé¢æäŸäº å®ä¹çšæ·ç»ä»¥åæ·»å çšæ·å°çšæ·ç»çåèœã </p>
Index: /documented-examples/trunk/authen-e/transform/pages/about.xsl
===================================================================
--- /documented-examples/trunk/authen-e/transform/pages/about.xsl	(revision 36246)
+++ /documented-examples/trunk/authen-e/transform/pages/about.xsl	(revision 36246)
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet version="1.0"
+	xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+	<!--xmlns:java="http://xml.apache.org/xslt/java"
+	xmlns:util="xalan://org.greenstone.gsdl3.util.XSLTUtil"
+	xmlns:gslib="http://www.greenstone.org/skinning"
+	extension-element-prefixes="java util"
+	exclude-result-prefixes="java util">-->
+	
+	<xsl:template name="coll-description">		
+	  <!-- Only the chosen language's description comes through in the pageResponse,
+	  so there's no need to choose the description for the selected language 
+	  as that's all the description available to us. -->	
+	  <xsl:value-of disable-output-escaping="yes" select="/page/pageResponse/collection/displayItemList/displayItem[@name='description']"/>
+	  
+	</xsl:template>
+
+</xsl:stylesheet>  
+
