Changeset 36267


Ignore:
Timestamp:
2022-06-21T14:30:06+12:00 (10 days ago)
Author:
davidb
Message:

Shifting to using new StructuredAudio extension and Wavesurfer.js

Location:
main/trunk/model-sites-dev/atea/collect/tiriana-audio
Files:
4 added
3 edited

Legend:

Unmodified
Added
Removed
  • main/trunk/model-sites-dev/atea/collect/tiriana-audio/etc/collectionConfig.xml

    r36167 r36267  
    1313    <displayItemList>
    1414        <displayItem assigned="true" lang="en" name="name">Tiriana-Audio</displayItem>
    15         <displayItem assigned="true" lang="en" name="CardNotes,Notes,TapeLabel,TapeName">all fields</displayItem>
     15        <displayItem assigned="true" lang="en" name="CardNotes,Notes,TapeLabel,TapeName,usercomment">all fields</displayItem>
    1616        <displayItem assigned="true" lang="en" name="CardNotes,Notes">notes</displayItem>
     17        <displayItem assigned="true" lang="en" name="usercomment">usercomment</displayItem>
    1718        <displayItem assigned="true" lang="en" name="document:text">text</displayItem>
    1819        <displayItem assigned="true" lang="en" name="document:ex.Title">Title</displayItem>
    1920        <displayItem assigned="true" lang="en" name="document:ex.Source">Source</displayItem>
    2021        <displayItem assigned="true" lang="en" name="document">document</displayItem>
     22        <displayItem assigned="true" lang="en" name="CardNotes,Notes,TapeLabel,TapeName">all fields</displayItem>
    2123        <displayItem assigned="true" lang="en" name="text">text</displayItem>
    2224        <displayItem assigned="true" lang="en" name="dc.Title,ex.dc.Title,Title">titles</displayItem>
     
    2729        <displayItem assigned="true" lang="en" name=".CardNotes,Notes">CardNotes,Notes</displayItem>
    2830    </displayItemList>
    29     <format>  <gsf:template name="choose-title">
    30     <gsf:choose-metadata>
    31       <gsf:metadata name="dc.Title"/>
    32       <gsf:metadata name="TapeName"/>
    33       <gsf:metadata name="exp.Title"/>
    34       <gsf:metadata name="ex.dc.Title"/>
    35       <gsf:metadata name="Title"/>
    36       <gsf:default>Untitled</gsf:default>
    37     </gsf:choose-metadata>
    38   </gsf:template>
     31    <format>
     32            <gsf:template name="choose-title">
     33                <gsf:choose-metadata>
     34                    <gsf:metadata name="dc.Title"/>
     35                    <gsf:metadata name="TapeName"/>
     36                    <gsf:metadata name="exp.Title"/>
     37                    <gsf:metadata name="ex.dc.Title"/>
     38                    <gsf:metadata name="Title"/>
     39                    <gsf:default>Untitled</gsf:default>
     40                </gsf:choose-metadata>
     41            </gsf:template>
    3942<!--
    4043modify the collection description template to output the "this collection contains X documents and was last built Y days ago" message
    4144-->
    42   <xsl:template name="coll-description">
    43     <p>
    44       <gslib:collectionDescriptionTextAndServicesLinks/>
    45     </p>
    46     <xsl:variable name="raw_date">
    47       <gslib:collectionMeta name="buildDate"/>
    48     </xsl:variable>
    49     <xsl:variable name="formatted_date">
    50       <xsl:value-of select="util:formatTimeStamp($raw_date, 0, 3, /page/@lang)"/>
    51     </xsl:variable>
    52     <xsl:variable name="numdocs">
    53       <gslib:collectionMeta name="numDocs"/>
    54     </xsl:variable>
    55     <p>
    56       <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'about.standarddescriptiondays', concat($numdocs, ';', $formatted_date))"/>
    57     </p>
    58   </xsl:template>
    59 
    60 </format>
    61     <search type="lucene">
     45            <xsl:template name="coll-description">
     46                <p>
     47                    <gslib:collectionDescriptionTextAndServicesLinks/>
     48                </p>
     49                <xsl:variable name="raw_date">
     50                    <gslib:collectionMeta name="buildDate"/>
     51                </xsl:variable>
     52                <xsl:variable name="formatted_date">
     53                    <xsl:value-of select="util:formatTimeStamp($raw_date, 0, 3, /page/@lang)"/>
     54                </xsl:variable>
     55                <xsl:variable name="numdocs">
     56                    <gslib:collectionMeta name="numDocs"/>
     57                </xsl:variable>
     58                <p>
     59                    <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'about.standarddescriptiondays', concat($numdocs, ';', $formatted_date))"/>
     60                </p>
     61            </xsl:template>
     62        </format>
     63    <search type="solr">
    6264        <level name="document">
    6365            <displayItem lang="en" name="name">document</displayItem>
    6466        </level>
    6567        <defaultLevel name="document"/>
    66         <index name="CardNotes,Notes,TapeLabel,TapeName">
     68        <index name="CardNotes,Notes,TapeLabel,TapeName,usercomment">
    6769            <displayItem lang="en" name="name">all fields</displayItem>
    6870        </index>
     
    7072            <displayItem lang="en" name="name">notes</displayItem>
    7173        </index>
    72         <defaultIndex name="CardNotes,Notes,TapeLabel,TapeName"/>
     74        <index name="usercomment">
     75            <displayItem lang="en" name="name">usercomment</displayItem>
     76        </index>
     77        <defaultIndex name="CardNotes,Notes,TapeLabel,TapeName,usercomment"/>
    7378        <sort name="rank">
    7479            <displayItem lang="en" name="name">rank</displayItem>
     
    7782            <displayItem lang="en" name="name">natural (build) order</displayItem>
    7883        </sort>
     84        <facet name="username">
     85            <displayItem lang="en" name="name">username</displayItem>
     86        </facet>
    7987        <searchType name="plain"/>
    8088        <searchType name="simpleform"/>
    8189        <searchType name="advancedform"/>
    82         <format>  <gsf:template match="documentNode">
    83     <td valign="top">
    84       <gsf:link type="document">
    85         <gsf:icon type="document"/>
    86       </gsf:link>
    87     </td>
    88     <td>
    89       <gsf:link type="document">
    90         <xsl:call-template name="choose-title"/>
    91       </gsf:link>
    92     </td>
    93   </gsf:template>
    94 
    95 </format>
     90        <format>
     91            <gsf:template match="documentNode">
     92                <td valign="top">
     93                    <gsf:link type="document">
     94                        <gsf:icon type="document"/>
     95                    </gsf:link>
     96                </td>
     97                <td>
     98                    <gsf:link type="document">
     99                        <xsl:call-template name="choose-title"/>
     100                    </gsf:link>
     101                </td>
     102            </gsf:template>
     103        </format>
    96104    </search>
    97105    <infodb type="jdbm"/>
     
    100108            <plugin name="ZIPPlugin"/>
    101109            <plugin name="GreenstoneXMLPlugin"/>
     110            <plugin name="StructuredAudioPlugin">
     111                <option name="-converttotype" value="mp3"/>
     112                <option name="-segment_audio"/>
     113            </plugin>
    102114            <plugin name="TextPlugin"/>
    103115            <plugin name="HTMLPlugin"/>
     
    135147            <option name="-sort" value="ex.OrderTapeBy"/>
    136148            <option name="-buttonname" value="Tape Name"/>
    137             <format>  <gsf:template match="documentNode">
    138     <td valign="top">
    139       <gsf:link type="document">
    140         <gsf:icon type="document"/>
    141       </gsf:link>
    142     </td>
    143     <td valign="top">
    144       <gsf:link type="document">Side:<gsf:metadata name="Side"/><gsf:switch><gsf:metadata name="UnnamedIndex"/><gsf:when test="exists"><i style="padding-left: 12px">(Unnamed index:<gsf:metadata name="UnnamedIndex"/>)</i></gsf:when></gsf:switch><gsf:switch><gsf:metadata name="Chapter"/><gsf:when test="exists"><i style="padding-left: 12px">(Chapter:<gsf:metadata name="Chapter"/>)</i></gsf:when></gsf:switch></gsf:link>
    145     </td>
    146   </gsf:template>
    147 
    148 </format>
     149            <format>
     150            <gsf:template match="documentNode">
     151                <td valign="top">
     152                    <gsf:link type="document">
     153                        <gsf:icon type="document"/>
     154                    </gsf:link>
     155                </td>
     156                <td valign="top">
     157                    <gsf:link type="document">Side:<gsf:metadata name="Side"/><gsf:switch><gsf:metadata name="UnnamedIndex"/><gsf:when test="exists"><i style="padding-left: 12px">(Unnamed index:<gsf:metadata name="UnnamedIndex"/>)</i></gsf:when></gsf:switch><gsf:switch><gsf:metadata name="Chapter"/><gsf:when test="exists"><i style="padding-left: 12px">(Chapter:<gsf:metadata name="Chapter"/>)</i></gsf:when></gsf:switch></gsf:link>
     158                </td>
     159            </gsf:template>
     160        </format>
    149161        </classifier>
    150         <format>  <gsf:template match="documentNode">
    151     <td valign="top">
    152       <gsf:link type="document">
    153         <gsf:icon type="document"/>
    154       </gsf:link>
    155     </td>
    156     <td valign="top">
    157       <gsf:link type="document">
     162        <format>
     163            <gsf:template match="documentNode">
     164                <td valign="top">
     165                    <gsf:link type="document">
     166                        <gsf:icon type="document"/>
     167                    </gsf:link>
     168                </td>
     169                <td valign="top">
     170                    <gsf:link type="document">
    158171<!--
    159172Defined in the global format statement
    160173-->
    161         <xsl:call-template name="choose-title"/>
    162         <gsf:switch>
    163           <gsf:metadata name="Source"/>
    164           <gsf:when test="exists">
    165             <br/>
    166             <i>(<gsf:metadata name="Source"/>)</i>
    167           </gsf:when>
    168         </gsf:switch>
    169       </gsf:link>
    170     </td>
    171   </gsf:template>
    172   <gsf:template match="classifierNode[@classifierStyle = 'VList']">
    173     <td valign="top">
    174       <gsf:link style="static" type="classifier">
    175         <gsf:icon type="classifier"/>
    176       </gsf:link>
    177     </td>
    178     <td valign="top">
    179       <gsf:link type="classifier">
    180         <gsf:metadata name="Title"/>
    181       </gsf:link>
    182     </td>
    183   </gsf:template>
    184   <gsf:template match="classifierNode[@classifierStyle = 'HList']">
    185     <gsf:link style="static" type="classifier">
    186       <gsf:metadata name="Title"/>
    187     </gsf:link>
    188   </gsf:template>
    189 
    190 </format>
     174                        <xsl:call-template name="choose-title"/>
     175                        <gsf:switch>
     176                            <gsf:metadata name="Source"/>
     177                            <gsf:when test="exists">
     178                                <br/>
     179                                <i>(<gsf:metadata name="Source"/>)</i>
     180                            </gsf:when>
     181                        </gsf:switch>
     182                    </gsf:link>
     183                </td>
     184            </gsf:template>
     185            <gsf:template match="classifierNode[@classifierStyle = 'VList']">
     186                <td valign="top">
     187                    <gsf:link style="static" type="classifier">
     188                        <gsf:icon type="classifier"/>
     189                    </gsf:link>
     190                </td>
     191                <td valign="top">
     192                    <gsf:link type="classifier">
     193                        <gsf:metadata name="Title"/>
     194                    </gsf:link>
     195                </td>
     196            </gsf:template>
     197            <gsf:template match="classifierNode[@classifierStyle = 'HList']">
     198                <gsf:link style="static" type="classifier">
     199                    <gsf:metadata name="Title"/>
     200                </gsf:link>
     201            </gsf:template>
     202        </format>
    191203    </browse>
    192204    <display>
    193         <format>  <gsf:option name="TOC" value="true"/>
    194   <gsf:option name="allowUserComments" value="false"/>
    195   <gsf:option name="allowDocumentEditing" value="true"/>
    196   <gsf:option name="allowMapGPSEditing" value="true"/>
    197   <gsf:headMetaTags>
    198     <gsf:metadata name="CardNotes"/>
    199     <gsf:metadata name="Notes"/>
    200     <gsf:metadata name="TapeLabel"/>
    201     <gsf:metadata name="IsMicroCassette"/>
    202     <gsf:metadata name="Source"/>
    203   </gsf:headMetaTags>
     205        <format>
     206            <gsf:option name="TOC" value="true"/>
     207            <gsf:option name="allowUserComments" value="true"/>
     208            <gsf:option name="allowDocumentEditing" value="true"/>
     209            <gsf:option name="allowMapGPSEditing" value="true"/>
     210            <gsf:headMetaTags>
     211                <gsf:metadata name="CardNotes"/>
     212                <gsf:metadata name="Notes"/>
     213                <gsf:metadata name="TapeLabel"/>
     214                <gsf:metadata name="IsMicroCassette"/>
     215                <gsf:metadata name="Chapter"/>
     216                <gsf:metadata name="Source"/>
     217            </gsf:headMetaTags>
    204218<!--
    205219Overwriting this template allows you to change the heading of the document.
     
    253267</gsf:template>
    254268-->
    255 
    256 </format>
     269        </format>
    257270    </display>
    258271    <replaceListRef id="gs2-standard"/>
  • main/trunk/model-sites-dev/atea/collect/tiriana-audio/metadata/profile.xml

    r36167 r36267  
    55<!ATTLIST Action target CDATA ''>
    66]>
    7 <Profiles/>
     7<Profiles>
     8    <Action source="username" target=""/>
     9    <Action source="usertimestamp" target=""/>
     10    <Action source="usercomment" target=""/>
     11</Profiles>
  • main/trunk/model-sites-dev/atea/collect/tiriana-audio/transform/pages/document.xsl

    r36197 r36267  
    66    exclude-result-prefixes="java util gsf">
    77
    8     <!-- <xsl:template name="documentNodeAudio">
    9         <div>
    10             <audio id="audioPlayer" controls="controls">
    11                 <xsl:attribute name="src">
    12                     <xsl:value-of select="$httpPath"/>/index/assoc/<gsf:metadata name="assocfilepath" pos="1"/>/<gsf:metadata name="Source"/>
    13                 </xsl:attribute>
    14                 Your browser does not support the audio element.
    15             </audio>
    16         </div>
    17         Download: <gsf:link type="source"><gsf:metadata name="Source"/></gsf:link>
    18     </xsl:template> -->
    19 
    208    <xsl:template name="documentNodeAudio">
    21 
    22         <!-- <script type="text/javascript">
    23             <xsl:text disable-output-escaping="yes">
    24                 $(document).ready(function() {
    25                     loadAudio('</xsl:text><xsl:value-of select="$httpPath"/>/index/assoc/<gsf:metadata name="assocfilepath" pos="1"/>/<gsf:metadata name="Source"/><xsl:text disable-output-escaping="yes">',
    26                     '</xsl:text>interfaces/{$interface_name}/images/Te_Kakano_C9B.csv<xsl:text disable-output-escaping="yes">');
    27                 })
    28             </xsl:text>
    29         </script> -->
    309
    3110        <script type="text/javascript">
    3211            <xsl:text disable-output-escaping="yes">
    3312                $(document).ready(function() {
    34                     loadAudio('</xsl:text><xsl:value-of select="$httpPath"/>/index/assoc/<gsf:metadata name="assocfilepath" pos="1"/>/<gsf:metadata name="Source"/><xsl:text disable-output-escaping="yes">',
    35                     '</xsl:text><xsl:value-of select="$httpPath"/>/index/assoc/<gsf:metadata name="assocfilepath" pos="1"/>/speaker-diarization.csv<xsl:text disable-output-escaping="yes">');
     13                    loadAudio('</xsl:text><xsl:value-of select="$httpPath"/>/index/assoc/<gsf:metadata name="assocfilepath" pos="1"/>/<gsf:metadata name="Audio"/><xsl:text disable-output-escaping="yes">',
     14                    '</xsl:text><xsl:value-of select="$httpPath"/>/index/assoc/<gsf:metadata name="assocfilepath" pos="1"/>/structured-audio.csv<xsl:text disable-output-escaping="yes">');
    3615                })
    3716            </xsl:text>
     
    5029            <div id="toolbar">
    5130                <div class="flex-leftalign toolbar-section">
     31                    <img src="interfaces/{$interface_name}/images/bootstrap/chapters.svg" id="chapterButton" title="Click to toggle sections" />
    5232                    <img src="interfaces/{$interface_name}/images/bootstrap/zoom-out.svg" id="zoomIcon" class="noHover" />
    53                     <input type="range" min="1" max="100" value="25" id="slider" />
     33                    <input type="range" min="1" max="100" value="25" id="slider" title="Click and drag to zoom in/out" />
    5434                    <img src="interfaces/{$interface_name}/images/bootstrap/zoom-in.svg" id="zoomIcon" class="noHover" />
    5535                </div>
    5636                <div class="flex-centeralign toolbar-section">
    57                     <img src="interfaces/{$interface_name}/images/bootstrap/back.svg" id="backButton" />
    58                     <img src="interfaces/{$interface_name}/images/bootstrap/play.svg" id="playPauseButton" />
    59                     <img src="interfaces/{$interface_name}/images/bootstrap/forward.svg" id="forwardButton" />
     37                    <img src="interfaces/{$interface_name}/images/bootstrap/back.svg" id="backButton" title="Click to skip back" />
     38                    <img src="interfaces/{$interface_name}/images/bootstrap/play.svg" id="playPauseButton" title="Click to play/pause" />
     39                    <img src="interfaces/{$interface_name}/images/bootstrap/forward.svg" id="forwardButton" title="Click to skip forward"/>
    6040                </div>
    6141                <div class="flex-rightalign toolbar-section">
    62                     <img src="interfaces/{$interface_name}/images/bootstrap/chapters.svg" id="chapterButton" />
    63                     <img src="interfaces/{$interface_name}/images/bootstrap/unmute.svg" id="muteButton" />
     42                    <img src="interfaces/{$interface_name}/images/bootstrap/download.svg" id="downloadButton" title="Click to download audio" />
     43                    <img src="interfaces/{$interface_name}/images/bootstrap/unmute.svg" id="muteButton" title="Click to mute/unmute" />
    6444                </div>
    6545            </div>
     
    9272    <xsl:template name="documentHeading">
    9373        <span style="font-weight:bold; font-size: 120%;">
    94             <xsl:call-template name="choose-title" />
     74            <xsl:call-template name="choose-title" />: Side <gsf:metadata name="Side"/>
    9575        </span>
    9676        <table id="tapeDetails">
     
    9878                <gsf:metadata name='Notes' />
    9979                <gsf:when test='exists'>
    100                     <tr><td id="fCol">Notes:</td><td><gsf:metadata name="Notes" highlight="highlight" /></td></tr>
     80                    <tr><td>Notes:</td><td><gsf:metadata name="Notes" highlight="highlight" /></td></tr>
    10181                </gsf:when>
    10282            </gsf:switch>
     
    10484                <gsf:metadata name='TapeLabel' />
    10585                <gsf:when test='exists'>
    106                     <tr><td id="fCol">Tape Label:</td><td><gsf:metadata name="TapeLabel" highlight="highlight" /></td></tr>
     86                    <tr><td>Tape Label:</td><td><gsf:metadata name="TapeLabel" highlight="highlight" /></td></tr>
    10787                </gsf:when>
    10888            </gsf:switch>
     
    11090                <gsf:metadata name='CardNotes' />
    11191                <gsf:when test='exists'>
    112                     <tr><td id="fCol">Card Notes:</td><td><gsf:metadata name="CardNotes" highlight="highlight" /></td></tr>
     92                    <tr><td>Card Notes:</td><td><gsf:metadata name="CardNotes" highlight="highlight" /></td></tr>
    11393                </gsf:when>
    11494            </gsf:switch>
     
    11696                <gsf:metadata name='IsMicroCassette' />
    11797                <gsf:when test='equals' test-value='y'>
    118                     <tr><td id="fCol">Microcassette?</td><td>Yes</td></tr>
     98                    <tr><td>Microcassette?</td><td>Yes</td></tr>
     99                </gsf:when>
     100            </gsf:switch>
     101            <gsf:switch>
     102                <gsf:metadata name='Chapter' />
     103                <gsf:when test='exists'>
     104                    <tr><td>Chapter:</td><td><gsf:metadata name="Chapter" highlight="highlight" /></td></tr>
     105                </gsf:when>
     106            </gsf:switch>
     107            <gsf:switch>
     108                <gsf:metadata name='AudioDuration' />
     109                <gsf:when test='exists'>
     110                    <tr><td>Audio Duration:</td><td id="audio-duration">
     111                        <script type="text/javascript">
     112                            <xsl:text disable-output-escaping="yes">
     113                                $(document).ready(function() {
     114                                    var audio_duration = formatAudioDuration('</xsl:text><gsf:metadata name="AudioDuration" /><xsl:text disable-output-escaping="yes">');
     115                                    $('#audio-duration').html(audio_duration);
     116                                })
     117                            </xsl:text>
     118                        </script>
     119                    </td></tr>
    119120                </gsf:when>
    120121            </gsf:switch>
     
    122123
    123124        <gsf:variable name="audioSource"><gsf:metadata name="Source"/></gsf:variable>
    124         <!-- <audio controls src="Coronation_A.wav" type="audio/wav">
    125             Your browser does not support the audio element.
    126         </audio> -->
    127125
    128126    </xsl:template>
Note: See TracChangeset for help on using the changeset viewer.