41
Mapbender3 – Astrid Emde FOSSGIS 2013 Rapperswil        Mapbender3   Workshop Astrid Emde FOSSGIS 2013 Rapperswil

Mapbender3 Workshop FOSSGIS 2013...Symfony2 Strikt objektorientiertes PHPFramework auf Basis von PHP >= 5.3.8 Auf Geschwindigkeit optimiert Eingebauter Klassencache PHPAPC ready (Byte

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Mapbender3 Workshop FOSSGIS 2013...Symfony2 Strikt objektorientiertes PHPFramework auf Basis von PHP >= 5.3.8 Auf Geschwindigkeit optimiert Eingebauter Klassencache PHPAPC ready (Byte

Mapbender3 – Astrid Emde FOSSGIS 2013 Rapperswil

       Mapbender3   Workshop

Astrid Emde

FOSSGIS 2013 Rapperswil

Page 2: Mapbender3 Workshop FOSSGIS 2013...Symfony2 Strikt objektorientiertes PHPFramework auf Basis von PHP >= 5.3.8 Auf Geschwindigkeit optimiert Eingebauter Klassencache PHPAPC ready (Byte

Mapbender3 – Astrid Emde FOSSGIS 2013 Rapperwil 2 / 41

 Mapbender Developer Team

Astrid Emde, Uli Rothstein

Mapbende Developer Team

Mapbender PSC (Project Steering Commitee)

Konzeption, Testen, Dokumentation, Release

WhereGroup Bonn http://wheregroup.com

Page 3: Mapbender3 Workshop FOSSGIS 2013...Symfony2 Strikt objektorientiertes PHPFramework auf Basis von PHP >= 5.3.8 Auf Geschwindigkeit optimiert Eingebauter Klassencache PHPAPC ready (Byte

Mapbender3 – Astrid Emde FOSSGIS 2013 Rapperwil 3 / 41

Mapbender­User Demo

Page 4: Mapbender3 Workshop FOSSGIS 2013...Symfony2 Strikt objektorientiertes PHPFramework auf Basis von PHP >= 5.3.8 Auf Geschwindigkeit optimiert Eingebauter Klassencache PHPAPC ready (Byte

Mapbender3 – Astrid Emde FOSSGIS 2013 Rapperwil 4 / 41

Ziele des Workshops

Mapbender3 kennenlernen

Architektur und Installation

Was bietet die Anwendung?

Dienste laden

Eigene Anwendung erzeugen

Benutzer und Gruppe anlegen

Rechtezuweisung

Designanpassungen

Page 5: Mapbender3 Workshop FOSSGIS 2013...Symfony2 Strikt objektorientiertes PHPFramework auf Basis von PHP >= 5.3.8 Auf Geschwindigkeit optimiert Eingebauter Klassencache PHPAPC ready (Byte

Mapbender3 – Astrid Emde FOSSGIS 2013 Rapperwil 5 / 41

Eigene Anwendung

eigene Farben­ Toolbar­ Icons­ Icon aktiv

Images als Icons

einzelne Buttons individuell

Anpassung der Elemente

Page 6: Mapbender3 Workshop FOSSGIS 2013...Symfony2 Strikt objektorientiertes PHPFramework auf Basis von PHP >= 5.3.8 Auf Geschwindigkeit optimiert Eingebauter Klassencache PHPAPC ready (Byte

Mapbender3 – Astrid Emde FOSSGIS 2013 Rapperwil 6 / 41

Weitere Bundles

Die Komponenten

Symfony2

Mapbender Starter

MapbenderCoreBundle

MapbenderWMSBundle

jQuery

jQuery UI

MapQuery

OpenLayers

FOMBundles

In Symfony2 sind Bundles Plugins.

In Symfony2 sind Bundles Plugins.

Page 7: Mapbender3 Workshop FOSSGIS 2013...Symfony2 Strikt objektorientiertes PHPFramework auf Basis von PHP >= 5.3.8 Auf Geschwindigkeit optimiert Eingebauter Klassencache PHPAPC ready (Byte

Mapbender3 – Astrid Emde FOSSGIS 2013 Rapperwil 7 / 41

Mapbender auf Github

Page 8: Mapbender3 Workshop FOSSGIS 2013...Symfony2 Strikt objektorientiertes PHPFramework auf Basis von PHP >= 5.3.8 Auf Geschwindigkeit optimiert Eingebauter Klassencache PHPAPC ready (Byte

Mapbender3 – Astrid Emde FOSSGIS 2013 Rapperwil 8 / 41

Systemvoraussetzungen

>= PHP 5.3.8  (php5)

PHP CLI interpreter (php5­cli)

PHP SQLite extension (php5­sqlite)

PHP PostgreSQL Erweiterung (php5­pgsql)

PHP cURL extension (php5­curl)

PHP Alternative PHP Cache (php­apc)

PHP Internationalisierungserweiterung(php5­intl)

Page 9: Mapbender3 Workshop FOSSGIS 2013...Symfony2 Strikt objektorientiertes PHPFramework auf Basis von PHP >= 5.3.8 Auf Geschwindigkeit optimiert Eingebauter Klassencache PHPAPC ready (Byte

Mapbender3 – Astrid Emde FOSSGIS 2013 Rapperwil 9 / 41

Symfony2Strikt objektorientiertes PHP­Framework auf Basis von PHP >= 5.3.8 

Auf Geschwindigkeit optimiert

Eingebauter Klassencache

PHP­APC ready (Byte Code Cache)

Bausteinphilosophie

Symfony Components

Doctrine, Twig, Monolog...

Keine JavaScript­Vorgaben

Page 10: Mapbender3 Workshop FOSSGIS 2013...Symfony2 Strikt objektorientiertes PHPFramework auf Basis von PHP >= 5.3.8 Auf Geschwindigkeit optimiert Eingebauter Klassencache PHPAPC ready (Byte

Mapbender3 – Astrid Emde FOSSGIS 2013 Rapperwil 10 / 41

Installation

Dokumentation der Installation

Workshop Installation über install_mapbender3.sh von OSGeo­Live

Dateien liegen unter: /var/www/mapbender3/

Datenbank PostgreSQL mapbender3

Download http://mapbender3.org/builds/

Mapbender3 wird auf OSGeo­Live 7.0 ab 8/2013 zur Verfügung stehen

Page 11: Mapbender3 Workshop FOSSGIS 2013...Symfony2 Strikt objektorientiertes PHPFramework auf Basis von PHP >= 5.3.8 Auf Geschwindigkeit optimiert Eingebauter Klassencache PHPAPC ready (Byte

Mapbender3 – Astrid Emde FOSSGIS 2013 Rapperwil 11 / 41

Aufruf Mapbender3

Developer Modus http://localhost/mapbender3/app_dev.php

Produktiver Modushttp://localhost/mapbender3/app.php

Symfony2 Test der Konfiguration http://localhost/mapbender3/config.php

Page 12: Mapbender3 Workshop FOSSGIS 2013...Symfony2 Strikt objektorientiertes PHPFramework auf Basis von PHP >= 5.3.8 Auf Geschwindigkeit optimiert Eingebauter Klassencache PHPAPC ready (Byte

Mapbender3 – Astrid Emde FOSSGIS 2013 Rapperwil 12 / 41

Symfony2 config.php

Page 13: Mapbender3 Workshop FOSSGIS 2013...Symfony2 Strikt objektorientiertes PHPFramework auf Basis von PHP >= 5.3.8 Auf Geschwindigkeit optimiert Eingebauter Klassencache PHPAPC ready (Byte

Mapbender3 – Astrid Emde FOSSGIS 2013 Rapperwil 13 / 41

Unterstützung durch den Symfony Profiler

  /app_dev.php

Page 14: Mapbender3 Workshop FOSSGIS 2013...Symfony2 Strikt objektorientiertes PHPFramework auf Basis von PHP >= 5.3.8 Auf Geschwindigkeit optimiert Eingebauter Klassencache PHPAPC ready (Byte

Mapbender3 – Astrid Emde FOSSGIS 2013 Rapperwil 14 / 41

Unterstützung durch den Symfony Profiler

Page 15: Mapbender3 Workshop FOSSGIS 2013...Symfony2 Strikt objektorientiertes PHPFramework auf Basis von PHP >= 5.3.8 Auf Geschwindigkeit optimiert Eingebauter Klassencache PHPAPC ready (Byte

Mapbender3 – Astrid Emde FOSSGIS 2013 Rapperwil 15 / 41

Wo liegt was?

ALIAS mapbender3 zeigt auf:/var/www/mapbender3/web/

app_dev.php   mapbender3/web/app_dev.php→

Mapbender: mapbender3/mapbender/src/Mapbender/CoreBundle

Page 16: Mapbender3 Workshop FOSSGIS 2013...Symfony2 Strikt objektorientiertes PHPFramework auf Basis von PHP >= 5.3.8 Auf Geschwindigkeit optimiert Eingebauter Klassencache PHPAPC ready (Byte

Mapbender3 – Astrid Emde FOSSGIS 2013 Rapperwil 16 / 41

Wo liegt was? YAML

Symfony­Konfiguration über YAML­Dateien

Mapbender3­Anwendungskonfiguration über YAML

mapbender3/app/mapbender.yml

Angaben zur Anwendung und Diensten

Mapbender3 Konfiguration über Datenbank z.B. in PostgreSQL

parameters.yml 

Page 17: Mapbender3 Workshop FOSSGIS 2013...Symfony2 Strikt objektorientiertes PHPFramework auf Basis von PHP >= 5.3.8 Auf Geschwindigkeit optimiert Eingebauter Klassencache PHPAPC ready (Byte

Mapbender3 – Astrid Emde FOSSGIS 2013 Rapperwil 17 / 41

Wo liegt was?Mapbender3 Datenbank

PostgreSQL, Sqlite, ORACLE, MySQL, MS SQL

Tabellen für WMS, User, Group, Layer usw.

Symfony nutzt Datenbankabstrationschicht

Page 18: Mapbender3 Workshop FOSSGIS 2013...Symfony2 Strikt objektorientiertes PHPFramework auf Basis von PHP >= 5.3.8 Auf Geschwindigkeit optimiert Eingebauter Klassencache PHPAPC ready (Byte

Mapbender3 – Astrid Emde FOSSGIS 2013 Rapperwil 18 / 41

Templating ­ Wo liegt was?Template    Angabe in der mapbender.yml: →

 Mapbender\CoreBundle\Template\Base

Css­DateienFOM/CoreBundle/Resources/public/css/frontend/

mapbender3_theme.css   Farben, Icons, Fonts→

fullscreen.css   definiert Bereiche (z.B. content)→

Twig Template

Mapbender/CoreBundle/Resources/views/fullscreen.html.twig

Page 19: Mapbender3 Workshop FOSSGIS 2013...Symfony2 Strikt objektorientiertes PHPFramework auf Basis von PHP >= 5.3.8 Auf Geschwindigkeit optimiert Eingebauter Klassencache PHPAPC ready (Byte

Mapbender3 – Astrid Emde FOSSGIS 2013 Rapperwil 19 / 41

Anwendungsübersicht

Übersicht der öffentlichen Anwendung

Aufruf legt Session für anonymen Benutzer an

Anzeige mit Titel, Beschreibung, Übersichtsbild

Start der Anwendung

Page 20: Mapbender3 Workshop FOSSGIS 2013...Symfony2 Strikt objektorientiertes PHPFramework auf Basis von PHP >= 5.3.8 Auf Geschwindigkeit optimiert Eingebauter Klassencache PHPAPC ready (Byte

Mapbender3 – Astrid Emde FOSSGIS 2013 Rapperwil 20 / 41

Administrationsbereich

Anmeldung ist erforderlich über klick auf Login

root­Benutzer wurde bei Installation angelegt

Page 21: Mapbender3 Workshop FOSSGIS 2013...Symfony2 Strikt objektorientiertes PHPFramework auf Basis von PHP >= 5.3.8 Auf Geschwindigkeit optimiert Eingebauter Klassencache PHPAPC ready (Byte

Mapbender3 – Astrid Emde FOSSGIS 2013 Rapperwil 21 / 41

Aufgeräumte Darstellung ­ Anwendungsliste

Page 22: Mapbender3 Workshop FOSSGIS 2013...Symfony2 Strikt objektorientiertes PHPFramework auf Basis von PHP >= 5.3.8 Auf Geschwindigkeit optimiert Eingebauter Klassencache PHPAPC ready (Byte

Mapbender3 – Astrid Emde FOSSGIS 2013 Rapperwil 22 / 41

Aufgeteilte Formulare ­ Anwendungsbearbeitung

Page 23: Mapbender3 Workshop FOSSGIS 2013...Symfony2 Strikt objektorientiertes PHPFramework auf Basis von PHP >= 5.3.8 Auf Geschwindigkeit optimiert Eingebauter Klassencache PHPAPC ready (Byte

Mapbender3 – Astrid Emde FOSSGIS 2013 Rapperwil 23 / 41

Intuitives Rechtekonzept

Page 24: Mapbender3 Workshop FOSSGIS 2013...Symfony2 Strikt objektorientiertes PHPFramework auf Basis von PHP >= 5.3.8 Auf Geschwindigkeit optimiert Eingebauter Klassencache PHPAPC ready (Byte

Mapbender3 – Astrid Emde FOSSGIS 2013 Rapperwil 24 / 41

Erweiterbare Benutzerinformation

Basiseingaben

Benutzer

Passwort

Email

Profilklasse mit erweiterter Information

nach INSPIRE

Page 25: Mapbender3 Workshop FOSSGIS 2013...Symfony2 Strikt objektorientiertes PHPFramework auf Basis von PHP >= 5.3.8 Auf Geschwindigkeit optimiert Eingebauter Klassencache PHPAPC ready (Byte

Mapbender3 – Astrid Emde FOSSGIS 2013 Rapperwil 25 / 41

Page 26: Mapbender3 Workshop FOSSGIS 2013...Symfony2 Strikt objektorientiertes PHPFramework auf Basis von PHP >= 5.3.8 Auf Geschwindigkeit optimiert Eingebauter Klassencache PHPAPC ready (Byte

Mapbender3 – Astrid Emde FOSSGIS 2013 Rapperwil 26 / 41

Page 27: Mapbender3 Workshop FOSSGIS 2013...Symfony2 Strikt objektorientiertes PHPFramework auf Basis von PHP >= 5.3.8 Auf Geschwindigkeit optimiert Eingebauter Klassencache PHPAPC ready (Byte

Mapbender3 – Astrid Emde FOSSGIS 2013 Rapperwil 27 / 41

Hands on

Page 28: Mapbender3 Workshop FOSSGIS 2013...Symfony2 Strikt objektorientiertes PHPFramework auf Basis von PHP >= 5.3.8 Auf Geschwindigkeit optimiert Eingebauter Klassencache PHPAPC ready (Byte

Mapbender3 – Astrid Emde FOSSGIS 2013 Rapperwil 28 / 41

Die Aufgabe

WMS laden

Anwendung erzeugen

Anwendung mit Elementen bestücken

Anwendung mit WMS bestücken

Benutzer anlegen

Anwendung diesem Benutzer zuweisen

Page 29: Mapbender3 Workshop FOSSGIS 2013...Symfony2 Strikt objektorientiertes PHPFramework auf Basis von PHP >= 5.3.8 Auf Geschwindigkeit optimiert Eingebauter Klassencache PHPAPC ready (Byte

Mapbender3 – Astrid Emde FOSSGIS 2013 Rapperwil 29 / 41

Mapbender3 Quickstart

http://doc.mapbender3.org/en/book/quickstart.html

Elementdokumentation

http://doc.mapbender3.org/en/bundles/Mapbender/CoreBundle/index.html

Page 30: Mapbender3 Workshop FOSSGIS 2013...Symfony2 Strikt objektorientiertes PHPFramework auf Basis von PHP >= 5.3.8 Auf Geschwindigkeit optimiert Eingebauter Klassencache PHPAPC ready (Byte

Mapbender3 – Astrid Emde FOSSGIS 2013 Rapperwil 30 / 41

WMS laden

WMS laden

http://osm­demo.wheregroup.com/service?REQUEST=GetCapabilities&Service=WMS&Version=1.1.1

http://geolion.zh.ch/geodatenservice/index4internet

Page 31: Mapbender3 Workshop FOSSGIS 2013...Symfony2 Strikt objektorientiertes PHPFramework auf Basis von PHP >= 5.3.8 Auf Geschwindigkeit optimiert Eingebauter Klassencache PHPAPC ready (Byte

Mapbender3 – Astrid Emde FOSSGIS 2013 Rapperwil 31 / 41

Anwendung erzeugen

Anwendung mit Namen FOSSGIS erzeugen

Map­Element in content einfügen

EXTENT Rapperswil ● 8.8 47.22● 8.9 47.24

Page 32: Mapbender3 Workshop FOSSGIS 2013...Symfony2 Strikt objektorientiertes PHPFramework auf Basis von PHP >= 5.3.8 Auf Geschwindigkeit optimiert Eingebauter Klassencache PHPAPC ready (Byte

Mapbender3 – Astrid Emde FOSSGIS 2013 Rapperwil 32 / 41

WMS zu Anwendung hinzufügen

Layerset für Map und ggf. Overview anlegen

Geladenen WMS in Layerset einfügen

Ggf. Layer konfigurieren

Page 33: Mapbender3 Workshop FOSSGIS 2013...Symfony2 Strikt objektorientiertes PHPFramework auf Basis von PHP >= 5.3.8 Auf Geschwindigkeit optimiert Eingebauter Klassencache PHPAPC ready (Byte

Mapbender3 – Astrid Emde FOSSGIS 2013 Rapperwil 33 / 41

Anwendung mit Elementen bestücken

Infos zu den Elementen gibt es unter

http://doc.mapbender3.org/en/bundles/Mapbender/CoreBundle/

Legende, Overview, Measure usw.

Achtung: Elemente brauchen oft einen Button, um sie zu aktivieren

Page 34: Mapbender3 Workshop FOSSGIS 2013...Symfony2 Strikt objektorientiertes PHPFramework auf Basis von PHP >= 5.3.8 Auf Geschwindigkeit optimiert Eingebauter Klassencache PHPAPC ready (Byte

Mapbender3 – Astrid Emde FOSSGIS 2013 Rapperwil 34 / 41

Benutzer anlegen

Benutzer fossgis anlegen

Page 35: Mapbender3 Workshop FOSSGIS 2013...Symfony2 Strikt objektorientiertes PHPFramework auf Basis von PHP >= 5.3.8 Auf Geschwindigkeit optimiert Eingebauter Klassencache PHPAPC ready (Byte

Mapbender3 – Astrid Emde FOSSGIS 2013 Rapperwil 35 / 41

Anwendung User zuweisen

Über Application    Stift    Application Security→ →

+    User auswählen   Recht view zuweisen→ →

Test der Freigabe über Anmeldung als Benutzer fossgis

Page 36: Mapbender3 Workshop FOSSGIS 2013...Symfony2 Strikt objektorientiertes PHPFramework auf Basis von PHP >= 5.3.8 Auf Geschwindigkeit optimiert Eingebauter Klassencache PHPAPC ready (Byte

Mapbender3 – Astrid Emde FOSSGIS 2013 Rapperwil 36 / 41

Styling

bright_flat_theme.css einbinden statt fullscreen.css

application/fom/src/FOM/CoreBundle/Resources/public/css/frontend/bright_flat_theme.css

TWIG: mapbender/src/Mapbender/CoreBundle/Resources/views/Template/fullscreen.html.twig

 → Angabe statt mapbender3_theme.css (Zeile 7)

Page 37: Mapbender3 Workshop FOSSGIS 2013...Symfony2 Strikt objektorientiertes PHPFramework auf Basis von PHP >= 5.3.8 Auf Geschwindigkeit optimiert Eingebauter Klassencache PHPAPC ready (Byte

Mapbender3 – Astrid Emde FOSSGIS 2013 Rapperwil 37 / 41

Page 38: Mapbender3 Workshop FOSSGIS 2013...Symfony2 Strikt objektorientiertes PHPFramework auf Basis von PHP >= 5.3.8 Auf Geschwindigkeit optimiert Eingebauter Klassencache PHPAPC ready (Byte

Mapbender3 – Astrid Emde FOSSGIS 2013 Rapperwil 38 / 41

Testen Sie Mapbender3

http://mapbender3.org/demo/

Mapbender3 Demo

Page 39: Mapbender3 Workshop FOSSGIS 2013...Symfony2 Strikt objektorientiertes PHPFramework auf Basis von PHP >= 5.3.8 Auf Geschwindigkeit optimiert Eingebauter Klassencache PHPAPC ready (Byte

Mapbender3 – Astrid Emde FOSSGIS 2013 Rapperwil 39 / 41

Installation

Installieren Sie Mapbender3 über das Download­Paket

http://mapbender3.org/en/download

Oder über Git­Repositories

https://github.com/mapbender/mapbender­starter

Dokumentation zur Installation

http://doc.mapbender3.org

Page 40: Mapbender3 Workshop FOSSGIS 2013...Symfony2 Strikt objektorientiertes PHPFramework auf Basis von PHP >= 5.3.8 Auf Geschwindigkeit optimiert Eingebauter Klassencache PHPAPC ready (Byte

Mapbender3 – Astrid Emde FOSSGIS 2013 Rapperwil 40 / 41

Wo finden Sie uns?

http://mapbender.org

http://mapbender3.org

Mapbender3 Code http://github.com/mapbender

Roadmap http://mapbender3.org/de/roadmap

Milestones / Bugtracker https://github.com/mapbender/mapbender/issues

http://osgeo.org/mapbender

Page 41: Mapbender3 Workshop FOSSGIS 2013...Symfony2 Strikt objektorientiertes PHPFramework auf Basis von PHP >= 5.3.8 Auf Geschwindigkeit optimiert Eingebauter Klassencache PHPAPC ready (Byte

Mapbender3 – Astrid Emde FOSSGIS 2013 Rapperwil 41 / 41

Vielen Dank für ihre Aufmerksamkeit

Mit freundlicher Unterstützung der Creative Commons Share Alike License 3.0

Copyright © 2013: Astrid Emde

Astrid Emde ([email protected])

oder

mapbender­[email protected]