Changeset 26125


Ignore:
Timestamp:
2012-08-20T19:18:21+12:00 (12 years ago)
Author:
ak19
Message:

Committing a GS3 collectionConfig.xml file for the Large Beatles (Advanced Multimedia tutorial) collection, which now also has the right syntax for displaying custom icons.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • documentation/trunk/tutorial_sample_files/beatles/advbeat_large/etc/collectionConfig.xml

    r26111 r26125  
    11<?xml version="1.0" encoding="UTF-8"?>
    2 <CollectionConfig xmlns:gsf="http://www.greenstone.org/greenstone3/schema/ConfigFormat" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    3 ><metadataList
    4 ><metadata lang="en" name="creator"
    5 >[email protected]</metadata
    6 ><metadata lang="en" name="public"
    7 >true</metadata
    8 ></metadataList
    9 ><displayItemList
    10 ><displayItem name="icon" lang="en"
    11 >beatlesmm.png</displayItem
    12 ><displayItem name="description" lang="en"
    13 >Demonstration collection illustrating the use of heterogeneous documents. Source documents are about The Beatles pop group in the following formats: HTML, TXT, JPEG, Word, PDF, MIDI, MP3, and MARC file formats.</displayItem
    14 ><displayItem name="name" lang="en"
    15 >Advanced Beatles -- large</displayItem
    16 ><displayItem name=".document:text" lang="en"
    17 >text</displayItem
    18 ><displayItem name=".document:Title" lang="en"
    19 >titles</displayItem
    20 ><displayItem name=".document:Source" lang="en"
    21 >filenames</displayItem
    22 ></displayItemList
    23 ><search type="mg"
    24 ><index name="document:text"
    25 ><displayItem name="name" lang="en"
    26 >document:text</displayItem
    27 ></index
    28 ><index name="document:Source"
    29 ><displayItem name="name" lang="en"
    30 >document:Source</displayItem
    31 ></index
    32 ><index name="document:Title"
    33 ><displayItem name="name" lang="en"
    34 >document:Title</displayItem
    35 ></index
    36 ><defaultIndex name="document:text"
    37  /><format
    38 ><gsf:template match="documentNode"
    39 ><td valign='top'> <gsf:switch><gsf:metadata name='numleafdocs' /><gsf:when test='exists' ><gsf:link type='document'><gsf:icon type='document'/></gsf:link></gsf:when></gsf:switch> <gsf:switch><gsf:metadata name='dc.Format' /><gsf:when test='equals' test-value='Lyrics' ><gsf:link type='document'>_iconlyrics_</gsf:link></gsf:when></gsf:switch> <gsf:switch><gsf:metadata name='dc.Format' /><gsf:when test='equals' test-value='Discography' ><gsf:link type='document'>_icondisc_</gsf:link></gsf:when></gsf:switch> <gsf:switch><gsf:metadata name='dc.Format' /><gsf:when test='equals' test-value='Tablature' ><gsf:link type='document'>_icontab_</gsf:link></gsf:when></gsf:switch> <gsf:switch><gsf:metadata name='dc.Format' /><gsf:when test='equals' test-value='MARC' ><gsf:link type='document'>_iconmarc_</gsf:link></gsf:when></gsf:switch> <gsf:switch><gsf:metadata name='dc.Format' /><gsf:when test='equals' test-value='Images' ><gsf:link type='source'><gsf:metadata name='thumbicon' /></gsf:link></gsf:when></gsf:switch> <gsf:switch><gsf:metadata name='dc.Format' /><gsf:when test='equals' test-value='Supplementary' ><gsf:link type='source'><gsf:icon type='source'/></gsf:link></gsf:when></gsf:switch> <gsf:switch><gsf:metadata name='dc.Format' /><gsf:when test='equals' test-value='Audio' ><gsf:link type='source'><gsf:switch><gsf:metadata name='FileFormat' /><gsf:when test='equals' test-value='MIDI' >_iconmidi_</gsf:when><gsf:otherwise>_iconmp3_</gsf:otherwise></gsf:switch></gsf:link></gsf:when></gsf:switch> </td> <td> <gsf:switch><gsf:metadata name='numleafdocs' /><gsf:when test='exists' >(<gsf:metadata name='numleafdocs' />)</gsf:when></gsf:switch> </td> <td valign='top'>  <gsf:choose-metadata><gsf:metadata name='dc.Title' /><gsf:metadata name='Title' /><gsf:default>Untitled</gsf:default></gsf:choose-metadata>  </td></gsf:template
    40 ></format
    41 ></search
    42 ><import
    43 ><pluginList
    44 ><plugin name="ZIPPlugin"
    45 ></plugin
    46 ><plugin name="GreenstoneXMLPlugin"
    47 ></plugin
    48 ><plugin name="TextPlugin"
    49 ></plugin
    50 ><plugin name="HTMLPlugin"
    51 ></plugin
    52 ><plugin name="ImagePlugin"
    53 ></plugin
    54 ><plugin name="EmailPlugin"
    55 ></plugin
    56 ><plugin name="PDFPlugin"
    57 ></plugin
    58 ><plugin name="RTFPlugin"
    59 ></plugin
    60 ><plugin name="WordPlugin"
    61 ></plugin
    62 ><plugin name="PostScriptPlugin"
    63 ></plugin
    64 ><plugin name="MARCPlugin"
    65 ></plugin
    66 ><plugin name="MP3Plugin"
    67 ></plugin
    68 ><plugin name="UnknownPlugin"
    69 ><option name="-process_exp" value="\.mid$"
    70 ></option
    71 ><option name="-mime_type" value="audio/midi"
    72 ></option
    73 ><option name="-file_format" value="MIDI"
    74 ></option
    75 ></plugin
    76 ><plugin name="MetadataXMLPlugin"
    77 ></plugin
    78 ><plugin name="ArchivesInfPlugin"
    79 ></plugin
    80 ><plugin name="DirectoryPlugin"
    81 ></plugin
    82 ></pluginList
    83 ></import
    84 ><browse
    85 ><format
    86 ><gsf:template match="documentNode"
    87 ><td valign='top'> <gsf:switch><gsf:metadata name='numleafdocs' /><gsf:when test='exists' ><gsf:link type='document'><gsf:icon type='document'/></gsf:link></gsf:when></gsf:switch> <gsf:switch><gsf:metadata name='dc.Format' /><gsf:when test='equals' test-value='Lyrics' ><gsf:link type='document'>_iconlyrics_</gsf:link></gsf:when></gsf:switch> <gsf:switch><gsf:metadata name='dc.Format' /><gsf:when test='equals' test-value='Discography' ><gsf:link type='document'>_icondisc_</gsf:link></gsf:when></gsf:switch> <gsf:switch><gsf:metadata name='dc.Format' /><gsf:when test='equals' test-value='Tablature' ><gsf:link type='document'>_icontab_</gsf:link></gsf:when></gsf:switch> <gsf:switch><gsf:metadata name='dc.Format' /><gsf:when test='equals' test-value='MARC' ><gsf:link type='document'>_iconmarc_</gsf:link></gsf:when></gsf:switch> <gsf:switch><gsf:metadata name='dc.Format' /><gsf:when test='equals' test-value='Images' ><gsf:link type='source'><gsf:metadata name='thumbicon' /></gsf:link></gsf:when></gsf:switch> <gsf:switch><gsf:metadata name='dc.Format' /><gsf:when test='equals' test-value='Supplementary' ><gsf:link type='source'><gsf:icon type='source'/></gsf:link></gsf:when></gsf:switch> <gsf:switch><gsf:metadata name='dc.Format' /><gsf:when test='equals' test-value='Audio' ><gsf:link type='source'><gsf:switch><gsf:metadata name='FileFormat' /><gsf:when test='equals' test-value='MIDI' >_iconmidi_</gsf:when><gsf:otherwise>_iconmp3_</gsf:otherwise></gsf:switch></gsf:link></gsf:when></gsf:switch> </td> <td> <gsf:switch><gsf:metadata name='numleafdocs' /><gsf:when test='exists' >(<gsf:metadata name='numleafdocs' />)</gsf:when></gsf:switch> </td> <td valign='top'>  <gsf:choose-metadata><gsf:metadata name='dc.Title' /><gsf:metadata name='Title' /><gsf:default>Untitled</gsf:default></gsf:choose-metadata>  </td></gsf:template
    88 ><gsf:template match="classifierNode"
    89 ><td valign='top'> <gsf:switch><gsf:metadata name='numleafdocs' /><gsf:when test='exists' ><gsf:link type='classifier'><gsf:icon type='classifier'/></gsf:link></gsf:when></gsf:switch> <gsf:switch><gsf:metadata name='dc.Format' /><gsf:when test='equals' test-value='Lyrics' ><gsf:link type='classifier'>_iconlyrics_</gsf:link></gsf:when></gsf:switch> <gsf:switch><gsf:metadata name='dc.Format' /><gsf:when test='equals' test-value='Discography' ><gsf:link type='classifier'>_icondisc_</gsf:link></gsf:when></gsf:switch> <gsf:switch><gsf:metadata name='dc.Format' /><gsf:when test='equals' test-value='Tablature' ><gsf:link type='classifier'>_icontab_</gsf:link></gsf:when></gsf:switch> <gsf:switch><gsf:metadata name='dc.Format' /><gsf:when test='equals' test-value='MARC' ><gsf:link type='classifier'>_iconmarc_</gsf:link></gsf:when></gsf:switch> <gsf:switch><gsf:metadata name='dc.Format' /><gsf:when test='equals' test-value='Images' ><gsf:link type='source'><gsf:metadata name='thumbicon' /></gsf:link></gsf:when></gsf:switch> <gsf:switch><gsf:metadata name='dc.Format' /><gsf:when test='equals' test-value='Supplementary' ><gsf:link type='source'><gsf:icon type='source'/></gsf:link></gsf:when></gsf:switch> <gsf:switch><gsf:metadata name='dc.Format' /><gsf:when test='equals' test-value='Audio' ><gsf:link type='source'><gsf:switch><gsf:metadata name='FileFormat' /><gsf:when test='equals' test-value='MIDI' >_iconmidi_</gsf:when><gsf:otherwise>_iconmp3_</gsf:otherwise></gsf:switch></gsf:link></gsf:when></gsf:switch></td> <td> <gsf:switch><gsf:metadata name='numleafdocs' /><gsf:when test='exists' >(<gsf:metadata name='numleafdocs' />)</gsf:when></gsf:switch> </td> <td valign='top'>  <gsf:choose-metadata><gsf:metadata name='dc.Title' /><gsf:metadata name='Title' /><gsf:default>Untitled</gsf:default></gsf:choose-metadata>  </td></gsf:template
    90 ><gsf:template match="classifierNode" mode="horizontal"
    91 ><gsf:link type='horizontal'><gsf:choose-metadata><gsf:metadata name='dls.Title' /><gsf:metadata name='dc.Title' /><gsf:metadata name='Title' /><gsf:default>Untitled</gsf:default></gsf:choose-metadata></gsf:link></gsf:template
    92 ></format
    93 ><classifier name="AZCompactList"
    94 ><option name="-mingroup" value="1"
    95 ></option
    96 ><option name="-metadata" value="dc.Title,Title"
    97 ></option
    98 ><option name="-minnesting" value="20"
    99 ></option
    100 ><option name="-firstvalueonly"
    101 ></option
    102 ><option name="-removesuffix" value="(?i)(\\s+\\d+)|(\\s*[[:punct:]]\\s+.*)|(\\s+&amp;#091;.*)|(\\s*by the beatles\\s*)"
    103 ></option
    104 ><option name="-buttonname" value="Title"
    105 ></option
    106 ><option name="-removeprefix" value="(?i)\\s*beatles\\s+\\-\\s+"
    107 ></option
    108 ></classifier
    109 ><classifier name="AZCompactList"
    110 ><option name="-metadata" value="dc.Format"
    111 ></option
    112 ><option name="-buttonname" value="Browse"
    113 ></option
    114 ><option name="-sort" value="Title"
    115 ></option
    116 ></classifier
    117 ><classifier name="Collage"
    118 ></classifier
    119 ></browse
    120 ><replaceListRef id="gs2-standard"
    121  /><replaceListRef id="gs2-image"
    122  /></CollectionConfig
    123 >
     2<CollectionConfig xmlns:gsf="http://www.greenstone.org/greenstone3/schema/ConfigFormat" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
     3    <metadataList>
     4        <metadata lang="en" name="creator">[email protected]</metadata>
     5        <metadata lang="en" name="maintainer"/>
     6        <metadata lang="en" name="public">true</metadata>
     7    </metadataList>
     8    <displayItemList>
     9        <displayItem assigned="true" lang="en" name="description">Demonstration collection illustrating the use of heterogeneous documents. Source documents are about The Beatles pop group in the following formats: HTML, TXT, JPEG, Word, PDF, MIDI, MP3, and MARC file formats.</displayItem>
     10        <displayItem assigned="true" lang="en" name="icon">beatlesmm.png</displayItem>
     11        <displayItem assigned="true" lang="en" name="name">Advanced Beatles -- large</displayItem>
     12        <displayItem assigned="true" lang="en" name="document:text">document:text</displayItem>
     13        <displayItem assigned="true" lang="en" name="document:Source">document:Source</displayItem>
     14        <displayItem assigned="true" lang="en" name="document:Title">document:Title</displayItem>
     15        <displayItem assigned="true" lang="en" name="text">text</displayItem>
     16        <displayItem assigned="true" lang="en" name="ex.Title">Title</displayItem>
     17        <displayItem assigned="true" lang="en" name="ex.Source">Source</displayItem>
     18    </displayItemList>
     19    <format>
     20            <gsf:template name="choose-title">
     21                <gsf:choose-metadata>
     22                    <gsf:metadata name="dc.Title"/>
     23                    <gsf:metadata name="exp.Title"/>
     24                    <gsf:metadata name="ex.dc.Title"/>
     25                    <gsf:metadata name="Title"/>
     26                    <gsf:default>Untitled</gsf:default>
     27                </gsf:choose-metadata>
     28            </gsf:template>
     29        </format>
     30    <search type="mg">
     31        <index name="document:text">
     32            <displayItem lang="en" name="name">document:text</displayItem>
     33        </index>
     34        <index name="document:Source">
     35            <displayItem lang="en" name="name">document:Source</displayItem>
     36        </index>
     37        <index name="document:Title">
     38            <displayItem lang="en" name="name">document:Title</displayItem>
     39        </index>
     40        <defaultIndex name="document:text"/>
     41        <searchType name="plain"/>
     42        <searchType name="simpleform"/>
     43        <searchType name="advancedform"/>
     44        <format>
     45            <gsf:template match="documentNode">
     46                <td valign="top">
     47                    <gsf:switch>
     48                        <gsf:metadata name="numleafdocs"/>
     49                        <gsf:when test="exists">
     50                            <gsf:link type="document">
     51                                <gsf:icon type="document"/>
     52                            </gsf:link>
     53                        </gsf:when>
     54                    </gsf:switch>
     55                    <gsf:switch>
     56                        <gsf:metadata name="dc.Format"/>
     57                        <gsf:when test="equals" test-value="Lyrics">
     58                            <gsf:link type="document">_iconlyrics_</gsf:link>
     59                        </gsf:when>
     60                    </gsf:switch>
     61                    <gsf:switch>
     62                        <gsf:metadata name="dc.Format"/>
     63                        <gsf:when test="equals" test-value="Discography">
     64                            <gsf:link type="document">_icondisc_</gsf:link>
     65                        </gsf:when>
     66                    </gsf:switch>
     67                    <gsf:switch>
     68                        <gsf:metadata name="dc.Format"/>
     69                        <gsf:when test="equals" test-value="Tablature">
     70                            <gsf:link type="document">_icontab_</gsf:link>
     71                        </gsf:when>
     72                    </gsf:switch>
     73                    <gsf:switch>
     74                        <gsf:metadata name="dc.Format"/>
     75                        <gsf:when test="equals" test-value="MARC">
     76                            <gsf:link type="document">_iconmarc_</gsf:link>
     77                        </gsf:when>
     78                    </gsf:switch>
     79                    <gsf:switch>
     80                        <gsf:metadata name="dc.Format"/>
     81                        <gsf:when test="equals" test-value="Images">
     82                            <gsf:link type="source">
     83                                <gsf:metadata name="thumbicon"/>
     84                            </gsf:link>
     85                        </gsf:when>
     86                    </gsf:switch>
     87                    <gsf:switch>
     88                        <gsf:metadata name="dc.Format"/>
     89                        <gsf:when test="equals" test-value="Supplementary">
     90                            <gsf:link type="source">
     91                                <gsf:icon type="source"/>
     92                            </gsf:link>
     93                        </gsf:when>
     94                    </gsf:switch>
     95                    <gsf:switch>
     96                        <gsf:metadata name="dc.Format"/>
     97                        <gsf:when test="equals" test-value="Audio">
     98                            <gsf:link type="source">
     99                                <gsf:switch>
     100                                    <gsf:metadata name="FileFormat"/>
     101                                    <gsf:when test="equals" test-value="MIDI">_iconmidi_</gsf:when>
     102                                    <gsf:otherwise>_iconmp3_</gsf:otherwise>
     103                                </gsf:switch>
     104                            </gsf:link>
     105                        </gsf:when>
     106                    </gsf:switch>
     107                </td>
     108                <td>
     109                    <gsf:switch>
     110                        <gsf:metadata name="numleafdocs"/>
     111                        <gsf:when test="exists">(<gsf:metadata name="numleafdocs"/>)</gsf:when>
     112                    </gsf:switch>
     113                </td>
     114                <td valign="top">
     115                    <gsf:choose-metadata>
     116                        <gsf:metadata name="dc.Title"/>
     117                        <gsf:metadata name="Title"/>
     118                        <gsf:default>Untitled</gsf:default>
     119                    </gsf:choose-metadata>
     120                </td>
     121            </gsf:template>
     122        </format>
     123    </search>
     124    <infodb type="gdbm"/>
     125    <import>
     126        <pluginList>
     127            <plugin name="ZIPPlugin"/>
     128            <plugin name="GreenstoneXMLPlugin"/>
     129            <plugin name="TextPlugin"/>
     130            <plugin name="HTMLPlugin"/>
     131            <plugin name="ImagePlugin"/>
     132            <plugin name="EmailPlugin"/>
     133            <plugin name="PDFPlugin"/>
     134            <plugin name="RTFPlugin"/>
     135            <plugin name="WordPlugin"/>
     136            <plugin name="PostScriptPlugin"/>
     137            <plugin name="MARCPlugin"/>
     138            <plugin name="MP3Plugin"/>
     139            <plugin name="UnknownPlugin">
     140                <option name="-process_exp" value="\.mid$"/>
     141                <option name="-mime_type" value="audio/midi"/>
     142                <option name="-file_format" value="MIDI"/>
     143            </plugin>
     144            <plugin name="MetadataXMLPlugin"/>
     145            <plugin name="ArchivesInfPlugin"/>
     146            <plugin name="DirectoryPlugin"/>
     147        </pluginList>
     148    </import>
     149    <browse>
     150        <classifier name="AZCompactList">
     151            <option name="-mingroup" value="1"/>
     152            <option name="-metadata" value="dc.Title,Title"/>
     153            <option name="-minnesting" value="20"/>
     154            <option name="-firstvalueonly"/>
     155            <option name="-removesuffix" value="(?i)(\\s+\\d+)|(\\s*[[:punct:]]\\s+.*)|(\\s+&amp;#091;.*)|(\\s*by the beatles\\s*)"/>
     156            <option name="-buttonname" value="Title"/>
     157            <option name="-removeprefix" value="(?i)\\s*beatles\\s+\\-\\s+"/>
     158        </classifier>
     159        <classifier name="AZCompactList">
     160            <option name="-metadata" value="dc.Format"/>
     161            <option name="-buttonname" value="Browse"/>
     162            <option name="-sort" value="Title"/>
     163        </classifier>
     164        <classifier name="Collage"/>
     165        <format>  <gsf:template match="documentNode">
     166    <td valign="top">
     167      <gsf:switch>
     168        <gsf:metadata name="dc.Format"/>
     169        <gsf:when test="equals" test-value="Lyrics">
     170          <gsf:link type="document">
     171            <gsf:icon file="lyrics.gif"/>
     172          </gsf:link>
     173        </gsf:when>
     174        <gsf:when test="equals" test-value="Discography">
     175          <gsf:link type="document">
     176            <gsf:icon file="disc.gif"/>
     177          </gsf:link>
     178        </gsf:when>
     179        <gsf:when test="equals" test-value="Tablature">
     180          <gsf:link type="document">
     181            <gsf:icon file="tab.gif"/>
     182          </gsf:link>
     183        </gsf:when>
     184        <gsf:when test="equals" test-value="MARC">
     185          <gsf:link type="document">
     186            <gsf:icon file="marc.gif"/>
     187          </gsf:link>
     188        </gsf:when>
     189        <gsf:when test="equals" test-value="Images">
     190          <gsf:link type="source">
     191            <gsf:metadata name="thumbicon"/>
     192          </gsf:link>
     193        </gsf:when>
     194        <gsf:when test="equals" test-value="Supplementary">
     195          <gsf:link type="source">
     196            <gsf:metadata name="srcicon"/>
     197          </gsf:link>
     198        </gsf:when>
     199        <gsf:when test="equals" test-value="Audio">
     200          <gsf:link type="source">
     201            <gsf:switch>
     202              <gsf:metadata name="FileFormat"/>
     203              <gsf:when test="equals" test-value="MIDI">
     204                <gsf:icon file="midi.gif"/>
     205              </gsf:when>
     206              <gsf:otherwise>
     207                <gsf:metadata name="srcicon"/>
     208              </gsf:otherwise>
     209            </gsf:switch>
     210          </gsf:link>
     211        </gsf:when>
     212      </gsf:switch>
     213    </td>
     214    <td valign="top">
     215      <gsf:link type="document">
     216<!--
     217Defined in the global format statement
     218-->
     219        <xsl:call-template name="choose-title"/>
     220      </gsf:link>
     221    </td>
     222  </gsf:template>
     223  <gsf:template match="classifierNode[@classifierStyle = 'VList']">
     224    <td valign="top">
     225      <gsf:link type="classifier">
     226        <gsf:icon type="classifier"/>
     227      </gsf:link>
     228    </td>
     229    <td valign="top">
     230      <gsf:link type="source">
     231        <gsf:choose-metadata>
     232          <gsf:metadata name="thumbicon"/>
     233          <gsf:metadata name="srcicon"/>
     234        </gsf:choose-metadata>
     235      </gsf:link>
     236    </td>
     237    <td valign="top">
     238<!--
     239Defined in the global format statement
     240-->
     241      <xsl:call-template name="choose-title"/>
     242    </td>
     243    <td>(<gsf:metadata name="numleafdocs"/>)</td>
     244  </gsf:template>
     245  <gsf:template match="classifierNode[@classifierStyle = 'HList']">
     246    <gsf:link type="classifier">
     247      <gsf:metadata name="Title"/>
     248    </gsf:link>
     249  </gsf:template>
    124250
     251</format>
     252    </browse>
     253    <display>
     254        <format>
     255            <gsf:option name="TOC" value="true"/>
     256<!--
     257Overwriting this template allows you to change the heading of the document.
     258-->
     259<!--
     260<gsf:template name="documentHeading"><span style="font-weight:bold; font-size: 120%;"><xsl:call-template name="choose-title"/></span></gsf:template>
     261-->
     262<!--
     263Overwriting 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.
     264-->
     265<!--
     266<gsf:template name="documentContent"><xsl:call-template name="wrappedSectionImage"/><xsl:call-template name="wrappedSectionText"/></gsf:template>
     267-->
     268<!--
     269Overwriting this template can be used to change the content of section headings.
     270-->
     271<!--
     272<gsf:template name="sectionHeading"><xsl:call-template name="choose-title"/></gsf:template>
     273-->
     274<!--
     275Overwriting this template can be used to change the content of the top-level section.
     276-->
     277<!--
     278<gsf:template name="topLevelSectionContent"><xsl:call-template name="wrappedSectionImage"/><xsl:call-template name="wrappedSectionText"/></gsf:template>
     279-->
     280<!--
     281Overwriting this template can be used to change the content of sections.
     282-->
     283<!--
     284<gsf:template name="sectionContent"><xsl:call-template name="wrappedSectionImage"/><xsl:call-template name="wrappedSectionText"/></gsf:template>
     285-->
     286        </format>
     287    </display>
     288    <replaceListRef id="gs2-standard"/>
     289    <replaceListRef id="gs2-image"/>
     290</CollectionConfig>
Note: See TracChangeset for help on using the changeset viewer.