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 | ||
---|---|---|
File | Location | Description |
global.properties | GSDL3HOME/WEB-INF/classes | Some global settings for the server, including GSDL3HOME, proxy information, and library urls. |
siteConfig.xml | GSDL3HOME/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.xml | GSDL3HOME/interfaces/<interface-name> | Configuration file for an interface. |
OAIConfig.xml | GSDL3HOME/WEB-INF/classes | the configuration file for the OAI server |
GLI Configuration files | ||
config.xml | Linux: <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.xml | Linux: <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.xml | GSDL3HOME/sites/<site-name>/collect/<collname>/etc | Collection design file. Greenstone3 equivalent to collect.cfg. Can be edited by hand, or is automatically generated by the GLI |
collectionInit.xml | GSDL3HOME/sites/<site-name>/collect/<collname>/etc | If you want to use a custom Java class for the Collection object, it can be specified in this file. |
buildConfig.xml | GSDL3HOME/sites/<site-name>/collect/<collname>/index | Generated 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.xml | GSDL3SRCHOME | Ant build file for compilation, installation and running Greenstone3. |
build.properties | GSDL3SRCHOME | Some properties for ccompilation and installation of Greenstone3. |
log4j.properties | GSDL3HOME/WEB-INF/classes | settings 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 | ||
---|---|---|
File | Location | Description |
main.cfg | GSDLHOME/etc | The 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.cfg | Web library: same directory as library.exe (GSDLHOME/cgi-bin/<os> ) Windows local library: same directory as server.exe | Some server settings |
oai.cfg | GSDLHOME/etc | OAI server configuration file |
GLI Configuration files | ||
config.xml | Linux: <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.xml | Linux: <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.cfg | GSDLHOME/collect/<collname>/etc | Collection design file. Can be edited by hand, or is automatically generated by the GLI |
build.cfg | GSDLHOME/collect/<collname>/index | Generated 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.
Greenstone3
Greenstone2
Additional Resources
- Inside Greenstone Collections (Greenstone 2, written for 2.40) This document presents and explains the configuration files for a few actual Greenstone collections, and also gives an example of how Greenstone's appearance can be customized. (Note, this document is intended to be used with Greenstone version 2.40 and higher.)