Changeset 24945


Ignore:
Timestamp:
2012-01-13T11:27:52+13:00 (12 years ago)
Author:
papitha
Message:

Build added to Text Annotations, Photo Annotations
Search functionality working well!

File:
1 edited

Legend:

Unmodified
Added
Removed
  • main/trunk/model-cols-dev/peijones/etc/collectionConfig.xml

    r24893 r24945  
    11<?xml version="1.0" encoding="UTF-8"?>
    22<CollectionConfig xmlns:gsf="http://www.greenstone.org/greenstone3/schema/ConfigFormat" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    3 <metadataList><metadata lang="en" name="creator"></metadata><metadata lang="en" name="maintainer"></metadata><metadata lang="en" name="public">true</metadata></metadataList><displayItemList><displayItem assigned="true" lang="en" name="name">Pei-Jones-Flat</displayItem></displayItemList><search type="mgpp"><level name="document"><displayItem lang="en" name="name">document</displayItem></level><level name="section"><displayItem lang="en" name="name">section</displayItem></level><defaultLevel name="section"/><index name="text"><displayItem lang="en" name="name">text</displayItem></index><index name="Title"><displayItem lang="en" name="name">titles</displayItem></index><index name="Source"><displayItem lang="en" name="name">filenames</displayItem></index><index name="Plugin"/><defaultIndex name="text"/><indexOption><option name="accentfold"/><option name="casefold"/><option name="stem"/></indexOption><searchType name="plain"/><searchType name="simpleform"/><searchType name="advancedform"/><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></search><infodb type="gdbm"/><import><pluginList><plugin name="ZIPPlugin"/><plugin name="GreenstoneXMLPlugin"/><plugin name="TextPlugin"/><plugin name="HTMLPlugin"><option name="-process_exp" value="(timeglider.*)(?i)(\.html?)$"/><option name="-block_exp" value="(timeglider.*)(?i)(\.jpe?g|\.png|\.gif)$"/><option name="-keep_head"/></plugin><plugin name="EmailPlugin"/><plugin name="PDFPlugin"/><plugin name="RTFPlugin"/><plugin name="WordPlugin"/><plugin name="PostScriptPlugin"/><plugin name="PowerPointPlugin"/><plugin name="ExcelPlugin"/><plugin name="PagedImagePlugin"/><plugin name="ImagePlugin"/><plugin name="ISISPlugin"/><plugin name="NulPlugin"/><plugin name="OAIPlugin"/><plugin name="HTMLImagePlugin"/><plugin name="MetadataXMLPlugin"/><plugin name="ArchivesInfPlugin"/><plugin name="DirectoryPlugin"/></pluginList></import><browse><classifier name="List"><option name="-metadata" value="dc.Title;Title"/><option name="-partition_type_within_level" value="approximate_size"/><option name="-bookshelf_type" value="never"/></classifier><classifier name="AZCompactList"><option name="-metadata" value="Source"/><option name="-removesuffix" value="(?i)\\..*"/><option name="-buttonname" value="Source"/></classifier><format>
    4             <gsf:template match="documentNode">
    5                 <td valign="top">
    6                     <gsf:link type="document">
    7                         <gsf:icon type="document"/>
    8                     </gsf:link>
    9                 </td>
    10                 <td valign="top">
    11                     <gsf:link type="source">
    12                         <gsf:choose-metadata>
    13                             <gsf:metadata name="thumbicon"/>
    14                             <gsf:metadata name="srcicon"/>
    15                         </gsf:choose-metadata>
    16                     </gsf:link>
    17                 </td>
    18                 <td valign="top">
    19                     <gsf:choose-metadata>
    20                         <gsf:metadata name="dc.Title"/>
    21                         <gsf:metadata name="exp.Title"/>
    22                         <gsf:metadata name="Title"/>
    23                         <gsf:default>Untitled</gsf:default>
    24                     </gsf:choose-metadata>
    25                     <gsf:switch>
    26                         <gsf:metadata name="Source"/>
    27                         <gsf:when test="exists">
    28                             <br/><i>(<gsf:metadata name="Source"/>)</i>
    29                         </gsf:when>
    30                     </gsf:switch>
    31                 </td>
    32             </gsf:template>
    33            
    34             <gsf:template match="classifierNode">
    35                 <td valign="top">
    36                     <gsf:link type="classifier">
    37                         <gsf:icon type="classifier"/>
    38                     </gsf:link>
    39                 </td>
    40                 <td valign="top">
    41                     <gsf:metadata name="srclink"/>
    42                     <gsf:choose-metadata>
    43                         <gsf:metadata name="thumbicon"/>
    44                         <gsf:metadata name="srcicon"/>
    45                     </gsf:choose-metadata>
    46                     <gsf:metadata name="/srclink"/>
    47                 </td>
    48                 <td valign="top">
    49                     <gsf:choose-metadata>
    50                         <gsf:metadata name="dc.Title"/>
    51                         <gsf:metadata name="exp.Title"/>
    52                         <gsf:metadata name="Title"/>
    53                         <gsf:default>Untitled</gsf:default>
    54                     </gsf:choose-metadata>
    55                     <gsf:switch>
    56                         <gsf:metadata name="Source"/>
    57                         <gsf:when test="exists">
    58                             <br/><i>(<gsf:metadata name="Source"/>)</i>
    59                         </gsf:when>
    60                     </gsf:switch>
    61                 </td>
    62             </gsf:template>
    63            
    64             <gsf:template match="classifierNode" mode="horizontal">
    65                 <gsf:link type="horizontal">
    66                     <gsf:metadata name="Title"/>
    67                 </gsf:link>
    68             </gsf:template>
    69         </format></browse><display><format>
    70             <gsf:option name="sideBar" value="false"/>
    71             <xsl:template name="additionalHeaderContent">
    72                 <!-- jQuery must be included before Annotator -->
    73                 <script src="sites/localsite/collect/peijones/js/annotator/lib/vendor/jquery.js"><xsl:text> </xsl:text></script>
    74 
    75                 <!-- If you're sure your users will only be using browsers modern
     3<metadataList><metadata lang="en" name="creator"></metadata><metadata lang="en" name="maintainer"></metadata><metadata lang="en" name="public">true</metadata></metadataList><displayItemList><displayItem assigned="true" lang="en" name="name">Pei-Jones-Flat</displayItem></displayItemList><search type="mgpp"><level name="document"><displayItem lang="en" name="name">document</displayItem></level><level name="section"><displayItem lang="en" name="name">section</displayItem></level><defaultLevel name="document"/><index name="text"><displayItem lang="en" name="name">text</displayItem></index><index name="Title"><displayItem lang="en" name="name">titles</displayItem></index><index name="Source"><displayItem lang="en" name="name">filenames</displayItem></index><index name="Plugin"/><index name="gsimg.photoNote"><displayItem lang="en" name="name">photo annotations</displayItem></index><index name="gstext.tags"><displayItem lang="en" name="name">text annotations (tags)</displayItem></index><index name="gstext.text"><displayItem lang="en" name="name">text annotations (text)</displayItem></index><index name="gstext.user"><displayItem lang="en" name="name">text annotations (user)</displayItem></index><defaultIndex name="text"/><indexOption><option name="accentfold"/><option name="casefold"/><option name="stem"/></indexOption><searchType name="plain"/><searchType name="simpleform"/><searchType name="advancedform"/><format>
     4      <gsf:template match="documentNode">
     5        <td valign="top">
     6          <gsf:link type="document">
     7            <gsf:icon type="document"/>
     8          </gsf:link>
     9        </td>
     10        <td>
     11          <gsf:switch>
     12            <gsf:metadata name="Title" select="ancestors" separator=": "/>
     13            <gsf:when test="exists"><gsf:metadata name="Title" select="ancestors" separator=": "/>:</gsf:when>
     14          </gsf:switch>
     15          <gsf:link type="document">
     16            <gsf:metadata name="Title"/>
     17          </gsf:link>
     18        </td>
     19      </gsf:template>
     20    </format></search><infodb type="gdbm"/><import><pluginList><plugin name="ZIPPlugin"/><plugin name="GreenstoneXMLPlugin"/><plugin name="TextPlugin"/><plugin name="HTMLPlugin"><option name="-process_exp" value="(timeglider.*)(?i)(\.html?)$"/><option name="-block_exp" value="(timeglider.*)(?i)(\.jpe?g|\.png|\.gif)$"/><option name="-keep_head"/></plugin><plugin name="EmailPlugin"/><plugin name="PDFPlugin"/><plugin name="RTFPlugin"/><plugin name="WordPlugin"/><plugin name="PostScriptPlugin"/><plugin name="PowerPointPlugin"/><plugin name="ExcelPlugin"/><plugin name="PagedImagePlugin"/><plugin name="ImagePlugin"/><plugin name="ISISPlugin"/><plugin name="NulPlugin"/><plugin name="OAIPlugin"/><plugin name="HTMLImagePlugin"/><plugin name="MetadataXMLPlugin"/><plugin name="ArchivesInfPlugin"/><plugin name="DirectoryPlugin"/></pluginList></import><browse><classifier name="List"><option name="-metadata" value="dc.Title;Title"/><option name="-partition_type_within_level" value="approximate_size"/><option name="-bookshelf_type" value="never"/></classifier><classifier name="AZCompactList"><option name="-metadata" value="Source"/><option name="-removesuffix" value="(?i)\\..*"/><option name="-buttonname" value="Source"/></classifier><format>
     21      <gsf:template match="documentNode">
     22        <td valign="top">
     23          <gsf:link type="document">
     24            <gsf:icon type="document"/>
     25          </gsf:link>
     26        </td>
     27        <td valign="top">
     28          <gsf:link type="source">
     29            <gsf:choose-metadata>
     30              <gsf:metadata name="thumbicon"/>
     31              <gsf:metadata name="srcicon"/>
     32            </gsf:choose-metadata>
     33          </gsf:link>
     34        </td>
     35        <td valign="top">
     36          <gsf:choose-metadata>
     37            <gsf:metadata name="dc.Title"/>
     38            <gsf:metadata name="exp.Title"/>
     39            <gsf:metadata name="Title"/>
     40            <gsf:default>Untitled</gsf:default>
     41          </gsf:choose-metadata>
     42          <gsf:switch>
     43            <gsf:metadata name="Source"/>
     44            <gsf:when test="exists">
     45              <br/>
     46              <i>(<gsf:metadata name="Source"/>)</i>
     47            </gsf:when>
     48          </gsf:switch>
     49        </td>
     50      </gsf:template>
     51      <gsf:template match="classifierNode">
     52        <td valign="top">
     53          <gsf:link type="classifier">
     54            <gsf:icon type="classifier"/>
     55          </gsf:link>
     56        </td>
     57        <td valign="top">
     58          <gsf:metadata name="srclink"/>
     59          <gsf:choose-metadata>
     60            <gsf:metadata name="thumbicon"/>
     61            <gsf:metadata name="srcicon"/>
     62          </gsf:choose-metadata>
     63          <gsf:metadata name="/srclink"/>
     64        </td>
     65        <td valign="top">
     66          <gsf:choose-metadata>
     67            <gsf:metadata name="dc.Title"/>
     68            <gsf:metadata name="exp.Title"/>
     69            <gsf:metadata name="Title"/>
     70            <gsf:default>Untitled</gsf:default>
     71          </gsf:choose-metadata>
     72          <gsf:switch>
     73            <gsf:metadata name="Source"/>
     74            <gsf:when test="exists">
     75              <br/>
     76              <i>(<gsf:metadata name="Source"/>)</i>
     77            </gsf:when>
     78          </gsf:switch>
     79        </td>
     80      </gsf:template>
     81      <gsf:template match="classifierNode" mode="horizontal">
     82        <gsf:link type="horizontal">
     83          <gsf:metadata name="Title"/>
     84        </gsf:link>
     85      </gsf:template>
     86    </format></browse><display><format>
     87      <gsf:option name="sideBar" value="false"/>
     88      <xsl:template name="additionalHeaderContent">
     89        <!-- jQuery must be included before Annotator -->
     90        <script src="sites/localsite/collect/peijones/js/annotator/lib/vendor/jquery.js">
     91          <xsl:text> </xsl:text>
     92        </script>
     93        <!-- If you're sure your users will only be using browsers modern
    7694                     enough to have their own JSON.parse and JSON.stringify
    7795                     implementations you can skip this -->
    78                 <script src="sites/localsite/collect/peijones/js/annotator/lib/vendor/json2.js"><xsl:text> </xsl:text></script>
    79 
    80                 <script src="sites/localsite/collect/peijones/js/annotator/pkg/annotator-full.min.js"><xsl:text> </xsl:text></script>
    81                 <!-- The main Annotator script -->
    82                 <!--<script src="sites/localsite/collect/peijones/js/annotator/pkg/annotator.min.js"><xsl:text> </xsl:text></script> -->
    83 
    84                 <!-- Annotator's styling and images -->
    85                 <link href="sites/localsite/collect/peijones/js/annotator/pkg/annotator.min.css" rel="stylesheet" type="text/css"/>
    86 
    87                 <!-- The following plugins are entirely optional -->
    88 
    89                 <!-- The Store plugin. Saves annotations to a remote backend -->
    90                 <!-- <script src="sites/localsite/collect/peijones/js/annotator/pkg/annotator.store.min.js"><xsl:text> </xsl:text></script> -->
    91 
    92                 <!-- The Auth plugin. Allows users of Annotator to authenticate themselves
     96        <script src="sites/localsite/collect/peijones/js/annotator/lib/vendor/json2.js">
     97          <xsl:text> </xsl:text>
     98        </script>
     99        <script src="sites/localsite/collect/peijones/js/annotator/pkg/annotator-full.min.js">
     100          <xsl:text> </xsl:text>
     101        </script>
     102        <!-- The main Annotator script -->
     103        <!--<script src="sites/localsite/collect/peijones/js/annotator/pkg/annotator.min.js"><xsl:text> </xsl:text></script> -->
     104        <!-- Annotator's styling and images -->
     105        <link href="sites/localsite/collect/peijones/js/annotator/pkg/annotator.min.css" rel="stylesheet" type="text/css"/>
     106        <!-- The following plugins are entirely optional -->
     107        <!-- The Store plugin. Saves annotations to a remote backend -->
     108        <!-- <script src="sites/localsite/collect/peijones/js/annotator/pkg/annotator.store.min.js"><xsl:text> </xsl:text></script> -->
     109        <!-- The Auth plugin. Allows users of Annotator to authenticate themselves
    93110                     to the remote backend -->
    94                 <!--<script src="sites/localsite/collect/peijones/js/annotator/pkg/annotator.auth.min.js"><xsl:text> </xsl:text></script> -->
    95                 <!-- The Permissions plugin. See who created which annotation and create
     111        <!--<script src="sites/localsite/collect/peijones/js/annotator/pkg/annotator.auth.min.js"><xsl:text> </xsl:text></script> -->
     112        <!-- The Permissions plugin. See who created which annotation and create
    96113                     annotations as a specified user -->
    97                 <!--<script src="sites/localsite/collect/peijones/js/annotator/pkg/annotator.permissions.min.js"><xsl:text> </xsl:text></script> -->
    98 
    99                 <!-- The Tags plugin. Edit and display tag keywords on annotations -->
    100                 <!--<script src="sites/localsite/collect/peijones/js/annotator/pkg/annotator.tags.min.js"><xsl:text> </xsl:text></script> -->
    101 
    102                 <!-- The Markdown plugin. Treat annotation text as Markdown -->
    103                 <!-- <script src="sites/localsite/collect/peijones/js/annotator/lib/vendor/showdown.js"><xsl:text> </xsl:text></script> -->
    104                 <!-- <script src="sites/localsite/collect/peijones/js/annotator/pkg/annotator.markdown.min.js"><xsl:text> </xsl:text></script> -->
    105                
    106                 <!-- Photo note scripts -->
    107                 <script src="sites/localsite/collect/peijones/js/documentmaker/BrowserDetect.js" type="text/javascript"><xsl:text> </xsl:text></script>
    108                 <script src="sites/localsite/collect/peijones/js/documentmaker/PhotoNotes-1.5.js" type="text/javascript"><xsl:text> </xsl:text></script>
    109                 <link href="sites/localsite/collect/peijones/style/PhotoNotes-1.5.css" rel="stylesheet" type="text/css"/>
    110                
    111                 <!-- Zoom scripts -->
    112                 <!--<script src="interfaces/{$interface_name}/js/jquery-1.4.2.js" type="text/javascript"><xsl:text> </xsl:text></script>-->
    113                 <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"/>
    114                 <script type="text/javascript">
    115                     <xsl:text disable-output-escaping="yes">
     114        <!--<script src="sites/localsite/collect/peijones/js/annotator/pkg/annotator.permissions.min.js"><xsl:text> </xsl:text></script> -->
     115        <!-- The Tags plugin. Edit and display tag keywords on annotations -->
     116        <!--<script src="sites/localsite/collect/peijones/js/annotator/pkg/annotator.tags.min.js"><xsl:text> </xsl:text></script> -->
     117        <!-- The Markdown plugin. Treat annotation text as Markdown -->
     118        <!-- <script src="sites/localsite/collect/peijones/js/annotator/lib/vendor/showdown.js"><xsl:text> </xsl:text></script> -->
     119        <!-- <script src="sites/localsite/collect/peijones/js/annotator/pkg/annotator.markdown.min.js"><xsl:text> </xsl:text></script> -->
     120        <!-- Photo note scripts -->
     121        <script src="sites/localsite/collect/peijones/js/documentmaker/BrowserDetect.js" type="text/javascript">
     122          <xsl:text> </xsl:text>
     123        </script>
     124        <script src="sites/localsite/collect/peijones/js/documentmaker/PhotoNotes-1.5.js" type="text/javascript">
     125          <xsl:text> </xsl:text>
     126        </script>
     127        <link href="sites/localsite/collect/peijones/style/PhotoNotes-1.5.css" rel="stylesheet" type="text/css"/>
     128        <!-- Zoom scripts -->
     129        <!--<script src="interfaces/{$interface_name}/js/jquery-1.4.2.js" type="text/javascript"><xsl:text> </xsl:text></script>-->
     130        <script src="sites/localsite/collect/peijones/js/documentmaker/zoomer.jquery.js" type="text/javascript">
     131          <xsl:text> </xsl:text>
     132        </script>
     133        <link href="sites/localsite/collect/peijones/style/style.css" rel="stylesheet" type="text/css"/>
     134        <script type="text/javascript">
     135          <xsl:text disable-output-escaping="yes">
    116136                        _zoomEnabled = true;
    117137                        function readyImagesForZoom()     
     
    184204                            }
    185205                        }   
    186                     </xsl:text>   
    187                 </script>
    188                 <script text="text/javascript">
    189                     <xsl:text disable-output-escaping="yes">
     206                    </xsl:text>
     207        </script>
     208        <script text="text/javascript">
     209          <xsl:text disable-output-escaping="yes">
    190210                       
    191211                        var _posCount = 0;
     
    236256                        function saveFunction(note)
    237257                        {
    238                             var callback =
    239                             {
    240                                 success: function(response)
    241                                 {
    242                                     var updateURL = gs.siteMetadata.siteURL.replace("8080","9090") + gs.xsltParams.library_name + "?a=s&amp;sa=c";
    243                                
    244                                     var updateCallback =
    245                                     {
    246                                         success: function(response){},
    247                                         failed: function(reponse){ alert("Failed in saveFunction() to update Greenstone server with: " + updateURL);}
    248                                     };
    249                                    
    250                                    
    251                                     YAHOO.util.Connect.asyncRequest("GET", updateURL, updateCallback);
    252                                 },
    253                                 failed: function(reponse){ alert("Failed in saveFunction() with note id: " + note.id)},
     258                            var saveIndexCallback =
     259                            {
     260                                success: function(response){},
     261                                failed: function(reponse){ alert("Failed to save index metadata of note with id: " + note.id)},
     262                            };
     263                           
     264                            var saveArchivesCallback =
     265                            {
     266                                success: function(response){buildFunction(gs.cgiParams.c);},
     267                                failed: function(response){ alert("Failed in save import metadata of note with id: " + note.id) }
     268                            };
     269                           
     270                            var saveImportCallback =
     271                            {
     272                                success: function(response){},
     273                                failed: function(response){ alert("Failed in save import metadata of note with id: " + note.id) }
    254274                            };
    255275                           
     
    257277                            var metaposStr = (note &amp;&amp; note.id &amp;&amp; note.id &gt; 0) ? note.id - 1 : _posCount;
    258278                           
    259                             var saveURL = gs.siteMetadata.siteURL.replace("8080","9090") + "cgi-bin/metadata-server.pl?a=set-metadata&amp;site=localsite&amp;c=" + gs.cgiParams.c + "&amp;d=" + gs.cgiParams.d + "&amp;metaname=gsimg.photoNote&amp;metavalue=" + jsonVal + "&amp;metapos=" + metaposStr;
    260                             YAHOO.util.Connect.asyncRequest("GET", saveURL, callback);
     279                            var saveIndexURL = gs.siteMetadata.siteURL.replace("8080","9090") + "cgi-bin/metadata-server.pl?a=set-metadata&amp;site=localsite&amp;c=" + gs.cgiParams.c + "&amp;d=" + gs.cgiParams.d + "&amp;metaname=gsimg.photoNote&amp;metavalue=" + jsonVal + "&amp;metapos=" + metaposStr;
     280                            var saveArchivesURL = gs.siteMetadata.siteURL.replace("8080","9090") + "cgi-bin/metadata-server.pl?a=set-archives-metadata&amp;site=localsite&amp;c=" + gs.cgiParams.c + "&amp;d=" + gs.cgiParams.d + "&amp;metaname=gsimg.photoNote&amp;metavalue=" + jsonVal + "&amp;metapos=" + metaposStr;
     281                            var saveImportURL = gs.siteMetadata.siteURL.replace("8080","9090") + "cgi-bin/metadata-server.pl?a=set-import-metadata&amp;site=localsite&amp;c=" + gs.cgiParams.c + "&amp;d=" + gs.cgiParams.d + "&amp;metaname=gsimg.photoNote&amp;metavalue=" + jsonVal + "&amp;metapos=" + metaposStr;
     282                            YAHOO.util.Connect.asyncRequest("GET", saveIndexURL, saveIndexCallback);
     283                            YAHOO.util.Connect.asyncRequest("GET", saveArchivesURL, saveArchivesCallback);
     284                            YAHOO.util.Connect.asyncRequest("GET", saveImportURL, saveImportCallback);
    261285                           
    262286                            return 1;
     
    315339                        window.onload = function(){initNotes(); readyImagesForZoom(); initAnnotator();};
    316340                    </xsl:text>
    317                 </script>
     341        </script>
     342        <script text="text/javascript">
     343          <xsl:text disable-output-escaping="yes">
     344           
     345            function checkLoop(pid, serverFunction, callback)
     346            {
     347                var startLoop = function()
     348                {
     349                    var loopCallback =
     350                    {
     351                        success:function(response)
     352                        {
     353                            var checkText = response.responseText;
     354                            if(checkText == null || checkText == "")
     355                            {
     356                                console.log("There was an error getting the XML to check the status of " + serverFunction);
     357                            }
     358                            else
     359                            {
     360                                var checkCodeStart = checkText.indexOf("code=\"") + 6;
     361                                var checkCodeEnd = checkText.indexOf("\"", checkCodeStart);
     362                                var code = checkText.substring(checkCodeStart, checkCodeEnd);
     363                               
     364                                if(code == 11 || code == 1) //11 is COMPLETED, 1 is success
     365                                {
     366                                    callback();
     367                                }
     368                                else if(code == 12 || code == 3) //12 is HALTED, 3 is ERROR
     369                                {
     370                                    console.log("There was an error on the server, could not check status of " + serverFunction);
     371                                }
     372                                else
     373                                {
     374                                    setTimeout(startLoop, 1000);
     375                                }
     376                            }
     377                        },
     378                        failed:function()
     379                        {
     380                            console.log("There was a problem checking the status of " + serverFunction)
     381                        }
     382                    }
     383                    YAHOO.util.Connect.asyncRequest("GET", gs.xsltParams.library_name + "?a=g&amp;rt=s&amp;ro=1&amp;s=" + serverFunction + "&amp;s1.pid=" + pid, loopCallback);
     384                }
     385                startLoop();
     386            }
     387       
     388            function buildFunction(collection)
     389            {
     390                var buildCallback =
     391                {
     392                    success:function(response)
     393                    {
     394                        var buildText = response.responseText;
     395                        if(buildText == null || buildText == "")
     396                        {
     397                            console.log("There was an error getting the xml response from the building request");
     398                        }
     399                        else
     400                        {
     401                            var buildPIDStart = buildText.indexOf("pid=\"") + 5;
     402                            var buildPIDEnd = buildText.indexOf("\"", buildPIDStart);
     403                            var buildPID = buildText.substring(buildPIDStart, buildPIDEnd);
     404                           
     405                            checkLoop(buildPID, "BuildCollection", function()
     406                            {
     407                                var activateCallback =
     408                                {
     409                                    success: function(response)
     410                                    {
     411                                        var activateText = response.responseText;
     412                                        if(activateText == null || activateText == "")
     413                                        {
     414                                            console.log("There was an error getting the xml response from the activating request");
     415                                        }
     416                                        else
     417                                        {
     418                                            var activatePIDStart = activateText.indexOf("pid=\"") + 5;
     419                                            var activatePIDEnd = activateText.indexOf("\"", activatePIDStart);
     420                                            var activatePID = activateText.substring(activatePIDStart, activatePIDEnd);
     421                                           
     422                                            checkLoop(activatePID, "ActivateCollection", function()
     423                                            {
     424                                                var updateCallback =
     425                                                {
     426                                                    success: function(response){},
     427                                                    failed: function(reponse){ alert("Failed in saveFunction() to re-read config files");}
     428                                                };
     429                                                YAHOO.util.Connect.asyncRequest("GET", gs.xsltParams.library_name + "?a=s&amp;sa=c", updateCallback);
     430                                            });
     431                                        }
     432                                    },
     433                                    failed: function(response)
     434                                    {
     435                                        console.log("Failed to get response from activate collection request");
     436                                    }
     437                                }
     438                                YAHOO.util.Connect.asyncRequest("GET", gs.xsltParams.library_name + "?a=g&amp;rt=r&amp;ro=1&amp;s=ActivateCollection&amp;s1.collection=" + collection, activateCallback);
     439                            });
     440                        }
     441                    },
     442                    failed: function(){console.log("Failed to get build collection response")}
     443                }
    318444               
    319                 <script text="text/javascript">
    320                     <xsl:text disable-output-escaping="yes">
     445                YAHOO.util.Connect.asyncRequest("GET", gs.xsltParams.library_name + "?a=g&amp;rt=r&amp;ro=1&amp;s=BuildCollection&amp;s1.collection=" + collection, buildCallback);
     446            }
     447           
     448            function saveAndBuildCollection(col)
     449            {           
     450                var json = "[";
     451                for(var i = 0; i &lt; gs.annotationArray.keys.length; i++)
     452                {
     453                    var current = gs.annotationArray[gs.annotationArray.keys[i]];
     454                    var metaToAdd = ["user", "text", "tags"];
     455                   
     456                    for(var j = 0; j &lt; metaToAdd.length; j++)
     457                    {
     458                        if(metaToAdd[j] == "user")
     459                        {
     460                            json += '{"docid":"' + gs.cgiParams.d + '", "metaname":"gstext.' + metaToAdd[j] + '", "metavalue":"' + current.user.name + '"}';
     461                        }
     462                        else
     463                        {
     464                            json += '{"docid":"' + gs.cgiParams.d + '", "metaname":"gstext.' + metaToAdd[j] + '", "metavalue":"' + current[metaToAdd[j]] + '"}';
     465                        }
     466                       
     467                        if(j != (metaToAdd.length - 1) || i != (gs.annotationArray.keys.length - 1))
     468                        {
     469                            json += ',';
     470                        }
     471                    }
     472                }
     473                json += "]";
     474               
     475                var saveArchivesURL = "cgi-bin/metadata-server.pl?a=set-archives-metadata-array&amp;c=" + gs.cgiParams.c + "&amp;site=localsite&amp;collect=" + gs.cgiParams.c + "&amp;json=" + json;
     476                var saveIndexURL = "cgi-bin/metadata-server.pl?a=set-metadata-array&amp;c=" + gs.cgiParams.c + "&amp;site=localsite&amp;collect=" + gs.cgiParams.c + "&amp;json=" + json;
     477                var saveImportURL = "cgi-bin/metadata-server.pl?a=set-import-metadata-array&amp;c=" + gs.cgiParams.c + "&amp;site=localsite&amp;collect=" + gs.cgiParams.c + "&amp;json=" + json; //FIX THIS
     478               
     479                var saveArchivesCallback =
     480                {
     481                    success:function(){console.log("Away to build"); buildFunction(gs.cgiParams.c);},
     482                    failed: function(){alert("Failed to save text annotations index metadata");}
     483                }
     484                YAHOO.util.Connect.asyncRequest("GET", saveArchivesURL, saveArchivesCallback);
     485               
     486                var saveIndexCallback =
     487                {
     488                    success:function(){},
     489                    failed: function(){alert("Failed to save text annotations import metadata");}
     490                }
     491                YAHOO.util.Connect.asyncRequest("GET", saveIndexURL, saveIndexCallback);
     492               
     493                var saveImportCallback =
     494                {
     495                    success:function(){},
     496                    failed: function(){alert("Failed to save text annotations import metadata");}
     497                }
     498                YAHOO.util.Connect.asyncRequest("GET", saveImportURL, saveImportCallback);
     499            }
     500                   
    321501                        function initAnnotator()
    322502                        {       
     503                            gs.annotationArray = new Array();
     504                            gs.annotationArray.keys = new Array();
     505                           
     506                            var elem = document.getElementById("gs-document-text");
     507                            elem.innerHTML = '&lt;button id="saveButton"&gt;Save annotations&lt;/button&gt;&lt;br/&gt;' + elem.innerHTML;
     508                           
     509                            var button = document.getElementById("saveButton");
     510                            button.onclick = function(){saveAndBuildCollection(gs.cgiParams.c);};
     511                           
    323512                            jQuery(function ($) {
    324513                                if (typeof $.fn.annotator !== 'function') {
     
    358547                        }
    359548                    </xsl:text>
    360                 </script>
    361             </xsl:template>
    362            
    363             <xsl:template name="documentImage">
    364                 <!-- Get the photo notes for this document node -->
    365                 <gsf:variable-struct name="photoNotes">
    366                     <gsf:metadata multiple="true" name="gsimg.photoNote" separator=", "/>
    367                 </gsf:variable-struct>
    368                
    369                 <!-- Get details about the image for zooming -->
    370                 <h3>   
    371                     <gsf:choose-metadata>
    372                         <gsf:metadata name="dc.Title"/>
    373                         <gsf:metadata name="ex.Title"/>
    374                     </gsf:choose-metadata>
    375                 </h3>
    376                 <xsl:variable name="imageWidth">
    377                     <gsf:choose-metadata>
    378                         <gsf:metadata name="ImageWidth"/>
    379                         <gsf:default>-1</gsf:default>                       
    380                     </gsf:choose-metadata>
    381                 </xsl:variable>
    382                 <xsl:variable name="imageHeight">
    383                     <gsf:choose-metadata>
    384                         <gsf:metadata name="ImageHeight"/>
    385                         <gsf:default>-1</gsf:default>                       
    386                     </gsf:choose-metadata>
    387                 </xsl:variable>
    388                 <xsl:variable name="screenImageWidth">
    389                     <gsf:choose-metadata>
    390                         <gsf:metadata name="ScreenWidth"/>
    391                         <gsf:default>-1</gsf:default>                       
    392                     </gsf:choose-metadata>
    393                 </xsl:variable>
    394                 <xsl:variable name="screenImageHeight">
    395                     <gsf:choose-metadata>
    396                         <gsf:metadata name="ScreenHeight"/>
    397                         <gsf:default>-1</gsf:default>                       
    398                     </gsf:choose-metadata>
    399                 </xsl:variable>
    400                 <script type="text/javascript">
    401                     <xsl:text>largeImageHeight =</xsl:text><xsl:value-of select="$imageHeight"/><xsl:text>;</xsl:text>
    402                     <xsl:text>largeImageWidth =</xsl:text><xsl:value-of select="$imageWidth"/><xsl:text>;</xsl:text>
    403                     <xsl:text>smallImageHeight =</xsl:text><xsl:value-of select="$screenImageHeight"/><xsl:text>;</xsl:text>
    404                     <xsl:text>smallImageWidth =</xsl:text><xsl:value-of select="$screenImageWidth"/><xsl:text>;</xsl:text>
    405                 </script>
    406                 <div id="noZoom" style="display:block;">
    407                     <img style="width: {$screenImageWidth}; height: {$screenImageHeight};">
    408                                     <xsl:attribute name="src">
    409                                         <xsl:value-of disable-output-escaping="yes" select="/page/pageResponse/collection/metadataList/metadata[@name='httpPath']"/>/index/assoc/<gsf:metadata name="assocfilepath" select="root"/>/<gsf:metadata name="Screen"/>
    410                                     </xsl:attribute>
    411                     </img>
    412                         <!--       
     549        </script>
     550      </xsl:template>
     551      <xsl:template name="documentImage">
     552        <!-- Get the photo notes for this document node -->
     553        <gsf:variable-struct name="photoNotes">
     554          <gsf:metadata multiple="true" name="gsimg.photoNote" separator=", "/>
     555        </gsf:variable-struct>
     556        <!-- Get details about the image for zooming -->
     557        <h3>
     558          <gsf:choose-metadata>
     559            <gsf:metadata name="dc.Title"/>
     560            <gsf:metadata name="ex.Title"/>
     561          </gsf:choose-metadata>
     562        </h3>
     563        <xsl:variable name="imageWidth">
     564          <gsf:choose-metadata>
     565            <gsf:metadata name="ImageWidth"/>
     566            <gsf:default>-1</gsf:default>
     567          </gsf:choose-metadata>
     568        </xsl:variable>
     569        <xsl:variable name="imageHeight">
     570          <gsf:choose-metadata>
     571            <gsf:metadata name="ImageHeight"/>
     572            <gsf:default>-1</gsf:default>
     573          </gsf:choose-metadata>
     574        </xsl:variable>
     575        <xsl:variable name="screenImageWidth">
     576          <gsf:choose-metadata>
     577            <gsf:metadata name="ScreenWidth"/>
     578            <gsf:default>-1</gsf:default>
     579          </gsf:choose-metadata>
     580        </xsl:variable>
     581        <xsl:variable name="screenImageHeight">
     582          <gsf:choose-metadata>
     583            <gsf:metadata name="ScreenHeight"/>
     584            <gsf:default>-1</gsf:default>
     585          </gsf:choose-metadata>
     586        </xsl:variable>
     587        <script type="text/javascript">
     588          <xsl:text>largeImageHeight =</xsl:text>
     589          <xsl:value-of select="$imageHeight"/>
     590          <xsl:text>;</xsl:text>
     591          <xsl:text>largeImageWidth =</xsl:text>
     592          <xsl:value-of select="$imageWidth"/>
     593          <xsl:text>;</xsl:text>
     594          <xsl:text>smallImageHeight =</xsl:text>
     595          <xsl:value-of select="$screenImageHeight"/>
     596          <xsl:text>;</xsl:text>
     597          <xsl:text>smallImageWidth =</xsl:text>
     598          <xsl:value-of select="$screenImageWidth"/>
     599          <xsl:text>;</xsl:text>
     600        </script>
     601        <div id="noZoom" style="display:block;">
     602          <img style="width: {$screenImageWidth}; height: {$screenImageHeight};">
     603            <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" select="root"/>/<gsf:metadata name="Screen"/></xsl:attribute>
     604          </img>
     605          <!--     
    413606                    <gsf:metadata name="screenicon"/>
    414607                    -->
    415                 </div>
    416                 <!--<xsl:if test="$imageHeight != -1">-->
    417                     <div id="wrap" style="display:none; width: {$screenImageWidth}; height: {$screenImageHeight};">
    418                         <div id="small" style="width: {$screenImageWidth}; height: {$screenImageHeight};">
    419                         <!--
     608        </div>
     609        <!--<xsl:if test="$imageHeight != -1">-->
     610        <div id="wrap" style="display:none; width: {$screenImageWidth}; height: {$screenImageHeight};">
     611          <div id="small" style="width: {$screenImageWidth}; height: {$screenImageHeight};">
     612            <!--
    420613                            <gsf:metadata name="screenicon"/>
    421614                            -->
    422                             <img style="width: {$screenImageWidth}; height: {$screenImageHeight};">
    423                                     <xsl:attribute name="src">
    424                                         <xsl:value-of disable-output-escaping="yes" select="/page/pageResponse/collection/metadataList/metadata[@name='httpPath']"/>/index/assoc/<gsf:metadata name="assocfilepath" select="root"/>/<gsf:metadata name="Screen"/>
    425                                     </xsl:attribute>
    426                             </img> 
    427                         </div>
    428                         <div id="mover">
    429                             <div id="overlay"><xsl:text> </xsl:text></div>
    430                             <div id="large">
    431                                 <img style="width: {$imageWidth}; height: {$imageHeight};">
    432                                     <xsl:attribute name="src">
    433                                         <xsl:value-of disable-output-escaping="yes" select="/page/pageResponse/collection/metadataList/metadata[@name='httpPath']"/>/index/assoc/<gsf:metadata name="assocfilepath" select="root"/>/<gsf:metadata name="srclinkFile"/>
    434                                     </xsl:attribute>
    435                                 </img>
    436                             </div>
    437                         </div>
    438                     </div>
    439                     <input onclick="AddNote();" style="margin-left:30px;" type="button" value="Tag Photo!"/>
    440                 <!--</xsl:if>-->
    441             </xsl:template>
    442            
    443         </format></display><replaceListRef id="gs2-standard"/><replaceListRef id="gs2-image"/><serviceRackList>
    444         <!-- comment out the following serviceRack if you want to disable OAI for this collection -->
    445         <serviceRack name="OAIPMH">
    446             <ListMetadataFormats>
    447                 <!--What metadata sets to support is collection specific. To support other metadata schema, simply add a metadataFormat element here.
     615            <img style="width: {$screenImageWidth}; height: {$screenImageHeight};">
     616              <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" select="root"/>/<gsf:metadata name="Screen"/></xsl:attribute>
     617            </img>
     618          </div>
     619          <div id="mover">
     620            <div id="overlay">
     621              <xsl:text> </xsl:text>
     622            </div>
     623            <div id="large">
     624              <img style="width: {$imageWidth}; height: {$imageHeight};">
     625                <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" select="root"/>/<gsf:metadata name="srclinkFile"/></xsl:attribute>
     626              </img>
     627            </div>
     628          </div>
     629        </div>
     630        <input onclick="AddNote();" style="margin-left:30px;" type="button" value="Tag Photo!"/>
     631        <!--</xsl:if>-->
     632      </xsl:template>
     633    </format></display><replaceListRef id="gs2-standard"/><replaceListRef id="gs2-image"/><serviceRackList>
     634    <!-- comment out the following serviceRack if you want to disable OAI for this collection -->
     635    <serviceRack name="OAIPMH">
     636      <ListMetadataFormats>
     637        <!--What metadata sets to support is collection specific. To support other metadata schema, simply add a metadataFormat element here.
    448638    The support of unqualified Dublin Core metadata set is mandatory in the oai specification.
    449639    -->
    450                 <metadataFormat metadataPrefix="oai_dc">
    451                     <metadataPrefix>oai_dc</metadataPrefix>
    452                     <schema>http://www.openarchives.org/OAI/2.0/oai_dc.xsd</schema>
    453                     <metadataNamespace>http://www.openarchives.org/OAI/2.0/oai_dc/</metadataNamespace>
    454                     <!--<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>             
     640        <metadataFormat metadataPrefix="oai_dc">
     641          <metadataPrefix>oai_dc</metadataPrefix>
     642          <schema>http://www.openarchives.org/OAI/2.0/oai_dc.xsd</schema>
     643          <metadataNamespace>http://www.openarchives.org/OAI/2.0/oai_dc/</metadataNamespace>
     644          <!--<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>             
    455645      -->
    456                     <mappingList>
    457                         <!--
     646          <mappingList>
     647            <!--
    458648        The mapping is in the form: <publicly supported metadata name>,<mapped metadata name>, short as <A>,<B>
    459649        The first metadata name is medatory; if there is no mapped name followed, then the first name must be used by the records and
     
    466656        **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.
    467657        -->
    468                         <mapping>dc.Title,Title</mapping>
    469                         <!-- 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. -->
    470                     </mappingList>
    471                 </metadataFormat>
    472             </ListMetadataFormats>
    473         </serviceRack>
    474     </serviceRackList></CollectionConfig>
     658            <mapping>dc.Title,Title</mapping>
     659            <!-- 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. -->
     660          </mappingList>
     661        </metadataFormat>
     662      </ListMetadataFormats>
     663    </serviceRack>
     664  </serviceRackList></CollectionConfig>
Note: See TracChangeset for help on using the changeset viewer.