From eb6255cc864e35b876e5042696969a9707bb89f6 Mon Sep 17 00:00:00 2001 From: knutole Date: Tue, 11 Oct 2016 18:32:32 +0200 Subject: [PATCH 1/3] WMS support; updated lodash to 4.16.4 --- Gruntfile.js | 4 +++- api/api.layer.js | 15 ++++++++++++++- models/layer.js | 5 +++++ public | 2 +- routes/routes.js | 6 ++++++ views/app.ejs | 6 ++++-- 6 files changed, 33 insertions(+), 5 deletions(-) diff --git a/Gruntfile.js b/Gruntfile.js index ca5d705b..3d71bb5b 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -133,7 +133,7 @@ module.exports = function(grunt) { // dependencies 'public/js/lib/codemirror/mode/cartocss/jquery-2.1.1.min.js', - 'public/js/lib/lodash/lodash.min.js', + 'public/js/lib/lodash/lodash-4.16.4.js', 'public/js/lib/async/async.js', // leaflet + mapbox @@ -268,6 +268,7 @@ module.exports = function(grunt) { 'public/js/src/controls/control.animator.js', 'public/js/src/ext/popup.chart.js', 'public/js/src/controls/control.chart.js', + 'public/js/src/controls/control.wms.js', // Models @@ -281,6 +282,7 @@ module.exports = function(grunt) { 'public/js/src/models/model.layer.providers.js', 'public/js/src/models/model.layer.topojson.js', 'public/js/src/models/model.layer.geojson.js', + 'public/js/src/models/model.layer.wms.js', 'public/js/src/models/model.file.js', // Analytics diff --git a/api/api.layer.js b/api/api.layer.js index 9c16376a..3a26da62 100644 --- a/api/api.layer.js +++ b/api/api.layer.js @@ -879,9 +879,12 @@ module.exports = api.layer = { layer.save(function (err, savedLayer) { if (err) return callback(err); + console.log('savedLayer', savedLayer); if (options.projectUuid) { + console.log('got projectUuid', options.projectUuid); return api.layer.addToProject(layer._id, options.projectUuid, function (err) { + console.log('added to project!', err); callback && callback(err, savedLayer); }); } @@ -908,7 +911,17 @@ module.exports = api.layer = { callback && callback(err); }); }); - } + }, + + + getWMSLayers : function (req, res) { + + console.log('getWMSLayers', req.body); + + + res.send({wms : 'debug'}); + + }, }; // systemapic hack diff --git a/models/layer.js b/models/layer.js index 735253c4..86aa14bf 100644 --- a/models/layer.js +++ b/models/layer.js @@ -47,6 +47,11 @@ var layerSchema = mongoose.Schema({ norkart : String, google : String, cube : String, + wms : { + source : String, + layers : [String], + meta : String, + }, postgis : { sql : String, diff --git a/public b/public index 4d4dcac0..72e7ad95 160000 --- a/public +++ b/public @@ -1 +1 @@ -Subproject commit 4d4dcac0cb5ad56cb53a345a8430a839e49405ca +Subproject commit 72e7ad9549346cc9c2673ca8414b548286296274 diff --git a/routes/routes.js b/routes/routes.js index f2017ff3..adfab0d4 100644 --- a/routes/routes.js +++ b/routes/routes.js @@ -1102,6 +1102,12 @@ module.exports = function(app) { app.post('/v2/layers/carto/custom', checkAccess, analyticsHandler, api.geo.cartoCustom, errorHandler); + + + // get list of wms layers + app.get('/v2/layers/wms', checkAccess, analyticsHandler, api.layer.getWMSLayers, errorHandler); + + /** * @api {post} /v2/data/download Download dataset from file * @apiName Download dataset from file diff --git a/views/app.ejs b/views/app.ejs index 727cff9b..8dfc17f5 100644 --- a/views/app.ejs +++ b/views/app.ejs @@ -129,7 +129,7 @@ - + @@ -145,7 +145,7 @@ - + @@ -263,6 +263,7 @@ + @@ -275,6 +276,7 @@ + From b1c0906e5a4dea88225dfaec940ed0805671cb3d Mon Sep 17 00:00:00 2001 From: knutole Date: Wed, 12 Oct 2016 15:45:58 +0200 Subject: [PATCH 2/3] sub --- public | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public b/public index 72e7ad95..f35d0e66 160000 --- a/public +++ b/public @@ -1 +1 @@ -Subproject commit 72e7ad9549346cc9c2673ca8414b548286296274 +Subproject commit f35d0e66e4764a08ff3c47c3061af7f3d8b8ee5f From a38545528e1ecb949fabed5f9f138155b9c3ab45 Mon Sep 17 00:00:00 2001 From: knutole Date: Fri, 14 Oct 2016 14:52:12 +0200 Subject: [PATCH 3/3] Updated analytics - todo: track all events - todo: plug into Slack - see https://github.com/systemapic/wu/issues/415 --- api/api.analytics.js | 68 ++++++++++++++++++++++++++++++----------- public | 2 +- routes/socket.routes.js | 6 ++-- views/app.ejs | 10 ++++++ 4 files changed, 66 insertions(+), 20 deletions(-) diff --git a/api/api.analytics.js b/api/api.analytics.js index 6cb810bf..77ed2bcf 100644 --- a/api/api.analytics.js +++ b/api/api.analytics.js @@ -11,30 +11,30 @@ var Role = require('../models/role'); var Group = require('../models/group'); // utils -var _ = require('lodash'); -var fs = require('fs-extra'); -var gm = require('gm'); -var kue = require('kue'); -var fss = require("q-io/fs"); -var srs = require('srs'); -var zlib = require('zlib'); -var uuid = require('node-uuid'); -var util = require('util'); -var utf8 = require("utf8"); -var mime = require("mime"); -var exec = require('child_process').exec; -var dive = require('dive'); -var async = require('async'); -var carto = require('carto'); +var _ = require('lodash'); +var fs = require('fs-extra'); +var gm = require('gm'); +var kue = require('kue'); +var fss = require("q-io/fs"); +var srs = require('srs'); +var zlib = require('zlib'); +var uuid = require('node-uuid'); +var util = require('util'); +var utf8 = require("utf8"); +var mime = require("mime"); +var exec = require('child_process').exec; +var dive = require('dive'); +var async = require('async'); +var carto = require('carto'); var nodeSlack = require('../tools/slack'); var crypto = require('crypto'); -var fspath = require('path'); +var fspath = require('path'); var request = require('request'); var ogr2ogr = require('ogr2ogr'); var nodepath = require('path'); var formidable = require('formidable'); var nodemailer = require('nodemailer'); -var ua = require('universal-analytics'); +var ua = require('universal-analytics'); var uploadProgress = require('node-upload-progress'); var mapnikOmnivore = require('mapnik-omnivore'); @@ -44,6 +44,40 @@ var api = module.parent.exports; // exports module.exports = api.analytics = { + + + + + + event : function (req) { + + console.log('analytics event!', req); + + var data = req.data; + + console.log('analytics data:', data); + + }, + + + + + + + + + + + + + + + + + + + + downloadedDataset : function (options) { diff --git a/public b/public index f35d0e66..897acf04 160000 --- a/public +++ b/public @@ -1 +1 @@ -Subproject commit f35d0e66e4764a08ff3c47c3061af7f3d8b8ee5f +Subproject commit 897acf04464dd175633948532c980f64841697ef diff --git a/routes/socket.routes.js b/routes/socket.routes.js index fb91ffae..7668448f 100644 --- a/routes/socket.routes.js +++ b/routes/socket.routes.js @@ -66,9 +66,11 @@ module.exports = function(app) { }); // get stats - app.io.route('user_event', function (req) { + app.io.route('analytics', function (req) { + + // api.socket.userEvent(req); + api.analytics.event(req); - api.socket.userEvent(req); }); // get stats diff --git a/views/app.ejs b/views/app.ejs index 8dfc17f5..ba8b59b7 100644 --- a/views/app.ejs +++ b/views/app.ejs @@ -312,6 +312,16 @@ + + + +