Ignore:
Timestamp:
2017-01-23T16:01:35+13:00 (7 years ago)
Author:
davidb
Message:

Reworked to use CORS and $.ajax() so TamperMonkey doesn't interceed with security check page. Also relocated bookworm PNG from external site to be within the servlet area.

Location:
other-projects/hathitrust/wcsa/vol-checker/WebContent
Files:
1 added
2 edited

Legend:

Unmodified
Added
Removed
  • other-projects/hathitrust/wcsa/vol-checker/WebContent/HT-HTRC_Mashup.user.js

    r31330 r31331  
    1717// grant GM_addStyle
    1818
     19var http_servlet_url="http://bedrock.resnet.cms.waikato.ac.nz:8686/vol-checker/";
     20var https_servlet_url="https://bedrock.resnet.cms.waikato.ac.nz:8643/vol-checker/";
    1921
    2022function mashupInit() {
     
    2729    $search_button.find('span').first().hide();
    2830
    29     $fieldset.append('<button id="htrc-bw" class="button search" style="width:47px; right: -105px; background-image:url(http://www.cs.waikato.ac.nz/~davidb/htrc-mashup/bookworm.png);" title="Bookworm"></button>');
     31    $fieldset.append('<button id="htrc-bw" class="button search" style="width:47px; right: -105px; background-image:url('+https_servlet_url + 'bookworm.png);" title="Bookworm"></button>');
    3032
    3133    var $bw_button = $('#htrc-bw');
     
    148150    //console.log("*** ids_str = " + ids_str);
    149151
    150     console.log("**** Away to request: " + "http://bedrock.resnet.cms.waikato.ac.nz:8686/vol-checker/VolumeCheck?ids=" + encodeURIComponent(ids_str));
     152    console.log("**** Away to request: " + https_servlet_url + "VolumeCheck?ids=" + encodeURIComponent(ids_str));
    151153
     154    var encoded_ids=encodeURIComponent(ids_str);
     155    var full_url = https_servlet_url + "VolumeCheck?ids=" + encoded_ids;
    152156
     157    $.ajax(full_url)
     158        .done(function(data,textStatus,response) {
     159        console.log("Adding in HTRC cross-checks");
     160        var ids_exist = data;
     161        for (var k in ids_exist) {
     162            //console.log("*** k = '" + k + "'");
    153163
     164            //var id_str = '#htrc-mashup-'+k;
     165            //console.log("*** id str = " + id_str);
     166            // var $id_div = $(id_str);
     167           
     168            //var $id_div = $('#'+'htrc-mashup-'+k);
     169            var id_div = document.getElementById('htrc-mashup-'+k);
     170            //console.log("*** id_div = " + id_div);
     171            var $id_div = $(id_div);
    154172
    155     GM_xmlhttpRequest ({
    156                 method: "GET",
    157                 url: "http://bedrock.resnet.cms.waikato.ac.nz:8686/vol-checker/VolumeCheck?ids=" + encodeURIComponent(ids_str),
    158                 //url: "http://localhost:8080/htrc-ef-exists/VolumeCheck?ids=" + encodeURIComponent(file_safe_ids_str),
    159                 //headers: {
    160             //"Content-Type": "application/x-www-form-urlencoded"
    161               //  },
    162                 onload: function (response) {
     173            if (ids_exist[k]) {
     174            $id_div.find("ul").append("<li title=\""+k+"\" style=\"color: #924a0b;\"><a>Download Extracted Features</a></li>"); // ✓
     175            }
     176            else {
     177            // ✗, ✘
     178            $id_div.find("ul").append("<li title=\""+k+"\" style=\"color: red;\">HTRC unfriendly ✘</li>");
     179            }
    163180
    164                 console.log("Adding in HTRC cross-checks");
    165                 var text = response.responseText;
    166                 //console.log ( "Response text: " + text);
    167                 var ids_exist = JSON.parse(text);
     181            //console.log("*** id div len = " + $id_div.length);
    168182
    169                 for (var k in ids_exist) {
    170                     //console.log("*** k = '" + k + "'");
     183            //$.append("<li>HTRC friendly</li>");
     184        }
     185        })
     186        .fail(function(esponse,textStatus,errorThrown) {
     187        alert( "error:"  + errorThrown);
     188        });
    171189
    172                     //var id_str = '#htrc-mashup-'+k;
    173                     //console.log("*** id str = " + id_str);
    174                     // var $id_div = $(id_str);
    175 
    176                     //var $id_div = $('#'+'htrc-mashup-'+k);
    177                     var id_div = document.getElementById('htrc-mashup-'+k);
    178                     //console.log("*** id_div = " + id_div);
    179                     var $id_div = $(id_div);
    180 
    181                     if (ids_exist[k]) {
    182                     $id_div.find("ul").append("<li title=\""+k+"\" style=\"color: #924a0b;\"><a>Download Extracted Features</a></li>"); // ✓
    183                         }
    184                     else {
    185                     // ✗, ✘
    186                     $id_div.find("ul").append("<li title=\""+k+"\" style=\"color: red;\">HTRC unfriendly ✘</li>");
    187                         }
    188 
    189                     //console.log("*** id div len = " + $id_div.length);
    190 
    191                     //$.append("<li>HTRC friendly</li>");
    192                     /*
    193                                 if (ids_exist.hasOwnProperty(k)) {
    194                           //console.log("*** processing id: " + k);
    195                             //$('#htrc-mashup-'+k).css("background-color:","red");
    196                               $('#htrc-mashup-'+k).append("<p>HTRC friendly</p>");
    197                                     }*/
    198                 }
    199 
    200                     }
    201             });
    202190
    203191    //console.log("*** GM httpRequest made ");
  • other-projects/hathitrust/wcsa/vol-checker/WebContent/WEB-INF/web.xml

    r31295 r31331  
    1111  </welcome-file-list>
    1212 
     13
     14  <filter>
     15    <filter-name>cross-origin</filter-name>
     16    <filter-class>org.eclipse.jetty.servlets.CrossOriginFilter</filter-class>
     17    <init-param>
     18        <param-name>allowedOrigins</param-name>
     19        <param-value>*</param-value>
     20    </init-param>
     21    <init-param>
     22        <param-name>allowedMethods</param-name>
     23        <param-value>GET,POST,HEAD</param-value>
     24    </init-param>
     25    <init-param>
     26        <param-name>allowedHeaders</param-name>
     27        <param-value>X-Requested-With,Content-Type,Accept,Origin</param-value>
     28    </init-param>
     29  </filter>
     30  <filter-mapping>
     31    <filter-name>cross-origin</filter-name>
     32    <url-pattern>/*</url-pattern>
     33  </filter-mapping>
     34
     35
    1336  <servlet>
    14         <servlet-name>HTRC Volume Check</servlet-name>
    15         <servlet-class>org.hathitrust.extractedfeatures.VolumeCheck</servlet-class>
    16     </servlet>
    17 
    18     <servlet-mapping>
    19         <servlet-name>HTRC Volume Check</servlet-name>
    20         <url-pattern>/VolumeCheck</url-pattern>
    21     </servlet-mapping>
     37    <servlet-name>HTRC Volume Check</servlet-name>
     38    <servlet-class>org.hathitrust.extractedfeatures.VolumeCheck</servlet-class>
     39  </servlet>
     40  <servlet-mapping>
     41    <servlet-name>HTRC Volume Check</servlet-name>
     42    <url-pattern>/VolumeCheck</url-pattern>
     43  </servlet-mapping>
    2244 
    2345   
Note: See TracChangeset for help on using the changeset viewer.