Merge branch 'release/staging'

This commit is contained in:
David Arango 2012-12-10 17:26:48 +01:00
commit e1070d3998
8 changed files with 69 additions and 25 deletions

View File

@ -1,3 +1,11 @@
1.1.4 (DD//MM//YY)
-----
* Reduce default extent to allow for consistent proj4 round-tripping
* Enhance reset_styles script to use full configuration (#62)
* Have reset_styles script also drop extended keys (#58)
* Fix example postgis parameter for simplifying input geoms (#63)
* Add row_limit to example config (#64)
1.1.3 (30//11//12) 1.1.3 (30//11//12)
----- -----
* Fix reset_styles script to really skip extended keys * Fix reset_styles script to really skip extended keys
@ -15,7 +23,6 @@
* styles with no semicolon * styles with no semicolon
* markers shift due to geometry clipping * markers shift due to geometry clipping
1.1.1 (DD//MM//YY) 1.1.1 (DD//MM//YY)
----- -----
* Add support for persistent client cache headers * Add support for persistent client cache headers

View File

@ -44,7 +44,7 @@ var cluster = new Cluster({
host: global.environment.host, host: global.environment.host,
monPort: global.environment.port+1, monPort: global.environment.port+1,
monHost: global.environment.host, monHost: global.environment.host,
timeout: 600000, timeout: global.environment.socket_timeout,
noWorkers: 1 noWorkers: 1
}); });

View File

@ -2,22 +2,27 @@ var config = {
environment: 'development' environment: 'development'
,port: 8181 ,port: 8181
,host: '127.0.0.1' ,host: '127.0.0.1'
// idle socket timeout, in miliseconds
,socket_timeout: 600000
,enable_cors: true ,enable_cors: true
,cache_enabled: false ,cache_enabled: false
,log_format: '[:date] :req[X-Real-IP] \033[90m:method\033[0m \033[36m:req[Host]:url\033[0m \033[90m:status :response-time ms -> :res[Content-Type]\033[0m' ,log_format: '[:date] :req[X-Real-IP] \033[90m:method\033[0m \033[36m:req[Host]:url\033[0m \033[90m:status :response-time ms -> :res[Content-Type]\033[0m'
,postgres_auth_user: 'development_cartodb_user_<%= user_id %>' ,postgres_auth_user: 'development_cartodb_user_<%= user_id %>'
,postgres: { ,postgres: {
// Parameters to pass to datasource plugin of mapnik
// See http://github.com/mapnik/mapnik/wiki/PostGIS
type: "postgis", type: "postgis",
user: "publicuser", user: "publicuser",
host: '127.0.0.1', host: '127.0.0.1',
port: 5432, port: 5432,
extent: "-20037508.5,-20037508.5,20037508.5,20037508.5", extent: "-20037508.3,-20037508.3,20037508.3,20037508.3",
/* experimental /* experimental
geometry_field: "the_geom", geometry_field: "the_geom",
extent: "-180,-90,180,90", extent: "-180,-90,180,90",
srid: 4326, srid: 4326,
*/ */
simplify: true, row_limit: 65535,
simplify_geometries: true,
max_size: 500 max_size: 500
} }
,mapnik_version: undefined ,mapnik_version: undefined

View File

@ -2,16 +2,21 @@ var config = {
environment: 'production' environment: 'production'
,port: 8181 ,port: 8181
,host: '127.0.0.1' ,host: '127.0.0.1'
// idle socket timeout, in miliseconds
,socket_timeout: 600000
,enable_cors: true ,enable_cors: true
,cache_enabled: true ,cache_enabled: true
,log_format: '[:date] :req[X-Real-IP] \033[90m:method\033[0m \033[36m:req[Host]:url\033[0m \033[90m:status :response-time ms -> :res[Content-Type]\033[0m' ,log_format: '[:date] :req[X-Real-IP] \033[90m:method\033[0m \033[36m:req[Host]:url\033[0m \033[90m:status :response-time ms -> :res[Content-Type]\033[0m'
,postgres_auth_user: 'cartodb_user_<%= user_id %>' ,postgres_auth_user: 'cartodb_user_<%= user_id %>'
,postgres: { ,postgres: {
// Parameters to pass to datasource plugin of mapnik
// See http://github.com/mapnik/mapnik/wiki/PostGIS
user: "publicuser", user: "publicuser",
host: '127.0.0.1', host: '127.0.0.1',
port: 6432, port: 6432,
extent: "-20037508.5,-20037508.5,20037508.5,20037508.5", extent: "-20037508.3,-20037508.3,20037508.3,20037508.3",
simplify: true, row_limit: 65535,
simplify_geometries: true,
max_size: 500 max_size: 500
} }
,mapnik_version: undefined ,mapnik_version: undefined

View File

@ -2,16 +2,21 @@ var config = {
environment: 'production' environment: 'production'
,port: 8181 ,port: 8181
,host: '127.0.0.1' ,host: '127.0.0.1'
// idle socket timeout, in miliseconds
,socket_timeout: 600000
,enable_cors: true ,enable_cors: true
,cache_enabled: true ,cache_enabled: true
,log_format: '[:date] :req[X-Real-IP] \033[90m:method\033[0m \033[36m:req[Host]:url\033[0m \033[90m:status :response-time ms -> :res[Content-Type]\033[0m' ,log_format: '[:date] :req[X-Real-IP] \033[90m:method\033[0m \033[36m:req[Host]:url\033[0m \033[90m:status :response-time ms -> :res[Content-Type]\033[0m'
,postgres_auth_user: 'cartodb_staging_user_<%= user_id %>' ,postgres_auth_user: 'cartodb_staging_user_<%= user_id %>'
,postgres: { ,postgres: {
// Parameters to pass to datasource plugin of mapnik
// See http://github.com/mapnik/mapnik/wiki/PostGIS
user: "publicuser", user: "publicuser",
host: '127.0.0.1', host: '127.0.0.1',
port: 6432, port: 6432,
extent: "-20037508.5,-20037508.5,20037508.5,20037508.5", extent: "-20037508.3,-20037508.3,20037508.3,20037508.3",
simplify: true, row_limit: 65535,
simplify_geometries: true,
max_size: 500 max_size: 500
} }
,mapnik_version: undefined ,mapnik_version: undefined

View File

@ -2,16 +2,21 @@ var config = {
environment: 'test' environment: 'test'
,port: 8888 ,port: 8888
,host: '127.0.0.1' ,host: '127.0.0.1'
// idle socket timeout, in miliseconds
,socket_timeout: 600000
,enable_cors: true ,enable_cors: true
,cache_enabled: false ,cache_enabled: false
,log_format: '[:date] :req[X-Real-IP] :method :req[Host]:url :status :response-time ms -> :res[Content-Type]' ,log_format: '[:date] :req[X-Real-IP] :method :req[Host]:url :status :response-time ms -> :res[Content-Type]'
,postgres_auth_user: 'test_cartodb_user_<%= user_id %>' ,postgres_auth_user: 'test_cartodb_user_<%= user_id %>'
,postgres: { ,postgres: {
// Parameters to pass to datasource plugin of mapnik
// See http://github.com/mapnik/mapnik/wiki/PostGIS
user: "publicuser", user: "publicuser",
host: '127.0.0.1', host: '127.0.0.1',
port: 5432, port: 5432,
extent: "-20037508.5,-20037508.5,20037508.5,20037508.5", extent: "-20037508.3,-20037508.3,20037508.3,20037508.3",
simplify: true, row_limit: 65535,
simplify_geometries: true,
max_size: 500 max_size: 500
} }
,mapnik_version: '2.0.2' ,mapnik_version: '2.0.2'

View File

@ -1,7 +1,7 @@
{ {
"private": true, "private": true,
"name": "windshaft-cartodb", "name": "windshaft-cartodb",
"version": "1.1.3", "version": "1.1.4",
"description": "A map tile server for CartoDB", "description": "A map tile server for CartoDB",
"url": "https://github.com/Vizzuality/Windshaft-cartodb", "url": "https://github.com/Vizzuality/Windshaft-cartodb",
"licenses": [{ "licenses": [{

View File

@ -1,5 +1,18 @@
#!/usr/bin/env node #!/usr/bin/env node
/*
This scripts drops all extended map_style keys in redis and regenerates
the XML caches in all the base ones to target the configured mapnik_version.
Optionally (with --convert) it also re-writes the CartoCSS if needed
to target the configured mapnik_version.
It is recommended to make a backup of the redis database before using
this script.
*/
var path = require('path'); var path = require('path');
// Reset all styles in the store // Reset all styles in the store
@ -8,43 +21,45 @@ var mapnik = require('mapnik');
var redis = require('redis'); var redis = require('redis');
function usage(me, exitcode) { function usage(me, exitcode) {
console.log("Usage: " + me + " [--convert] [<target_mapnik_version>]"); console.log("Usage: " + me + " [--convert] <environment>");
process.exit(exitcode); process.exit(exitcode);
} }
var doConvert = false; var doConvert = false;
var MAPNIK_VERSION;
var node_path = process.argv.shift(); var node_path = process.argv.shift();
var script_path = process.argv.shift(); var script_path = process.argv.shift();
var me = path.basename(script_path); var me = path.basename(script_path);
var ENV;
var arg; var arg;
while ( arg = process.argv.shift() ) { while ( arg = process.argv.shift() ) {
if ( arg == '--convert' ) { if ( arg == '--convert' ) {
doConvert = true; doConvert = true;
} else if ( ! MAPNIK_VERSION ) { }
MAPNIK_VERSION = arg; else if ( ! ENV ) {
ENV = arg;
} }
else { else {
usage(me, 1); usage(me, 1);
} }
} }
if ( ! MAPNIK_VERSION ) { if ( ! ENV ) usage(me, 1);
MAPNIK_VERSION = mapnik.versions.mapnik;
} global.environment = require('../config/environments/' + ENV);
var serverOptions = require('../lib/cartodb/server_options'); // _after_ setting global.environment
var MAPNIK_VERSION = global.environment.mapnik_version || mapnik.versions.mapnik;
console.log( (doConvert ? "Converting" : "Resetting" ) + ' all styles to target ' + MAPNIK_VERSION); 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 dbnum = 0;
var mml_store = new grainstore.MMLStore({port:REDIS_PORT}, {mapnik_version:MAPNIK_VERSION}); var mml_store = new grainstore.MMLStore(serverOptions.redis, serverOptions.grainstore);
var failures = []; var failures = [];
var client = redis.createClient(REDIS_PORT, 'localhost'); var client = redis.createClient(serverOptions.redis.port, serverOptions.redis.host);
client.on('connect', function() { client.on('connect', function() {
client.select(dbnum); client.select(dbnum);
client.keys('map_style|*', function(err, matches) { client.keys('map_style|*', function(err, matches) {
@ -54,10 +69,12 @@ client.on('connect', function() {
var k = matches.shift(); var k = matches.shift();
if ( /map_style\|.*\|.*\|/.test(k) ) { if ( /map_style\|.*\|.*\|/.test(k) ) {
//console.warn("Key " + k + " is EXTENDED, skipping");
// TODO: drop instead ?
// See https://github.com/Vizzuality/Windshaft-cartodb/issues/58 // See https://github.com/Vizzuality/Windshaft-cartodb/issues/58
processNext(); //console.warn("Key " + k + " is EXTENDED, dropping");
client.del(k, function(err) {
if ( err ) console.warn("Error dropping key " + k);
processNext();
});
return; return;
} }