1 | <?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 | <metadata lang="en" name="maintainer"/>
|
---|
6 | <metadata lang="en" name="public">true</metadata>
|
---|
7 | </metadataList>
|
---|
8 | <displayItemList>
|
---|
9 | <displayItem assigned="true" lang="en" name="name">Pei-Jones-Flat</displayItem>
|
---|
10 | </displayItemList>
|
---|
11 | <search type="mgpp">
|
---|
12 | <level name="document">
|
---|
13 | <displayItem lang="en" name="name">document</displayItem>
|
---|
14 | </level>
|
---|
15 | <level name="section">
|
---|
16 | <displayItem lang="en" name="name">section</displayItem>
|
---|
17 | </level>
|
---|
18 | <defaultLevel name="section"/>
|
---|
19 | <index name="text">
|
---|
20 | <displayItem lang="en" name="name">text</displayItem>
|
---|
21 | </index>
|
---|
22 | <index name="Title">
|
---|
23 | <displayItem lang="en" name="name">titles</displayItem>
|
---|
24 | </index>
|
---|
25 | <index name="Source">
|
---|
26 | <displayItem lang="en" name="name">filenames</displayItem>
|
---|
27 | </index>
|
---|
28 | <index name="Plugin"/>
|
---|
29 | <defaultIndex name="text"/>
|
---|
30 | <indexOption>
|
---|
31 | <option name="accentfold"/>
|
---|
32 | <option name="casefold"/>
|
---|
33 | <option name="stem"/>
|
---|
34 | </indexOption>
|
---|
35 | <searchType name="plain"/>
|
---|
36 | <searchType name="simpleform"/>
|
---|
37 | <searchType name="advancedform"/>
|
---|
38 | <format><gsf:template match="documentNode"><td valign="top"><gsf:link type="document"><gsf:icon type="document"/></gsf:link></td><td><gsf:switch><gsf:metadata name="Title" select="ancestors" separator=": "/><gsf:when test="exists"><gsf:metadata name="Title" select="ancestors" separator=": "/>:</gsf:when></gsf:switch><gsf:link type="document"><gsf:metadata name="Title"/></gsf:link></td></gsf:template> </format>
|
---|
39 | </search>
|
---|
40 | <infodb type="gdbm"/>
|
---|
41 | <import>
|
---|
42 | <pluginList>
|
---|
43 | <plugin name="ZIPPlugin"/>
|
---|
44 | <plugin name="GreenstoneXMLPlugin"/>
|
---|
45 | <plugin name="TextPlugin"/>
|
---|
46 | <plugin name="HTMLPlugin"/>
|
---|
47 | <plugin name="EmailPlugin"/>
|
---|
48 | <plugin name="PDFPlugin"/>
|
---|
49 | <plugin name="RTFPlugin"/>
|
---|
50 | <plugin name="WordPlugin"/>
|
---|
51 | <plugin name="PostScriptPlugin"/>
|
---|
52 | <plugin name="PowerPointPlugin"/>
|
---|
53 | <plugin name="ExcelPlugin"/>
|
---|
54 | <plugin name="ImagePlugin"/>
|
---|
55 | <plugin name="ISISPlugin"/>
|
---|
56 | <plugin name="NulPlugin"/>
|
---|
57 | <plugin name="OAIPlugin"/>
|
---|
58 | <plugin name="HTMLImagePlugin"/>
|
---|
59 | <plugin name="MetadataXMLPlugin"/>
|
---|
60 | <plugin name="ArchivesInfPlugin"/>
|
---|
61 | <plugin name="DirectoryPlugin"/>
|
---|
62 | </pluginList>
|
---|
63 | </import>
|
---|
64 | <browse>
|
---|
65 | <classifier name="List">
|
---|
66 | <option name="-metadata" value="dc.Title;Title"/>
|
---|
67 | <option name="-partition_type_within_level" value="approximate_size"/>
|
---|
68 | <option name="-bookshelf_type" value="never"/>
|
---|
69 | </classifier>
|
---|
70 | <classifier name="AZCompactList">
|
---|
71 | <option name="-metadata" value="Source"/>
|
---|
72 | <option name="-removesuffix" value="(?i)\\..*"/>
|
---|
73 | <option name="-buttonname" value="Source"/>
|
---|
74 | </classifier>
|
---|
75 | <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:choose-metadata> <gsf:metadata name="dc.Title"/> <gsf:metadata name="exp.Title"/> <gsf:metadata name="Title"/> <gsf:default>Untitled</gsf:default> </gsf:choose-metadata> <gsf:switch> <gsf:metadata name="Source"/> <gsf:when test="exists"> <br/><i>(<gsf:metadata name="Source"/>)</i> </gsf:when> </gsf:switch> </td> </gsf:template> <gsf:template match="classifierNode"> <td valign="top"> <gsf:link type="classifier"> <gsf:icon type="classifier"/> </gsf:link> </td> <td valign="top"> <gsf:metadata name="srclink"/> <gsf:choose-metadata> <gsf:metadata name="thumbicon"/> <gsf:metadata name="srcicon"/> </gsf:choose-metadata> <gsf:metadata name="/srclink"/> </td> <td valign="top"> <gsf:choose-metadata> <gsf:metadata name="dc.Title"/> <gsf:metadata name="exp.Title"/> <gsf:metadata name="Title"/> <gsf:default>Untitled</gsf:default> </gsf:choose-metadata> <gsf:switch> <gsf:metadata name="Source"/> <gsf:when test="exists"> <br/><i>(<gsf:metadata name="Source"/>)</i> </gsf:when> </gsf:switch> </td> </gsf:template> <gsf:template match="classifierNode" mode="horizontal"> <gsf:link type="horizontal"> <gsf:metadata name="Title"/> </gsf:link> </gsf:template> </format>
|
---|
76 | </browse>
|
---|
77 | <display>
|
---|
78 | <format><gsf:option name="sideBar" value="false"/> <xsl:template name="additionalHeaderContent"> <#comment/> <script src="sites/localsite/collect/peijones/js/annotator/lib/vendor/jquery.js"><xsl:text> </xsl:text></script> <#comment/> <script src="sites/localsite/collect/peijones/js/annotator/lib/vendor/json2.js"><xsl:text> </xsl:text></script> <script src="sites/localsite/collect/peijones/js/annotator/pkg/annotator-full.min.js"><xsl:text> </xsl:text></script> <#comment/> <#comment/> <#comment/> <link href="sites/localsite/collect/peijones/js/annotator/pkg/annotator.min.css" rel="stylesheet" type="text/css"/> <#comment/> <#comment/> <#comment/> <#comment/> <#comment/> <#comment/> <#comment/> <#comment/> <#comment/> <#comment/> <#comment/> <#comment/> <#comment/> <script src="sites/localsite/collect/peijones/js/documentmaker/BrowserDetect.js" type="text/javascript"><xsl:text> </xsl:text></script> <script src="sites/localsite/collect/peijones/js/documentmaker/PhotoNotes-1.5.js" type="text/javascript"><xsl:text> </xsl:text></script> <link href="sites/localsite/collect/peijones/style/PhotoNotes-1.5.css" rel="stylesheet" type="text/css"/> <#comment/> <#comment/> <script src="sites/localsite/collect/peijones/js/documentmaker/zoomer.jquery.js" type="text/javascript"><xsl:text> </xsl:text></script> <link href="sites/localsite/collect/peijones/style/style.css" rel="stylesheet" type="text/css"/> <script type="text/javascript"> <xsl:text disable-output-escaping="yes"> _zoomEnabled = true; function readyImagesForZoom() { var noZoom = document.getElementById("noZoom"); var wrap = document.getElementById("wrap"); if(!noZoom || !wrap) { return; } var smallImageDiv = document.getElementById("small"); var smallImage = smallImageDiv.getElementsByTagName("img")[0]; smallImageDiv.style.width = smallImageWidth + "px"; smallImageDiv.style.height = smallImageHeight + "px"; var multiplier = largeImageHeight / smallImageHeight; $("#wrap").anythingZoomer({ expansionSize:50, speedMultiplier:multiplier }); noZoom.onclick = function(){addZoom();} document.getElementById("overlay").onclick = function(){removeZoom();} removeZoom(); } function addZoom() { if(!_zoomEnabled) { return; } var wrapper = document.getElementById("wrap"); var noZoom = document.getElementById("noZoom"); if(!noZoom || !wrapper) { return; } noZoom.style.display = "none"; wrapper.style.display = "block"; var option = document.getElementById("zoomOption"); if(option) { option.setAttribute("onclick", "removeZoom();"); } } function removeZoom() { if(!_zoomEnabled) { return; } var wrapper = document.getElementById("wrap"); var noZoom = document.getElementById("noZoom"); if(!noZoom || !wrapper) { return; } wrapper.style.display = "none"; noZoom.style.display = "block"; var option = document.getElementById("zoomOption"); if(option) { option.setAttribute("onclick", "addZoom();"); } } </xsl:text> </script> <script text="text/javascript"> <xsl:text disable-output-escaping="yes"> var _posCount = 0; var _notes; function initNotes() { /* create the Photo Note Container */ _notes = new PhotoNoteContainer(document.getElementById("noZoom")); getNotes(); } function deleteFunction(note) { var callback = { success: function(response) { var updateURL = gs.siteMetadata.siteURL.replace("8080","9090") + gs.xsltParams.library_name + "?a=s&sa=c"; var updateCallback = { success: function(response){}, failed: function(){alert("Failed in deleteFunction() to update Greenstone server with: " + updateURL);} }; YAHOO.util.Connect.asyncRequest("GET", updateURL, updateCallback); }, failed: function(){ alert("Failed in deleteFunction() with note id: " + note.id)}, }; var status = true; if (note && note.id && note.id > 0) { var metaposStr = note.id - 1; var url = gs.siteMetadata.siteURL.replace("8080","9090") + "cgi-bin/metadata-server.pl?a=remove-metadata&site=localsite&c=" + gs.cgiParams.c + "&d=" + gs.cgiParams.d + "&metaname=gsimg.photoNote&metapos=" + metaposStr; YAHOO.util.Connect.asyncRequest("GET", url, callback); } else { alert("Failed to find valid note data to delete"); status = false; } return status; } function saveFunction(note) { var callback = { success: function(response) { var updateURL = gs.siteMetadata.siteURL.replace("8080","9090") + gs.xsltParams.library_name + "?a=s&sa=c"; var updateCallback = { success: function(response){}, failed: function(reponse){ alert("Failed in saveFunction() to update Greenstone server with: " + updateURL);} }; YAHOO.util.Connect.asyncRequest("GET", updateURL, updateCallback); }, failed: function(reponse){ alert("Failed in saveFunction() with note id: " + note.id)}, }; var jsonVal = '{"caption":"' + note.text + '", "area":{"x":' + note.rect.left + ', "y":' + note.rect.top + ', "width":' + note.rect.width + ', "height":' + note.rect.height + '}}'; var metaposStr = (note && note.id && note.id > 0) ? note.id - 1 : _posCount; var saveURL = gs.siteMetadata.siteURL.replace("8080","9090") + "cgi-bin/metadata-server.pl?a=set-metadata&site=localsite&c=" + gs.cgiParams.c + "&d=" + gs.cgiParams.d + "&metaname=gsimg.photoNote&metavalue=" + jsonVal + "&metapos=" + metaposStr; YAHOO.util.Connect.asyncRequest("GET", saveURL, callback); return 1; } function getNotes() { if(gs.variables.photoNotes == null || gs.variables.photoNotes == undefined) { console.log("No photo notes"); return; } for(var i = 0; i < gs.variables.photoNotes.length; i++) { var note = gs.variables.photoNotes[i]; if(!note) { continue; } var newNote = new PhotoNote(note.caption, i+1, new PhotoNoteRect(note.area.x,note.area.y,note.area.width,note.area.height)); newNote.onsave = saveFunction; newNote.ondelete = deleteFunction; _notes.AddNote(newNote); _posCount++; } addNoteOverAndOutHandlers(); } function AddNote() { var newNote = new PhotoNote('Add note text here...',_posCount+1,new PhotoNoteRect(10,10,50,50)); newNote.onsave = saveFunction; newNote.ondelete = deleteFunction; _notes.AddNote(newNote); _posCount++; addNoteOverAndOutHandlers(); newNote.Select(); } function addNoteOverAndOutHandlers() { var divs = document.getElementsByTagName("DIV"); for(var i = 0; i < divs.length; i++) { if(divs[i].getAttribute("class") && divs[i].getAttribute("class").search("fn-area") != -1) { divs[i].onmouseover = function(){_zoomEnabled = false;} divs[i].onmouseout = function(){_zoomEnabled = true;} } } } window.onload = function(){initNotes(); readyImagesForZoom(); initAnnotator();}; </xsl:text> </script> <script text="text/javascript"> <xsl:text disable-output-escaping="yes"> function initAnnotator() { jQuery(function ($) { if (typeof $.fn.annotator !== 'function') { alert("Ooops! it looks like you haven't built the Annotator concatenation file. " + "Either download a tagged release from GitHub, or modify the Cakefile to point " + "at your copy of the YUI compressor and run `cake package`."); } else { /* jQuery('#gs-document-text').annotator() .annotator('addPlugin', 'Store', { prefix: 'http://annotateit.org/api', annotationData: {'uri':document.URL} }) .annotator('addPlugin', 'Auth', { userId: 'papitha', // Your AnnotateIt username consumerKey: '39fc339cf058bd22176771b3e33c5dac', // Your Account Key authToken: '852b7fc25396d2aedf9aeb44dd58518faa679dbf027892164bfb81900bd09741' // Your Auth Token }); */ jQuery(function ($) { // Include AnnotateIt credentials to load the store plugin. $('#gs-document-text').annotator().annotator('setupPlugins', { userId: 'papitha', userName: 'Papitha', accountId: '39fc339cf058bd22176771b3e33c5dac', authToken: '852b7fc25396d2aedf9aeb44dd58518faa679dbf027892164bfb81900bd09741', }, { //Store: {annotationData: {'uri':document.URL}} }); }); } }); } </xsl:text> </script> </xsl:template> <xsl:template name="documentImage"> <#comment/> <gsf:variable-struct name="photoNotes"> <gsf:metadata multiple="true" name="gsimg.photoNote" separator=", "/> </gsf:variable-struct> <#comment/> <h3> <gsf:choose-metadata> <gsf:metadata name="dc.Title"/> <gsf:metadata name="ex.Title"/> </gsf:choose-metadata> </h3> <xsl:variable name="imageWidth"> <gsf:choose-metadata> <gsf:metadata name="ImageWidth"/> <gsf:default>-1</gsf:default> </gsf:choose-metadata> </xsl:variable> <xsl:variable name="imageHeight"> <gsf:choose-metadata> <gsf:metadata name="ImageHeight"/> <gsf:default>-1</gsf:default> </gsf:choose-metadata> </xsl:variable> <xsl:variable name="screenImageWidth"> <gsf:choose-metadata> <gsf:metadata name="ScreenWidth"/> <gsf:default>-1</gsf:default> </gsf:choose-metadata> </xsl:variable> <xsl:variable name="screenImageHeight"> <gsf:choose-metadata> <gsf:metadata name="ScreenHeight"/> <gsf:default>-1</gsf:default> </gsf:choose-metadata> </xsl:variable> <script type="text/javascript"> <xsl:text>largeImageHeight =</xsl:text><xsl:value-of select="$imageHeight"/><xsl:text>;</xsl:text> <xsl:text>largeImageWidth =</xsl:text><xsl:value-of select="$imageWidth"/><xsl:text>;</xsl:text> <xsl:text>smallImageHeight =</xsl:text><xsl:value-of select="$screenImageHeight"/><xsl:text>;</xsl:text> <xsl:text>smallImageWidth =</xsl:text><xsl:value-of select="$screenImageWidth"/><xsl:text>;</xsl:text> </script> <div id="noZoom" style="display:block;"> <gsf:metadata name="screenicon"/> </div> <#comment/> <div id="wrap" style="display:none; width: {$screenImageWidth}; height: {$screenImageHeight};"> <div id="small" style="width: {$screenImageWidth}; height: {$screenImageHeight};"><gsf:metadata name="screenicon"/></div> <div id="mover"> <div id="overlay"><xsl:text> </xsl:text></div> <div id="large"> <img style="width: {$imageWidth}; height: {$imageHeight};"> <xsl:attribute name="src"> <xsl:value-of disable-output-escaping="yes" select="/page/pageResponse/collection/metadataList/metadata[@name='httpPath']"/>/index/assoc/<gsf:metadata name="assocfilepath"/>/<gsf:metadata name="srclinkFile"/> </xsl:attribute> </img> </div> </div> </div> <input onclick="AddNote();" style="margin-left:30px;" type="button" value="Tag Photo!"/> <#comment/> </xsl:template> </format>
|
---|
79 | </display>
|
---|
80 | <replaceListRef id="gs2-standard"/>
|
---|
81 | <replaceListRef id="gs2-image"/>
|
---|
82 | <serviceRackList>
|
---|
83 | <!-- comment out the following serviceRack if you want to disable OAI for this collection -->
|
---|
84 | <serviceRack name="OAIPMH">
|
---|
85 | <ListMetadataFormats>
|
---|
86 | <!--What metadata sets to support is collection specific. To support other metadata schema, simply add a metadataFormat element here.
|
---|
87 | The support of unqualified Dublin Core metadata set is mandatory in the oai specification.
|
---|
88 | -->
|
---|
89 | <metadataFormat metadataPrefix="oai_dc">
|
---|
90 | <metadataPrefix>oai_dc</metadataPrefix>
|
---|
91 | <schema>http://www.openarchives.org/OAI/2.0/oai_dc.xsd</schema>
|
---|
92 | <metadataNamespace>http://www.openarchives.org/OAI/2.0/oai_dc/</metadataNamespace>
|
---|
93 | <!--<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>
|
---|
94 | -->
|
---|
95 | <mappingList>
|
---|
96 | <!--
|
---|
97 | The mapping is in the form: <publicly supported metadata name>,<mapped metadata name>, short as <A>,<B>
|
---|
98 | The first metadata name is medatory; if there is no mapped name followed, then the first name must be used by the records and
|
---|
99 | searchable in the database, otherwise it is the mapped name stored in the database. The number of mapping elements matches the
|
---|
100 | number of external metadata of the records. If only one name is present, the returned metadata will use this name plus the retrieved value;
|
---|
101 | if both <A>,<B> are present, the returned metadata will use <A>'s name plus <B>'s value retrieved from database.
|
---|
102 |
|
---|
103 | **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.
|
---|
104 |
|
---|
105 | **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.
|
---|
106 | -->
|
---|
107 | <mapping>dc.Title,Title</mapping>
|
---|
108 | <!-- 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. -->
|
---|
109 | </mappingList>
|
---|
110 | </metadataFormat>
|
---|
111 | </ListMetadataFormats>
|
---|
112 | </serviceRack>
|
---|
113 | </serviceRackList>
|
---|
114 | </CollectionConfig>
|
---|