All Projects → g3w-suite → g3w-admin

g3w-suite / g3w-admin

Licence: MPL-2.0 license
Server module for G3W-SUITE

Programming Languages

javascript
184084 projects - #8 most used programming language
python
139335 projects - #7 most used programming language
HTML
75241 projects
CSS
56736 projects
java
68154 projects - #9 most used programming language
PHP
23972 projects - #3 most used programming language

Projects that are alternatives of or similar to g3w-admin

QGISFMV
QGIS Full Motion Video (FMV)
Stars: ✭ 104 (+333.33%)
Mutual labels:  qgis, qgis3
py-qgis-server
QGIS embbeded WMS/WFS/WCS asynchronous scalable http server
Stars: ✭ 28 (+16.67%)
Mutual labels:  qgis, qgis-server
CarteTopo
No description or website provided.
Stars: ✭ 23 (-4.17%)
Mutual labels:  qgis, qgis3
xyz-qgis-plugin
Plugin for QGIS to connect to the HERE XYZ Hub API
Stars: ✭ 22 (-8.33%)
Mutual labels:  qgis, qgis3
profiletool
Home to the QGis Profiletool plugin. Initial work on this fork was partially funded by the C.A. La Rioja
Stars: ✭ 23 (-4.17%)
Mutual labels:  qgis3, qgis2
Django-Verify-Email
A two-step verification for new accounts by verifying email.
Stars: ✭ 51 (+112.5%)
Mutual labels:  django-application
python-web-dev-21-2
Material for "Web Development in Python with Django" using Django 2.1, published as a Pearson LiveLesson on Safari Books Online
Stars: ✭ 38 (+58.33%)
Mutual labels:  django-application
ilong
轻量级跨平台瓦片地图库,大部分算法来自QMapControl,就想练手的。。。因为需要轻量级跨平台的,所以只能先用SQLite数据库。。。
Stars: ✭ 24 (+0%)
Mutual labels:  qgis
acme2certifier
library implementing ACME server functionality
Stars: ✭ 62 (+158.33%)
Mutual labels:  django-application
django-survey
A django survey app that can export results as CSV or PDF using your native language.
Stars: ✭ 178 (+641.67%)
Mutual labels:  django-application
qgis3d
3D map view - proof of concept using Qt 3D
Stars: ✭ 39 (+62.5%)
Mutual labels:  qgis
mubapp
MUB is a multi-user blog web app using the Python-Django infrastructure.
Stars: ✭ 24 (+0%)
Mutual labels:  django-application
django-lock-tokens
A Django application that provides a locking mechanism to prevent concurrency editing.
Stars: ✭ 19 (-20.83%)
Mutual labels:  django-application
PyShop
PyShop is an online Python Ecommerce website built with Django, SQLite and Bootstrap. A simple and lightweight ecommerce app easily deployable anywhere anytime with modules developed upon the inbuilt django admin.
Stars: ✭ 17 (-29.17%)
Mutual labels:  django-application
speckle-qgis
QGIS Connector for Speckle 2.0
Stars: ✭ 17 (-29.17%)
Mutual labels:  qgis
ImportPhotos
This tool can be used to import Geo-Tagged photos (jpg or jpeg) as points to QGIS.
Stars: ✭ 22 (-8.33%)
Mutual labels:  qgis
django-siteforms
Django reusable app to simplify form construction
Stars: ✭ 15 (-37.5%)
Mutual labels:  django-application
albion
Migrated to: https://gitlab.com/Oslandia/albion
Stars: ✭ 47 (+95.83%)
Mutual labels:  qgis
qgis-bridge-plugin
GeoCat Bridge is a plugin for QGIS that can be used to publish geospatial (meta)data to the cloud.
Stars: ✭ 24 (+0%)
Mutual labels:  qgis
wagtailmath
Beautiful equations in your StreamField content
Stars: ✭ 27 (+12.5%)
Mutual labels:  django-application

G3W-Suite CI Tests

G3W-SUITE

G3W-ADMIN admin server module for G3W-SUITE. (Django 2.2 and Python 3.6, current branch)

G3W-SUITE works with QGIS-Server LTR versions.

Admin GUI

Webgis GUI

Version

At the moment is not used a classic versioning system for the suite, there are main 3 branches.

Branch Python version Django version QGIS API Status
dev 3.10 2.2 Used Continue developing
v.3.4.x 3.8 2.2 Used Bug fixing
v.3.3.x 3.6 2.2 Used Bug fixing
v.3.2.x 3.6 2.2 Used No longer suppoeted
v.3.1.x 3.6 2.2 Used No longer supported
v.3.0.x 3.6 2.2 Used No longer supported
dj22-py3 3.6 2.2 Not used No longer supported
py2 2.7 1.11 Not used No longer supported

The following instructions are for a Ubuntu 18.04 LTS.

Installation of node.js and Yarn

G3W-ADMIN use javacript package manager Yarn and Node.js

sudo apt-get install -y nodejs-legacy npm

for install Yarn follow main installation instructions:

https://yarnpkg.com/en/docs/install#debian-stable

Create virtualenv

Virtualenv

The following instructions are for python 3.6

Install python pip

sudo apt-get install python3-pip

now we can install virtualenvwrapper

sudo pip3 install virtualenvwrapper

To activate virtuenvwrapper on system login, add follow lines to 'bashrc' config file of your user

nano ~/.bashrc
....
export WORKON_HOME=<path_to_virtualenvs_directory>
source /usr/local/bin/virtualenvwrapper.sh

Virtualenv creation

To create a virtualnenv is sufficent call mkvirtualenv commando follow by the identification name for virtualenv (to use QGIS API into a virtualenv only solution is to give access python system site-packages to it using --system-site-packages option)

mkvirtualenv --system-site-packages g3wsuite

Install G3W-SUITE

First step is install dev libraries packages for python module to install with requiriments.txt

sudo apt-get install -y \
    libxml2-dev \
    libxslt-dev \
    postgresql-server-dev-all \
    libgdal-dev \
    python-dev

Set local_config.py file

G3W-ADMIN is a Django application, and to work is necessary set a config.py file. To start copy local_settings.example.py and set the databse and other:

cd g3w-admin/g3w-admin/base/settings
cp local_settings_example.py local_settings.py

set database, media root and session cookies name:

...

DATABASES = {
    'default': {
        'ENGINE': 'django.contrib.gis.db.backends.postgis',
        'NAME': '<db_name>',
        'USER': '<db_user>',
        'PASSWORD': '<db_user_password>',
        'HOST': '<db_host>',
        'PORT': '<db_port>',
    }
}

...

DATASOURCE_PATH = '<static_path_to_gis_data_source>'

...

MEDIA_ROOT = '<path_to_media_root>'

...

SESSION_COOKIE_NAME = '<unique_session_id>'

With paver commands

G3W-ADMIN has a series of paver CLI commands to administrate the suite. After prepared environment if sufficient invoce paver install task

paver install

Run G3W-SUITE

To run the application with paver

paver start

and for stop

paver stop

G3W-ADMIN is a django application so is possibile run app by standard django manage.py commands

./manage.py runserver

Deploy G3W-SUITE

As other Django application, G3W-SUITE can be deployed by its wsgi capabilities. On the web if simple to find tutorial for deploy a Django application.

The simpler way is to use Apache2 as server WEB and its mod_wsgi module.

Alternative solutions are:

Manual installation steps

The preferred installation is by using the paver script as mentioned above, but in case you need to customize the installation process, here are the build and setup steps:

Build static js code

# Install yarn (requires root):
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | \
    tee /etc/apt/sources.list.d/yarn.list
apt-get update && sudo apt install -y yarn
# Back to unprivileged user, from the repository directory, run:
yarn --ignore-engines --ignore-scripts --prod
nodejs -e "try { require('fs').symlinkSync(require('path').resolve('node_modules/@bower_components'), 'g3w-admin/core/static/bower_components', 'junction') } catch (e) { }"

Make sure build components are available in static and collected later

cd g3w-admin/core/static
ln -s "../../../node_modules/@bower_components" bower_components

Install requirements

Possibily within a virtual env:

pip install -r requirements.tx

Django setup

python manage.py collectstatic --noinput
python manage.py migrate --noinput

Install some fixtures for EPSG and other suite options:

for FIXTURE in 'BaseLayer.json' 'G3WGeneralDataSuite.json' 'G3WMapControls.json' 'G3WSpatialRefSys.json'; do
    python manage.py loaddata  core/fixtures/${FIXTURE}
done

Sync menu tree items (re-run this command in case you installed optional modules and they are not visible in the admin menu tree):

python manage.py sitetree_resync_apps

Module accessories

Can be installed the follow module accessories.

Caching module

Module to cache on disk layers WMS map. To install and usd please read his caching/README.md

Filemanager module

Module to manage on disk geo data files. To install and use please read his filemanager/README.md

Continuous integration testing

CI tests are automatically run on CircleCI for the dev branch only.

The Docker compose configuration used in the CI tests is available at docker-compose.yml.

Another configuration for running local tests is provided with docker-compose-local.yml and can also be used for local testing by running:

docker-compose -f docker-compose-local.yml up

The testing image is built from the dependency image and it will run all install and build steps from the local repository.

The dependency image is built from the Dockerfile.deps.

Contributors

Translation

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].