Metadata-Version: 1.0
Name: django-geonode-mapstore-client
Version: 0.1.4
Summary: Use GeoNode client in your django projects
Home-page: https://github.com/GeoNode/geonode-mapstore-client
Author: Alessio Fabiani
Author-email: alessio.fabiani@gmail.com
License: BSD, see LICENSE file.
Description: # geonode-client [![Build Status](https://travis-ci.org/GeoNode/geonode-mapstore-client.svg?branch=master)](https://travis-ci.org/GeoNode/geonode-mapstore-client) [![Code Climate](https://codeclimate.com/github/GeoNode/geonode-viewer/badges/gpa.svg)](https://codeclimate.com/github/GeoNode/geonode-viewer) [![Test Coverage](https://codeclimate.com/github/GeoNode/geonode-mapstore-client/badges/coverage.svg)](https://codeclimate.com/github/GeoNode/geonode-mapstore-client/coverage)
        
        MapStore - React map viewer for GeoNode
        
        ## Installation
        
        Install `node` and `npm`. We would encourage you to use [nvm](https://github.com/creationix/nvm) a version manager for node.
        
        You need `node > 5`
        
        Run `npm install` to install all dependencies.
        
        ## Development Server
        
        Run `npm start` to start the development server. Visit your browser at `http://localhost:8080` to see the result.
        
        ## Testing
        
        During development run `npm run test:watch` to run tests on every file change.  
        
        Run `npm test` to run the full test suite with code coverage report.  
        
        ## Building
        
        - Building is done via webpack and the command is `npm build`  
        - The dist folder is where the minified versions of these files are stored.  
        
        ## Deployment to GH-pages
        
        Automated deployment via travis is enabled for the master branch.
        
        If you want to deploy manually to gh-pages use `npm run deploy`
        
        ### Important
        The deplyoment uses the `index-gh.html` please keep this file in sync with `index.html` and change the path once the repo changes it's name. The `.travis.yml` needs to be changed as well.
        
        ## Integrating into GeoNode/Django
        
        - Execute `pip install -r requirements.txt --upgrade --no-cache --no-cache-dir`
        
        ### For GeoNode
        Update your `GeoNode` > `settings.py` as follows:
        
        ```
        # To enable the MapStore2 based Client enable those
        if 'geonode_mapstore_client' not in INSTALLED_APPS:
            INSTALLED_APPS += (
                'mapstore2_adapter',
                'geonode_mapstore_client',)
        
        GEONODE_CLIENT_LAYER_PREVIEW_LIBRARY = 'mapstore'  # DEPRECATED use HOOKSET instead
        GEONODE_CLIENT_HOOKSET = "geonode_mapstore_client.hooksets.MapStoreHookSet"
        
        MAPSTORE_DEBUG = False
        
        def get_geonode_catalogue_service():
            if PYCSW:
                pycsw_config = PYCSW["CONFIGURATION"]
                if pycsw_config:
                        pycsw_catalogue = {
                            ("%s" % pycsw_config['metadata:main']['identification_title']): {
                                "url": CATALOGUE['default']['URL'],
                                "type": "csw",
                                "title": pycsw_config['metadata:main']['identification_title'],
                                "autoload": True
                             }
                        }
                        return pycsw_catalogue
            return None
        
        GEONODE_CATALOGUE_SERVICE = get_geonode_catalogue_service()
        
        MAPSTORE_CATALOGUE_SERVICES = {
            "Demo WMS Service": {
                "url": "https://demo.geo-solutions.it/geoserver/wms",
                "type": "wms",
                "title": "Demo WMS Service",
                "autoload": False
             },
            "Demo WMTS Service": {
                "url": "https://demo.geo-solutions.it/geoserver/gwc/service/wmts",
                "type": "wmts",
                "title": "Demo WMTS Service",
                "autoload": False
            }
        }
        
        MAPSTORE_CATALOGUE_SELECTED_SERVICE = "Demo WMS Service"
        
        if GEONODE_CATALOGUE_SERVICE:
            MAPSTORE_CATALOGUE_SERVICES[GEONODE_CATALOGUE_SERVICE.keys()[0]] = GEONODE_CATALOGUE_SERVICE[GEONODE_CATALOGUE_SERVICE.keys()[0]]
            MAPSTORE_CATALOGUE_SELECTED_SERVICE = GEONODE_CATALOGUE_SERVICE.keys()[0]
        
        DEFAULT_MS2_BACKGROUNDS = [{
                "type": "osm",
                "title": "Open Street Map",
                "name": "mapnik",
                "source": "osm",
                "group": "background",
                "visibility": True
            },
            {
                "group": "background",
                "name": "osm",
                "source": "mapquest",
                "title": "MapQuest OSM",
                "type": "mapquest",
                "visibility": False
            },
            {
                "type": "wms",
                "url": "https://demo.geo-solutions.it/geoserver/wms",
                "visibility": False,
                "title": "Natural Earth",
                "name": "sde:NE2_HR_LC_SR_W_DR",
                "group": "background",
                "format": "image/png"
            },
            {
                "type": "wms",
                "url": "https://demo.geo-solutions.it/geoserver/wms",
                "visibility": False,
                "title": "Hypsometric",
                "name": "sde:HYP_HR_SR_OB_DR",
                "group": "background",
                "format": "image/png"
            },
            {
                "type": "wms",
                "url": "https://demo.geo-solutions.it/geoserver/wms",
                "visibility": False,
                "title": "Gray Earth",
                "name": "sde:GRAY_HR_SR_OB_DR",
                "group": "background",
                "format": "image/png"
            }
        ]
        
        MAPSTORE_BASELAYERS = DEFAULT_MS2_BACKGROUNDS
        ```
        
        You might also want to update/change the `django-mapstore2-adapter` settings, which override the GeoNode GeoNodeSerializer
        
        Update your `django-mapstore2-adapter` > `settings.py` as follows:
        ```
        settings.ROOT_URLCONF = '{}.urls'.format(PROJECT_NAME)
        
        try:
            settings.TEMPLATES[0]['OPTIONS']['context_processors'] += ['mapstore2_adapter.context_processors.resource_urls',]
        except:
            pass
        
        try:
            settings.LOGGING["loggers"]["mapstore2_adapter"] = {"handlers": ["console"], "level": "INFO", }
        except:
            pass
        
        settings.MAPSTORE2_ADAPTER_SERIALIZER = "mapstore2_adapter.plugins.serializers.GeoNodeSerializer"
        ```
        
        ### For Django
        We added templatetags you can use in your templates
        
        - Add `{% client_viewer_js %}` to include the viewer javasricpt
        - Add `{% client_composer_js %}` to include the composer javasricpt
        
        The following templates are available:
        
        `client_map_view_html` for the full map view
        
        `client_map_detail_view_html` for a smaller map view (as in the map preview)
        
        `client_map_new_html` create a new map with composer
        
        `client_layer_map_html` smaller map view for the layer preview
        
Platform: UNKNOWN
