Giter Site home page Giter Site logo

gisquick / gisquick Goto Github PK

View Code? Open in Web Editor NEW
93.0 93.0 27.0 12.02 MB

Gisquick - open source geospatial data publishing platform

Home Page: http://gisquick.org

License: GNU General Public License v2.0

JavaScript 19.24% HTML 0.11% Dockerfile 0.36% Vue 77.89% Go 0.52% SCSS 1.75% CSS 0.11% Shell 0.03%

gisquick's Introduction

Gisquick

Gisquick (http://gisquick.org) is designed as an open source platform for publishing geospatial data in the sense of rapid sharing QGIS projects on the web. The platform consists of QGIS plugin, QGIS server and Gisquick server and web applications.

Important

Please beware, that current Gisquick documentation is not up to date. It was written for version 1.x, which is now obsolete and no longer maintained!

Latest version of Gisquick is running on our public instance. If you would like to run it locally or your server, easiest way is to use our Gisquick CLI tool.

To keep track of substantial changes, planned features or new proposals, please use Gisquick RFCs repository.

License

GNU General Public License version 2 or later.

Contact

gisquick at opengeolabs.cz

gisquick's People

Contributors

davidtethal avatar imincik avatar jachym avatar landam avatar marcel-dancak avatar vosatom avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gisquick's Issues

empty overlay tiles

I can not see any overlay map. Using fresh master and vagrant destroy && vagrant up. Result is always the same - transparent empty tile image

GIS.lab Web: Content is missing

After entering URL to launch GIS.lab Web, content stuff is missing (using Firefox) and other tools are also not working, see figure below

gislab-web-firefox

GIS.lab Web: doesn't show abstract and keywords for base layers

Even published project contains metadata about base layers, eg.

      "title": "OpenStreetMap",
      "keywords": "free; collaborative; world map",
      "abstract": "OpenStreetMap (OSM) is a collaborative project to create a free editable map of the world.",
      "type": "OSM",

the web client ignores it.

gislab-osm

QGIS Plugin: Special settings in Project Properties

Before QGIS project publishing it is important to set in Project Properties:

1.) OWS server --> Service capabilities --> Keyword list, e.g. <some value>
2.) OWS server --> WMS capabilitie

  • Add geometry to feature response

3.) OWS server --> WFS and WCS capabilities -->

  • Published layers or Select all

and also manually set sources to *.svg styles if any exist

Note: Size of symbol has to be set in mm or px, can't be set in map units

Without settings mentioned above point layers are displayed as question marks, symbols in legend are very large and attribute table is not displayed.

User console

Create user console page with following features

Features

  • the same as in the old one, except drawings until they are not implemented
  • possibility to delete tiles cache of project
  • possibility to download user's backups from /storage/backup/USER

Plugin runtime error [1]

Runtime error in project.py, line 772: IndexError: list index out of range
When analyzing the problem I found out it is because the function tries to find my loaded WMS layers, which are not in the list in the layers tab.
I wanted to choose them as BaseLayers but cannot keep them in the project as it seems.

Warning from project page validation may not be noticable

Because widget for displaying errors and warnings is only of the first wizard page, user has no chance to notice warnings generated on page validation if there is no errors - wizard will display next page immediately (you have to return to previous page to see it). It would be better to have shared widget visible on every page.

Uploading Zip gives "File type not supported"

Hi
I followed the installation guide on https://gisquick.readthedocs.io/en/latest/administrator-manual/installation/index.html, and i seemed to got things running, but when i upload the prague.zip (again created following the guide) i get a a 409 conflict error and the message "File type not supported."
I have tried to find what is going on in the django and server and It seems to fail over the contenttype.
If i look at the posted form data it has the Content-Type:"application/x-zip-compressed"
image

I am running things on a windows 10 machine in docker version 18.06.1-ce-win73.

I do see that there is a commit to the code 15 days ago("fixed upload of project's zip archive on windows 52dd8d7), maybe this was because of the same problem i am having? Is this change not yet part of the docker images?

Plugins API implementation

Implement plugins API:

  • server: server side Django/Python extensions managed by administrator
  • client: JS client extensions bundled with QGIS project

Is GISQuick a part of GSOC 2018?

Will GISQuick be a part of GSOC 2018? I am postgraduate student of Geoinformatics and would like to work for GISQuick for GSOC 2018. Kindly provide some contact details of the mentors and starters for beginning the process.

GIS.lab Web NG - QGIS plugin

TODO

  • add support for all supported base layers (see #3, #20 )
  • enable HTML content in Messages 'text' field
  • add possibility to publish all required files to 'Publish/USER' directory
  • Windows OS support
  • redesign of last two pages
  • remove publishing of QGIS layers as vector drawings in GeoJSON

Coding style

  • convert tabs to spaces
  • 80 characters on line

Automatic detection of DPI

DPI used for map layers should be automatically detected in Javascript, rather than DPI GET parameter.

upgrade deployment to Ubuntu current LTS

I started to work on updating deployment playbook for Ubuntu 16.04 LTS (xenial). For this purpose new branch - ubuntu-xenial-dev - has been created.

(note that current master uses Ubuntu 14.04 LTS.)

Some roles has been updated, currently deployment fails on

TASK [gislab-web : Install local Node modules for GIS.lab Web clients] *********
...
npm WARN package.json [email protected] Normalized value of bugs field is an empty object. Deleted.
npm WARN deprecated [email protected]: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated [email protected]: graceful-fs v3.0.0 and before will fail on node releases >= v7.0. Please update to graceful-fs@^4.0.0 as soon as possible. Use 'npm ls graceful-fs' to find it in the tree.
npm WARN deprecated [email protected]: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated [email protected]: graceful-fs v3.0.0 and before will fail on node releases >= v7.0. Please update to graceful-fs@^4.0.0 as soon as possible. Use 'npm ls graceful-fs' to find it in the tree.
sh: 1: node-gyp: Permission denied
sh: 1: node-gyp: Permission denied
npm WARN optional dep failed, continuing [email protected]
npm WARN optional dep failed, continuing [email protected]\nsh: 1: node-gyp: Permission denied
sh: 1: node-gyp: Permission denied
npm WARN optional dep failed, continuing [email protected]
npm WARN optional dep failed, continuing [email protected]
npm WARN deprecated [email protected]: wrench.js is deprecated! You should check out fs-extra (https://github.com/jprichardson/node-fs-extra) for any operations you were using wrench for. Thanks for all the usage over the years.
sh: 1: node: Permission denied
npm ERR! Linux 4.4.0-45-generic
npm ERR! argv \"/root/.nvm/versions/node/v4.2.2/bin/node\" \"/root/.nvm/versions/node/v4.2.2/bin/npm\" \"install\"
npm ERR! node v4.2.2
npm ERR! npm  v2.14.7
npm ERR! file sh
npm ERR! code ELIFECYCLE
npm ERR! errno ENOENT
npm ERR! syscall spawn
npm ERR! [email protected] postinstall: `node ./bin/closure-util.js update`
npm ERR! spawn ENOENT
npm ERR! 
npm ERR! Failed at the [email protected] postinstall script 'node ./bin/closure-util.js update'.
npm ERR! This is most likely a problem with the closure-util package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node ./bin/closure-util.js update
npm ERR! You can get their info via:
npm ERR!     npm owner ls closure-util
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR!     /vagrant/clients/npm-debug.log", "stdout": "Now using node v4.2.2 (npm v2.14.7)
> [email protected] install /vagrant/clients/node_modules/openlayers/node_modules/closure-util/node_modules/socket.io/node_modules/engine.io/node_modules/ws/node_modules/bufferutil
> node-gyp rebuild
> [email protected] install /vagrant/clients/node_modules/openlayers/node_modules/closure-util/node_modules/socket.io/node_modules/engine.io/node_modules/ws/node_modules/utf-8-validate
> node-gyp rebuild
> [email protected] install /vagrant/clients/node_modules/openlayers/node_modules/closure-util/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/node_modules/bufferutil
> node-gyp rebuild
> [email protected] install /vagrant/clients/node_modules/openlayers/node_modules/closure-util/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/node_modules/utf-8-validate
> node-gyp rebuild
> [email protected] postinstall /vagrant/clients/node_modules/openlayers/node_modules/closure-util
> node ./bin/closure-util.js update"

Gisquick server tests fails (master - precise)

TASK [Run Gisquick server tests] ***********************************************
task path: /home/landa/git/gislab-npo/gisquick/provision/test.yml:29
fatal: [gisquick]: FAILED! => {"changed": false, "cmd": "./manage.py test --noinput --settings=devproj.settings webgis.viewer", "failed": true, "msg": "stdout: Creating test database for alias 'default'...\nDestroying test database for alias 'default'...\n\n:stderr: EE..EE.\n======================================================================\nERROR: test_basic (webgis.viewer.tests.test_wfsfilter.WfsFilterCase)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n  File \"/vagrant/server/webgis/viewer/tests/test_wfsfilter.py\", line 20, in test_basic\n    result = webgisfilter(self.url, 'Places')\n  File \"/vagrant/server/webgis/viewer/wfsfilter.py\", line 43, in webgisfilter\n    mywfs = WebFeatureService(url=mapserv, version='1.0.0')\n  File \"/home/vagrant/.virtualenvs/gisquick/lib/python3.4/site-packages/owslib/wfs.py\", line 40, in WebFeatureService\n    password=password)\n  File \"/home/vagrant/.virtualenvs/gisquick/lib/python3.4/site-packages/owslib/feature/wfs100.py\", line 77, in __new__\n    username=username, password=password)\n  File \"/home/vagrant/.virtualenvs/gisquick/lib/python3.4/site-packages/owslib/feature/wfs100.py\", line 102, in __init__\n    self._buildMetadata(parse_remote_metadata)\n  File \"/home/vagrant/.virtualenvs/gisquick/lib/python3.4/site-packages/owslib/feature/wfs100.py\", line 112, in _buildMetadata\n    self.identification=ServiceIdentification(serviceelem, self.version)\n  File \"/home/vagrant/.virtualenvs/gisquick/lib/python3.4/site-packages/owslib/feature/wfs100.py\", line 291, in __init__\n    self.type = testXMLValue(self._root.find(nspath('Name')))\nAttributeError: 'NoneType' object has no attribute 'find'\n\n======================================================================\nERROR: test_filter_equal (webgis.viewer.tests.test_wfsfilter.WfsFilterCase)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n  File \"/vagrant/server/webgis/viewer/tests/test_wfsfilter.py\", line 61, in test_filter_equal\n    result = webgisfilter(self.url, 'Places', filters=myfilters)\n  File \"/vagrant/server/webgis/viewer/wfsfilter.py\", line 43, in webgisfilter\n    mywfs = WebFeatureService(url=mapserv, version='1.0.0')\n  File \"/home/vagrant/.virtualenvs/gisquick/lib/python3.4/site-packages/owslib/wfs.py\", line 40, in WebFeatureService\n    password=password)\n  File \"/home/vagrant/.virtualenvs/gisquick/lib/python3.4/site-packages/owslib/feature/wfs100.py\", line 77, in __new__\n    username=username, password=password)\n  File \"/home/vagrant/.virtualenvs/gisquick/lib/python3.4/site-packages/owslib/feature/wfs100.py\", line 102, in __init__\n    self._buildMetadata(parse_remote_metadata)\n  File \"/home/vagrant/.virtualenvs/gisquick/lib/python3.4/site-packages/owslib/feature/wfs100.py\", line 112, in _buildMetadata\n    self.identification=ServiceIdentification(serviceelem, self.version)\n  File \"/home/vagrant/.virtualenvs/gisquick/lib/python3.4/site-packages/owslib/feature/wfs100.py\", line 291, in __init__\n    self.type = testXMLValue(self._root.find(nspath('Name')))\nAttributeError: 'NoneType' object has no attribute 'find'\n\n======================================================================\nERROR: test_filter_max_features (webgis.viewer.tests.test_wfsfilter.WfsFilterCase)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n  File \"/vagrant/server/webgis/viewer/tests/test_wfsfilter.py\", line 72, in test_filter_max_features\n    maxfeatures=50, filters=myfilters\n  File \"/vagrant/server/webgis/viewer/wfsfilter.py\", line 43, in webgisfilter\n    mywfs = WebFeatureService(url=mapserv, version='1.0.0')\n  File \"/home/vagrant/.virtualenvs/gisquick/lib/python3.4/site-packages/owslib/wfs.py\", line 40, in WebFeatureService\n    password=password)\n  File \"/home/vagrant/.virtualenvs/gisquick/lib/python3.4/site-packages/owslib/feature/wfs100.py\", line 77, in __new__\n    username=username, password=password)\n  File \"/home/vagrant/.virtualenvs/gisquick/lib/python3.4/site-packages/owslib/feature/wfs100.py\", line 102, in __init__\n    self._buildMetadata(parse_remote_metadata)\n  File \"/home/vagrant/.virtualenvs/gisquick/lib/python3.4/site-packages/owslib/feature/wfs100.py\", line 112, in _buildMetadata\n    self.identification=ServiceIdentification(serviceelem, self.version)\n  File \"/home/vagrant/.virtualenvs/gisquick/lib/python3.4/site-packages/owslib/feature/wfs100.py\", line 291, in __init__\n    self.type = testXMLValue(self._root.find(nspath('Name')))\nAttributeError: 'NoneType' object has no attribute 'find'\n\n======================================================================\nERROR: test_filter_prague (webgis.viewer.tests.test_wfsfilter.WfsFilterCase)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n  File \"/vagrant/server/webgis/viewer/tests/test_wfsfilter.py\", line 44, in test_filter_prague\n    result = webgisfilter(self.url, 'Places', filters=prague_filter)\n  File \"/vagrant/server/webgis/viewer/wfsfilter.py\", line 43, in webgisfilter\n    mywfs = WebFeatureService(url=mapserv, version='1.0.0')\n  File \"/home/vagrant/.virtualenvs/gisquick/lib/python3.4/site-packages/owslib/wfs.py\", line 40, in WebFeatureService\n    password=password)\n  File \"/home/vagrant/.virtualenvs/gisquick/lib/python3.4/site-packages/owslib/feature/wfs100.py\", line 77, in __new__\n    username=username, password=password)\n  File \"/home/vagrant/.virtualenvs/gisquick/lib/python3.4/site-packages/owslib/feature/wfs100.py\", line 102, in __init__\n    self._buildMetadata(parse_remote_metadata)\n  File \"/home/vagrant/.virtualenvs/gisquick/lib/python3.4/site-packages/owslib/feature/wfs100.py\", line 112, in _buildMetadata\n    self.identification=ServiceIdentification(serviceelem, self.version)\n  File \"/home/vagrant/.virtualenvs/gisquick/lib/python3.4/site-packages/owslib/feature/wfs100.py\", line 291, in __init__\n    self.type = testXMLValue(self._root.find(nspath('Name')))\nAttributeError: 'NoneType' object has no attribute 'find'\n\n----------------------------------------------------------------------\nRan 7 tests in 0.034s\n\nFAILED (errors=4)\n", "path": "/home/vagrant/.virtualenvs/gisquick/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games", "state": "absent", "syspath": ["/tmp/ansible_H4OKNJ", "/tmp/ansible_H4OKNJ/ansible_modlib.zip", "/tmp/ansible_H4OKNJ/ansible_modlib.zip", "/usr/lib/python2.7", "/usr/lib/python2.7/plat-i386-linux-gnu", "/usr/lib/python2.7/lib-tk", "/usr/lib/python2.7/lib-old", "/usr/lib/python2.7/lib-dynload", "/usr/local/lib/python2.7/dist-packages", "/usr/lib/python2.7/dist-packages"]}

Introduce web map search interface based on OGC WFS

use QGIS WFS interface for displaying feature info instead of WMS.

Proposed API (proposal):

/ol3/filter?PROJECT=dir/file

Method Action Format
POST Get features based on configuration JSON

Configuration (JSON):

{
        'layer': 'Places',
        'maxfeatures': 1000,
        'startindex': 0,
        'bbox': [0, 1, 2, 3],
        'filters': [{
            'attribute': 'NAME',
            'value': 'Prague',
            'operator': '='
        }]
}

gis.lab web packaging fails

The command

cd /vagrant/server \
  && \
  python ./setup.py sdist

fails with

making hard links in gislab-web-dev...
hard linking AUTHORS -> gislab-web-dev
error: [Errno 1] Operation not permitted

ansible_ssh_user is undefined

At the end of vagrant up I have this error.

TASK [Create shared development directory] *************************************
fatal: [gislab-web]: FAILED! => {"failed": true, "msg": "ERROR! 'ansible_ssh_user' is undefined"}

Can't build the docker images missing files (gisquick-dev.tar.gz, gisquick)

Hi,

I can't seem to build the docker images and run them on windows. the dockerfiles are referencing folders/files that are not in the repository. for example gisquick-dev.tar.gz, gisquick.
I am running things on a windows 10 machine in docker version 18.06.1-ce-win73.
Even after i tried some changes so the images would build i get:
image

Building django
the build.sh has cp ../../server/dist/gisquick-dev.tar.gz tmp/ in it, but gisquick-dev.tar.gz is missing. Am I correct in thinking this is the entire server folder but compacted into tar and gz? If i do that and add this to the tmp folder image based on the dockerfile is build. But then running with docker compose up I get 404 not found errors about the static files. It looks as tho the static files are a level deeper in a folder admin.

Building nginx
this failed on the line "COPY gisquick /etc/nginx/conf.d/gisquick/", there is no gisquick to copy, what is this suppose to do? I commented out this line and image builds, but running things i get the 404 errors

I tried building them individually with
docker build django
docker build nginx
docker build qgis-server
(the only one that builds without errors)

And i created a docker-compose.yml with build options
this is what i have so far:

version: "3"
services:
  qgisserver:
    build:
        context: ./qgis-server
    restart: always
    image: gisquick/qgis-server
    volumes:
      - ./_data/publish:/publish/:ro
    networks:
      - default      
    ports:
      - "9000:9000"

  django:
    build:
        context: ./django
    restart: always
    image: gisquick/django
    volumes:
      - ./_data/data/:/var/www/gisquick/data/
      - ./_data/media/:/var/www/qisquick/media/      
      - ./_data/static/:/var/www/qisquick/static/   
      - ./_data/publish:/publish/
    environment:
      - GUNICORN_WORKERS=2
      - GUNICORN_ERRORLOG=-
      - GUNICORN_ACCESSLOG=-
    networks:
      - default  
    depends_on:
      - qgisserver              
    logging:
      driver: json-file
      options:
        max-size: "10m"
        max-file: "10"
    ports:
      - "8000:8000"        

  nginx:
    build:
        context: ./nginx
    restart: unless-stopped
    image: gisquick/nginx   
    volumes:
      - ./_data/etc/letsencrypt/:/etc/letsencrypt/
      - ./_data/var/www/certbot/:/var/www/certbot/
      - ./_data/data/:/var/www/gisquick/data/
      - ./_data/media/:/var/www/qisquick/media/      
      - ./_data/static/:/var/www/qisquick/static/   
      - ./_data/publish:/publish/
    networks:
      - default       
    ports:
      - "80:80"      
      - "443:443"
    environment:
      - NGINX_HOST=localhost.merkator.com
    depends_on:
      - qgisserver 
      - django        
    logging:
      driver: json-file
      options:
        max-size: "10m"
        max-file: "10"

volumes:
  data: {}

Pleas help me out , what am i missing, i want to integrate quickgis with an existing website and add the necessary parts in an existing nginx image, but before i can do that i want to get this as is working.

unable to deploy virtual machine for gis.lab web

Deployment is failing for me (tested on two different computers):

vagrant up
...
ASK [basic : Create shared development directories] ***************************
task path: /home/landa/git/gislab-npo/gislab-web/provision/roles/basic/tasks/main.yml:65
[DEPRECATION WARNING]: Skipping task due to undefined Error, in the future this
 will be a fatal error.: 'ansible_user' is undefined.
This feature will be 
removed in a future release. Deprecation warnings can be disabled by setting 
deprecation_warnings=False in ansible.cfg.
fatal: [gislab-web]: FAILED! => {"failed": true, "msg": "the field 'args' has an invalid value, which appears to include a variable that is undefined. The error was: 'item' is undefined\n\nThe error appears to have been in '/home/landa/git/gislab-npo/gislab-web/provision/roles/basic/tasks/main.yml': line 65, column 3, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n### DIRECTORIES\n- name: Create shared development directories\n  ^ here\n"}

NO MORE HOSTS LEFT *************************************************************
    to retry, use: --limit @/home/landa/git/gislab-npo/gislab-web/provision/deployment.retry

PLAY RECAP *********************************************************************
gislab-web                 : ok=9    changed=5    unreachable=0    failed=1   
vagrant --version
Vagrant 1.8.1

ansible --version
ansible 2.1.2.0
  config file = /etc/ansible/ansible.cfg
  configured module search path = Default w/o overrides

Plugin runtime error [2]

publish.py", line 237: UnicodeEncodeError: 'ascii' codec can't encode character u'\xe4' in position 1: ordinal not in range(128)
I use non-ascii characters in layer names, will change that for further testing, though.

NG - drawings

Tasks

  • refactoring of Balls and Drawings model

Features

  • saving data to user's PostgreSQL schema (when done don't forget to update gislab-backup|restore scripts)
  • permissions support
  • REST API
  • saving styles
  • saving multiple attribute data columns (text, number, boolean, file attachement, url)
  • saving parent ID if drawing was created from another one
  • dragging data from layers to drawings
  • drawing features by WKT
  • import data from GeoJSON, GPX
  • export data to GeoJSON, GPX

WMS 1.1.1 requests + pg_service.conf question

Hi and thanks for your work in this very nice project.

While checking it out and trying to grasp the basics I'm seeing in the logs that the WMS requests are made using version 1.1.1:

[4968][09:42:02] inserting pair MAP // /vagrant/dev/publish/de_publicat/harta_1461315487.qgs into the parameter map
[4968][09:42:02] inserting pair WIDTH // 1280 into the parameter map
[4968][09:42:02] inserting pair SERVICE // WMS into the parameter map
[4968][09:42:02] inserting pair FORMAT // png into the parameter map
[4968][09:42:02] inserting pair REQUEST // GetMap into the parameter map
[4968][09:42:02] inserting pair HEIGHT // 1280 into the parameter map
[4968][09:42:02] inserting pair SRS // EPSG:3844 into the parameter map
[4968][09:42:02] inserting pair VERSION // 1.1.1 into the parameter map

I haven't gotten into it deeper to see if you're somehow using an intermediary step to reformat requests but I think that the requests should have been in 1.3.0 version.

Second point, if any of you are using pg_service.conf file to connect to a postgresql database, how are you doing it?

I had to create it in the home directory of the user that runs lighthttpd (www-data): /var/www but it doesn't feel right to put it there. Do you have other suggestions here?

All the best,
Tudor

Error with Docker compose "Unable to locate package nodejs"

I get the next error with docker:

build-arg version=1.0 .
Sending build context to Docker daemon  19.71MB
Step 1/30 : FROM ubuntu:16.04 AS builder
 ---> b9e15a5d1e1a
Step 2/30 : MAINTAINER Marcel Dancak "[email protected]"
 ---> Using cache
 ---> 69436f434edd
Step 3/30 : ARG version
 ---> Using cache
 ---> 6504a952794f
Step 4/30 : RUN apt-get update && apt-get install -y --no-install-recommends     python-setuptools     python-pip     git     patch     openjdk-8-jre     curl     && rm -rf /var/lib/apt/lists/*
 ---> Using cache
 ---> 4806f23f7b8b
Step 5/30 : RUN curl -sL https://deb.nodesource.com/setup_4.x | bash -
 ---> Using cache
 ---> 705ac60be2d6
Step 6/30 : RUN apt-get install -y nodejs
 ---> Running in 86ac55d02bb3
Reading package lists...
Building dependency tree...
Reading state information...
E: Unable to locate package nodejs
The command '/bin/sh -c apt-get install -y nodejs' returned a non-zero code: 100

Add support for documents attached to project

Add support for documents attached to project:

  • plugin: add 'Documents' page in project publishing wizard which will allow to choose multiple files of any type attached to project
  • client: display attached files list somewhere

Crashing with long user name

Web is crashing when long user name is taken from LDAP.

Sep 8 10:32:10 server postgres[31621]: [2-1] 2015-09-08 10:32:10 CEST ERROR: value too long for type character varying(30)
Sep 8 10:32:10 server postgres[31621]: [2-2] 2015-09-08 10:32:10 CEST STATEMENT: UPDATE "viewer_gislabuser" SET "password" = '', "last_login" = '2015-09-08 08:30:44.116671+00:00', "is_superuse
r" = true, "username" = 'gislab', "first_name" = 'Ivan', "last_name" = 'Mincik [GIS.lab ID: gislab_vagrant]', "email" = '[email protected]', "is_staff" = true, "is_active" = true, "date_join
ed" = '2015-09-08 08:30:44.116807+00:00' WHERE "viewer_gislabuser"."id" = 2

GIS.lab web wfs getcapabilities request does not work

When initializing WFS configuration, something like

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/OWSLib-0.9.dev0-py2.7.egg/owslib/wfs.py", line 36, in WebFeatureService
    timeout=timeout)
  File "/usr/local/lib/python2.7/dist-packages/OWSLib-0.9.dev0-py2.7.egg/owslib/feature/wfs100.py", line 70, in __new__
    obj.__init__(url, version, xml, parse_remote_metadata, timeout)
  File "/usr/local/lib/python2.7/dist-packages/OWSLib-0.9.dev0-py2.7.egg/owslib/feature/wfs100.py", line 92, in __init__
    self._buildMetadata(parse_remote_metadata)
  File "/usr/local/lib/python2.7/dist-packages/OWSLib-0.9.dev0-py2.7.egg/owslib/feature/wfs100.py", line 102, in _buildMetadata
    self.provider=ServiceProvider(serviceelem)   
  File "/usr/local/lib/python2.7/dist-packages/OWSLib-0.9.dev0-py2.7.egg/owslib/feature/wfs100.py", line 281, in __init__
    self.keywords = extract_xml_list(self._root.find(nspath('Keywords')))
  File "/usr/local/lib/python2.7/dist-packages/OWSLib-0.9.dev0-py2.7.egg/owslib/util.py", line 535, in extract_xml_list
    keywords = [re.split(r'[\n\r]+',f.text) for f in elements if f.text]
TypeError: 'NoneType' object is not iterable

will appear. This seems to be do to QGIS invalid response as reported https://hub.qgis.org/issues/13037

Workaround prepared, for owslib jachym/OWSLib@679668a#diff-ee406d4961a0fd834c9da10edd752863L537 could be applied temporary in GIS.lab too

QGIS plugin: New topic added twice

Description of situation:

I add New topic e.g. "A", then "B", "C", etc. by Add button. When I go next by Next button, then I return and add new topic "D", it is OK, but when I go back by Back button and then I add new topic, New topic has twin, see figure below. When I want to delete it, both are deleted after one click on Remove button.

glw-new-topics

Configuration summary is not updating

When I get into 'Configuration summary' page and then return back in wizard and change layers configuration, Configuration summary will not reflect these changes. Generated project metadata is as expected, so the problem must be in Configuration summary page.

NG

GIS.lab Web New Generation

TODO

  • disable drawings support on server - (urls, model, views)
  • remove drawings support from gislab-backup| restore

Technologies

  • OpenLayers 3
  • Angular 1.4
  • Django 1.8

Features

Empty project

  • Base maps - OpenStreetMap (different flavours)

Base maps

  • WMS and WMTS layers
  • OpenStreet map - many different flavours, see: https://github.com/imincik/qgis2web/blob/master/basemaps.py
  • NO Google maps
  • many other free base maps - MapBox, MapQuest, CartoDB, Bing
  • custom base maps by specifying Title, URL, URL format (by secifying X,Y,Z variables), token
  • transparency

Overlay layers

  • non-cached as WMS
  • cached TMS tiles
  • layer metadata

Legend

  • symbols filtering on current BBOX

Attribute table

  • will be launched from layer tree
  • each column will contain filtering widget on top with data type validation
  • all non-empty values from filter will be joined with AND logical operator
  • using WFS request

Measure

  • coordinates
  • distance
  • area

Identify

  • using WFS request
  • by point
  • enabled as default tool
  • possibility to choose active layer or all layers

Search/Filter

  • by filter in attribute table
  • using WFS request #462 462

Print

Permalink

Cutomization (optional)

  • by saving CSS and JS files with project (custom/css/.css, custom/js/.js)
  • feature detail templates (custom/layer/LAYER_NAME/template)

OWS Requests

  • running WMS and WFS request on published QGIS project

ImportError: No module named client

After installing fresh dev environment, running tmux, and launching web application I am getting error below

  File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "/vagrant/dev/django/devproj/urls.py", line 15, in <module>
    url(r'^mobile/', include('webgis.mobile.urls', namespace='mobile')),
  File "/home/vagrant/.virtualenvs/gislab-web/local/lib/python2.7/site-packages/django/conf/urls/__init__.py", line 33, in include
    urlconf_module = import_module(urlconf_module)
  File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "/vagrant/server/webgis/mobile/urls.py", line 3, in <module>
    from  webgis.mobile import views
  File "/vagrant/server/webgis/mobile/views.py", line 12, in <module>
    from webgis.viewer.client import LoginRequired
ImportError: No module named client

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.