Greenstone, an Implementation in Afghanistan A Case Study of the AREU...
Greenstone, an Implementation in Afghanistan
A Case Study of the AREU Collection, 
by Graeme Foster
1 Abstract
This article summaries the process of implementing a Greenstone digital library in Afghanistan, the 
work was initiated in the summer of 2006 and completed early in 2007. The article looks at some of 
the decisions that were made and hopes to provide some assistance to anyone who is evaluating or 
looking to configure their own Greenstone collection.
2 Introduction
The Afghanistan Research and Evaluation Unit (AREU) is an independent research organisation 
based in Kabul. AREU's mission is to conduct high­quality research that informs and influences 
policy and practice. Since 2002, the Afghanistan Research and Evaluation Unit has maintained a 
library of Afghanistan­specific materials to support its own research. The collection currently has 
more than 6,500 catalogued items, primarily in English, Dari and Pashto as well as in other 
languages (French, German, Italian and Russian). The AREU library’s main aim is not to compete 
with international collections, but rather to gather and preserve relevant materials available both 
within Afghanistan and abroad for use by national and international researchers.
The AREU digital catalogue is not a typical Greenstone collection it is not being used as a true 
digital library, in that items of the collection that have been digitised are not integrated into the 
collection. Rather the collection is a comprehensive bibliographic database of the library's holdings 
with links to the digitised data and where possible these links will be to the original material when it 
is available on the Internet (i.e. By citing of the URL).
However, despite the fact that the collection was not implementing the digital library features of 
Greenstone there were still compelling reasons for using Greenstone.
2.1 Why was Greenstone chosen?
The support and use of open standards is a contemporary battle cry and it is easy to get drawn into 
such a furore but it did have some pertinence with the AREU collection. Much of the information 
already existed on an existing database, however there was no support for the database it was fixed 
to a single client and the character set for the Arabic scripts was non­standard. These were all 
surmountable issues but it was clear that there was a danger of being locked into a proprietary 
standard.
One of the open standards that was identified early one as a must support was UNICODE. It has 
become the standard for the support of international scripts, and its adoption at the core level by 
operating systems and programming languages only confirms its dominance in this arena. The 
Greenstone, an Implementation in Afghanistan
1 of 31

AREU collection supports three languages, English and the two main Afghan languages of Pushto 
and Dari.
A second requirement of the collection was to be able to put the collection on the web so that 
scholars from around the globe can access the collection and where available immediately get their 
hands on the soft copy.
A third requirement was that the software must be easy to manage. The technical support staff were 
already overworked and so managing the new service should not add significantly to their 
workload. Obviously, this is a difficult parameter to access until the product is up and running and 
people are using it. Using it on a test machine looked as if it would be easy to manage and 
thankfully, when the product went live it ran smoothly and with very little demand on the technical 
staff.
A final requirement of the organisation was that backups were easy to create. The situation in 
Afghanistan is uncertain, it is experiencing a fine balance of normality after many years of 
instability, but this could deteriorate. Having a backup of all the data was considered a non­
negotiable requirement. This was addressed in several ways. First the whole server up is mirrored 
and the library is physically backed up on a monthly basis. Secondly the whole digital library is 
hosted on a server outside of Afghanistan. The real feature that got people excited, and let's face it 
when talking about backups it is hard to get people excited, was Greenstone's ability to create a live 
CD of the collection. This would not only act as a backup but it could be made available to 
organisations who had no, or limited, access to the Internet, a all too common situation in 
Afghanistan.
From a technical perspective it was good that Greenstone was an open source product. This meant 
that if necessary the code could be changed to meet the specific needs of the collection. Such power 
is of course a double edged sword. Any change to the code to ensure that the specific requirements 
are met means that it breaks any upgrade path. So it's a feature that is great to have, but you just 
hope that you never need to use it. As it turned out it was needed but only in one small area 
requiring the change in a single file. This sort of change is acceptable and that fact that the 
collection was a huge deviation from a typical digital library is testament to the configurability of 
Greenstone. The fact that Greenstone is highly configurable meant that we were able to make the 
collection look the way we wanted it to look. However, it would only be fair to say that it was a 
feature that was not fully appreciated until after it had been configured!
3 The Structure of the Collection
3.1 Look of the collection
The general requirement was for the collection to reflect the professional image of the organisation 
that the web site has helped to enhance. For individual data items it was thought that the familiar 
library catalogue cards would be a model that users would be comfortable with. From a 
representation perspective only data that exists should be displayed, that is if a publication doesn't 
2 of 31
Greenstone, an Implementation in Afghanistan

have an author then it shouldn't display an Author title with a blank value.
Illustration 1: A example of the catalogue card
Illustration 1 shows the headings, in English and the data of a sample catalogue card. It also shows 
the link to the soft copy of the document, in this case a word document of the text.
3.2 Indices and searching
There was a strong feeling that the elements that comprised the search indices should only come 
from the meta­data of the collection. The collection consists of several thousand items with a small 
proportion being available electronically. If the contents of those for which soft copies existed were 
indexed then the search results would be skewed in favour of this subset of documents.
The browse feature had great potential in assisting researchers find documents that they might not 
otherwise find and so browse categories were added for, the author, title, corporate body, subject 
headings and language.
As it turned out the browse categories proved to be an excellent way of validating the uniformity of 
the data. Inconsistencies in spelling, punctuation or letter­case of the meta­data were easily 
identified because they would generate an extra entry in the browse category. This turns out to be a 
quicker and more reliable method than checking each entry manually.
As shown in Illustration 2 the browse 
categories can be used to identify 
inconsistencies in the data. The 
illustration shows three subject headings 
with almost identical value but because 
of slight variations in data entry, as 
shown with a red underline, they become 
Illustration 2: A selection of subject headings
separate entities. By browsing through all 
the possible values it is easy to spot such issues with the existing data.
Greenstone, an Implementation in Afghanistan
3 of 31

3.3 File structure
The catalogue cards are represented by a simple HTML file. It is this file that is displayed by 
Greenstone. Each HTML file is associated with an XML file that contains the meta­data that 
Greenstone will be using in its indexing. The details of the HTML file of Illustration 1 is given in 
the appendix and it can be seen that the html is laid out using extensive use of HTML tables. The 
style sheet referred to in this HTML is not used by Greenstone but by the Data Entry system 
described later.
Each HTML, XML file pair is placed in its own directory, whilst this helps to manage the data this 
was mainly done because Greenstone requires the meta data to have a specific file name, and for 
ease of managing this file it was decided to have one entry per meta­data file.
The directories of the catalogue cards were broken down into four language groups, Dari, Pushto, 
English and Misc. Technically English and Misc are interchangeable the others are distinct in that 
the titles for the catalogue card will be translated into the appropriate language. The translation of 
each catalogue card is managed by the Data Entry program, and a catalogue card is presented in the 
primary language of the text.
4 Data Entry
A small system was written to ease the data entry of each catalogue card and the editing of existing 
entries. This system would automatically generate the files for each system and it would include 
some validation of the data. It also allows for the simultaneous creation and editing of the catalogue 
cards. This system would run independent of Greenstone but would honour the file system that had 
been designed, this meant that it doesn't need to be hosted on a computer that supports Greenstone 
and it was easy to move it to a computer that had the Greenstone system, such as a backup server.
This system is still being developed and enhanced and it is planned to be released to the community 
under the GPL.
5 Configuring the collection
There are two broad areas of collection configuration these have been divided into collection 
description, and collection style.
5.1 Collection description
The file that describes the collection is the collect.cfg file and is located in the etc directory of the 
collection folder. This file is included in the Appendix.
For the purpose of this collection the important elements of this file is the meta­data that is used, the 
browse categories and what should be displayed in the search and browse results. Additionally this 
file includes the plug­ins that are used and the location of the icons that are to be used for this 
collection.
4 of 31
Greenstone, an Implementation in Afghanistan

5.1.1 Meta­data, selecting, translating and using
Whilst the collection was being designed different meta­data sets were used in the end we decided 
to use the rfc1807 collection, because it was the best fit for our requirements. It still meant that 
some fields were not quite right and so we wanted to change the name of some meta data items. 
Because this collection was introducing two new languages to Greenstone it was also necessary to 
add the translations for the meta data entities being used.
Adding a translation to a meta­data element turns out to be a trivial exercise. The following snippet 
shows the translation that were required for the author meta­data.
# meta data translation
collectionmeta
.document:rfc1807.author [l=en] "Author"
collectionmeta
.document:rfc1807.author [l=prs] "فلءوم"
collectionmeta
.document:rfc1807.author [l=ps] "لاوكيل"
For each meta­data element there are three translations one for each of the three languages that are 
supported by the collection. The [l=en] is language English, [l=prs] is for Dari, Persian 
Southern, and [l=ps] is for Pushto. For each of the meta­data elements that is being used a 
translation was provided and put into this file.
The main problem that was encountered with this process stems from the fact that we started with a 
different meta­data set. In fact we selected different elements from different meta­data sets, picking 
and choosing the element that appeared to be the most appropriate. As the development process 
progressed it was clear that this happy go lucky approach was going to be confusing at a later date 
and so we decided to select a single meta­data set and modify the elements when there wasn't an 
exact match, for example we use the rfc1807.id for the Accession Number, and 
rfc1807.keywords is really Subject Headings. A script was written to implement the agreed upon 
change in all the records and the collection was rebuilt. When the collection was viewed, sadness all 
around because, the old meta­data elements were still being used. The problem was obscured by the 
fact that the English translations were consistent and so at first it appeared as if it had picked up the 
change but not the new translations. However, once on the right track it was clear to see what was 
happening by looking at the output generated by the build. Some of the records still had the old 
meta­data. The conversion script had failed on a few records which was why they were still using 
the old meta­data. Once these records were fixed then the new meta­data was picked up and the 
browse buttons displayed their translated values, happiness restored.
5.1.2 Browse categories
When the browse categories were added it was clear that it was important to select the best way to 
display the data. This is still an area for debate and hasn't proved to be as popular as the search 
which, with the ascendency of search engines on the Internet,  has become a pervasive technique in 
the researcher's toolbox. The problem lies with the fact that much of the meta data is unique and so 
the results do not necessarily cluster well. The clear exception to that is the meta data language 
which is limited and an ideal candidate for the browse categories, unfortunately for the researchers 
it is not as useful as the other categories.
Greenstone, an Implementation in Afghanistan
5 of 31

One of the difficulties that we faced was that some of the specific browses classifiers didn't work 
properly (or at all) with the mixed scripts that we were using so to overcome that we decided to 
classify them using the GenericList and then partition the result in blocks of 50. This provides a 
manageable browse list although it does lead to an excessively long list of classifiers along the top. 
This can be seen in Illustration 3 below
Illustration 3: The (rather long) list of Subject Heading Classifiers
Another problem is that when the script switches from the Roman to the Arabic script the direction 
of reading changes so (the left to right) Z is associated with the rightmost Arabic (right to left) 
character on the same line. T‌hat is, from Illustration 3 the Z and the ﺍ are associated and not the Z 
and the ﻝﺏ characters. This abrupt change in presentation can be confusing and it would be better if 
the meta data in the Roman script and the Arabic script were further divided by a new line.
One feature that helped was to have the number of documents under each category. However since 
a large number of categories had a single document the value of including a number was 
diminished. So a slight modification of the format string was done so that the number of documents 
was displayed only if there is more than one document. This was done as follows:
{if}{[numleafdocs] gt 1, ([numleafdocs])}
This worked well for most browse categories, but there were some formatting problems with the 
title where a long title sometimes meant that the cell that contained this value wrapped to the next 
line, this meant that the browser would then maximise the space available for the title and wrap the 
bookshelf icon and the number of books onto two lines. The solution to ensure that this appeared on 
a single line came in the form of the non­standard html tag <nobr>.
format VList "<td valign=top><nobr>[link][icon][/link] 
{if}{[numleafdocs] gt 1, ([numleafdocs])}</nobr></td>
The rest of the format string was the standard entry for the title.
5.1.3 Search results
The search feature was identified as being the main interaction with the collection and it was 
6 of 31
Greenstone, an Implementation in Afghanistan

expected that researchers would feel comfortable with this so long as it mirrored the plain features 
of a typical Internet search site. This requires the indexes to be set up and to ensure that the search 
results were comprehensive and clear.
5.1.3.1 Indexes
The indexes are set up within the collect.cfg file as follows:
indexes
document:text document:rfc1807.author 
document:rfc1807.title document:rfc1807.keyword 
document:rfc1807.series document:rfc1807.id
This creates six indices that are automatically incorporated into the search feature.
5.1.3.2 Results
By using the defaults the search results are acceptable and provide a comfortable representation of 
the matches found.
The search box has been 
modified slightly to meet the 
specific needs that we had. 
We wanted to simplify the 
search process by removing 
the ability to change the 
search features in a separate 
preferences page and placing 
the most common search 
preferences on the search 
dialogue. The changes that 
were required are described 
Illustration 4: Search Results
later.
The results are displayed in a format that we were happy with and so this didn't require any 
changes.
5.2 Collection style
The primary requirement of the collection style was for it to mirror the organisations web site as 
closely as possible. This required extensive changes to the macros that define how a Greenstone 
collection is displayed and the addition of collection specific style sheets.
The most important constraint was that we didn't want to change the core Greenstone macros. Any 
changes to core macro files would lead the complications when upgrading and we had reached 
agreement that the collection would be hosted on the examples page of the Greenstone Digital 
Library www.greenstone.org/examples. Thankfully, whilst tempting it is not necessary, to change 
the core macros. Instead a collection specific macro can be created. The collection specific macro 
Greenstone, an Implementation in Afghanistan
7 of 31

should be called extra.dm and will reside in the macros directory of the collection.
5.2.1 Language Selection
The organisation's web site allows the user to select the language that they would like to view the 
web site in. This facility is available on any page that the user might be visiting. The languages are 
limited to English, Dari and Pushto. Whereas to select the language in Greenstone requires 
navigating to the Preferences page and then all the languages that are available to Greenstone are 
displayed. This didn't make sense in our context and so the extra.dm macro was changed, the 
complete changes can be seen in the appendix and appear at the start of this file.
The first important point with this piece of code is that we created some new macros. We decided 
that all new macros will be prefixed with the collection name, hence _AREULang_ is a new macro 
which will hold the drop­down list of available languages. The macro itself is quite simple, it is 
repeated for each language, thus _AREULang_ [l=prs] {} is the macro defined for Dari. The macro 
defines an HTML selection box and depending upon the language the appropriate option is selected 
within the HTML. Hence when the Dari language has been selected the macro is as follows:
_AREULang_ [l=prs] {
  <option value="prs" selected>
ی  
ر د
  </option>
  <option value="en">
English
  </option>
  <option value="ps">
وتښپ
  </option>
}
Next comes two more collection specific macros. These are used to define cascading style classes 
that ensure that the drop­down box appears correctly in the rendered HTML page. These are 
_AREULangCSS_ and _AREUBarCSS_ and they just set up the name of CSS class that needs to be used. 
The drop­down list is created as follows, again in a collection specific macro.
_AREULangOptions_ {
<div class=_AREULangCSS_>
 <form name="PrefForm" method="get" action="/gsdl/cgi­bin/library">
  <select name="l" onchange="updatel();">
   _AREULang_
  </select>
 </form>
</div>
}
The drop­down list is placed in a form, this is an existing form used by the preference page and a 
javascript macro is triggered if a new element is selected, onchange. The form is then wrapped in a 
division tag, which allows the CSS class to be applied to the whole list. In the case of Dari, the style 
class will be as follows:
span.langrtl
{
8 of 31
Greenstone, an Implementation in Afghanistan

  background­color: #b0cab0;
   float: left;
   margin­top: ­22px;
   margin­left: 5px;
}
This only differs from the style class used for the English drop­down in that the float directive is 
left, on the English version the float is to the right.
Finally the language selection box needs to be placed on the page. That is done by using the 
existing macro _optnavigationbar_ which defines the navigation bar that appears on every page.
_optnavigationbar_{
<div class="navbar">
  <div class="_AREUBarCSS_">
    _navigationbar_
  </div>
  _AREULangOptions_
</div>
}
This places the _navigationbar_ macro and our new _AREULangOptions_ macro into a couple of 
HTML division tags which are formatted using CSS classes, navbar and the language specific class, 
which for Dari will be  barrtl. The final rendering of the navigation bar can be seen in Illustration
6.
There is just one last area to cover. In Greenstone the macros are broken down into packages and 
since this uses a Greenstone macro, _optnavigationbar_ it is important to define it in the correct 
macro. This can be done by finding where the macro is originally defined, unfortunately this is a 
task of scouring the macro files. The nav_css.dm defines this macro and from this file it is clear that 
the macro belongs to the Global package, this means that in the extra.dm file the line package 
global should appear before these definitions.
5.2.2 Query
The default simple query that Greenstone generates has two drop down­list that allow the user to 
select what part of the document gets searched, and how the words are incorporated into the search, 
which is either all of the words or some of the words. Finally, of course,  there is the text entry area 
and a search button. Very simple and efficient, however because we are blocking access to the 
preferences page the query area requires a little more, as shown in Illustration 4 Search Results. We 
have added two  drop­down menus from the preferences page. These allow the user to select how 
many items are returned in the entire search and how many are returned on each page. This is done 
with the following code added to the extra.dm file.
_smallquerybox_
{
  <br /><input type="text" name="q" value="_cgiargq_" size="50"><br />
  _preferences:textprefop_
  <input type="submit" value="_textbeginsearch_">
}
The original _smallquerybox_ is defined in the query.dm file and belongs to the query package. It 
Greenstone, an Implementation in Afghanistan
9 of 31



has the text box and the button on the same line. This is slightly modified by having the text box 
then on a new line the two new drop­down list followed by the search button. The two drop­down 
lists are defined in the _textprefop_ macro, however this macro is defined in a different package, 
the preferences package, it is used in pref.dm, and so this can be inserted using the syntax, 
_package:macro_ as follows, _preferences:textprefop_
We wanted to set the default values so that from over the LAN the maximum results were returned 
whilst over the Internet the number of results returned per page were limited. This is done by 
initially passing the values in through the URL. The value of the number of item returned is held in 
the variable called m, whilst the number returned per page is held in the variable called o, so the 
URL to the collection is modified with the following appended to it, &m=­1&o=50.
5.2.3 About Page
We are using the about page as the front page to the collection from the web site and it needed to be 
significantly modified so that it closely mirrored the look of the organisations web site. The 
organisations web page is shown in Illustration 5 and the about page is shown in Illustration 6.
Illustration 5: The Organisation's web page
As can be seen there is a clear distinction between the two but there is also a familiar theme running 
through the two sites. The difference is just to emphasis that the user has moved to a different site 
but it is important to keep the look so that organisational image is maintained, and emphasised.
Illustration 6: The About Page
10 of 31
Greenstone, an Implementation in Afghanistan

The Greenstone page is built up in parts using macros to define each part of the page. To achieve 
our aims of the page layout we rewrote the header and footer sections.
5.2.3.1 Header
The header sections before and after the rewrite can be seen in the following table. Both versions 
have a banner section whilst the original version has an additional bannerextra section. In the 
revised version the bannerextra section is incorporated within the banner section, this is because we 
don't need the flexibility of the original version.
Illustration 7: The Heading section of each Greenstone page
As can be seen this macro uses three other macros, _imagecollection_, _pagebannerextra_ and 
_AREUHome_. The location of these are shown in Illustration 7.
Original version in style.dm
Modified version in extra.dm
_pagebanner_ {
_pagebanner_ {
<!­­ page banner (\\\\_style:pagebanner\\\\_) ­­>
<div id="banner">
<div id="banner">
  <div class="pageinfo"> 
  <div class="collectimage">
    <p class="bannerlinks">_globallinks_</p>
    _imagecollection_
    _bannertitle_
    _pagebannerextra_
  </div>
    _AREUHome_
  <div class="collectimage">
  </div>
    _imagecollection_
</div>
  </div>
  
</div>
<div class="bannerextra">
  _pagebannerextra_
</div>
<!­­ end of page banner ­­>
<!­­ end of page banner ­­>
}
}
The details of these three macros is shown later. This leaves the navigation bar which is defined as 
follows:
Original version in nav_css.dm
Modified version in extra.dm
_optnavigationbar_{
_optnavigationbar_{
<div class="navbar">
<div class="navbar">
  <p class="navbar">
  <div class="_AREUBarCSS_">
    _navigationbar_
    _navigationbar_
  </p>
  </div>
</div>
  _AREULangOptions_
Greenstone, an Implementation in Afghanistan
11 of 31


</div>
}
The original version wrapped the navigationbar in a paragraph which seemed to complicate the 
layout of the navigation bar and the language options, so the revised version used HTML divisions 
to separate them, this is covered in greater detail in the earlier section on the Language Selection.
5.2.3.2 Footer
The footer of each page is as follows:
This is set up by redefining the footer macro as shown below:
_footer_ {
_pagefooterextra_
</div>
<div class="footer">
<hr width=600px color=#234F33>
   _AREUFullName1_
   <script language="javascript" type="text/javascript">
      var curdate = new Date()
      var year = curdate.getFullYear()
      document.write("&copy; " + year)
   </script>
   _AREUFullName2_
</div>
}
This defines a simple javascript macro to garner and then print out the current year, with a 
copyright symbol. The organisational name is either set up in the macro _AREUFullName1_ or 
_AREUFullName2_, depending upon whether the name should appear before or after the date, 
depending upon the language used, as shown below.
_AREUFullName1_ {}
_AREUFullName2_ {Afghanistan Research and Evaluation Unit}
_AREUFullName1_ [l=ps] {هرادا ینوځراوا ینړيڅ  
د ناتسناغفاد،}
_AREUFullName2_ [l=ps] {}
5.2.3.3 Details
The image icon includes both the logo and the text, this ensures that the text appears in the correct 
font and is correctly positioned across all browsers, on all systems and most importantly in all three 
languages. Each logo has been translated and stored in a folder related to the language. The logo is 
set up in the collect.cfg file and is done as follows:
# Location of Collection Icons
collectionmeta iconcollectionsmall [l=en] "_httpprefix_/collect/areu/images/en/areusm.png"
collectionmeta iconcollection [l=en] "_httpprefix_/collect/areu/images/en/areu.png"
collectionmeta iconcollectionsmall [l=prs] "_httpprefix_/collect/areu/images/prs/areusm.png"
collectionmeta iconcollection [l=prs] "_httpprefix_/collect/areu/images/prs/areu.png"
collectionmeta iconcollectionsmall [l=ps] "_httpprefix_/collect/areu/images/ps/areusm.png"
collectionmeta iconcollection [l=ps] "_httpprefix_/collect/areu/images/ps/areu.png"
This sets up the macro called _iconcollection_ and this is set up to proper HTML in the base.dm 
12 of 31
Greenstone, an Implementation in Afghanistan

file in the macro called _imagecollection_, which is then used by the _pagebanner_ macro, as 
shown in the section called Header, above.
_imagecollection_
{
  _If_("_iconcollection_" ne ""
  ,
    <a href="_httppageabout_">
      <img class="icon" 
           src="_iconcollection_" 
           alt="_collectionname_" 
           title="_collectionname_">
    </a>
  ,
    _imagecollectionv_
  )
}
The _pagebannerextra_ macro very simply sets up the organisation name and has been set up as 
follows:
_pagebannerextra_ {<span class="titleltr">AREU Library Catalogue</span>}
_pagebannerextra_ [l=prs] {<span class="titlertl">هناخباتک یدن  
ب هدر AREU</span>}
_pagebannerextra_ [l=ps] {<span class="titlertl">دAREU یدن  
ب هدر نوتباتکد</span>}
The _AREUHome_ macro is a link to the organisations website, it ensures that it is consistent in the 
language that is displayed, that is if in Greenstone it is currently displaying Dari then the web site 
link will display the Dari version of the web site. It has been set up as follows:
_AREUText_ {AREU website}
_AREUText_ [l=prs] {تیاس بیو AREU}
_AREUText_ [l=ps] {دAREU هڼا  
پ بیو}
_AREUDiv_  {titlertl}
_AREUDiv_  [l=prs] {titleltr}
_AREUDiv_  [l=ps] {titleltr}
_AREULang_ {&lang=en}
_AREULang_ [l=prs] {&lang=prs}
_AREULang_ [l=ps] {&lang=ps}
_AREUHome_ {<span class="_AREUDiv_"><a 
href="http://www.areu.org.af/index.php?option=com_content&task=view&
id=11&Itemid=15_AREULang_">_AREUText_</a></span>}
5.2.4 Display Details
The details of each record is laid out as shown in Illustration 8, the intended impression is for it to 
have look of a classical catalogue card. The screen will display the details in the language of the 
text, hence if the text is available in English then the details will be written up in English, 
conversely if the text is published in Dari then the details will be presented in Dari. This ensures 
that the researcher can search in their own language and find texts that will interest them. However, 
it was also agreed that it would be useful for international researcher to know what is available in 
the local languages, to assist with this notes can be added to provide a summary in English of Dari 
Greenstone, an Implementation in Afghanistan
13 of 31

and Pushto texts.
All of the details that appear are created and managed by the separate program mentioned in section 
4 that enables multiple librarians to manage the data simultaneously.
Illustration 8: Details of a catalogue entry
6 Burning CD's and back­ups
When we started work on this collection access to the Internet in Afghanistan was limited and so it 
was important to be able to use other mechanisms to distribute the collection. This is where the 
ability to export the collection to a CD or DVD was very attractive. By the time that this was tested 
we had already made some design decisions which meant that this process didn't completely work. 
Essentially we had a couple of directories that were holding collection data but were not standard 
Greenstone directories and so these were not picked up by the export process. One directory was 
called styles where the css sheets were stored, further investigation showed that the Greenstone 
standard was to hold the style sheets in the images directory. The other directory held the uploaded 
documents that were not being integrated into the Greenstone indexing process and they were 
stored in a separate directory at the collection level called Upload.
This required a change to the exportcol.pl file. It needed to be modified in three separate areas, 
thankfully though the changes were relatively simple. The first change was to be used when when 
saving the collection on the CD, for the links to work in the documents that were part of the 
collection it is necessary  to mirror the file structure from the gsdl directory. This meant that an 
extra directory was required, gsdl/collect. This code, shown below, creates the directory and a 
variable, $colgsdldir, that can refer to this directory.
my $collectdir = &util::filename_cat ($gsdldir, "collect");
# A fix for AREU & ACKU collections *** Graeme April 2007
my $colgsdldir = &util::filename_cat ($gsdldir, "gsdl", "collect");
&util::mk_all_dir ($colgsdldir);
# End of a fix for AREU & ACKU collections *** Graeme April 2007
14 of 31
Greenstone, an Implementation in Afghanistan

The next change determines the data that needs to be copied from the collection onto the CD. As 
already stated there are two extra directories that need to be added to the CD, styles and Upload, 
which are both held at the root level of the collect directory.
#old directories
my $colldir = &util::filename_cat ($ENV{'GSDLHOME'}, "collect", $c);
my $colindexdir = &util::filename_cat ($colldir, "index");
my $coletcdir = &util::filename_cat ($colldir, "etc");
my $colimagesdir = &util::filename_cat ($colldir, "images");
my $colmacrosdir = &util::filename_cat ($colldir, "macros");
# new coll directory
my $newcoldir = &util::filename_cat ($collectdir, $c);
# A fix for AREU & ACKU collections *** Graeme April 2007
my $colstyledir = &util::filename_cat ($colldir, "styles");
my $coluploaddir = &util::filename_cat ($colldir, "Upload");
my $coltargetuploaddir = &util::filename_cat ($colgsdldir, $c);
&util::mk_all_dir ($coltargetuploaddir);
# End of a fix for AREU & ACKU collections *** Graeme April 2007
The final addition of code copies the contents of the style and Upload directories onto the CD.
&util::mk_all_dir ($newcoldir);
&util::cp_r ($colindexdir, $newcoldir);
&util::cp_r ($coletcdir, $newcoldir);
&util::cp_r ($colimagesdir, $newcoldir) if (­e $colimagesdir);
&util::cp_r ($colmacrosdir, $newcoldir) if (­e $colmacrosdir);
# A fix for AREU & ACKU collections *** Graeme April 2007
&util::cp_r ($colstyledir, $newcoldir) if (­e $colstyledir);
&util::cp_r ($coluploaddir, $coltargetuploaddir) if (­e 
$coluploaddir);
# End of a fix for AREU & ACKU collections *** Graeme April 2007
Despite having limited Perl experience testing showed that these changes worked and now we have 
the means to making the collection available throughout Afghanistan.
7 Conclusion
The aim of the AREU library, to gather and preserve relevant materials available both within 
Afghanistan and abroad for use by national and international researchers, has been enhanced by its 
adoption of Greenstone. It is a testament to this open source project that we were successfully able 
to adapt it to our specific needs and to maintain the integrity of the organisation's image.
The data entry system that was developed for this implementation of Greenstone is a work in 
progress and will be released to the community. With the conversion of the AREU catalogue to 
Greenstone, it has made the diversity of Afghan works accessible to everyone.
Greenstone, an Implementation in Afghanistan
15 of 31

8 Appendix
Table of Appendices
8.1 collect.cfg............................................................................................................................ . . 16
8.2 extra.dm........................................................................................................... . . . . . . . . . . . .18
8.3 areu.css................................................................................................................................. . .23
8.4 areu.en.css..................................................................................................................... . . . . . 28
8.5 areu.prs.css......................................................................................................................... . . .29
8.6 areu.ps.css............................................................................................................... . . . . . . . . 29
8.7 HTML file 856.html.................................................................................................................29
8.8 Metadata.xml file associated with 856.html........................................................ . . . . . . . . . .30
8.1 collect.cfg
creator
[email protected]
maintainer [email protected]
public
true
buildtype
mg
beta false
indexes
document:text document:rfc1807.author document:rfc1807.title 
document:rfc1807.keyword document:rfc1807.series document:rfc1807.id
indexoptions
casefold stem
#levels
document
#defaultlevel
document
defaultindex
document:text
plugin
GAPlug
plugin
HTMLPlug ­metadata_fields Title ­nolinks
plugin
MetadataXMLPlug
plugin
ArcPlug
plugin
RecPlug
classify
GenericList ­metadata rfc1807.author ­always_bookshelf_last_level 
­sort_leaf_nodes_using rfc1807.title ­partition_type_within_level constant_size 
­partition_size_within_level 50 ­sort_using_unicode_collation 
classify
GenericList ­metadata rfc1807.title ­always_bookshelf_last_level 
­partition_type_within_level constant_size ­partition_size_within_level 50 
­sort_using_unicode_collation 
classify
GenericList ­metadata rfc1807.corp­author 
­always_bookshelf_last_level  ­sort_leaf_nodes_using rfc1807.title 
­partition_type_within_level constant_size ­partition_size_within_level 50 
16 of 31
Greenstone, an Implementation in Afghanistan

­sort_using_unicode_collation 
classify
GenericList ­metadata rfc1807.keyword ­always_bookshelf_last_level 
­sort_leaf_nodes_using rfc1807.title ­partition_type_within_level constant_size 
­partition_size_within_level 50 ­sort_using_unicode_collation 
classify
Hierarchy ­metadata rfc1807.language
format SearchVList "<td 
valign=top>[link][icon][/link]</td><td>{If}{[parent(All\\\\': 
\\\\'):Title],[parent(All\\\\': \\\\'):Title]:}[link][Title][/link]</td>"
format VList "<td valign=top><nobr>[link][icon][/link]{if}{[numleafdocs] gt 1, 
([numleafdocs])}</nobr></td><td 
valign=top>[highlight]{Or}{[Title],Untitled}[/highlight]<i><small>{If}{[Date],<b
r>_textdate_[Date]}{If}{[NumPages],<br>_textnumpages_[NumPages]}{If}{[Source],<b
r>_textsource_[Source]}</small></i></td>"
format DocumentText "<h3>[Title]</h3>\\\\\\\\n\\\\\\\\n<p>[Text]"
format DocumentImages true
format DateList 
"<td>[link][icon][/link]</td><td>[highlight]{Or}{[dls.Title],[dc.Title],[Title],
Untitled}[/highlight]</td><td>[Date]</td>"
format HList "[link][highlight][Title][/highlight][/link]"
format DocumentHeading "{Or}{[parent(Top):Title],[Title],untitled}"
format DocumentButtons "Detach|Highlight"
# Location of Collection Icons
collectionmeta
iconcollectionsmall [l=en] 
"_httpprefix_/collect/areu/images/en/areusm.png"
collectionmeta
iconcollection [l=en] 
"_httpprefix_/collect/areu/images/en/areu.png"
collectionmeta
iconcollectionsmall [l=prs] 
"_httpprefix_/collect/areu/images/prs/areusm.png"
collectionmeta
iconcollection [l=prs] 
"_httpprefix_/collect/areu/images/prs/areu.png"
collectionmeta
iconcollectionsmall [l=ps] 
"_httpprefix_/collect/areu/images/ps/areusm.png"
collectionmeta
iconcollection [l=ps] 
"_httpprefix_/collect/areu/images/ps/areu.png"
collectionmeta
collectionname [l=en] "AREU Library Catalogue"
collectionmeta
.document:text [l=en] "Keywords"
collectionmeta
.document:text [l=prs] "يديلک تاملک"
collectionmeta
.document:text [l=ps] "یك  
ټ ینټلپد"
# Browse Categories translation
collectionmeta
.document:rfc1807.author [l=en] "Author"
collectionmeta
.document:rfc1807.author [l=prs] "فلءوم"
collectionmeta
.document:rfc1807.author [l=ps] "لاوكيل"
collectionmeta
.document:rfc1807.title [l=en] "Title"
Greenstone, an Implementation in Afghanistan
17 of 31

collectionmeta
.document:rfc1807.title [l=prs] "ناونع"
collectionmeta
.document:rfc1807.title [l=ps] "كيلرس"
collectionmeta
.document:rfc1807.keyword [l=en] "Subject Headings"
collectionmeta
.document:rfc1807.keyword [l=prs] "يعوضو  
م ناونعرس"
collectionmeta
.document:rfc1807.keyword [l=ps] "هنوكيلرس يعرف"
collectionmeta
.document:rfc1807.series [l=en] "Series"
collectionmeta
.document:rfc1807.series [l=prs] "هلسلس"
collectionmeta
.document:rfc1807.series [l=ps] "هلسلس"
collectionmeta
.document:rfc1807.id [l=en] "Accession Number"
collectionmeta
.document:rfc1807.id [l=prs] "لسلس  
م هرامش"
collectionmeta
.document:rfc1807.id [l=ps] "هريمش يس  
پ هلرپ"
collectionmeta
.document:rfc1807.corp­author [l=en] "Corporate Body"
collectionmeta
.document:rfc1807.corp­author [l=prs] "يقوقح صخش"
collectionmeta
.document:rfc1807.corp­author [l=ps] "تيصخش يقوقح"
collectionmeta
.document [l=en] "document"
receptionist "_gwcgi_?a=p&p=about&c=areu&m=­1&o=20"
8.2 extra.dm
###############################################################################
####  package Global                                                       ####
###############################################################################
package Global
_bannertitle_{}
_navbarspacer_
{
  <span style="margin­left: _widthtspace_px;">&nbsp;</span>
}
_AREULang_ [l=prs] {
  <option value="prs" selected>
ی  
ر د
  </option>
  <option value="en">
English
  </option>
  <option value="ps">
وتښپ
  </option>
}
_AREULang_ {
  <option value="prs">
ی  
ر د
  </option>
  <option value="en" selected>
English
  </option>
  <option value="ps">
وتښپ
  </option>
}
18 of 31
Greenstone, an Implementation in Afghanistan

_AREULang_ [l=ps] {
  <option value="prs">
ی  
ر د
  </option>
  <option value="en">
English
  </option>
  <option value="ps" selected>
وتښپ
  </option>
}
_AREULangCSS_ [l=prs] {langrtl}
_AREULangCSS_ [l=ps] {langrtl}
_AREULangCSS_ {langltr}
_AREUBarCSS_ [l=prs] {barrtl}
_AREUBarCSS_ [l=ps] {barrtl}
_AREUBarCSS_ {barltr}
_AREULangOptions_ {
<div class=_AREULangCSS_>
 <form name="PrefForm" method="get" action="/gsdl/cgi­bin/library">
  <select name="l" onchange="updatel();">
   _AREULang_
  </select>
 </form>
</div>
}
_optnavigationbar_{
<div class="navbar">
 <div class="_AREUBarCSS_">
  _navigationbar_
 </div>
  _AREULangOptions_
</div>
}
_labeltitle_ [l=en] {Title}  # Updated 14­Mar­2007 by graeme
_labeltitle_ [l=prs] {ناونع}  # Updated 14­Mar­2007 by graeme
_labeltitle_ [l=ps] {كيلرس}  # Updated 14­Mar­2007 by graeme
_texttitle_ [l=en] {Title}  # Updated 14­Mar­2007 by graeme
_texttitle_ [l=prs] {ناونع}  # Updated 14­Mar­2007 by graeme
_texttitle_ [l=ps] {كيلرس}  # Updated 14­Mar­2007 by graeme
_labelauthor_ [l=en] {Author}  # Updated 14­Mar­2007 by graeme
_labelauthor_ [l=prs] {فلءوم}  # Updated 14­Mar­2007 by graeme
_labelauthor_ [l=ps] {لاوكيل}  # Updated 14­Mar­2007 by graeme
_textauthor_ [l=en] {Author}  # Updated 14­Mar­2007 by graeme
_textauthor_ [l=prs] {فلءوم}  # Updated 14­Mar­2007 by graeme
_textauthor_ [l=ps] {لاوكيل}  # Updated 14­Mar­2007 by graeme
_labelcorp­author_ [l=en] {Corporate Body}  # Updated 14­Mar­2007 by graeme
_labelcorp­author_ [l=prs] {يقوق  
ح صخش}  # Updated 14­Mar­2007 by graeme
_labelcorp­author_ [l=ps] {تيصخ  
ش يقوقح}  # Updated 14­Mar­2007 by graeme
_textcorp­author_ [l=en] {Corporate Body}  # Updated 14­Mar­2007 by graeme
_textcorp­author_ [l=prs] {يقوق  
ح صخش}  # Updated 14­Mar­2007 by graeme
_textcorp­author_ [l=ps] {تيصخ  
ش يقوقح}  # Updated 14­Mar­2007 by graeme
_labelkeyword_ [l=en] {Subject Headings}  # Updated 14­Mar­2007 by graeme
_labelkeyword_ [l=prs] {يعوضو  
م ناونعرس}  # Updated 14­Mar­2007 by graeme
Greenstone, an Implementation in Afghanistan
19 of 31

_labelkeyword_ [l=ps] {هنوكيلر  
س يعرف}  # Updated 14­Mar­2007 by graeme
_textkeyword_ [l=en] {Subject Headings}  # Updated 14­Mar­2007 by graeme
_textkeyword_ [l=prs] {يعوضو  
م ناونعرس}  # Updated 14­Mar­2007 by graeme
_textkeyword_ [l=ps] {هنوكيلر  
س يعرف}  # Updated 14­Mar­2007 by graeme
_labellanguage_ [l=en] {Language}  # Updated 14­Mar­2007 by graeme
_labellanguage_ [l=prs] {ناسل}  # Updated 14­Mar­2007 by graeme
_labellanguage_ [l=ps] {هبژ}  # Updated 14­Mar­2007 by graeme
_textlanguage_ [l=en] {Language}  # Updated 14­Mar­2007 by graeme
_textlanguage_ [l=prs] {ناسل}  # Updated 14­Mar­2007 by graeme
_textlanguage_ [l=ps] {هبژ}  # Updated 14­Mar­2007 by graeme
 
###############################################################################
####  package about                                                        ####
###############################################################################
_AREUEmail_ {<a href="mailto:[email protected]">[email protected]</a>}
_AREUAboutText_ {This on­line bibliographic catalogue lists materials held in hardcopy in 
AREU’s research library in Kabul, Afghanistan. AREU’s collection includes books, 
pamphlets, government publications, periodicals, maps, CDs, DVDs, etc. in English, Dari, 
Pashto and other languages. When we know these materials are available for download on 
the internet we provide a URL link in the bibliographic record. Some important materials 
not available elsewhere are made available here for download. _Global:collectionextra_ If 
you see any entries that need correcting or find that URLs no longer work please 
email:_AREUEmail_.}
_AREUAboutText_ [l=prs] {
تارش ن،یتلود تارش ن،هلاسر ،بات  
ک لك  
ش ه  بهكیداو  
م هم  
ه ،دراد تيعقو  
م ناتسناغف  ا،لباکرد ه  
ک ناتسناغف  ایبایزرا  
و قيقح  تدحا  
و هناخباتکرد 
ر  
د اهن  
آ یدنب هد  
ر تس ل،تسا هديس  
ر رش نه  بهريغ  
و یسيلگن  ا،وتشپ ،یرد یاهناس له  به  
ک هريغو ،ید یو ی  
د ،ید ی  
س ،ا  
ه هشق  ن،لسلسم 
ندرو  
آ تسد  بیار  با  
م سپ تس  ادوجوم ندوم  ندو لنووا  
د یار  بتیا  
س بیو ر  
د داو  
م نیا ه  
ک مينادي  
م هكيتق  
و .دشابي  
م دوجوم تیا  
س بیو نیا 
هطبا  
ر کی اهنآ URL اج  با  
ج اجنیار  
د ندومن دول نووا  
د یارب ميناوتيمن هدرو  
آ تسد  برگی  
د یاها  
ج ز  اهكی  امه  
م داوم یضعب  
و .میدوم  نهيهت 
می  اهدرک.
_Global:collectionextra_
 هطبا  
ر ای  
و دشا  بیطل  
غ ماد  
ک ا  
ه دراكی  
ر ز  ایكیر  
د رگا URL ديتسرف  بليمیا سرد  
آ نیا ه  بافط لدن  
ک یم  نراک.
_AREUEmail_ 
}
_AREUAboutText_ [l=ps] {
یتلو  
د ،یلاسر ،هنوبات  
ک هك لداو  
م هغ  
ه لو  ټ،یرل تيعقوم ی  
ک ناتسناغف  ا،لبا  
ک ه  پی  
چ ی  
ک نوتبات  
ک ه  پیراد  ا  
د ینوځراوا ینړيڅ  
د ناتسناغفاد 
یوغهد یوش هراپ  
خ وب  
ژ ورو نو  ایزیرګنا ،یرد ،وتښپ ه  پی  
چ رو نیسا  
د و  اینای  
ډ ی  
و یډ ،ینایډ ی  
س ،یشخن ،ینورپخ یتبو ن،ینورپخ 
،ید دوجوم ی  
ک هڼاپ بیو هپ هراپ لولوک هتروپ  
د داوماد ی  
چ وږيهوپ ږنوم ی  
چ هل  
ک .ی  
ش یلدي لی  
ک هڼا  پبیو یدپ یدنب هد  
ر یرادباتکد 
 
د هوی و  
م هراپ لیوغهدون URL هخ  
څ یا  
ځ لبد ی  
چ داو  
م مهم یني  
ځ و  ا.ینیو  
و دن  
س هغام  
ه وڅر  ته  
د یړ  
ک هړو  
ج ی  
ک یدنب هد  
ر ه  پهكیړا 
ی  
د یړ  
ک یا  
ځ ه  پیا  
ځ هتل  
د هراپ لولو  
ک هتروپ  
د ږنوم ،یادي  
ک هسلر  تیشن.
_Global:collectionextra_
   
د ا  یو  ا،ینیوو یطل  
غ همو  
ک ی  
ک ډراكی  
ر موک ه  پوسات هک URL یوتساوار کيلانښیر  بهت  پیدپ یړکو ینابره  
م یړكنو را  
ک هكیړا:
_AREUEmail_ 
}
package about
_bannertitle_{}
_textabout_ {
<div class="section">
<h3>_textabcol_</h3>
_AREUAboutText_</div>
}
###############################################################################
####  package query                                                        ####
###############################################################################
package query
_bannertitle_{}
_smallquerybox_
{
20 of 31
Greenstone, an Implementation in Afghanistan

  <br /><input type="text" name="q" value="_cgiargq_" size="50"><br />
  _preferences:textprefop_
  <input type="submit" value="_textbeginsearch_">
}
###############################################################################
####  package preferences                                                  ####
###############################################################################
package preferences
_bannertitle_{}
###############################################################################
####  package Style                                                        ####
###############################################################################
package Style
_globalscripts_
{
  <script language="javascript" type="text/javascript">
    _If_(_pagescriptextra_,_pagescriptextra_)
    _preferences:pagescriptextra_
  </script>
}
_AREUFullName1_ {}
_AREUFullName2_ {Afghanistan Research and Evaluation Unit}
_AREUFullName1_ [l=ps] {هراد  
ا ینوځراوا ینړيڅ  
د ناتسناغفاد،}
_AREUFullName2_ [l=ps] {}
_footer_ {
_pagefooterextra_
</div>
<div class="footer">
<hr width=600px color=#234F33>
   _AREUFullName1_
   <script language="javascript" type="text/javascript">
      var curdate = new Date()
      var year = curdate.getFullYear()
      document.write("&copy; " + year)
   </script>
   _AREUFullName2_
</div>
}
_AREUcss_
{
<link rel="stylesheet" href="_httpcollection_/styles/areu.en.css"
type="text/css" charset="UTF­8" media="screen">
}
_AREUcss_ [l=prs]
{<link rel="stylesheet" href="_httpcollection_/styles/areu.prs.css"
type="text/css" charset="UTF­8" media="screen">
}
_AREUcss_ [l=ps]
{<link rel="stylesheet" href="_httpcollection_/styles/areu.ps.css"
type="text/css" charset="UTF­8" media="screen">
}
_csslink_
{
_AREUcss_
Greenstone, an Implementation in Afghanistan
21 of 31

<link rel="stylesheet" href="_httpcollection_/styles/areu.css"
type="text/css" charset="UTF­8" media="screen">
}
_cssfilelink_
{
<style type="text/css">
div.pageinfo \\\\{ background­image: url("_httpcollection_/images/en/back_all.png");\\\\}
div.collectimage \\\\{ background­image: url("_httpcollection_/images/en/back_all.png");\\\\}
</style>
}
_cssfilelink_ [l=prs]
{
<style type="text/css">
div.pageinfo \\\\{ background­image: url("_httpcollection_/images/prs/back_all.png");\\\\}
div.collectimage \\\\{ background­image: url("_httpcollection_/images/prs/back_all.png");\\\\}
</style>
}
_cssfilelink_ [l=ps]
{
<style type="text/css">
div.pageinfo \\\\{ background­image: url("_httpcollection_/images/ps/back_all.png");\\\\}
div.collectimage \\\\{ background­image: url("_httpcollection_/images/ps/back_all.png");\\\\}
</style>
}
_cssheader_
{
_csslink_
_cssfilelink_
}
 
_AREUText_ {AREU website}
_AREUText_ [l=prs] {تیا  
س بیو AREU}
_AREUText_ [l=ps] {دAREU هڼاپ بیو}
_AREUDiv_  {titlertl}
_AREUDiv_  [l=prs] {titleltr}
_AREUDiv_  [l=ps] {titleltr}
_AREULang_ {&lang=en}
_AREULang_ [l=prs] {&lang=prs}
_AREULang_ [l=ps] {&lang=ps}
_AREUHome_ {<span class="_AREUDiv_"><a 
href="http://www.areu.org.af/index.php?option=com_content&task=view&id=11&Itemid=15_AREUL
ang_">_AREUText_</a></span>}
_pagebanner_ {
<div id="banner">
  <div class="collectimage">
    _imagecollection_
    _pagebannerextra_
    _AREUHome_
  </div>
</div>
  <div class="bannerextra">
  </div>
<!­­ end of page banner ­­>
22 of 31
Greenstone, an Implementation in Afghanistan

}
_pagebannerextra_ {<span class="titleltr">AREU Library Catalogue</span>}
_pagebannerextra_ [l=prs] {<span class="titlertl">هناخبات  
ک یدنب هدر AREU</span>}
_pagebannerextra_ [l=ps] {<span class="titlertl">دAREU یدنب هدر نوتباتکد</span>}
###############################################################################
####  package document                                                     ####
###############################################################################
package document
_globallinks_{}
_textheader_ {
_cgihead_
_htmlhead_
<div id="page">
<div id="banner">
  <div class="collectimage">
    _imagecollection_
    _pagebannerextra_
    _Style:AREUHome_
  </div>
</div>
  <div class="bannerextra">
  </div>
<!­­ end of page banner ­­>
}
8.3 areu.css
/* default stylesheet for greenstone. */
#page {
  width:770px;
  margin­left:auto;
  margin­right:auto;
}
#banner {
  margin: 0;
  padding:0;
  width: 100%;
}
/* this div contains the bannerlinks and bannertitle paragraphs */
div.pageinfo {
  float: right;
  text­align: right;
  padding: 0;
  margin:0;
  width: 100%;
}
/* home, help, preferences links */
p.bannerlinks {
  margin:0;
  padding:0;
}
Greenstone, an Implementation in Afghanistan
23 of 31

span.titleltr
{
  padding: 0;
  margin:0;
  font­size: 30px;
  float: left;   
  text­align: bottom;
}
span.titlertl
{
  padding: 0;
  margin:0;
  font­size: 30px;
  float: right;   
  text­align: bottom;
}
span.titleltr a
{
  font­size: 20px;
}
span.titlertl a
{
  font­size: 20px;
}
/* make sure this is shown under the other divs (which may be floating) */
div.bannerextra
{
   clear: both;
}
/* the image for the collection, shown in the banner */
div.collectimage {
  float: left;
  padding:0;
  margin:0;
  border:0;
}
img
{
  padding:0;
  margin:0;
  border: 0;
}
span.langltr
{
  background­color: #b0cab0;
24 of 31
Greenstone, an Implementation in Afghanistan

   float: right;
   margin­top: ­22px;
   margin­right: 5px;
}
span.langrtl
{
  background­color: #b0cab0;
   float: left;
   margin­top: ­22px;
   margin­left: 5px;
}
/* bg image set in style macro */
div.navbar {
  background­color: #b0cab0;
  width: 770px;
  white­space: nowrap;
  font­weight: bold;
  text­transform: capitalize;
  padding: 5px 0;
  margin: 0;
  height: 22px;
}
div.barltr { /* opt navbar text inside a divbar div */
  float: left;
  background­color: #b0cab0;
  text­align: left; 
  height: 22px;
  width: 700;
}
div.barrtl { /* opt navbar text inside a divbar div */
  float: right;
  background­color: #b0cab0;
  text­align: right; 
  width: 700;
}
div.langltr
{
  background­color: #b0cab0;
   float: right;
  padding:0;
  margin:0;
   margin­right: 5px;
  width: 70;
  margin­top: ­3px;
}
div.langrtl
{
  background­color: #b0cab0;
   float: left;
Greenstone, an Implementation in Afghanistan
25 of 31

  padding:0;
  margin:0;
   margin­left: 5px;
  width: 70;
  margin­top: ­3px;
}
div.langltr form
{
  background­color: #b0cab0;
  padding:0;
  margin:0;
}
div.langrtl form
{
  background­color: #b0cab0;
  padding:0;
  margin:0;
}
/* anchors */
a {
margin: 0px;
padding: 0px;
font­weight: 400;
line­height: 20px;
text­decoration:  none; 
color: #234F33;
border: none;
 }
a:hover {
text­decoration:  underline;
 }
/* bg image set in style macro */
a.navlink {
  vertical­align: top; 
  padding: 0 5px 0 5px; 
  background­color: #b0cab0;
  color: #234F33;
  font­weight: bold;
}
/* bg image set in style macro */
a.navlink_sel {
  vertical­align: top;
  padding: 0 5px 0 5px; 
  background­color: #b0cab0;
  color: #FFFFFF;
  font­weight: bold;
}
a.navlink_sel:hover {
26 of 31
Greenstone, an Implementation in Afghanistan

text­decoration:  none;
 }
/* for the nav_ns4.dm macro only (for netscape4 support) */
a.navlink_ns4 {
  background­color: #FFFFFF;
}
a.navlink_sel_ns4 {
  background­color: #FFFFFF;
}
span.button
{
  margin:0 0 0 5px;
  white­space: nowrap;
  vertical­align: top; 
  padding: 0 5px 0 5px; 
  background­color: #234F33;
  float:right;
  text­transform: lowercase;
}
span.button a{
  color: #FFFFFF;
  font­weight: bold;
}
div.footer
{
  height: 40px; 
  width:100%; 
  font­size: 10px;
  text­align: center;
}
div.rtl {background­color: transparent; color: #234F33; direction: rtl;}
div.ltr {background­color: transparent; color: #234F33; direction: ltr;}
table.bdr {border­width: 2px; border­style: solid;}
table.bdr td {border­width: 1px;border­style: none; text­align: center;}
table.nobdr {border­width: 1px; border­style: none;}
td.head {font­weight: bolder; vertical­align: top; border­width: 1px; border­
style: solid none none none;}
td.body {border­width: 1px; border­style: solid none none none;}
/* this contains everything ­ all the other divs */
/* blankiconbar */
div.section p.bar {
  text­align: center;
}
Greenstone, an Implementation in Afghanistan
27 of 31

/* bg image set in style macro */
div.divbar { /* for "select a collection" */
  font­family: arial;
  font­size: 10pt;
  font­weight: bold;
  border: 0;
  width: 100%; /* for ns4 */
}
span.highlight {
  background: #ffff77;
}
span.textselect { white­space: nowrap; }
div.document {
 padding: .2em 0 0 0;
 clear: both;
 background­color: transparent;
}
div.documenttext { clear: both;} /* come after any floating divs */
div.searchresults{
  padding: 0;
  margin: .2em 0 .2em 0;
  background­color: transparent;
}
div.nextresult{
  display: inline;
  text­align:right;
  float:right;
  width:50%
}
div.prevresult{
   display:inline;
   float:left;    
   width:50%; 
}
div.heading_image {
  padding: 0;
  margin:0;
 float: left;
 } /* optional cover image */
8.4 areu.en.css
body
{
28 of 31
Greenstone, an Implementation in Afghanistan

  margin: 0;
  padding:0;
  background­color: #FFFFFF;
  font­family: "Trebuchet MS", sans­serif;
  font­size: 13px;
  color: #234F33;
}
8.5 areu.prs.css
body
{
  margin: 0;
  padding:0;
  background­color: #FFFFFF;
  font­family: "Trebuchet MS", sans­serif;
  font­size: 14px;
  color: #234F33;
}
8.6 areu.ps.css
body
{
  margin: 0;
  padding:0;
  background­color: #FFFFFF;
  font­family: "Trebuchet MS", sans­serif;
  font­size: 14px;
  color: #234F33;
}
8.7 HTML file 856.html
<!DOCTYPE HTML PUBLIC "­//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http­equiv="content­type" content="text/html; charset=UTF­8">
<title>Pain ­­ The unromantic carpet bazaar of Andkhoy / Adam... ­­ 2002?]</title>
<link rel="stylesheet" type="text/css" href="css/areu.css">
</head>
<body>
<div class="ltr">
<table class="nobdr">
<tr valign="top">
<td>
<table class="bdr">
<tr valign="top">
<td class="head">Call Number</td>
</tr>
<tr valign="top">
<td class="body">p381.09581
<br />(1812)
<br />P144
<br />[2002?]
<br />+ 
<br />PDF
<br />(38 KB)</td>
</tr>
<tr>
<td class="file"><a href="/gsdl/collect/areu/import/../Upload/856/Pain_The Unromantic Carpet 
Greenstone, an Implementation in Afghanistan
29 of 31

Bazaar of Andkhoy.doc"  target="_blank"><img src="/gsdl/images/imsword.gif" alt=icon><br /></a></td>
</tr>
</table></td>
<td>
<table class="nobdr">
<tr valign="top">
<td class="head">Author</td>
<td class="body">Pain, Adam.
<br />Moharram Ali.</td>
</tr>
<tr valign="top">
<td class="head">Title</td>
<td class="body">The unromantic carpet bazaar of Andkhoy / Adam Pain and Moharram Ali.</td>
</tr>
<tr valign="top">
<td class="head">Imprint</td>
<td class="body">[Kabul : Afghanistan Research and Evaluation Unit, Save the Children (US), 
2002?].</td>
</tr>
<tr valign="top">
<td class="head">Physical Description</td>
<td class="body">4 p. ; 30 cm.</td>
</tr>
<tr valign="top">
<td class="head">Subject Headings</td>
<td class="body">Rug and carpet industry – Afghanistan – Faryab (Province) – Andhkoy.
<br />Bazaars (Markets) – Afghanistan – Faryab (Province) – Andhkoy.
<br />Afghanistan – Faryab (Province) – Andhkoy – Economic conditions.</td>
</tr>
<tr valign="top">
<td class="head">Accession Number</td>
<td class="body">0735</td>
</tr>
<tr valign="top">
<td class="head">Language</td>
<td class="body">English</td>
</tr>
<tr valign="top">
<td class="head">Copies</td>
<td class="body">1</td>
</tr>
<tr valign="top">
<td class="head">Record Number</td>
<td class="body">856</td>
</tr>
</table></td>
</tr>
</table></div>
</body>
</html>
8.8 Metadata.xml file associated with 856.html
The XML file of the meta data extracts certain elements of the HTML file which 
is used to create the search indices.
<?xml version="1.0" encoding="UTF­8"?>
<!DOCTYPE DirectoryMetadata SYSTEM 
"http://greenstone.org/dtd/DirectoryMetadata/1.0/DirectoryMetadata.dtd">
<DirectoryMetadata>
<FileSet>
<Description>
<Metadata name="rfc1807.author" mode="accumulate">Pain, Adam.</Metadata>
<Metadata name="rfc1807.author" mode="accumulate">Moharram Ali.</Metadata>
<Metadata name="rfc1807.title" mode="accumulate">The unromantic carpet bazaar of Andkhoy / Adam 
Pain and Moharram Ali.</Metadata>
<Metadata name="rfc1807.keyword" mode="accumulate">Rug and carpet industry – Afghanistan – 
Faryab (Province) – Andhkoy.</Metadata>
<Metadata name="rfc1807.keyword" mode="accumulate">Bazaars (Markets) – Afghanistan – Faryab 
(Province) – Andhkoy.</Metadata>
30 of 31
Greenstone, an Implementation in Afghanistan

<Metadata name="rfc1807.keyword" mode="accumulate">Afghanistan – Faryab (Province) – Andhkoy – 
Economic conditions.</Metadata>
<Metadata name="rfc1807.id" mode="accumulate">0735</Metadata>
<Metadata name="rfc1807.language" mode="accumulate">English</Metadata>
</Description>
<FileName>.*</FileName>
</FileSet>
</DirectoryMetadata>
Greenstone, an Implementation in Afghanistan
31 of 31

Document Outline