Table of Contents

Greenstone Configuration Files

There are several important files in your Greenstone installation that you can use to configure certain settings. This page provides an overview of some of the important configuration files, where they are located, and a description of their function. There are also some sample collection configuration files, which can be useful when configuring your own collection.

Important Configuration Files

The table below provides some information on important configuration files throughout your Greenstone installation.

Greenstone3

Server Configuration files
FileLocationDescription
global.propertiesGSDL3HOME/WEB-INF/classesSome global settings for the server, including GSDL3HOME, proxy information, and library urls.
siteConfig.xmlGSDL3HOME/sites/<site-name> Configuration file for a site. Contains info such as site-wide services, soap connections to other servers. Replacement rules for text and metadata (used for macro replacement for greenstone 2 collections)
interfaceConfig.xmlGSDL3HOME/interfaces/<interface-name>Configuration file for an interface.
OAIConfig.xmlGSDL3HOME/WEB-INF/classesthe configuration file for the OAI server
GLI Configuration files
config.xmlLinux: <USERHOME>/.gli
Windows: C:\Documents and Settings\<username>\Application Data\Greenstone\GLI
Configuration file for local GLI - stores settings such as library address, last collection open, warnings activated or deactivated etc.
configRemote.xmlLinux: <USERHOME>/.gli
Windows: C:\Documents and Settings\<username>\Application Data\Greenstone\GLI
Separate version for use with GLI client. Basically the same as the local version, but includes gliserver address. Needed so that you can run a local GLI at the same time as running GLI with a remote library server.
Collection configuration files
collectionConfig.xmlGSDL3HOME/sites/<site-name>/collect/<collname>/etcCollection design file. Greenstone3 equivalent to collect.cfg. Can be edited by hand, or is automatically generated by the GLI
collectionInit.xmlGSDL3HOME/sites/<site-name>/collect/<collname>/etcIf you want to use a custom Java class for the Collection object, it can be specified in this file.
buildConfig.xmlGSDL3HOME/sites/<site-name>/collect/<collname>/indexGenerated automatically by collection building process. Greenstone3 equivalent to build.cfg. Includes build statistics, and information about indexes that have been built.
Admin Configuration files
build.xmlGSDL3SRCHOMEAnt build file for compilation, installation and running Greenstone3.
build.propertiesGSDL3SRCHOMESome properties for ccompilation and installation of Greenstone3.
log4j.propertiesGSDL3HOME/WEB-INF/classessettings for the runtime logging
GSDL3SRCHOME is the main Greenstone3 directory. GSDL3HOME is, by default, the GSDL3SRCHOME/web directory, but this may be moved to somewhere else.

Greenstone2

Server Configuration files
FileLocationDescription
main.cfgGSDLHOME/etcThe main configuration file for the library. Includes things like activation of certain features (administration, collector, depositor, gliapplet, logging), the list of macro files to be used, the list of languages provided, customized default settings for cgi arguments.
gsdlsite.cfgWeb library: same directory as library.exe (GSDLHOME/cgi-bin/<os>)
Windows local library: same directory as server.exe
Some server settings
oai.cfgGSDLHOME/etcOAI server configuration file
GLI Configuration files
config.xmlLinux: <USERHOME>/.gli
Windows: C:\Documents and Settings\<username>\Application Data\Greenstone\GLI
Configuration file for local GLI - stores settings such as library address, last collection open, warnings activated or deactivated etc.
configRemote.xmlLinux: <USERHOME>/.gli
Windows: C:\Documents and Settings\<username>\Application Data\Greenstone\GLI
Separate version for use with GLI client. Basically the same as the local version, but includes gliserver address. Needed so that you can run a local GLI at the same time as running GLI with a remote library server.
Collection configuration files
gli.col GSDLHOME/collect/<collname>GLI configuration file specific to a collection. Includes information about whether the collection has been previously imported or built, and stores the import and build options specified in the Create panel for that collection.
collect.cfgGSDLHOME/collect/<collname>/etcCollection design file. Can be edited by hand, or is automatically generated by the GLI
build.cfgGSDLHOME/collect/<collname>/indexGenerated automatically by collection building process. Includes build statistics, and information about indexes that have been built.
GSDLHOME is the main Greenstone directory.

Example collection configuration file

The collection configuration file (collectionConfig.xml for Greenstone 3, or collect.cfg for Greenstone 2) is the main file for customising the collection.

Greenstone3

The collectionConfig.xml file should look something like the following, which shows the collection configuration file that was created by using the command perl —S mkcol.pl -site localsite —creator [email protected] dlpeople.

<?xml version="1.0" encoding="UTF-8"?>
<CollectionConfig xmlns:gsf="http://www.greenstone.org/greenstone3/schema/ConfigFormat" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
	<metadataList>
		<metadata name="creator">[email protected]</metadata>
		<metadata name="maintainer">[email protected]</metadata>
		<metadata name="public">true</metadata>
	</metadataList>
	<displayItemList>
		<displayItem assigned="true" lang="en" name="name">dlpeople</displayItem>
		<displayItem assigned="true" lang="en" name="description"></displayItem>
                <!-- shortDescription is used as a tooltip for collection icon on home page-->
                <displayItem assigned="true" lang="en" name="shortDescription">dlpeople</displayItem>
	</displayItemList>
	<!-- Global format statement -->
	<format>
		<gsf:template name="choose-title">
			<gsf:choose-metadata>
				<gsf:metadata name="dc.Title"/>
				<gsf:metadata name="exp.Title"/>
				<gsf:metadata name="ex.dc.Title"/>
				<gsf:metadata name="Title"/>
				<gsf:default>Untitled</gsf:default>
			</gsf:choose-metadata>
		</gsf:template>
	</format>
	<search type="mgpp">
		<level name="document">
			<displayItem lang="en" name="name">document</displayItem>
		</level>
		<level name="section">
			<displayItem lang="en" name="name">section</displayItem>
		</level>
		<defaultLevel name="document"/>
		<index name="text">
			<displayItem lang="en" name="name">text</displayItem>
		</index>
		<index name="dc.Title,ex.dc.Title,Title">
			<displayItem lang="en" name="name">titles</displayItem>
		</index>
		<index name="Source">
			<displayItem lang="en" name="name">filenames</displayItem>
		</index>
		<defaultIndex name="text"/>
		<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:link type="document">
						<xsl:call-template name="choose-title"/>
					</gsf:link>
				</td>
			</gsf:template>
		</format>
	</search>

	<infodb type="gdbm"/>

	<import>
		<pluginList>
			<plugin name="ZIPPlugin"/>
			<plugin name="GreenstoneXMLPlugin"/>
			<plugin name="TextPlugin"/>
			<plugin name="HTMLPlugin"/>
			<plugin name="EmailPlugin"/>
			<plugin name="PDFPlugin"/>
			<plugin name="RTFPlugin"/>
			<plugin name="WordPlugin"/>
			<plugin name="PostScriptPlugin"/>
			<plugin name="PowerPointPlugin"/>
			<plugin name="ExcelPlugin"/>
			<plugin name="ImagePlugin"/>
			<plugin name="ISISPlugin"/>
			<plugin name="NulPlugin"/>
			<plugin name="OAIPlugin"/>
			<plugin name="MetadataXMLPlugin"/>
			<plugin name="ArchivesInfPlugin"/>
			<plugin name="DirectoryPlugin"/>
		</pluginList>
	</import>
	<browse>
		<classifier name="List">
			<option name="-metadata" value="dc.Title;Title"/>
			<option name="-partition_type_within_level" value="approximate_size"/>
		</classifier>
		<classifier name="List">
			<option name="-metadata" value="Source"/>
			<option name="-partition_type_within_level" value="approximate_size"/>
		</classifier>
		<format>
			<gsf:template match="documentNode">
				<td valign="top">
					<gsf:link type="document">
						<gsf:icon type="document"/>
					</gsf:link>
				</td>
				<td valign="top">
					<gsf:link type="source">
						<gsf:choose-metadata>
							<gsf:metadata name="thumbicon"/>
							<gsf:metadata name="srcicon"/>
						</gsf:choose-metadata>
					</gsf:link>
				</td>
				<td valign="top">
					<gsf:link type="document">
						<!-- Defined in the global format statement -->
						<xsl:call-template name="choose-title"/>
						<gsf:switch>
							<gsf:metadata name="Source"/>
							<gsf:when test="exists"><br/><i>(<gsf:metadata name="Source"/>)</i></gsf:when>
						</gsf:switch>
					</gsf:link>
				</td>
			</gsf:template>
			<gsf:template match="classifierNode[@classifierStyle = 'VList']">
				<td valign="top">
					<gsf:link type="classifier">
						<gsf:icon type="classifier"/>
					</gsf:link>
				</td>
				<td valign="top">
	                            <gsf:metadata name="Title"/>
				</td>
			</gsf:template>
			<gsf:template match="classifierNode[@classifierStyle = 'HList']">
				<gsf:link type="classifier">
					<gsf:metadata name="Title"/>
				</gsf:link>
			</gsf:template>
		</format>
	</browse>
	<display>
		<format>
			<gsf:option name="TOC" value="true"/>

			<!-- 
				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">
				<xsl:call-template name="wrappedSectionImage"/>
				<xsl:call-template name="wrappedSectionText"/>
			</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"/>
	<replaceListRef id="gs2-image" />
	<serviceRackList>
		<!-- comment out the following serviceRack if you want to disable RSS for this collection -->	  
	        <serviceRack name="RSSRetrieve"/>
		<!-- comment out the following serviceRack if you want to disable OAI for this collection -->
		<serviceRack name="OAIPMH">
			<ListMetadataFormats>
				<!--What metadata sets to support is collection specific. To support other metadata schema, simply add a metadataFormat element here.
					The support of unqualified Dublin Core metadata set is mandatory in the oai specification.
				-->
				<metadataFormat metadataPrefix="oai_dc">
					<metadataPrefix>oai_dc</metadataPrefix>
					<schema>http://www.openarchives.org/OAI/2.0/oai_dc.xsd</schema>
					<metadataNamespace>http://www.openarchives.org/OAI/2.0/oai_dc/</metadataNamespace>
					<!--<metadataElements>dc.Title,dc.Creator,dc.Subject,dc.Description,dc.Publisher,dc.Contributor,dc.Date,dc.Type,dc.Format,dc.Identifier,dc.Source,dc.Language,dc.Relation,dc.Coverage,dc.Rights</metadataElements>-->
					<mappingList>
						<!-- 
							The mapping is in the form: <publicly supported metadata name>,<mapped metadata name>, short as <A>,<B> 
							The first metadata name is medatory; if there is no mapped name followed, then the first name must be used by the records and
							searchable in the database, otherwise it is the mapped name stored in the database. The number of mapping elements matches the
							number of external metadata of the records. If only one name is present, the returned metadata will use this name plus the retrieved value;
							if both <A>,<B> are present, the returned metadata will use <A>'s name plus <B>'s value retrieved from database.
					
							**Bear in mind: if this mapping list is not present, the standard dc. metadata names (15 in total) will be used to retrieve metadata in the database.
					
							**The only case when this mapping is not present is that: 1. this metadata format is oai_dc; 2. the metadata is also stored in the database by Dublin Core's names.
						-->
						<mapping>dc:title,Title</mapping>
						<!-- This mapping example means that the dc.Title is requested and the value of the metadata Title, which is used in this repository, is returned as response. -->
					</mappingList>
				</metadataFormat>
			</ListMetadataFormats>
		</serviceRack> 
	</serviceRackList>
</CollectionConfig>

Greenstone2

The collect.cfg file should look something like the following, which shows the collection configuration file that was created by using the command perl —S mkcol.pl —creator [email protected] dlpeople.

creator       [email protected]
maintainer    [email protected]
public        true

buildtype	mgpp
infodbtype	gdbm

indexes		text dc.Title,ex.dc.Title,ex.Title ex.Source
defaultindex	text

levels		document

plugin         ZIPPlugin
plugin         GreenstoneXMLPlugin
plugin         TextPlugin
plugin         HTMLPlugin
plugin         EmailPlugin
plugin         PDFPlugin
plugin         RTFPlugin
plugin         WordPlugin
plugin         PostScriptPlugin
plugin         PowerPointPlugin
plugin         ExcelPlugin
plugin         ImagePlugin
plugin         ISISPlugin
plugin         NulPlugin
plugin         EmbeddedMetadataPlugin
plugin         MetadataXMLPlugin
plugin         ArchivesInfPlugin
plugin         DirectoryPlugin


classify       List -metadata dc.Title;ex.Title -partition_type_within_level approximate_size
classify       List -metadata ex.Source -partition_type_within_level approximate_size

collectionmeta collectionname    "dlpeople"
collectionmeta iconcollection    ""
collectionmeta collectionextra   ""
collectionmeta  .text "_labeltext_"
collectionmeta	.dc.Title,ex.dc.Title,Title "_labelTitle_"
collectionmeta	.Source "_labelSource_"
collectionmeta .document "_textdocument_"
collectionmeta .section "_textsection_"
collectionmeta	.document:text [l=en] "_labeltext_"
collectionmeta	.document:dc.Title,Title,ex.dc.Title [l=en] "_labelTitle_"
collectionmeta	.document:Source [l=en] "_labelSource_"
collectionmeta	.document:dc.Title,Title [l=en] "_labelTitle_"

There is also a list of all available configuration file options.

Sample Collection Configuration Files

The configuration files of some of the collections on http://www.nzdl.org are made available here.

Additional Resources