source: main/trunk/model-sites-dev/mars/collect/deam/etc/collectionConfig.xml@ 34401

Last change on this file since 34401 was 34401, checked in by davidb, 4 years ago

Updated to work with DEAM metadata

File size: 12.8 KB
Line 
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"></metadata>
5 <metadata lang="en" name="maintainer"></metadata>
6 <metadata lang="en" name="public">true</metadata>
7 </metadataList>
8 <displayItemList>
9 <displayItem assigned="true" lang="en" name="name">DEAM dataset</displayItem>
10 <displayItem assigned="true" lang="en" name="description">
11 <p>
12 This colletion is sourced from the
13 <a href="http://cvml.unige.ch/databases/DEAM/">media-eval Database for Emotional Analysis of Music (DEAM)</a> dataset.
14 It provides a way to explore the developing music-content enrichment capabilities of Greenstone3.
15 </p>
16
17 </displayItem>
18 </displayItemList>
19 <search type="lucene">
20 <level name="document">
21 <displayItem lang="en" name="name">document</displayItem>
22 </level>
23<!--
24 <level name="section">
25 <displayItem lang="en" name="name">section</displayItem>
26 </level>
27-->
28 <defaultLevel name="document"/>
29 <index name="Songtitle,Track,title,Artist,artist,Genre,genre,Album,album">
30 <displayItem lang="en" name="name">all fields</displayItem>
31 </index>
32 <index name="Songtitle,Track,title">
33 <displayItem lang="en" name="name">titles</displayItem>
34 </index>
35 <index name="Artist,artist">
36 <displayItem lang="en" name="name">artists</displayItem>
37 </index>
38 <index name="Genre,genre">
39 <displayItem lang="en" name="name">genre</displayItem>
40 </index>
41 <index name="Album,album">
42 <displayItem lang="en" name="name">album</displayItem>
43 </index>
44 <defaultIndex name="Songtitle,Track,title,Artist,artist,Genre,genre,Album,album"/>
45 <searchType name="plain"/>
46 <searchType name="simpleform"/>
47 <searchType name="advancedform"/>
48 <format>
49 <gsf:template match="documentNode">
50 <td valign="top">
51 <gsf:link type="document">
52 <gsf:icon type="document"/>
53 </gsf:link>
54 </td>
55 <td>
56 <gsf:switch>
57 <gsf:metadata name="Title" select="ancestors" separator=": "/>
58 <gsf:when test="exists">
59 <gsf:metadata name="Title" select="ancestors" separator=": "/>:
60 </gsf:when>
61 </gsf:switch>
62 <gsf:link type="document">
63 <gsf:metadata name="Title"/>
64 </gsf:link>
65 </td>
66 </gsf:template>
67 </format>
68 </search>
69 <infodb type="jdbm"/>
70 <import>
71 <pluginList>
72 <plugin name="ZIPPlugin"/>
73 <plugin name="GreenstoneXMLPlugin"/>
74
75 <plugin name="EmbeddedMetadataPlugin"/>
76 <plugin name="MetadataCSVPlugin"/>
77
78 <plugin name="EssentiaPlugin">
79 <option name="-compute_essentia_features" value="true"/>
80 <option name="-enable_cache"/>
81 </plugin>
82
83 <plugin name="TextPlugin"/>
84 <plugin name="HTMLPlugin"/>
85 <plugin name="EmailPlugin"/>
86 <plugin name="PDFv2Plugin"/>
87 <plugin name="RTFPlugin"/>
88 <plugin name="WordPlugin"/>
89 <plugin name="PostScriptPlugin"/>
90 <plugin name="PowerPointPlugin"/>
91 <plugin name="ExcelPlugin"/>
92 <plugin name="ImagePlugin"/>
93 <plugin name="ISISPlugin"/>
94 <plugin name="NulPlugin"/>
95 <plugin name="MetadataXMLPlugin"/>
96 <plugin name="ArchivesInfPlugin"/>
97 <plugin name="DirectoryPlugin"/>
98 </pluginList>
99 </import>
100 <importOption name="OIDtype" value="assigned"/>
101 <importOption name="OIDmetadata" value="Identifier"/>
102
103 <browse>
104
105 <classifier name="AZCompactList">
106 <option name="-metadata" value="ex.Songtitle;ex.Track;ex.title"/>
107 <option name="-buttonname" value="Titles"/>
108 <option name="-mingroup" value="2"/>
109 </classifier>
110 <classifier name="AZCompactList">
111 <option name="-metadata" value="ex.Artist;ex.artist"/>
112 <option name="-buttonname" value="Artists"/>
113 <option name="-mingroup" value="1"/>
114 <option name="-minnesting" value="40"/>
115 </classifier>
116 <classifier name="AZCompactList">
117 <option name="-metadata" value="ex.Genre;ex.genre"/>
118 <option name="-buttonname" value="Genre"/>
119 <option name="-mingroup" value="1"/>
120 <option name="-minnesting" value="40"/>
121 </classifier>
122 <classifier name="AZCompactList">
123 <option name="-metadata" value="ex.Album;ex.album"/>
124 <option name="-buttonname" value="Albums"/>
125 <option name="-mingroup" value="1"/>
126 <option name="-minnesting" value="40"/>
127 </classifier>
128 <classifier name="AZCompactList">
129 <option name="-metadata" value="deam.Year"/>
130 <option name="-buttonname" value="Dataset Year"/>
131 <option name="-mingroup" value="1"/>
132 <option name="-minnesting" value="40"/>
133 </classifier>
134 <format>
135 <gsf:template match="documentNode">
136 <td valign="top">
137 <gsf:link type="document">
138 <gsf:icon type="document"/>
139 </gsf:link>
140 </td>
141 <td valign="top">
142 <gsf:link type="source">
143 <gsf:choose-metadata>
144 <gsf:metadata name="thumbicon"/>
145 <gsf:metadata name="srcicon"/>
146 </gsf:choose-metadata>
147 </gsf:link>
148 </td>
149 <td valign="top">
150 <gsf:link type="document">
151 <gsf:choose-metadata>
152 <gsf:metadata name="Songtitle"/>
153 <gsf:metadata name="Track"/>
154 <gsf:metadata name="title"/>
155 <gsf:default>Untitled</gsf:default>
156 </gsf:choose-metadata>
157 </gsf:link>
158 </td>
159 </gsf:template>
160 <gsf:template match="classifierNode">
161 <td valign="top">
162 <gsf:link type="classifier">
163 <gsf:icon type="classifier"/>
164 </gsf:link>
165 </td>
166 <td valign="top">(<gsf:metadata name="numleafdocs"/>)</td>
167 <td valign="top">
168 <gsf:link type="source">
169 <gsf:choose-metadata>
170 <gsf:metadata name="thumbicon"/>
171 <gsf:metadata name="srcicon"/>
172 </gsf:choose-metadata>
173 </gsf:link>
174 </td>
175 <td valign="top">
176 <gsf:link type="classifier">
177 <gsf:metadata name="Title"/>
178 </gsf:link>
179<!--
180 <gsf:switch>
181 <gsf:metadata name="Source"/>
182 <gsf:when test="exists">
183 <br/>
184 <i>(<gsf:metadata name="Source"/>)</i>
185 </gsf:when>
186 </gsf:switch>
187-->
188 </td>
189 </gsf:template>
190 <gsf:template match="classifierNode" mode="horizontal">
191 <gsf:link type="horizontal">
192 <gsf:metadata name="Title"/>
193 </gsf:link>
194 </gsf:template>
195 </format>
196</browse>
197
198
199 <display>
200 <format>
201 <gsf:option name="TOC" value="false"/>
202 <gsf:template name="documentHeading">
203 <!-- title will be dsiplayed in playbar at top of page, so supress showing title here -->
204 <gsf:script src="interfaces/{$interface_name}/js/direct-edit-source.js"/>
205 <xsl:call-template name="init-direct-edit"/>
206 </gsf:template>
207
208 <gsf:template name="documentContentXXX">
209 <xsl:param name="collName"/>
210 <xsl:variable name="docID" select="@docID"/>
211 </gsf:template>
212
213<!--
214 <xsl:variable name="httpCollection"><xsl:value-of select="/page/pageResponse/collection/metadataList/metadata[@name='httpPath']"/></xsl:variable>
215-->
216
217
218
219
220
221 <xsl:template name="documentContent">
222 <xsl:variable name="httpCollection">library/sites/<xsl:value-of select="$site_name"/>/collect/<xsl:value-of select="/page/pageResponse/collection/@name"/></xsl:variable>
223 <xsl:variable name="assocFilePath"><gsf:metadata name="assocfilepath" select="root"/></xsl:variable>
224
225 <xsl:variable name="cgiargFrameOffset">
226 <xsl:value-of select="/page/pageRequest/paramList/param[@name='p.frameOffset']/@value"/>
227 </xsl:variable>
228 <xsl:variable name="lastfmtrackurl">
229 <gsf:metadata name="dc.Identifier.lastfmtrackurl"/>
230 </xsl:variable>
231 <xsl:variable name="imageUrls">
232 <gsf:metadata multiple="true" name="EchoNest.Artist-RelatedImage" separator="&amp;quot;, &amp;quot;"/>
233 </xsl:variable>
234 <xsl:variable name="echonestid">
235 <gsf:metadata name="dc.Identifier"/>
236 </xsl:variable>
237
238 <!--
239 <xsl:variable name="assocFilePath"><gsf:metadata name="assocfilepath" select="root"/></xsl:variable>
240 -->
241
242 <div class="documenttext" style="padding-bottom: 20px; width:100%;">
243 <style>
244 .doc-metadata td { padding: 7px; }
245 </style>
246 <table class="doc-metadata">
247 <tbody>
248 <tr style="background-color:#eee">
249 <td>
250 Title
251 </td>
252 <td>
253 <gsf:choose-metadata>
254 <gsf:metadata name="Songtitle"/>
255 <gsf:metadata name="Track"/>
256 <gsf:metadata name="title"/>
257 <gsf:default>Untitled</gsf:default>
258 </gsf:choose-metadata>
259 </td>
260 </tr>
261
262 <tr style="background-color:#fff">
263 <td>Artist</td>
264 <td>
265 <gsf:choose-metadata>
266 <gsf:metadata name="Artist"/>
267 <gsf:metadata name="artist"/>
268 <gsf:default>Unknown</gsf:default>
269 </gsf:choose-metadata>
270 </td>
271 </tr>
272
273 <tr style="background-color:#eee">
274 <td>
275 Genre
276 </td>
277 <td>
278 <gsf:choose-metadata>
279 <gsf:metadata name="Genre"/>
280 <gsf:metadata name="genre"/>
281 <gsf:default>Unknown</gsf:default>
282 </gsf:choose-metadata>
283 </td>
284 </tr>
285
286 <tr style="background-color:#fff">
287 <td>Album</td>
288 <td>
289 <gsf:choose-metadata>
290 <gsf:metadata name="Album"/>
291 <gsf:metadata name="album"/>
292 <gsf:default>Unknown</gsf:default>
293 </gsf:choose-metadata>
294 </td>
295 </tr>
296
297 <tr style="background-color:#eee">
298 <td>Essentia MFCC Features:</td><td><a href="{$httpCollection}/index/assoc/{$assocFilePath}/pessentia.json">Download</a></td>
299 </tr>
300 </tbody>
301 </table>
302 </div>
303
304
305 <div class="documenttext">
306
307
308 <div id="demo">
309 <div id="waveform">
310 <!-- Here be the waveform -->
311 <xsl:text> </xsl:text>
312 </div>
313 <div id="wave-timeline"><xsl:text> </xsl:text></div>
314 <div id="wave-spectrogram"><xsl:text> </xsl:text></div>
315 <div id="wave-harmonic-pitch-class-profile"><xsl:text> </xsl:text></div>
316
317 <div>
318 <div class="controls">
319 <button class="btn btn-primary" data-action="play">
320 <i class="glyphicon glyphicon-play"></i>
321 Play /
322 <i class="glyphicon glyphicon-pause"></i>
323 Pause
324 </button>
325 </div>
326 </div>
327 </div>
328
329 <gsf:variable name="mp3url"><xsl:value-of select="$httpCollection"/>/index/assoc/<xsl:value-of select="$assocFilePath"/>/audio.mp3</gsf:variable>
330
331 <script src="ext/audio/wavesurfer-player.js">
332 <xsl:text> </xsl:text>
333 </script>
334 <gsf:script>
335 document.addEventListener('DOMContentLoaded', function() {
336 // Load audio from URL
337 wavesurfer.load(gs.variables.mp3url);
338 });
339 </gsf:script>
340 </div>
341 </xsl:template>
342
343 </format>
344 </display>
345
346 <replaceListRef id="gs2-standard"/>
347 <serviceRackList>
348 <!-- comment out the following serviceRack if you want to disable OAI for this collection -->
349 <serviceRack name="OAIPMH">
350 <ListMetadataFormats>
351 <!--What metadata sets to support is collection specific. To support other metadata schema, simply add a metadataFormat element here.
352 The support of unqualified Dublin Core metadata set is mandatory in the oai specification.
353 -->
354 <metadataFormat metadataPrefix="oai_dc">
355 <metadataPrefix>oai_dc</metadataPrefix>
356 <schema>http://www.openarchives.org/OAI/2.0/oai_dc.xsd</schema>
357 <metadataNamespace>http://www.openarchives.org/OAI/2.0/oai_dc/</metadataNamespace>
358 <!--<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>
359 -->
360 <mappingList>
361 <!--
362 The mapping is in the form: <publicly supported metadata name>,<mapped metadata name>, short as <A>,<B>
363 The first metadata name is medatory; if there is no mapped name followed, then the first name must be used by the records and
364 searchable in the database, otherwise it is the mapped name stored in the database. The number of mapping elements matches the
365 number of external metadata of the records. If only one name is present, the returned metadata will use this name plus the retrieved value;
366 if both <A>,<B> are present, the returned metadata will use <A>'s name plus <B>'s value retrieved from database.
367
368 **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.
369
370 **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.
371 -->
372 <mapping>Songtitle,Track,title</mapping>
373 <!-- 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. -->
374 </mappingList>
375 </metadataFormat>
376 </ListMetadataFormats>
377 </serviceRack>
378 </serviceRackList>
379</CollectionConfig>
Note: See TracBrowser for help on using the repository browser.