Giter Site home page Giter Site logo

gislab-npo / gislab Goto Github PK

View Code? Open in Web Editor NEW
39.0 39.0 13.0 35.78 MB

GIS.lab - total reduction of deployment and maintenance costs for complete free and open source geospatial infrastructure

Home Page: http://gislab-npo.github.io/gislab/

License: GNU General Public License v3.0

Shell 10.33% Python 2.10% HTML 0.03% CSS 60.91% PLpgSQL 1.19% Dockerfile 0.03% Ruby 0.01% Jinja 9.87% SCSS 15.54%

gislab's People

Contributors

imincik avatar landam avatar marcel-dancak avatar mpastor avatar peter-kolenic 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

Watchers

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

gislab's Issues

Add user plugins infrastructure

Add user plugins infrastructure which should replace custom scripts implemented a2bf0ed .

The idea is to have some plugins directory in 'user/plugins/client|server' which should contain scripts which will be automatically executed. 'user/plugins/client' could probably contain LTSP plugins.

Add LDAP authentication support

  • install OpenLDAP server on GIS.lab server
  • add parameter -s to 'gislab-adduser' script which will add user to 'labadmins' LDAP group. If not given, add user to 'labusers' group. If user is in 'labadmins' group allow 'sudo' on server and on clients.
  • add LDAP logic to 'gislab-adduser' and 'gislab-deluser' scripts. Source LDAP functions from 'ldapscripts/lib/runtime'
  • add script 'gislab-password' which will change user password new password (without asking current password). If parameter '-p' given change to given password, if not generate random new password (similar to 'gislab-adduser )
  • define variables $USER, $PASSWORD, $UID, $GID and use them in 'gislab-add|deluser' and 'gislab-password'
  • use only encrypted LDAP connection
  • authenticate following services using LDAP credentials: Linux login (pam) on server and clients, PostgreSQL, QGIS connection to PostgreSQL.

Add full backup and restore tools

  • add variable GISLAB_BACKUP_DIR in config.cfg and create it if not exists in installation
  • add 'gislab-backupuser' script which will create following backup files in config.$GISLAB_BACKUP_DIR/gislab-backup-$USER-YYYY-MM-DD:HH-MM-SS
    ** home file excluding hidden files in home.tar.gz
    ** shared files in share.tar.gz
    ** objects in 'gislab' PostgreSQL db under user's schema
  • add 'gislab-restoreuser' which will delete user as a first step ad restore files

Add full VirtualBox client support

To implement this feature we need add possibility to install VirtualBox additions to client image. Additions must match client VirtualBox version.

WebGIS - add a possibility to manage a history of saved drawings

WebGIS - add a possibility to list history of saved drawings to 'Drawings History' panel .
Content: time, Drawing ID, Permalink

  • rename BALLS GET parameter to DRAWINGS (do not forget to rename it also in QGIS plugin)
  • when loading DRAWING add download hyperlink in to toolbar
  • move DRAWING hyperlink to bottom panel

Creation of multiple screencasts describing some nice GIS.lab features

  • introduction to GIS.lab client session - boot, login, desktop, home folder, panel, available applications, logout, shutdown (use VirtualBox screen capture feature)
  • how to use built in chat service
  • how to create map project and publish to WebGIS (QuickStart)
  • how to use base maps (OSM, Google ...) in QGIS and in WebGIS
  • how to capture data in WebGIS and collaborate with other WebGIS and QGIS users
  • how to publish data to Google Earth

...

WebGIS - add feature search support

WebGIS - add feature search support using WMS GetFeatureInfo request

Example:
http://localhost/wms/helloworld?SERVICE=WMS&VERSION=1.1.1& REQUEST=GetFeatureInfo&LAYERS=Country&QUERY_LAYERS=Country& FEATURE_COUNT=10&INFO_FORMAT=text/xml&SRS=EPSG:4326& FILTER=Country:"name"+=+'africa'

More info:
https://github.com/qgis/qgis-web-client

WebGIS - rewrite application to Django

WebGIS - rewrite application to Django

Structure:
gislab-webgis

  • webgis
    • viewer
      views: page, featureinfo
    • storage
      models: Ball (add timestamp field)
  • move variables from apache.conf to settings.py (update apache.conf)

Use strong user passwords

Currently GIS.lab is using 'lab' password for all user accounts.

Add optional possibility to specify password to 'gislab-adduser' script which will serve for automatic accounts creation at start with 'lab' password. Otherwise script will generate random password.

Add full data capturing capabilities to WebGIS

Add possibility to capture points, lines and polygons and send them via Permalink.

To implement this feature we need to:

Create small server application (proposed name 'balls')

  • which will save captured geometries on POST request (in GeoJSON text format) with returned unique ID
  • return saved data by GET request

POST: balls.gis.lab/
Response: ID

GET:balls.gis.lab/?ID=(ball ID)
Response: data in GeoJSON format with GeoJSON MIME type

Update WebGIS application.

  • add possibility to capture polygon and line objects
  • change behavior of 'export' tool to save captured geometries to 'balls' and return GeoJSON file ((ball ID).geojson) to download
  • update 'permalink' to save remove POINTS parameter and add BALLS instead. It would be fine to be able to specify multiple comma-separated ball IDs in BALLS parameter.

WebGIS - add print support

Add QGIS server print support to WebGIS app.

Print dialog should allow to choose:

  • Title
  • Print template
  • DPI
  • Rotation
  • Bounding box rectangle should allow to be moved in map

Creation of detailed 'Quickstart' document

  • Create step-by-step tutorial with screen shots how to install GIS,lab on Windows, Linux and Mac
  • Create step-by-step tutorial how to create first GIS project and publish in WebGIS.

Publish both documents on project's wiki page.

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.