simple HTML/JS/CSS widgets that can be dropped into ANY website,
irrespective of CMS or lack thereof, to enable MasterKey searching.
-The top level bug for discussing this is
- https://jira.indexdata.com/browse/MKWS-1
-and a high-level description can be found at
- https://twiki.indexdata.com/twiki/bin/view/ID/MasterKeyWidgetSet
-
WHAT'S WHAT
===========
Required devel tools
====================
-on debian, you will need: curl git-core pandoc
+on debian, you will need:
+$ sudo apt-get install curl git-core pandoc yui-compressor
+
+NEWS
+=========
+
+see tools/htdocs/NEWS
CustomLog /var/log/apache2/mkws-examples-access.log combined
RewriteEngine on
- RewriteRule /service-proxy-auth/ http://mkws.indexdata.com/service-proxy/?command=auth&action=login&username=demo&password=demo [P]
+ RewriteRule /service-proxy-auth http://mkws.indexdata.com/service-proxy/?command=auth&action=login&username=mkws&password=mkws [P]
#RewriteLog /var/log/apache2/mkws-examples-rewrite.log
#RewriteLogLevel 9
</VirtualHost>
--- /dev/null
+Development
+===========================================
+
+please run first in this directory:
+$ make jasmine-links
+
+
+jasmine.html - jasmine test with standard HTML page.
+
+jasmine-popup.html - jasmine test with MKWS popup. No HTML, only JavaScript.
+ Returns better readable test results as jasmine.html,
+ but it is less flexible.
+
+
+
<link rel="stylesheet" type="text/css" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
<link rel="stylesheet" type="text/css" href="http://mkws.indexdata.com/mkws.css" />
- <script type="text/javascript" src="../../tools/htdocs/jquery-1.10.0.min.js"></script>
+ <script type="text/javascript" src="tools/htdocs/jquery-1.10.0.min.js"></script>
<script type="text/javascript" src="http://code.jquery.com/ui/1.10.3/jquery-ui.min.js"></script>
- <script type="text/javascript" src="../../tools/htdocs/pz2.js"></script>
- <script type="text/javascript" src="../../tools/htdocs/jquery.json-2.4.js"></script>
- <script type="text/javascript" src="../../tools/htdocs/handlebars-v1.1.2.js"></script>
- <script type="text/javascript" src="../../tools/htdocs/mkws.js"></script>
+ <script type="text/javascript" src="tools/htdocs/pz2.js"></script>
+ <script type="text/javascript" src="tools/htdocs/jquery.json-2.4.js"></script>
+ <script type="text/javascript" src="tools/htdocs/handlebars-v1.1.2.js"></script>
+ <script type="text/javascript" src="tools/htdocs/mkws.js"></script>
- <link rel="shortcut icon" type="image/png" href="../jasmine/lib/jasmine-1.3.1/jasmine_favicon.png">
- <link rel="stylesheet" type="text/css" href="../jasmine/lib/jasmine-1.3.1/jasmine.css">
- <script type="text/javascript" src="../jasmine/lib/jasmine-1.3.1/jasmine.js"></script>
- <script type="text/javascript" src="../jasmine/lib/jasmine-1.3.1/jasmine-html.js"></script>
+ <link rel="shortcut icon" type="image/png" href="jasmine/lib/jasmine-1.3.1/jasmine_favicon.png">
+ <link rel="stylesheet" type="text/css" href="jasmine/lib/jasmine-1.3.1/jasmine.css">
+ <script type="text/javascript" src="jasmine/lib/jasmine-1.3.1/jasmine.js"></script>
+ <script type="text/javascript" src="jasmine/lib/jasmine-1.3.1/jasmine-html.js"></script>
- <script type="text/javascript" src="../../test/spec/true.spec.js"></script>
- <script type="text/javascript" src="../../test/spec/mkws-config.js"></script>
- <script type="text/javascript" src="../../test/spec/mkws-pazpar2.js"></script>
+ <script type="text/javascript" src="test/spec/true.spec.js"></script>
+ <script type="text/javascript" src="test/spec/mkws-config.js"></script>
+ <script type="text/javascript" src="test/spec/mkws-pazpar2.js"></script>
- <script type="text/javascript" src="../../test/js/mkws-jasmine-run.js"></script>
+ <script type="text/javascript" src="test/js/mkws-jasmine-run.js"></script>
<script type="text/javascript"> mkws_jasmine_init(500); </script>
</head>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>MKWS demo jasmine test framework</title>
- <link rel="stylesheet" type="text/css" href="../../tools/htdocs/mkws.css" />
+ <link rel="stylesheet" type="text/css" href="tools/htdocs/mkws.css" />
<script type="text/javascript">
var mkws_config = {
jasmine: { "show_record_url": false },
};
</script>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.4.min.js"></script>
- <script type="text/javascript" src="../../tools/htdocs/pz2.js"></script>
- <script type="text/javascript" src="../../tools/htdocs/handlebars-v1.1.2.js"></script>
- <script type="text/javascript" src="../../tools/htdocs/jquery.json-2.4.js"></script>
- <script type="text/javascript" src="../../tools/htdocs/mkws.js"></script>
+ <script type="text/javascript" src="tools/htdocs/pz2.js"></script>
+ <script type="text/javascript" src="tools/htdocs/handlebars-v1.1.2.js"></script>
+ <script type="text/javascript" src="tools/htdocs/jquery.json-2.4.js"></script>
+ <script type="text/javascript" src="tools/htdocs/mkws.js"></script>
<style type="text/css">
#mkwsTermlists div.facet {
float:left;
</style>
<!-- SECTION jasmine -->
- <link rel="shortcut icon" type="image/png" href="../jasmine/lib/jasmine-1.3.1/jasmine_favicon.png">
- <link rel="stylesheet" type="text/css" href="../jasmine/lib/jasmine-1.3.1/jasmine.css">
- <script type="text/javascript" src="../jasmine/lib/jasmine-1.3.1/jasmine.js"></script>
- <script type="text/javascript" src="../jasmine/lib/jasmine-1.3.1/jasmine-html.js"></script>
+ <link rel="shortcut icon" type="image/png" href="jasmine/lib/jasmine-1.3.1/jasmine_favicon.png">
+ <link rel="stylesheet" type="text/css" href="jasmine/lib/jasmine-1.3.1/jasmine.css">
+ <script type="text/javascript" src="jasmine/lib/jasmine-1.3.1/jasmine.js"></script>
+ <script type="text/javascript" src="jasmine/lib/jasmine-1.3.1/jasmine-html.js"></script>
<!-- include MKWS spec files ... -->
- <script type="text/javascript" src="../../test/spec/true.spec.js"></script>
- <script type="text/javascript" src="../../test/spec/mkws-config.js"></script>
- <script type="text/javascript" src="../../test/spec/mkws-pazpar2.js"></script>
+ <script type="text/javascript" src="test/spec/true.spec.js"></script>
+ <script type="text/javascript" src="test/spec/mkws-config.js"></script>
+ <script type="text/javascript" src="test/spec/mkws-pazpar2.js"></script>
<!-- init and run jasmine -->
- <script type="text/javascript" src="../../test/js/mkws-jasmine-run.js"></script>
+ <script type="text/javascript" src="test/js/mkws-jasmine-run.js"></script>
<script type="text/javascript">
mkws_jasmine_init(500);
</script>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>MKWS demo jasmine test framework</title>
- <link rel="stylesheet" type="text/css" href="../../tools/htdocs/mkws.css" />
+ <link rel="stylesheet" type="text/css" href="tools/htdocs/mkws.css" />
<script type="text/javascript">
var mkws_config = {
perpage_default: 10
};
</script>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.4.min.js"></script>
- <script type="text/javascript" src="../../tools/htdocs/pz2.js"></script>
- <script type="text/javascript" src="../../tools/htdocs/handlebars-v1.1.2.js"></script>
- <script type="text/javascript" src="../../tools/htdocs/jquery.json-2.4.js"></script>
- <script type="text/javascript" src="../../tools/htdocs/mkws.js"></script>
+ <script type="text/javascript" src="tools/htdocs/pz2.js"></script>
+ <script type="text/javascript" src="tools/htdocs/handlebars-v1.1.2.js"></script>
+ <script type="text/javascript" src="tools/htdocs/jquery.json-2.4.js"></script>
+ <script type="text/javascript" src="tools/htdocs/mkws.js"></script>
<style type="text/css">
#mkwsTermlists div.facet {
float:left;
</style>
<!-- SECTION jasmine -->
- <link rel="shortcut icon" type="image/png" href="../jasmine/lib/jasmine-1.3.1/jasmine_favicon.png">
- <link rel="stylesheet" type="text/css" href="../jasmine/lib/jasmine-1.3.1/jasmine.css">
- <script type="text/javascript" src="../jasmine/lib/jasmine-1.3.1/jasmine.js"></script>
- <script type="text/javascript" src="../jasmine/lib/jasmine-1.3.1/jasmine-html.js"></script>
+ <link rel="shortcut icon" type="image/png" href="jasmine/lib/jasmine-1.3.1/jasmine_favicon.png">
+ <link rel="stylesheet" type="text/css" href="jasmine/lib/jasmine-1.3.1/jasmine.css">
+ <script type="text/javascript" src="jasmine/lib/jasmine-1.3.1/jasmine.js"></script>
+ <script type="text/javascript" src="jasmine/lib/jasmine-1.3.1/jasmine-html.js"></script>
<!-- include MKWS spec files ... -->
- <script type="text/javascript" src="../../test/spec/true.spec.js"></script>
- <script type="text/javascript" src="../../test/spec/mkws-config.js"></script>
- <script type="text/javascript" src="../../test/spec/mkws-pazpar2.js"></script>
+ <script type="text/javascript" src="test/spec/true.spec.js"></script>
+ <script type="text/javascript" src="test/spec/mkws-config.js"></script>
+ <script type="text/javascript" src="test/spec/mkws-pazpar2.js"></script>
<!-- init and run jasmine -->
- <script type="text/javascript" src="../../test/js/mkws-jasmine-run.js"></script>
+ <script type="text/javascript" src="test/js/mkws-jasmine-run.js"></script>
<script type="text/javascript">
mkws_jasmine_init(500);
</script>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>MKWS demo: Wolfram's playground</title>
- <link rel="stylesheet" type="text/css" href="../../tools/htdocs/mkws.css" />
+ <link rel="stylesheet" type="text/css" href="tools/htdocs/mkws.css" />
<script type="text/javascript">
var mkws_config = {
- /*
pazpar2_url : "/service-proxy/",
- service_proxy_auth : "/service-proxy-auth/",
- */
+ service_proxy_auth : "/service-proxy-auth"
};
</script>
- <script type="text/javascript" src="../../tools/htdocs/jquery-1.10.0.min.js"></script>
- <script type="text/javascript" src="../../tools/htdocs/pz2.js"></script>
- <script type="text/javascript" src="../../tools/htdocs/handlebars-v1.1.2.js"></script>
- <script type="text/javascript" src="../../tools/htdocs/jquery.json-2.4.js"></script>
- <script type="text/javascript" src="../../tools/htdocs/mkws.js"></script>
+ <script type="text/javascript" src="tools/htdocs/jquery-1.10.0.min.js"></script>
+ <script type="text/javascript" src="tools/htdocs/pz2.js"></script>
+ <script type="text/javascript" src="tools/htdocs/handlebars-v1.1.2.js"></script>
+ <script type="text/javascript" src="tools/htdocs/jquery.json-2.4.js"></script>
+ <script type="text/javascript" src="tools/htdocs/mkws.js"></script>
<style type="text/css">
#mkwsTermlists div.facet {
float:left;
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>MKWS demo: Wolfram's playground</title>
- <link rel="stylesheet" type="text/css" href="../../tools/htdocs/mkws.css" />
+ <link rel="stylesheet" type="text/css" href="tools/htdocs/mkws.css" />
<style type="text/css">
#mkwsTermlists div.facet {
float:left;
</tr>
</table>
- <script type="text/javascript" src="../../tools/htdocs/mkws-complete.js"></script>
+ <script type="text/javascript" src="tools/htdocs/mkws-complete.js"></script>
<script type="text/javascript">
var mkws_config = {
# For running on Mike's local install of node.js
MIKE = PATH=$$PATH:/usr/local/lib/node-v0.10.24-linux-x64/bin
+NPM_INSTALL_FLAGS=-q
all: check
${MAKE} -C../tools/htdocs $@
check: mkws-complete-syntax-check
- for i in ./spec/*.js; do \
- echo "$$i"; \
- jasmine-node --noColor --captureExceptions --forceexit $$i; \
- done
+ jasmine-node --noColor --captureExceptions --forceexit ./spec
+ jasmine-node --noColor --captureExceptions --forceexit ./spec-sp
test: check
node-modules: node_modules
node_modules:
- npm install jQuery xmlhttprequest jsdom request jasmine-node
+ npm install ${NPM_INSTALL_FLAGS} jQuery xmlhttprequest jsdom request jasmine-node
help:
@echo "make [ all | check | clean | distclean ]"
--- /dev/null
+/* Copyright (c) 2013 IndexData ApS. http://indexdata.com
+ *
+ * jQuery test with DOM/windows object
+ *
+ */
+
+
+var fs = require("fs");
+var utils = require("./mkws_utils.js");
+
+/*
+ * parse HTML data to DOM, and run jQuery request on it
+ *
+ */
+
+function jsdom_check(file, tags_array, ignore_doctype) {
+ var html = fs.readFileSync(file, "utf-8");
+ var tags = utils.flat_list(tags_array);
+
+ describe("local html file jsdom + jquery for " + file, function () {
+ var window = require('jsdom').jsdom(html, null, {
+ FetchExternalResources: false,
+ ProcessExternalResources: false,
+ MutationEvents: false,
+ QuerySelector: false
+ }).createWindow();
+
+ /* apply jquery to the window */
+ var $ = require('jQuery').create(window);
+
+
+ it("html jquery test", function () {
+ expect(html).toBeDefined();
+
+ expect($("body").length == 0).toEqual(false);
+ expect($("body").length == 1).toEqual(true);
+ expect($("head").length == 1).toEqual(true);
+
+ for (var i = 0; i < tags.length; i++) {
+ expect($("#" + tags[i]).length == 1).toEqual(true);
+ }
+ });
+
+ it("html jquery fail test", function () {
+ expect(html).toBeDefined();
+
+ expect($("body_does_not_exists").length == 1).toEqual(false);
+ expect($("#body_does_not_exists").length == 1).toEqual(false);
+ });
+ });
+}
+
+jsdom_check('../examples/htdocs/language.html', [utils.tags.required, utils.tags.optional, utils.tags.optional2]);
+jsdom_check('../examples/htdocs/mobile.html', [utils.tags.required, utils.tags.optional]);
+jsdom_check('../examples/htdocs/index.html', [utils.tags.required, utils.tags.optional]);
+
--- /dev/null
+/* Copyright (c) 2013 IndexData ApS. http://indexdata.com
+ *
+ * helper functions for other test *.spec.js files
+ *
+ */
+
+/*
+ * combine arrays, return a flat list
+ * [["a","b"], ["c"], "d"] => ["a", "b", "c", "d"]
+ *
+ */
+var flat_list = function (list) {
+ var data = [];
+
+ for (var i = 0; i < list.length; i++) {
+ if (typeof list[i] == 'object') {
+ for (var j = 0; j < list[i].length; j++) {
+ data.push(list[i][j]);
+ }
+
+ } else {
+ data.push(list[i]);
+ }
+ }
+
+ return data;
+ };
+
+/*
+ * list of div id to check
+ *
+ */
+var tags = {
+ required: ["mkwsSearch", "mkwsResults"],
+ optional: ["mkwsLang", "mkwsTargets"],
+ optional2: ["mkwsMOTD", "mkwsStat", "footer"]
+};
+
+// node.js exports
+module.exports = {
+ flat_list: flat_list,
+ tags: tags
+};
+++ /dev/null
-/* Copyright (c) 2013 IndexData ApS. http://indexdata.com
- *
- * jQuery test with DOM/windows object
- *
- */
-
-
-var fs = require("fs");
-var utils = require("./mkws_utils.js");
-
-/*
- * parse HTML data to DOM, and run jQuery request on it
- *
- */
-
-function jsdom_check(file, tags_array, ignore_doctype) {
- var html = fs.readFileSync(file, "utf-8");
- var tags = utils.flat_list(tags_array);
-
- describe("language.html jsdom + jquery for " + file, function () {
- var window = require('jsdom').jsdom(html, null, {
- FetchExternalResources: false,
- ProcessExternalResources: false,
- MutationEvents: false,
- QuerySelector: false
- }).createWindow();
-
- /* apply jquery to the window */
- var $ = require('jquery').create(window);
-
-
- it("html jquery test", function () {
- expect(html).toBeDefined();
-
- expect($("body").length == 0).toEqual(false);
- expect($("body").length == 1).toEqual(true);
- expect($("head").length == 1).toEqual(true);
-
- for (var i = 0; i < tags.length; i++) {
- expect($("#" + tags[i]).length == 1).toEqual(true);
- }
- });
-
- it("html jquery fail test", function () {
- expect(html).toBeDefined();
-
- expect($("body_does_not_exists").length == 1).toEqual(false);
- expect($("#body_does_not_exists").length == 1).toEqual(false);
- });
- });
-}
-
-/*
-jsdom_check('../examples/htdocs/language.html', [utils.tags.required, utils.tags.optional, utils.tags.optional2]);
-jsdom_check('../examples/htdocs/mobile.html', [utils.tags.required, utils.tags.optional]);
-jsdom_check('../examples/htdocs/popup.html', [], true);
-jsdom_check('../examples/htdocs/jquery.html', []);
-jsdom_check('../examples/htdocs/mike.html', [utils.tags.required, utils.tags.optional], true);
-*/
+++ /dev/null
-/* Copyright (c) 2013 IndexData ApS. http://indexdata.com
- *
- * jQuery test with DOM/windows object
- *
- */
-
-
-var fs = require("fs");
-var utils = require("./mkws_utils.js");
-
-/*
- * parse HTML data to DOM, and run jQuery request on it
- *
- */
-
-function jsdom_check(file, tags_array, ignore_doctype) {
- var html = fs.readFileSync(file, "utf-8");
- var tags = utils.flat_list(tags_array);
-
- describe("language.html jsdom + jquery for " + file, function () {
- var window = require('jsdom').jsdom(html, null, {
- FetchExternalResources: false,
- ProcessExternalResources: false,
- MutationEvents: false,
- QuerySelector: false
- }).createWindow();
-
- /* apply jquery to the window */
- var $ = require('jQuery').create(window);
-
-
- it("html jquery test", function () {
- expect(html).toBeDefined();
-
- expect($("body").length == 0).toEqual(false);
- expect($("body").length == 1).toEqual(true);
- expect($("head").length == 1).toEqual(true);
-
- for (var i = 0; i < tags.length; i++) {
- expect($("#" + tags[i]).length == 1).toEqual(true);
- }
- });
-
- it("html jquery fail test", function () {
- expect(html).toBeDefined();
-
- expect($("body_does_not_exists").length == 1).toEqual(false);
- expect($("#body_does_not_exists").length == 1).toEqual(false);
- });
- });
-}
-
-jsdom_check('../examples/htdocs/language.html', [utils.tags.required, utils.tags.optional, utils.tags.optional2]);
-jsdom_check('../examples/htdocs/mobile.html', [utils.tags.required, utils.tags.optional]);
-jsdom_check('../examples/htdocs/popup.html', [], true);
-jsdom_check('../examples/htdocs/jquery.html', []);
-// jsdom_check('../examples/htdocs/mike.html', [utils.tags.required, utils.tags.optional], true);
+++ /dev/null
-/* Copyright (c) 2013 IndexData ApS. http://indexdata.com
- *
- * jQuery test with DOM/windows object
- *
- */
-
-
-var fs = require("fs");
-var utils = require("./mkws_utils.js");
-
-/*
- * simple test with string matching of the HTML page
- *
- */
-
-function html_check(file, tags_array, ignore_doctype) {
- var html = fs.readFileSync(file, "utf-8");
- var tags = utils.flat_list(tags_array);
-
- describe("language.html string test for " + file, function () {
- it("html test", function () {
- expect(html).toBeDefined();
-
- // forgotten doctype declaration
- if (!ignore_doctype) {
- expect(html).toMatch(/<html.*?>/);
- expect(html).toMatch(/<\/html.*?>/);
- }
- expect(html).toMatch(/<head.*?>/);
- expect(html).toMatch(/<body.*?>/);
- expect(html).toMatch(/<\/head.*?>/);
- expect(html).toMatch(/<\/body.*?>/);
-
- expect(html).toMatch(/<meta .*?charset=utf-8/i);
- expect(html).toMatch(/<title>.+<\/title>/i);
- expect(html).toMatch(/<link .*?type="text\/css" href=".*?\/?mkws.css"/);
-
-
- for (var i = 0, data = ""; i < tags.length; i++) {
- data = '<div id="' + tags[i] + '">';
- // console.log(data)
- expect(html).toMatch(data);
- }
- });
- });
-}
-
-html_check('../examples/htdocs/language.html', [utils.tags.required, utils.tags.optional, utils.tags.optional2]);
-html_check('../examples/htdocs/mobile.html', [utils.tags.required, utils.tags.optional]);
-html_check('../examples/htdocs/popup.html', [], true);
-html_check('../examples/htdocs/jquery.html', []);
-// html_check('../examples/htdocs/mike.html', [utils.tags.required, utils.tags.optional], true);
}
}, "Search for source in navi bar", 1000);
+ // Note: it may happens that limited source search returns the same number of hits
+ // as before. Thats not really an error, but unfortunate
waitsFor(function () {
- return get_hit_counter() < hits_all_targets ? true : false;
- }, "Limited source earch for less than " + hits_all_targets + " hits", 9 * 1000);
+ return get_hit_counter() <= hits_all_targets ? true : false;
+ }, "Limited source search for less than " + hits_all_targets + " hits", 5 * 1000);
runs(function () {
var hits_single_target = get_hit_counter();
debug("get less hits for sources: " + hits_all_targets + " > " + hits_single_target);
- expect(hits_all_targets).toBeGreaterThan(hits_single_target);
+ expect(hits_all_targets).not.toBeLessThan(hits_single_target);
});
});
});
+++ /dev/null
-/* Copyright (c) 2013 IndexData ApS. http://indexdata.com
- *
- * helper functions for other test *.spec.js files
- *
- */
-
-/*
- * combine arrays, return a flat list
- * [["a","b"], ["c"], "d"] => ["a", "b", "c", "d"]
- *
- */
-var flat_list = function (list) {
- var data = [];
-
- for (var i = 0; i < list.length; i++) {
- if (typeof list[i] == 'object') {
- for (var j = 0; j < list[i].length; j++) {
- data.push(list[i][j]);
- }
-
- } else {
- data.push(list[i]);
- }
- }
-
- return data;
- };
-
-/*
- * list of div id to check
- *
- */
-var tags = {
- required: ["mkwsSearch", "mkwsResults"],
- optional: ["mkwsLang", "mkwsTargets"],
- optional2: ["mkwsMOTD", "mkwsStat", "footer"]
-};
-
-// node.js exports
-module.exports = {
- flat_list: flat_list,
- tags: tags
-};
SetOutputFilter DEFLATE
</Location>
- RewriteRule /service-proxy-auth /service-proxy/?command=auth&action=login&username=guest&password=guest [P] # [NE,P]
+ RewriteRule /service-proxy-auth /service-proxy/?command=auth&action=login&username=mkws&password=mkws [P] # [NE,P]
ProxyPass /service-proxy/ http://mkc.indexdata.com:9009/service-proxy/
ProxyPassReverse /service-proxy/ http://mkc.indexdata.com:9009/service-proxy/
RewriteEngine on
RewriteLogLevel 1
RewriteLog /var/log/apache2/mkws-rewrite.log
- RewriteRule /service-proxy-auth /service-proxy/?command=auth&action=login&username=demo&password=demo [P] # [NE,P]
+ RewriteRule /service-proxy-auth /service-proxy/?command=auth&action=login&username=mkws&password=mkws [P] # [NE,P]
# The following rule allows the server to accept service-proxy
# requests that begin with an escaped "%3F" rather than a literal
Header set Access-Control-Allow-Credentials true
# For MKC Service Proxy
- ProxyPass /service-proxy/ http://mk2-test.indexdata.com/service-proxy/
- ProxyPassReverse /service-proxy/ http://mk2-test.indexdata.com/service-proxy/
+ ProxyPass /service-proxy/ http://mkc.indexdata.com:9009/service-proxy/
+ ProxyPassReverse /service-proxy/ http://mkc.indexdata.com:9009/service-proxy/
PerlOptions +Parent
PerlSwitches -I/home/indexdata/mkws/tools/mod_perl