Changeset 37480


Ignore:
Timestamp:
2023-03-13T15:06:58+13:00 (13 months ago)
Author:
davidb
Message:

Changes to get Greenbug back up and running. Theis commit targets two areas: we now need to explicitly specify 'o=xml' in our calls to general action with 'sa' as things like 'XSLTGetTemplateListFromFile'; we now also need to set the AJAX calls explicitly so they return string-type as their response (even if fundamentally the message is XML for example), which is done with dataType: 'text' in the jquery-based AJAX call. We are now using jquery v3.x and it looks like the newer versions of the library auto-sense the return time, where as the older jquery we were using did not to this, hence the reason for the change. In the long run it would be better to keep the returned response in XML, and use browser API to access XML to get to the data we want, however the decision for now was to explicitly set things so it is handled as a string, thereby allowing all our currently written code to operate as it used to.

Location:
main/trunk/greenstone3/web/interfaces/default/js
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • main/trunk/greenstone3/web/interfaces/default/js/debug_scripts.js

    r37468 r37480  
    130130    var partialPageReload = function(callback)
    131131    {
    132         $.ajax(document.URL)
     132        $.ajax(document.URL, { dataType: "text" })
    133133        .done(function(response)
    134134        {
     
    319319
    320320                var url = gs.xsltParams.library_name;
    321                 var parameters = {"a":"g", "rt":"r", "s":"SaveXMLTemplateToFile", "s1.locationName":_currentLocation, "s1.fileName":_currentFileName, "s1.interfaceName":gs.xsltParams.interface_name, "s1.siteName":gs.xsltParams.site_name, "s1.collectionName":gs.cgiParams.c, "s1.namespace":_currentNamespace, "s1.nodename":_currentNodename, "s1.xml":xmlString};
     321                var parameters = {"o": "xml", "a":"g", "rt":"r", "s":"SaveXMLTemplateToFile", "s1.locationName":_currentLocation, "s1.fileName":_currentFileName, "s1.interfaceName":gs.xsltParams.interface_name, "s1.siteName":gs.xsltParams.site_name, "s1.collectionName":gs.cgiParams.c, "s1.namespace":_currentNamespace, "s1.nodename":_currentNodename, "s1.xml":xmlString};
    322322
    323323                if(_currentName && _currentName.length > 0){parameters["s1.name"] = _currentName;}
     
    328328                $.blockUI({message:'<div class="ui-state-active">Saving, please wait...</div>'});
    329329
    330                 $.post(url, parameters)
     330                $.ajax(url, { method: "POST", dataType: "text" , data: parameters })
    331331                .done(function()
    332332                {
     
    495495
    496496        //Populate the file selector
    497         var url = gs.xsltParams.library_name + "?a=g&rt=r&o=xml&s=GetXSLTFilesForCollection&s1.interfaceName=" + gs.xsltParams.interface_name + "&s1.siteName=" + gs.xsltParams.site_name + "&s1.collectionName=" + gs.cgiParams.c;
    498         $.ajax(url,
    499                    {
    500                        dataType: 'text'
    501                    }
    502                   )
     497        var url = gs.xsltParams.library_name + "?o=xml&a=g&rt=r&s=GetXSLTFilesForCollection&s1.interfaceName=" + gs.xsltParams.interface_name + "&s1.siteName=" + gs.xsltParams.site_name + "&s1.collectionName=" + gs.cgiParams.c;
     498        $.ajax(url, { dataType: "text" })
    503499        .done(function(response)
    504500        {
     
    610606    this.populateTemplateSelectorFromFile = function(filename, location, callback)
    611607    {
    612         var getURL = gs.xsltParams.library_name + "?a=g&rt=r&s=GetTemplateListFromFile&s1.fileName=" + filename + "&s1.locationName=" + location + "&s1.interfaceName=" + gs.xsltParams.interface_name + "&s1.siteName=" + gs.xsltParams.site_name + "&s1.collectionName=" + gs.cgiParams.c;
    613         $.ajax(getURL)
     608        var getURL = gs.xsltParams.library_name + "?o=xml&a=g&rt=r&s=GetTemplateListFromFile&s1.fileName=" + filename + "&s1.locationName=" + location + "&s1.interfaceName=" + gs.xsltParams.interface_name + "&s1.siteName=" + gs.xsltParams.site_name + "&s1.collectionName=" + gs.cgiParams.c;
     609        $.ajax(getURL, { dataType: "text" })
    614610        .done(function(templateResponse)
    615611        {
     
    618614           
    619615            if(templateListStart == "<templateList>".length - 1)
    620             {
    621                 return;
     616                {
     617                console.error("Error retrieving '" + filename + "' templates");
     618                return;
    622619            }
    623620           
     
    688685
    689686        var url = gs.xsltParams.library_name;
    690         var params = {"a":"g", "rt":"r", "s":"GetXMLTemplateFromFile", "s1.fileName":filename, "s1.interfaceName":gs.xsltParams.interface_name, "s1.siteName":gs.xsltParams.site_name, "s1.collectionName":gs.cgiParams.c, "s1.locationName":location, "s1.namespace":namespace, "s1.nodename":nodename};
     687        var params = {"o": "xml", "a":"g", "rt":"r", "s":"GetXMLTemplateFromFile", "s1.fileName":filename, "s1.interfaceName":gs.xsltParams.interface_name, "s1.siteName":gs.xsltParams.site_name, "s1.collectionName":gs.cgiParams.c, "s1.locationName":location, "s1.namespace":namespace, "s1.nodename":nodename};
    691688
    692689        if(match && match.length > 0){params["s1.match"] = match; responseName = "requestedMatchTemplate";}
     
    694691        if(name && name.length > 0){params["s1.name"] = name;}
    695692
    696         $.post(url, params)
     693        $.ajax(url, { method: "POST", dataType: "text" , "data": params})
    697694        .done(function(response)
    698695        {
     
    705702            }
    706703            else
    707             {
    708                 return;
     704                {
     705                console.error("Failed to find '" + responseName + "' in POST response");
     706                return;
    709707            }
    710708
  • main/trunk/greenstone3/web/interfaces/default/js/document_scripts.js

    r37153 r37480  
    6868    if (gs.cgiParams.ck && gs.cgiParams.ck.length > 0) {
    6969    url += "&ck=" + gs.cgiParams.ck;
    70     }
    71    
    72    
    73    
    74     $.ajax(url)
     70    }       
     71   
     72    $.ajax(url, { dataType: "text" })
    7573    .done(function(response)
    7674    {
     
    109107    template += '<xsl:template match="/">';
    110108    template +=   '<sections>';
    111     template +=     '<xsl:for-each select="/page/pageResponse/document//documentNode[@nodeID = \'' + sectionID + '\']/documentNode">';
    112     template +=       '<xsl:call-template name="wrapDocumentNodes"/>';
    113     template +=     '</xsl:for-each>';
     109    template += '<xsl:for-each select="/page/pageResponse/document//documentNode[@nodeID = \'' + sectionID + '\']/documentNode">';
     110    template +=   '<xsl:call-template name="wrapDocumentNodes"/>';
     111    template += '</xsl:for-each>';
    114112    template +=   '</sections>';
    115113    template += '</xsl:template>';
    116114
    117     template = makeURLComponentSafe(template);
    118     var url = gs.xsltParams.library_name + "/collection/" + gs.cgiParams.c + "/document/" + sectionID + "?ilt=" + template;
    119 
    120     if (gs.cgiParams.p_s && gs.cgiParams.p_s.length > 0) {
    121     url += "&p.s=" + gs.cgiParams.p_s;
    122     }
    123 
    124        if(gs.documentMetadata.docType == "paged")
     115    template = makeURLComponentSafe(template);
     116    var url = gs.xsltParams.library_name + "/collection/" + gs.cgiParams.c + "/document/" + sectionID + "?ilt=" + template;
     117
     118    if (gs.cgiParams.p_s && gs.cgiParams.p_s.length > 0) {
     119        url += "&p.s=" + gs.cgiParams.p_s;
     120    }
     121
     122    if(gs.documentMetadata.docType == "paged")
    125123    {
    126124        url += "&dt=hierarchy";
    127125    }
    128126   
    129     $.ajax(url)
     127        $.ajax(url, { dataType: "text" })
    130128    .done(function(response)
    131129    {
     
    461459    }
    462460
    463     $.ajax(url)
     461    $.ajax(url, { dataType: "text" })
    464462    .done(function(response)
    465463    {
     
    537535    }
    538536    else { 
    539     $.ajax(url)
     537    $.ajax(url, { dataType: "text" })
    540538        .done(retrieveFullTableOfContentsSuccess)
    541539        .fail(function() {
     
    704702    }
    705703
    706     $.ajax(url)
     704    $.ajax(url, { dataType: "text" })
    707705    .done(function(response)
    708706    {
     
    968966        template +=   '</html>';
    969967        template += '</xsl:template>';
    970     template = makeURLComponentSafe(template);
     968        template = makeURLComponentSafe(template);
    971969        var url = href + "?noText=1&ilt=" + template;
    972970
    973         $.ajax(url)
     971    $.ajax(url, { dataType: "text" })
    974972        .done(function(text)
    975973             {
     
    13071305    template +=   ']</images>';
    13081306    template += '</xsl:template>';
    1309     template = makeURLComponentSafe(template);
     1307    template = makeURLComponentSafe(template);
    13101308    var url = gs.xsltParams.library_name + "/collection/" + gs.cgiParams.c + "/document/" + gs.cgiParams.d + "?ed=1&ilt=" + template;
    13111309
    1312     $.ajax({
    1313         url:url
    1314     }).done(function(data) {
     1310    $.ajax(url, {dataType: "text"})
     1311    .done(function(data) {
    13151312        var startIndex = data.indexOf(">", data.indexOf(">") + 1) + 1;
    13161313        var endIndex = data.lastIndexOf("<");
  • main/trunk/greenstone3/web/interfaces/default/js/visual-xml-editor.js

    r36027 r37480  
    288288        else
    289289        {
    290             var url = gs.xsltParams.library_name + "?a=g&rt=r&s=GetTemplateListFromFile&s1.locationName=interface&s1.interfaceName=" + gs.xsltParams.interface_name + "&s1.fileName=gslib.xsl";
    291 
    292             $.ajax(url)
     290            var url = gs.xsltParams.library_name + "?o=xml&a=g&rt=r&s=GetTemplateListFromFile&s1.locationName=interface&s1.interfaceName=" + gs.xsltParams.interface_name + "&s1.fileName=gslib.xsl";
     291
     292            $.ajax(url, { dataType: "text" })
    293293            .done(function(response)
    294294            {
     
    298298                if(startIndex == "<templateList>".length - 1)
    299299                {
    300                     console.log("Error retrieving GSLIB templates");
     300                    console.error("Error retrieving GSLIB templates");
    301301                    return;
    302302                }
     
    11501150        var visitCalledTemplate = function()
    11511151        {
    1152             var url = gs.xsltParams.library_name + "?a=g&rt=r&s=ResolveCallTemplate&s1.interfaceName=" + gs.xsltParams.interface_name + "&s1.siteName=" + gs.xsltParams.site_name + "&s1.collectionName=" + gs.cgiParams.c + "&s1.fileName=" + _fileName + "&s1.templateName=" + _xmlNode.getAttribute("name");
     1152            var url = gs.xsltParams.library_name + "?o=xml&a=g&rt=r&s=ResolveCallTemplate&s1.interfaceName=" + gs.xsltParams.interface_name + "&s1.siteName=" + gs.xsltParams.site_name + "&s1.collectionName=" + gs.cgiParams.c + "&s1.fileName=" + _fileName + "&s1.templateName=" + _xmlNode.getAttribute("name");
    11531153       
    11541154            var successFunction = function(response)
     
    11751175            var errorFunction = function()
    11761176            {
    1177                 $.ajax(url).done(successFunction).fail(errorFunction);
     1177                $.ajax(url, { dataType: "text" }).done(successFunction).fail(errorFunction);
    11781178            }
    11791179           
    1180             $.ajax(url).done(successFunction).fail(errorFunction);
     1180            $.ajax(url, { dataType: "text" }).done(successFunction).fail(errorFunction);
    11811181        }
    11821182
Note: See TracChangeset for help on using the changeset viewer.