Mapbender Workshop FOSS4G 2010 Barcelona
Total Page:16
File Type:pdf, Size:1020Kb
Mapbender 3 - where are we going? Astrid Emde FOSS4G Denver 2011 Astrid Emde Mapbender Developer Team since 2004 PSC (Project Steering Commitee) Works at WhereGroup, Bonn Project management and a bit of development Trainings for MapServer, PostgreSQL/PostGIS, Mapbender, GeoServer Works with the OSGeo stack for many years Active member in FOSSGIS e.V. and OSGeo Mapbender 3 – where are we going? – FOSS4G 2011 Denver Astrid Emde 2 / 49 WhereGroup Major Mapbender sponsor Company in Bonn, Germany Founded in january 2007 as merger of CCGIS, KARTA.GO GmbH and Geo-Consortium 17 employees Mapbender 3 – where are we going? – FOSS4G 2011 Denver Astrid Emde 3 / 49 WhereGroup Service provider with experience in all field of spatial data management with free software: WebGIS, SDI, database , relevant standards, trainings, conferences Founding member of the FOSS Academy Open Source projects: Mapbender, PostNAS Mapbender 3 – where are we going? – FOSS4G 2011 Denver Astrid Emde 4 / 49 Mapbender ± where are we going? The concept of Mapbender Evaluation for Mapbender3 What we chose The components Getting started Demo Mapbender 3 – where are we going? – FOSS4G 2011 Denver Astrid Emde 5 / 49 What does Mapbender do? Create geospatial web applications without writing a single line of code Create and maintain an OWS repository (focus on WMS, WFS) Distribute configured services among applications Grant users and groups access to applications and services → This is what Mapbender 2.x (2.7.2 actual version) stands for Mapbender 3 – where are we going? – FOSS4G 2011 Denver Astrid Emde 6 / 49 The Mapbender components Applications OGC Web Services User and groups Mapbender 3 – where are we going? – FOSS4G 2011 Denver Astrid Emde 7 / 49 What does Mapbender do? This is a typical Mapbender application (Mapbender 2.7.2): Mapbender 3 – where are we going? – FOSS4G 2011 Denver Astrid Emde 8 / 49 What does Mapbender do? How is it created? By another Mapbender application! Mapbender 3 – where are we going? – FOSS4G 2011 Denver Astrid Emde 9 / 49 What does Mapbender do? The concept is easy: Mapbender is written in Mapbender! Mapbender 3 – where are we going? – FOSS4G 2011 Denver Astrid Emde 10 / 49 A History of Web Mapping MapQuery Mapbender3 2011 2009 Geomajas from C.Baudson and A. Christl 2010, modified Mapbender 3 – where are we going? – FOSS4G 2011 Denver Astrid Emde 11 / 49 Mapbender History Mapbender 3 – where are we going? – FOSS4G 2011 Denver Astrid Emde 12 / 49 Mapbender History 1999: experimental Perl client for OGC WMT 1.0 2001: re-implementation in PHP, operational users 2003: Adoption of Open Source license and development 2006: OSGeo foundation project, Incubation passed. 2007: Introducing jQuery-library to Mapbender 2008: Modularization, first steps using OpenLayers 2010: Version 2.7 with new features 2011: Version 3.0 re-engineering Mapbender 3 – where are we going? – FOSS4G 2011 Denver Astrid Emde 13 / 49 Project Organisation Mapbender Project Page http://www.mapbender.org Mapbender 3 http://mapbender3.org Mapbender3 on github http://github.com/mapbender/ Trac http://trac.osgeo.org/mapbender/report SVN https://svn.osgeo.org/mapbender/ Mailing lists / IRC [email protected] [email protected] irc://irc.freenode.net#mapbender Mapbender 3 – where are we going? – FOSS4G 2011 Denver Astrid Emde 14 / 49 Mapbender3 Evaluation Mapbender 3 – where are we going? – FOSS4G 2011 Denver Astrid Emde 15 / 49 Mapbender3 Evaluation Do not implement everything by yourself Use existing software Use OpenLayers instead of reinventing the wheel Use a framework serverside framework clientside framework Mapbender 3 – where are we going? – FOSS4G 2011 Denver Astrid Emde 16 / 49 Mapbender3 ± what we chose Mapbender 3 – where are we going? – FOSS4G 2011 Denver Astrid Emde 17 / 49 The Components Mapbender3 Client JavaScript Server PHP Mapbender 3 – where are we going? – FOSS4G 2011 Denver Astrid Emde 18 / 49 The Components In Symfony2, bundles are plugins. jQuery UI OpenLayers jQuery MapQuery Mapbender Mapbender More bundles CoreBundle WMSBundle Mapbender Starter Symfony2 Mapbender 3 – where are we going? – FOSS4G 2011 Denver Astrid Emde 19 / 49 Symfony2 Successor of Symfony 1, full OO PHP framework Fresh from the press, released stable as of 07/28/2011 Building blocks for all modern web application needs Database abstraction User authentication, authorization Templating i18n and much more fun! Mapbender 3 – where are we going? – FOSS4G 2011 Denver Astrid Emde 20 / 49 MapQuery MapQuery wants to bring the jQuery way of doing things to web mapping. Mission: Implement a jQuery interface to OpenLayers, provide a rich set of UI widgets. Mapbender 3 – where are we going? – FOSS4G 2011 Denver Astrid Emde 21 / 49 MapQuery MapQuery Version 0.1 was released in 2011 Implements a jQuery interface to OpenLayers provides a set of mapping related widgets We use MapQuery to interact with OpenLayers (map, layer) Mapbender 3 – where are we going? – FOSS4G 2011 Denver Astrid Emde 22 / 49 Mapbender Collection of Symfony bundles CoreBundle (mandatory) Extension Bundles (optional, as required) WMSBundle WMTSBundle WMCBundle More to come Mapbender 3 – where are we going? – FOSS4G 2011 Denver Astrid Emde 23 / 49 Mapbender CoreBundle The base bundle for Mapbender Offers base classes for applications, elements, layers. Provides jQuery, jQuery UI, OpenLayers and MapQuery for all other Mapbender bundles. Mapbender 3 – where are we going? – FOSS4G 2011 Denver Astrid Emde 24 / 49 Mapbender Starter A Symfony2 demo project which uses the Mapbender bundles to showcase a Mapbender3 application. Contains demo applications with WMS, WMTS and authentication Can be used as boiler template to start Mapbender3 projects Mapbender 3 – where are we going? – FOSS4G 2011 Denver Astrid Emde 25 / 49 Requirements PHP 5.3.2 or newer - essential to run Symfony2 PHP CLI for running console commands for Symfony2 like database management Using Doctrine ± Symfony©s database abstraction layer (DBAL) ± we aim to provide usability with more than just PostgreSQL https://github.com/mapbender/mapbender-starter/blob/master/README.rst Mapbender 3 – where are we going? – FOSS4G 2011 Denver Astrid Emde 26 / 49 Getting started Get the code (download zip) http://mapbender.org/download/mapbender_3.0b.zip Try the demo http://mapbender3.org/index.php/Demo Mapbender 3 – where are we going? – FOSS4G 2011 Denver Astrid Emde 27 / 49 Installation Install with the bootstrap or step by step Installation with the bootstrap curl https://raw.github.com/mapbender/mapbender- starter/master/bin/bootstrap.sh -o - | sh Read more about the installation http://mapbender3.org/index.php/Handbook Mapbender 3 – where are we going? – FOSS4G 2011 Denver Astrid Emde 28 / 49 Step by Step Installation git clone https://github.com/mapbender/mapbender-starter.git mapbender-starter cd mapbender-starter git submodule update --init --recursive cd application app/console doctrine:database:create app/console doctrine:schema:create app/console assets:install --symlink web Mapbender 3 – where are we going? – FOSS4G 2011 Denver Astrid Emde 29 / 49 Mapbender3 ± the Application Mapbender 3 – where are we going? – FOSS4G 2011 Denver Astrid Emde 30 / 49 Start the Welcome Page Mapbender 3 – where are we going? – FOSS4G 2011 Denver Astrid Emde 31 / 49 Application with Authentication Mapbender 3 – where are we going? – FOSS4G 2011 Denver Astrid Emde 32 / 49 Simple Application with WMS Mapbender 3 – where are we going? – FOSS4G 2011 Denver Astrid Emde 33 / 49 Calculate Area Mapbender 3 – where are we going? – FOSS4G 2011 Denver Astrid Emde 34 / 49 Measure Mapbender 3 – where are we going? – FOSS4G 2011 Denver Astrid Emde 35 / 49 Get the Map-Box Mapbender 3 – where are we going? – FOSS4G 2011 Denver Astrid Emde 36 / 49 Handle the Map-Box Results Mapbender 3 – where are we going? – FOSS4G 2011 Denver Astrid Emde 37 / 49 Service Repository Mapbender 3 – where are we going? – FOSS4G 2011 Denver Astrid Emde 38 / 49 Add a WMS to your Repository Mapbender 3 – where are we going? – FOSS4G 2011 Denver Astrid Emde 39 / 49 WMS Metadata and Layer Information Mapbender 3 – where are we going? – FOSS4G 2011 Denver Astrid Emde 40 / 49 Mapbender3 ± write your first demo Mapbender 3 – where are we going? – FOSS4G 2011 Denver Astrid Emde 41 / 49 Mapbender-core / Mapbender-starter Generate an element using the generator One-line generation of ready-to-use elements Different types for different needs We offer map-click and map-box Mapbender 3 – where are we going? – FOSS4G 2011 Denver Astrid Emde 42 / 49 Generate your own element app/console mapbender:generate:element --type=map-click 'Acme\DemoBundle' MyElement src Summary of actions - Your element AcmeDemoBundle\Element\MyElement has been created. - The following files have been created: - PHP class (src/Acme/DemoBundle/Element/MyElement.php) - jQuery widget (src/Acme/DemoBundle/Resources/public/mapbender.element.myelement.js) Follow up actions Read about adapting your bare-bone element at http://mapbender.org/3/cookbook/element-from-skeleton Mapbender 3 – where are we going? – FOSS4G 2011 Denver Astrid Emde 43 / 49 Generate your own element Modify the functions and add your code Add the element to the mapbender.yml to add it to the application Mapbender 3 – where are we going? – FOSS4G 2011 Denver Astrid Emde 44 / 49 Getting Help from Symfony Profiler /app_dev.php Mapbender 3 – where are we going? – FOSS4G 2011 Denver Astrid Emde 45 / 49 Symfony Profiler Mapbender 3 – where are we going? – FOSS4G 2011 Denver Astrid Emde 46 / 49 Future