From a42f03c224814a2eff8300e41ff2e7d36e249bc9 Mon Sep 17 00:00:00 2001 From: Luis Bosque Date: Mon, 8 Oct 2012 12:50:50 +0200 Subject: [PATCH 01/14] target 1.1.0 version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index c014b39c..c03386eb 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "windshaft-cartodb", - "version": "1.0.1", + "version": "1.1.0", "description": "A map tile server for CartoDB", "url": "https://github.com/Vizzuality/Windshaft-cartodb", "licenses": [{ From 8d5c52ce1b72b61a8b41cf5e44f63666382ddc37 Mon Sep 17 00:00:00 2001 From: Sandro Santilli Date: Mon, 8 Oct 2012 16:41:16 +0200 Subject: [PATCH 02/14] Make test tolerant to additional fields in responses to POST style --- test/acceptance/server.js | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/test/acceptance/server.js b/test/acceptance/server.js index 0f30db81..ad88d7f0 100644 --- a/test/acceptance/server.js +++ b/test/acceptance/server.js @@ -192,8 +192,12 @@ suite('server', function() { method: 'GET' },{ status: 200, - body: JSON.stringify({style: 'Map {background-color:#fff;}'}) - }, function() { done(); }); + }, function(res) { + var parsed = JSON.parse(res.body); + assert.equal(parsed.style, 'Map {background-color:#fff;}'); + //assert.equal(parsed.version, '2.0.0'); + done(); + }); }); }); @@ -217,8 +221,12 @@ suite('server', function() { method: 'GET' },{ status: 200, - body: JSON.stringify({style: style}) - }, function() { done(); }); + }, function(res) { + var parsed = JSON.parse(res.body); + assert.equal(parsed.style, style); + //assert.equal(parsed.version, '2.0.0'); + done(); + }); }); @@ -248,8 +256,12 @@ suite('server', function() { method: 'GET' },{ status: 200, - body: JSON.stringify({style: 'Map {background-color:#fff;}'}) - }, function() { done(); }); + }, function(res) { + var parsed = JSON.parse(res.body); + assert.equal(parsed.style, 'Map {background-color:#fff;}'); + //assert.equal(parsed.version, '2.0.0'); + done(); + }); }); }); From 9ad574efdce8ad5c26be1e1dbcd6e43d138fb184 Mon Sep 17 00:00:00 2001 From: Sandro Santilli Date: Mon, 24 Sep 2012 17:57:39 +0200 Subject: [PATCH 03/14] Autodetect target mapnik version and let config override it Closes #40 --- config/environments/development.js.example | 1 + config/environments/production.js.example | 1 + config/environments/staging.js.example | 1 + config/environments/test.js.example | 1 + lib/cartodb/server_options.js | 7 +++++-- npm-shrinkwrap.json | 11 ++++++----- package.json | 3 ++- 7 files changed, 17 insertions(+), 8 deletions(-) diff --git a/config/environments/development.js.example b/config/environments/development.js.example index 8e6c1f77..d44a2eca 100644 --- a/config/environments/development.js.example +++ b/config/environments/development.js.example @@ -19,6 +19,7 @@ var config = { */ simplify: true } + ,mapnik_version: '2.0.2' ,millstone: { cache_basedir: '/tmp/cdb-tiler-dev/millstone-dev' } diff --git a/config/environments/production.js.example b/config/environments/production.js.example index 1198afd5..da3e8c25 100644 --- a/config/environments/production.js.example +++ b/config/environments/production.js.example @@ -13,6 +13,7 @@ var config = { extent: "-20005048.4188,-20005048.4188,20005048.4188,20005048.4188", simplify: true } + ,mapnik_version: '2.0.2' ,millstone: { cache_basedir: '/home/ubuntu/tile_assets/' } diff --git a/config/environments/staging.js.example b/config/environments/staging.js.example index 707b2a70..e2522451 100644 --- a/config/environments/staging.js.example +++ b/config/environments/staging.js.example @@ -13,6 +13,7 @@ var config = { extent: "-20005048.4188,-20005048.4188,20005048.4188,20005048.4188", simplify: true } + ,mapnik_version: '2.0.2' ,millstone: { cache_basedir: '/home/ubuntu/tile_assets/' } diff --git a/config/environments/test.js.example b/config/environments/test.js.example index 2d6d4891..a021f25b 100644 --- a/config/environments/test.js.example +++ b/config/environments/test.js.example @@ -14,6 +14,7 @@ var config = { extent: "-20005048.4188,-20005048.4188,20005048.4188,20005048.4188", simplify: true } + ,mapnik_version: '2.0.2' ,millstone: { cache_basedir: '/tmp/cdb-tiler-test/millstone' } diff --git a/lib/cartodb/server_options.js b/lib/cartodb/server_options.js index 5bdecdf5..2a2a11aa 100644 --- a/lib/cartodb/server_options.js +++ b/lib/cartodb/server_options.js @@ -1,14 +1,17 @@ var _ = require('underscore') , Step = require('step') , cartoData = require('./carto_data') - , Cache = require('./cache_validator'); + , Cache = require('./cache_validator') + , mapnik = require('mapnik') + ; module.exports = function(){ var me = { base_url: '/tiles/:table', grainstore: { datasource: global.environment.postgres, - cachedir: global.environment.millstone.cache_basedir + cachedir: global.environment.millstone.cache_basedir, + mapnik_version: global.environment.mapnik_version || mapnik.versions.mapnik }, redis: global.environment.redis, enable_cors: global.environment.enable_cors, diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index 975a914f..b36c59cb 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -1,9 +1,10 @@ { "name": "windshaft-cartodb", - "version": "0.2.0-dev", + "version": "1.0.0", "dependencies": { "cluster2": { - "version": "0.3.5", + "version": "0.3.5-cdb01", + "from": "git://github.com/CartoDB/cluster2.git#28cde11", "dependencies": { "express": { "version": "2.5.11", @@ -299,9 +300,6 @@ "version": "0.3.3-dev", "from": "git://github.com/Vizzuality/tilelive-mapnik.git#7df70554", "dependencies": { - "mapnik": { - "version": "0.7.14" - }, "eio": { "version": "0.1.0" }, @@ -327,6 +325,9 @@ "request": { "version": "2.9.202" }, + "mapnik": { + "version": "0.7.14" + }, "mocha": { "version": "1.2.1", "dependencies": { diff --git a/package.json b/package.json index c03386eb..86b47146 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,8 @@ "generic-pool": "1.0.x", "redis": "0.7.2", "hiredis": "~0.1.14", - "request": "2.9.202" + "request": "2.9.202", + "mapnik": "~0.7.14" }, "devDependencies": { "mocha": "1.2.1" From 0e37b32e52c75751f645ff2adb1705e0870f6314 Mon Sep 17 00:00:00 2001 From: Sandro Santilli Date: Mon, 8 Oct 2012 17:45:52 +0200 Subject: [PATCH 04/14] Updated --- NEWS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/NEWS.md b/NEWS.md index 9f6cb4af..7dc4577f 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,5 +1,6 @@ 1.1.0 (DD/MM/YY) ----- +* Autodetected (and configurable) target mapnik version * Configurable logging format (#4) * Detailed error on missing user metadata * Properly handle unauthenticated requests for metadata From 41d7000daf24d1c47e263ab20b827e3d17b4b7b1 Mon Sep 17 00:00:00 2001 From: Sandro Santilli Date: Mon, 8 Oct 2012 18:02:28 +0200 Subject: [PATCH 05/14] Update windshaft to 0.6 exposing CartoCSS versioning support --- NEWS.md | 6 +++++- npm-shrinkwrap.json | 25 +++++++------------------ package.json | 6 +++--- 3 files changed, 15 insertions(+), 22 deletions(-) diff --git a/NEWS.md b/NEWS.md index 7dc4577f..29626c1b 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,6 +1,10 @@ 1.1.0 (DD/MM/YY) ----- -* Autodetected (and configurable) target mapnik version +* Add /version entry point +* CartoCSS versioning + * Include version in GET /style response + * Support version and convert parameters in POST /style request + * Autodetect target mapnik version and let config override it * Configurable logging format (#4) * Detailed error on missing user metadata * Properly handle unauthenticated requests for metadata diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index b36c59cb..305558bf 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -1,6 +1,6 @@ { "name": "windshaft-cartodb", - "version": "1.0.0", + "version": "1.1.0", "dependencies": { "cluster2": { "version": "0.3.5-cdb01", @@ -177,20 +177,16 @@ "version": "0.1.1" }, "underscore": { - "version": "1.1.7" + "version": "1.3.3" }, "grainstore": { - "version": "0.6.4", + "version": "0.8.1", "dependencies": { "carto": { - "version": "0.8.2-cdb-dev-3", - "from": "git://github.com/CartoDB/carto.git#cdb-0.8", + "version": "0.9.2", "dependencies": { - "underscore": { - "version": "1.3.3" - }, "mapnik-reference": { - "version": "4.0.5" + "version": "5.0.0" }, "xml2js": { "version": "0.1.14", @@ -203,12 +199,8 @@ } }, "millstone": { - "version": "0.5.10-cdb-01", - "from": "git://github.com/CartoDB/millstone.git#cdb-node04-devel", + "version": "0.5.10", "dependencies": { - "underscore": { - "version": "1.3.3" - }, "request": { "version": "2.11.4", "dependencies": { @@ -253,11 +245,8 @@ } }, "windshaft": { - "version": "0.5.8", + "version": "0.6.0", "dependencies": { - "underscore": { - "version": "1.3.3" - }, "express": { "version": "2.5.11", "dependencies": { diff --git a/package.json b/package.json index 86b47146..1fdde1bf 100644 --- a/package.json +++ b/package.json @@ -20,9 +20,9 @@ "dependencies": { "cluster2": "git://github.com/CartoDB/cluster2.git#28cde11", "node-varnish": "0.1.1", - "underscore" : "1.1.x", - "grainstore" : "~0.6.2", - "windshaft" : "~0.5.8", + "underscore" : "~1.3.3", + "grainstore" : "~0.8.0", + "windshaft" : "~0.6.0", "step": "0.0.x", "generic-pool": "1.0.x", "redis": "0.7.2", From 65e4cf15109de1e337ca34e63c3d5ef0c10101f5 Mon Sep 17 00:00:00 2001 From: Sandro Santilli Date: Mon, 8 Oct 2012 18:06:12 +0200 Subject: [PATCH 06/14] Batch-convert and mapnik version detection support in reset_styles --- NEWS.md | 1 + tools/reset_styles | 80 +++++++++++++++++++++++++++++++++++++--------- 2 files changed, 66 insertions(+), 15 deletions(-) diff --git a/NEWS.md b/NEWS.md index 29626c1b..286c78f1 100644 --- a/NEWS.md +++ b/NEWS.md @@ -5,6 +5,7 @@ * Include version in GET /style response * Support version and convert parameters in POST /style request * Autodetect target mapnik version and let config override it + * Add tools/reset_styles script to batch-reset (and optionally convert) styles * Configurable logging format (#4) * Detailed error on missing user metadata * Properly handle unauthenticated requests for metadata diff --git a/tools/reset_styles b/tools/reset_styles index 53b736dc..863312ef 100755 --- a/tools/reset_styles +++ b/tools/reset_styles @@ -1,35 +1,85 @@ #!/usr/bin/env node -// Reset redis-stored XML styles so that they are regenerated -// from CartoCSS on next tile request +var path = require('path'); -var redis = require('redis') +// Reset all styles in the store +var grainstore = require('../node_modules/grainstore/lib/grainstore'); +var mapnik = require('mapnik'); +var redis = require('redis'); -var REDIS_PORT = 6379; // TODO: make a parameter +function usage(me, exitcode) { + console.log("Usage: " + me + " [--convert] []"); + process.exit(exitcode); +} + +var doConvert = false; +var MAPNIK_VERSION; + +var node_path = process.argv.shift(); +var script_path = process.argv.shift(); +var me = path.basename(script_path); +var arg; +while ( arg = process.argv.shift() ) { + if ( arg == '--convert' ) { + doConvert = true; + } else if ( ! MAPNIK_VERSION ) { + MAPNIK_VERSION = arg; + } + else { + usage(me, 1); + } +} + +if ( ! MAPNIK_VERSION ) { + MAPNIK_VERSION = mapnik.versions.mapnik; +} + +console.log( (doConvert ? "Converting" : "Resetting" ) + ' all styles to target ' + MAPNIK_VERSION); + +var REDIS_PORT = 6379; // TODO: make a command line parameter var dbnum = 0; +var mml_store = new grainstore.MMLStore({port:REDIS_PORT}, {mapnik_version:MAPNIK_VERSION}); + +var failures = []; + var client = redis.createClient(REDIS_PORT, 'localhost'); client.on('connect', function() { client.select(dbnum); client.keys('map_style|*', function(err, matches) { processNext = function() { - if ( ! matches.length ) process.exit(0); + if ( ! matches.length ) process.exit(failures.length); var k = matches.shift(); - console.log("Resetting XML in key: " + k); - client.get(k, function(err, val) { - if ( err ) throw err; - val = JSON.parse(val); - delete val.xml; - client.set(k, JSON.stringify(val), function() { - console.log("done with style " + k); - processNext(); - }); + + if ( /map_style\|.*\|.*\|/.test(k) ) { + //console.warn("Key " + k + " is EXTENDED, skipping"); + processNext(); + } + + var params = RegExp(/map_style\|(.*)\|(.*)/).exec(k); + var db = params[1]; + var tab = params[2]; + var out = 'map_style|' + db + '|' + tab + ': '; + + var mml_builder = mml_store.mml_builder({dbname:db, table:tab}, + function(err, payload) { + + if ( err ) { console.warn(out + err.message); failures.push(k); processNext(); } + else { + mml_builder.resetStyle(function(err, data) { + if ( err ) { console.warn(out + err.message); failures.push(k); } + else console.log(out + 'OK' + ( doConvert ? ' (converted)' : '' )); + processNext(); + }, doConvert); + } }); - } + + }; processNext(); }); + }); From 8e3c9005809d7c1487dc4914e855ab41b828fb4a Mon Sep 17 00:00:00 2001 From: Sandro Santilli Date: Tue, 9 Oct 2012 11:45:57 +0200 Subject: [PATCH 07/14] Print a warning when configured mapnik version doesn't match installed --- lib/cartodb/server_options.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lib/cartodb/server_options.js b/lib/cartodb/server_options.js index 2a2a11aa..b0ce3ba8 100644 --- a/lib/cartodb/server_options.js +++ b/lib/cartodb/server_options.js @@ -21,6 +21,14 @@ module.exports = function(){ log_format: global.environment.log_format }; + // Be nice and warn if configured mapnik version + // is != instaled mapnik version + if ( mapnik.versions.mapnik != me.grainstore.mapnik_version ) { + console.warn("WARNING: detected mapnik version (" + + mapnik.versions.mapnik + ") != configured mapnik version (" + + me.grainstore.mapnik_version + ")"); + } + // Set the cache chanel info to invalidate the cache on the frontend server // // @param req The request object. From f0c655294ff3f6843f7e88df9dcf4b149e659eea Mon Sep 17 00:00:00 2001 From: Sandro Santilli Date: Tue, 9 Oct 2012 11:53:23 +0200 Subject: [PATCH 08/14] Upgrade windshaft/grainstore to fix /version route --- npm-shrinkwrap.json | 4 ++-- package.json | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index 305558bf..f6b6a926 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -180,7 +180,7 @@ "version": "1.3.3" }, "grainstore": { - "version": "0.8.1", + "version": "0.9.0", "dependencies": { "carto": { "version": "0.9.2", @@ -245,7 +245,7 @@ } }, "windshaft": { - "version": "0.6.0", + "version": "0.6.1", "dependencies": { "express": { "version": "2.5.11", diff --git a/package.json b/package.json index 1fdde1bf..4bc47881 100644 --- a/package.json +++ b/package.json @@ -21,8 +21,8 @@ "cluster2": "git://github.com/CartoDB/cluster2.git#28cde11", "node-varnish": "0.1.1", "underscore" : "~1.3.3", - "grainstore" : "~0.8.0", - "windshaft" : "~0.6.0", + "grainstore" : "~0.9.0", + "windshaft" : "~0.6.1", "step": "0.0.x", "generic-pool": "1.0.x", "redis": "0.7.2", From 11910bb2189db68acf60bbabaa5b20e796598538 Mon Sep 17 00:00:00 2001 From: Sandro Santilli Date: Tue, 9 Oct 2012 12:12:33 +0200 Subject: [PATCH 09/14] Use "undefined" mapnik_version in the example configs Using "undefined" for mapnik_version triggers autodetection, which is more appropriate. --- config/environments/development.js.example | 2 +- config/environments/production.js.example | 2 +- config/environments/staging.js.example | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/config/environments/development.js.example b/config/environments/development.js.example index d44a2eca..caed4f92 100644 --- a/config/environments/development.js.example +++ b/config/environments/development.js.example @@ -19,7 +19,7 @@ var config = { */ simplify: true } - ,mapnik_version: '2.0.2' + ,mapnik_version: undefined ,millstone: { cache_basedir: '/tmp/cdb-tiler-dev/millstone-dev' } diff --git a/config/environments/production.js.example b/config/environments/production.js.example index da3e8c25..8d910b7b 100644 --- a/config/environments/production.js.example +++ b/config/environments/production.js.example @@ -13,7 +13,7 @@ var config = { extent: "-20005048.4188,-20005048.4188,20005048.4188,20005048.4188", simplify: true } - ,mapnik_version: '2.0.2' + ,mapnik_version: undefined ,millstone: { cache_basedir: '/home/ubuntu/tile_assets/' } diff --git a/config/environments/staging.js.example b/config/environments/staging.js.example index e2522451..9c10dad7 100644 --- a/config/environments/staging.js.example +++ b/config/environments/staging.js.example @@ -13,7 +13,7 @@ var config = { extent: "-20005048.4188,-20005048.4188,20005048.4188,20005048.4188", simplify: true } - ,mapnik_version: '2.0.2' + ,mapnik_version: undefined ,millstone: { cache_basedir: '/home/ubuntu/tile_assets/' } From d691f94978edc72b3f9117d231fcc5dc5df00621 Mon Sep 17 00:00:00 2001 From: Sandro Santilli Date: Tue, 9 Oct 2012 14:39:38 +0200 Subject: [PATCH 10/14] Require grainstore 0.9.1 for automatic styles reset on mapnik upgrade --- npm-shrinkwrap.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index f6b6a926..dd2a909b 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -180,7 +180,7 @@ "version": "1.3.3" }, "grainstore": { - "version": "0.9.0", + "version": "0.9.1", "dependencies": { "carto": { "version": "0.9.2", diff --git a/package.json b/package.json index 4bc47881..2f37affd 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "cluster2": "git://github.com/CartoDB/cluster2.git#28cde11", "node-varnish": "0.1.1", "underscore" : "~1.3.3", - "grainstore" : "~0.9.0", + "grainstore" : "~0.9.1", "windshaft" : "~0.6.1", "step": "0.0.x", "generic-pool": "1.0.x", From 00dccd4c279cc62d9432360b87cac4021e5dd47a Mon Sep 17 00:00:00 2001 From: Sandro Santilli Date: Tue, 9 Oct 2012 17:09:40 +0200 Subject: [PATCH 11/14] Use 'host' configuration for HTTP listening (both app and cluster) --- app.js | 6 ++++-- cluster.js | 7 +++++-- npm-shrinkwrap.json | 2 +- package.json | 2 +- 4 files changed, 11 insertions(+), 6 deletions(-) diff --git a/app.js b/app.js index 4bd8a6b4..f432a617 100755 --- a/app.js +++ b/app.js @@ -33,5 +33,7 @@ var Windshaft = require('windshaft'); var serverOptions = require('./lib/cartodb/server_options'); ws = CartodbWindshaft(serverOptions); -ws.listen(global.environment.port); -console.log("Windshaft tileserver started on port " + global.environment.port); +ws.listen(global.environment.port, global.environment.host); +ws.on('listening', function() { + console.log("Windshaft tileserver started on " + global.environment.host + ':' + global.environment.port); +}); diff --git a/cluster.js b/cluster.js index d72600d1..fc342a34 100755 --- a/cluster.js +++ b/cluster.js @@ -41,12 +41,15 @@ var ws = CartodbWindshaft(serverOptions); //.use(cluster.pidfiles('pids')) var cluster = new Cluster({ port: global.environment.port, + host: global.environment.host, monPort: global.environment.port+1, - noWorkers: 1 // .set('workers', 1) + monHost: global.environment.host, + noWorkers: 1 }); cluster.listen(function(cb) { cb(ws); +}, function() { + console.log("Windshaft tileserver started on port " + global.environment.port); }); -console.log("Windshaft tileserver started on port " + global.environment.port); diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index dd2a909b..5862215f 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -4,7 +4,7 @@ "dependencies": { "cluster2": { "version": "0.3.5-cdb01", - "from": "git://github.com/CartoDB/cluster2.git#28cde11", + "from": "git://github.com/CartoDB/cluster2.git#cdb_production", "dependencies": { "express": { "version": "2.5.11", diff --git a/package.json b/package.json index 2f37affd..ebceadeb 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,7 @@ "email": "simon@vizzuality.com" }, "dependencies": { - "cluster2": "git://github.com/CartoDB/cluster2.git#28cde11", + "cluster2": "git://github.com/CartoDB/cluster2.git#cdb_production", "node-varnish": "0.1.1", "underscore" : "~1.3.3", "grainstore" : "~0.9.1", From 90d726c0cbe1e1558e25170f725c7de9383fa4b6 Mon Sep 17 00:00:00 2001 From: Sandro Santilli Date: Tue, 9 Oct 2012 18:35:27 +0200 Subject: [PATCH 12/14] Fix test expectance after windshaft/grainstore upgrade Now GET /style response includes CartoCSS version... --- test/acceptance/server.js | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/test/acceptance/server.js b/test/acceptance/server.js index ad88d7f0..dcf590ff 100644 --- a/test/acceptance/server.js +++ b/test/acceptance/server.js @@ -47,8 +47,12 @@ suite('server', function() { },{ status: 200, headers: { 'X-Cache-Channel': 'cartodb_test_user_1_db:my_table' }, - body: '{"style":"#my_table {marker-fill: #FF6600;marker-opacity: 1;marker-width: 8;marker-line-color: white;marker-line-width: 3;marker-line-opacity: 0.9;marker-placement: point;marker-type: ellipse;marker-allow-overlap: true;}"}' - }, function() { done(); }); + }, function(res) { + var parsed = JSON.parse(res.body); + assert.equal(parsed.style, "#my_table {marker-fill: #FF6600;marker-opacity: 1;marker-width: 8;marker-line-color: white;marker-line-width: 3;marker-line-opacity: 0.9;marker-placement: point;marker-type: ellipse;marker-allow-overlap: true;}"); + assert.equal(parsed.version, '2.0.0'); + done(); + }); }); // See https://github.com/Vizzuality/Windshaft-cartodb/issues/43 @@ -77,7 +81,9 @@ suite('server', function() { },{ }, function(res) { assert.equal(res.statusCode, 200, res.body); - assert.deepEqual(res.body, '{"style":"#test_table_private_1 {marker-fill: #FF6600;marker-opacity: 1;marker-width: 8;marker-line-color: white;marker-line-width: 3;marker-line-opacity: 0.9;marker-placement: point;marker-type: ellipse;marker-allow-overlap: true;}"}'); + var parsed = JSON.parse(res.body); + assert.equal(parsed.style, "#test_table_private_1 {marker-fill: #FF6600;marker-opacity: 1;marker-width: 8;marker-line-color: white;marker-line-width: 3;marker-line-opacity: 0.9;marker-placement: point;marker-type: ellipse;marker-allow-overlap: true;}"); + assert.equal(parsed.version, '2.0.0'); done(); }); }); From 4c6d74b69e04f3e00b6fcb044bf3a22368fa317b Mon Sep 17 00:00:00 2001 From: Sandro Santilli Date: Thu, 11 Oct 2012 16:48:41 +0200 Subject: [PATCH 13/14] Use windshaft-0.6.2 sendError function to send non-200 responses Ensures all errors are logged --- lib/cartodb/cartodb_windshaft.js | 9 ++++++--- npm-shrinkwrap.json | 6 +++--- package.json | 2 +- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/lib/cartodb/cartodb_windshaft.js b/lib/cartodb/cartodb_windshaft.js index e4536a82..86854861 100644 --- a/lib/cartodb/cartodb_windshaft.js +++ b/lib/cartodb/cartodb_windshaft.js @@ -37,7 +37,8 @@ var CartodbWindshaft = function(serverOptions) { }, function(err, data){ if (err){ - res.send({error: err.message}, 500); + ws.sendError(res, {error: err.message}, 500, 'GET INFOWINDOW'); + //res.send({error: err.message}, 500); } else { res.send({infowindow: data}, 200); } @@ -57,7 +58,8 @@ var CartodbWindshaft = function(serverOptions) { }, function(err, data){ if (err){ - res.send(err.message, 500); + ws.sendError(res, {error: err.message}, 500, 'GET MAP_METADATA'); + //res.send(err.message, 500); } else { res.send({map_metadata: data}, 200); } @@ -77,7 +79,8 @@ var CartodbWindshaft = function(serverOptions) { }, function(err, data){ if (err){ - res.send(500); + ws.sendError(res, {error: err.message}, 500, 'DELETE CACHE'); + //res.send(500); } else { res.send({status: 'ok'}, 200); } diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index 5862215f..d49f6031 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -3,7 +3,7 @@ "version": "1.1.0", "dependencies": { "cluster2": { - "version": "0.3.5-cdb01", + "version": "0.3.5-cdb02", "from": "git://github.com/CartoDB/cluster2.git#cdb_production", "dependencies": { "express": { @@ -245,7 +245,7 @@ } }, "windshaft": { - "version": "0.6.1", + "version": "0.6.2", "dependencies": { "express": { "version": "2.5.11", @@ -273,7 +273,7 @@ "version": "4.3.1", "dependencies": { "optimist": { - "version": "0.3.4", + "version": "0.3.5", "dependencies": { "wordwrap": { "version": "0.0.2" diff --git a/package.json b/package.json index ebceadeb..c9cd7025 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ "node-varnish": "0.1.1", "underscore" : "~1.3.3", "grainstore" : "~0.9.1", - "windshaft" : "~0.6.1", + "windshaft" : "~0.6.2", "step": "0.0.x", "generic-pool": "1.0.x", "redis": "0.7.2", From 2d2a14e9a69763215ae7310b934f0293a42ae053 Mon Sep 17 00:00:00 2001 From: Luis Bosque Date: Tue, 30 Oct 2012 18:43:31 +0100 Subject: [PATCH 14/14] updated NEW for v1.1.0 --- NEWS.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/NEWS.md b/NEWS.md index 286c78f1..54f8b731 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,4 +1,4 @@ -1.1.0 (DD/MM/YY) +1.1.0 (30/10/12) ----- * Add /version entry point * CartoCSS versioning @@ -12,6 +12,9 @@ * Accept "api_key" in addition to "map_key", both in query_string and POST body (#38) * Add ./configure script +* Allow listening on host IP +* Replaced environment configs by .example ones +* Fixed some issues with cluster2 1.0.0 (03/10/12) -----