Commit dc35723f6dc6fc26d3f0cdfca06e6c01ebcd0715

Authored by Matthijs Brouwer
1 parent bec4bc6e

preparations dockerfile

docker/schemaBasic.xml
... ... @@ -6,6 +6,7 @@
6 6 <field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" />
7 7 <field name="type" type="text" required="false" multiValued="false" indexed="true" stored="true" />
8 8 <field name="title" type="text" required="false" multiValued="false" indexed="true" stored="true" />
  9 + <field name="author" type="text" required="false" multiValued="false" indexed="true" stored="true" />
9 10 <field name="genre" type="string" required="false" multiValued="true" indexed="true" stored="true" />
10 11 <field name="text" type="mtas" required="false" multiValued="false" indexed="true" stored="true" />
11 12  
... ...
docker/schemaFull.xml
... ... @@ -6,6 +6,7 @@
6 6 <field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" />
7 7 <field name="type" type="text" required="true" multiValued="false" indexed="true" stored="true" />
8 8 <field name="title" type="text" required="false" multiValued="false" indexed="true" stored="true" />
  9 + <field name="author" type="text" required="false" multiValued="false" indexed="true" stored="true" />
9 10 <field name="genre" type="string" required="false" multiValued="true" indexed="true" stored="true" />
10 11 <field name="text" type="mtas" required="false" multiValued="false" indexed="true" stored="true" />
11 12 <field name="error" type="string" indexed="true" stored="true" />
... ...
docker/site/css/style.css 0 → 100644
  1 +
  2 +
  3 +div.post {
  4 + color: #000000;
  5 + background-color: #EEEEEE;
  6 + border-color: #000000;
  7 + border-width: 1px;
  8 + border-style: solid;
  9 + margin: 10px;
  10 +}
  11 +
  12 +div.error {
  13 + color: #FFFFFF;
  14 + background-color: #FF0000;
  15 + border-color: #000000;
  16 + border-width: 1px;
  17 + border-style: solid;
  18 + margin: 10px;
  19 +}
  20 +
  21 +div.output {
  22 + color: #000000;
  23 + background-color: #FFFFFF;
  24 + border-color: #000000;
  25 + border-width: 1px;
  26 + border-style: solid;
  27 + margin: 10px;
  28 +}
  29 +
  30 +input.button {
  31 + color: #000000;
  32 + background-color: #DDDDDD;
  33 + border-color: #000000;
  34 + border-width: 1px;
  35 + border-style: solid;
  36 +}
0 37 \ No newline at end of file
... ...
docker/site/example_demo1.html 0 → 100644
  1 +<!DOCTYPE html>
  2 +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  3 + <head>
  4 + <meta charset="UTF-8" />
  5 + <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  6 + <title>Multi Tier Annotation Search</title>
  7 + <script type="text/javascript" src="./js/jquery-3.1.1.min.js"></script>
  8 + <script type="text/javascript" src="./js/solr.js"></script>
  9 + <link rel="stylesheet" type="text/css" href="css/style.css">
  10 + </head>
  11 + <body>
  12 +
  13 + <script>
  14 + $(document).ready(function() {
  15 + $("#createIndex").click(function(){
  16 + var oThis = this;
  17 + update("/solr/demo1/update?wt=json&commitWithin=1000", $("pre#createIndexPost").text(), $("div#createIndexOutput"), $("div#createIndexError"), $("#createIndex"));
  18 + });
  19 + $("#deleteIndex").click(function(){
  20 + var oThis = this;
  21 + update("/solr/demo1/update?wt=json&commitWithin=1000", $("pre#deleteIndexPost").text(), $("div#deleteIndexOutput"), $("div#deleteIndexError"), $("#deleteIndex"));
  22 + });
  23 + });
  24 +
  25 + </script>
  26 +
  27 + <h1>Multi Tier Annotation Search - example demo1</h1>
  28 +
  29 + <h3>Create index</h3>
  30 + Post to /solr/demo1/update
  31 + <div class="post"><pre id="createIndexPost">[{ "id": "1","author":"Nicolaas Beets","title":"Een onaangenaam mens in de Haarlemmerhout","text":"folia-samples/beets1.xml" },
  32 +{ "id": "2","author":"Nicolaas Beets","title":"Een oude kennis","text":"folia-samples/beets2.xml" },
  33 +{ "id": "3","author":"Nicolaas Beets","title":"Varen en Rijden","text":"folia-samples/beets3.xml" }]</pre></div>
  34 + <input class="button" type="button" id="createIndex" value="create index" />
  35 + <div id="createIndexOutput" class="output"></div>
  36 + <div id="createIndexError" class="error"></div>
  37 +
  38 + <h3>Empty index</h3>
  39 + Post to /solr/demo1/update
  40 + <div class="post"><pre id="deleteIndexPost">{
  41 + "delete": {
  42 + "query": "*:*"
  43 + }
  44 +}</pre></div>
  45 + <input class="button" type="button" id="deleteIndex" value="delete index" />
  46 + <div id="deleteIndexOutput" class="output"></div>
  47 + <div id="deleteIndexError" class="error"></div>
  48 +
  49 +
  50 + <h3>Basic stats</h3>
  51 +
  52 +
  53 + <p>
  54 + Go to <a href="index.html">main page</a>.
  55 + </p>
  56 + </body>
  57 +</html>
... ...
docker/site/example_demo2.html 0 → 100644
  1 +<!DOCTYPE html>
  2 +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  3 + <head>
  4 + <meta charset="UTF-8" />
  5 + <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  6 + <title>Multi Tier Annotation Search</title>
  7 + <script type="text/javascript" src="./js/jquery-3.1.1.min.js"></script>
  8 + </head>
  9 + <body>
  10 + <h1>Multi Tier Annotation Search - example demo2</h1>
  11 +
  12 + <p>
  13 + Go to <a href="index.html">main page</a>.
  14 + </p>
  15 + </body>
  16 +</html>
... ...
docker/site/index.html 0 → 100644
  1 +<!DOCTYPE html>
  2 +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  3 + <head>
  4 + <meta charset="UTF-8" />
  5 + <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  6 + <title>Multi Tier Annotation Search</title>
  7 + <script type="text/javascript" src="./js/jquery-3.1.1.min.js"></script>
  8 + <script type="text/javascript" src="./js/solr.js"></script>
  9 + <link rel="stylesheet" type="text/css" href="css/style.css">
  10 + </head>
  11 + <body>
  12 + <h1>Multi Tier Annotation Search</h1>
  13 +
  14 + <h3>Solr</h3>
  15 + <ul>
  16 + <li>Go directly to <a target="_blank" href="/solr/">Solr</a></li>
  17 + <li>Go directly to <a target="_blank" href="/solr/#/demo1">Solr - demo1</a></li>
  18 + <li>Go directly to <a target="_blank" href="/solr/#/demo2">Solr - demo2</a></li>
  19 + </ul>
  20 +
  21 + <h3>Available folia</h3>
  22 + <ul>
  23 + <li><a target="_blank" href="/demo/folia-samples/beets1.xml">/demo/folia-samples/beets1.xml</a> - Nicolaas Beets, <em>Een onaangenaam mens in de Haarlemmerhout</em></li>
  24 + <li><a target="_blank" href="/demo/folia-samples/beets2.xml">/demo/folia-samples/beets2.xml</a> - Nicolaas Beets, <em>Een oude kennis</em></li>
  25 + <li><a target="_blank" href="/demo/folia-samples/beets3.xml">/demo/folia-samples/beets3.xml</a> - Nicolaas Beets, <em>Varen en Rijden</em></li>
  26 + </ul>
  27 +
  28 + <h3>Examples</h3>
  29 + <ul>
  30 + <li><a href="example_demo1.html">Example demo1</a></li>
  31 + <li><a href="example_demo2.html">Example demo2</a></li>
  32 + </ul>
  33 + </body>
  34 +</html>
... ...
docker/site/js/solr.js 0 → 100644
  1 +$(document).ready(function() {
  2 + $("div.output").html("").hide();
  3 + $("div.error").html("").hide();
  4 +});
  5 +
  6 +function update(url, json, output, error, button) {
  7 + output.html("").hide();
  8 + error.html("<pre>waiting for response...</pre>").show();
  9 + button.hide();
  10 + $.ajax({
  11 + 'type' : 'POST',
  12 + 'url' : url,
  13 + 'contentType': 'application/json',
  14 + 'data' : json,
  15 + 'success' : function(data) {
  16 + // create response
  17 + try {
  18 + var myObject = JSON.parse(data);
  19 + error.hide();
  20 + output.html(
  21 + '<pre>'
  22 + + JSON.stringify(myObject,
  23 + undefined, 2).replace(/&/g,
  24 + '&amp;').replace(/</g,
  25 + '&lt;').replace(/>/g,
  26 + '&gt;').replace(/"/g,
  27 + '&quot;') + '</pre>').show();
  28 + } catch (err) {
  29 + error.html('<pre>'+data+'</pre>').show();
  30 + }
  31 + button.show();
  32 + },
  33 + 'error' : function(jqXHR, textStatus, errorThrown) {
  34 + error.html('<pre>'+
  35 + jqXHR.status + ' : ' + jqXHR.statusText+ ' : ' +jqXHR.responseText+'</pre>').show();
  36 + button.show();
  37 + }
  38 + });
  39 +}
  40 +
... ...
src/docker/Dockerfile
... ... @@ -19,7 +19,7 @@ USER root
19 19  
20 20 WORKDIR "/root"
21 21  
22   -RUN mkdir lib && mkdir data && mkdir data/mtas
  22 +RUN mkdir lib && mkdir data && mkdir data/mtas && mkdir folia-samples && mkdir site && mkdir site/js
23 23  
24 24 ADD https://raw.githubusercontent.com/meertensinstituut/mtas/master/docker/solrconfig.xml /root/data/
25 25 ADD https://raw.githubusercontent.com/meertensinstituut/mtas/master/docker/mtas.xml /root/data/
... ... @@ -27,11 +27,17 @@ ADD https://raw.githubusercontent.com/meertensinstituut/mtas/master/docker/mtas/
27 27 ADD https://raw.githubusercontent.com/meertensinstituut/mtas/master/docker/mtas/demo_tei.xml /root/data/mtas/
28 28 ADD https://raw.githubusercontent.com/meertensinstituut/mtas/master/docker/schemaBasic.xml /root/data/
29 29 ADD https://raw.githubusercontent.com/meertensinstituut/mtas/master/docker/schemaFull.xml /root/data/
  30 +ADD https://raw.githubusercontent.com/meertensinstituut/mtas/master/docker/folia-samples/beets1.xml.gz /root/folia-samples/
  31 +ADD https://raw.githubusercontent.com/meertensinstituut/mtas/master/docker/folia-samples/beets2.xml.gz /root/folia-samples/
  32 +ADD https://raw.githubusercontent.com/meertensinstituut/mtas/master/docker/folia-samples/beets3.xml.gz /root/folia-samples/
  33 +ADD https://raw.githubusercontent.com/meertensinstituut/mtas/master/docker/site/index.html /root/site/
  34 +ADD https://raw.githubusercontent.com/meertensinstituut/mtas/master/docker/site/example_demo1.html /root/site/
  35 +ADD https://raw.githubusercontent.com/meertensinstituut/mtas/master/docker/site/js/solr.js /root/site/
30 36  
31 37 ADD http://archive.apache.org/dist/lucene/solr/${currentDevelopmentVersion}/solr-${currentDevelopmentVersion}.tgz /root/
32 38 ADD http://apache.cs.uu.nl/commons/math/binaries/commons-math3-3.6.1-bin.tar.gz /root/lib/
33 39 ADD https://github.com/meertensinstituut/mtas/releases/download/${currentDevelopmentRelease}/mtas-${currentDevelopmentVersion}.jar /root/lib/
34   -ADD http://code.jquery.com/jquery-3.1.1.min.js /root/lib/
  40 +ADD http://code.jquery.com/jquery-3.1.1.min.js /root/site/js/
35 41  
36 42 RUN tar xzf lib/commons-math3-3.6.1-bin.tar.gz -C lib commons-math3-3.6.1/commons-math3-3.6.1.jar --strip-components=1 && rm lib/commons-math3-3.6.1-bin.tar.gz
37 43  
... ... @@ -63,6 +69,13 @@ RUN service apache2 stop \
63 69 && a2enmod proxy_html \
64 70 && sed -i '/<\/VirtualHost>/ i ProxyPass /solr http://localhost:8983/solr\nProxyPassReverse /solr http://localhost:8983/solr' /etc/apache2/sites-enabled/000-default.conf
65 71  
  72 +RUN rm /var/www/html/index.html \
  73 +&& mkdir /var/www/html/demo \
  74 +&& cp -rp folia-samples /var/www/html/demo/ \
  75 +&& gunzip -r /var/www/html/demo \
  76 +&& cp -rp site/* /var/www/html/ \
  77 +&& chmod -R 755 /var/www/html \
  78 +
66 79 RUN printf "service solr start\nservice apache2 start\n" > /start.sh && chmod 755 /start.sh
67 80  
68 81 RUN mkdir demo1 && mkdir demo1/lib && mkdir demo1/conf && echo "name=demo1" > demo1/core.properties \
... ... @@ -79,5 +92,3 @@ CMD bash -C &#39;/start.sh&#39;; &#39;bash&#39;
79 92  
80 93  
81 94  
82   -
83   -
... ...