FOSS4G Workshop

From MapbenderWiki

Jump to: navigation, search

Contents

Introduction

Mapbender is a full fledged OGC WMS and WFS-T client suite. It implements authentication and allows to authorize users on individual, group or role perspectives. It can be used with a security module and is multi client capable (user, group, operator, portal).

The workshop shows where to start, what can be done and how it is done. A (very) short introdcution to OGC WMS and WFS is followed by a step by step introduction showing how to create a new user interface add map and feature services and manage SDI (spatial data infrastructure).

The second part focuses on more specialized tools of the Mapbender package including setting up the security proxy and using the WFS-T edit module for collaborative editing of geometries.

The workshop will give a comprehensive insight on how an SDI is operated from the client side perspective. Mapbender is the front end that uses all the great Open Source components starting with the operating system, PostgreSQL database, PostGIS extension, GDAL/OGR in MapServer, GeoTools in GeoServer, PHP and Apache. The spatial glue is applied by Mapbender to bind the OGC specifications user interfaces and user profiles into a comprehensive web mapping front end.

During the workshop we will get to know how the Mapbender User Community ticks and review the progress and status of the Mapbender project within the Open Source Geospatial Foundation and have a side glance at our sister projects.

Project Description

Mapbender has been implemented over the past 5 years. 2 years ago it has been re-implemented and the version was changed to 2.0. Communication is managed via Mailing Lists and IRC and this Wiki. The Wiki is run by named users who are contributors to the project. So the Wiki has two levels, read-only access and with write access. Folk with write-access permission are contributors.

Code is managed via SVN Code Repository curently run within the OSGeo CollabNet infrastructure.

Contributors come from several organisations and volunteers, most are native German speakers, so some of the communication naturally is also in German language.

Bugs are managed in a bug tracking system at sourceforge.net.

Technical Overview

Mapbender is implemented in PHP, JavaScript, HTML and SQL. The data model can be managed in a PostgreSQL or MySQL database.

Core Components

The core components of Mapbender are the Users, user interfaces (GUIs) and Map Services. Users can access map services only through user interfaces. This allows to organize and orchestrate services to suite the needs of the user. This allows opens up the possibility to grant access to restricted services. In that case the user interface does not link the corresponding map service directly but an additional component acts as facade allowing for individual access permissions.

User

All access to user interfaces requires prior authentication. Default authentication uses a name and a password. The password is md5 encrypted and compared to the corrresponding string in the database. All Users are stored in the Mapbender database together with some metadata, an email address can be added to request for a new password if the old one is lost or has expired.

GUI

Graphical user interfaces make up the human machine interface of Mapbender. GUI are use to display, navigate, query and edit maps. All map and feature services (OGC WMS, WFS and transactional WFS) are linked into the GUI by uploading the corresponding servers' capabilities into the Mapbender database. From there the Online Resource URL are included into the map interfaces. Access to the services is then triggered by the user with JavaScript functions. This means that all maps are acquired directly by the clients browser, there is no additional server interaction. This reduces traffic a lot and enhances responsiveness of the map services as they are not cascaded through other services which slows things down considerably.

All access to Mapbender functionality, map frames and administration front ends are implemented as web GUI (Graphic User Interfaces). Users permissions are granted on the basis of what permissions are implemented in the corresponding GUI. To give users administrator's permissions the users are simply added to the corresponding list of users. Depending on the functionality contained within that GUI users can create or modify GUI, add and remove users, add, maintain and remove map services, etc. Users with permissions to access a certain GUI automatically thus also gain access to the contained services and roles,

Map Services

All standardized OGC WMS services can be used as datasource for Mapbender interfaces. These services...


Getting Started

Create your own account on the Development Server.

Please use a prefix "foss4g_" for your username. Then log into the development server.

After login you will see a list of several GUIs:

  • admin2_de: administration GUI in german
  • admin2_en: administration GUI in english
  • gui, gui1, gui2, gui_digitize: some examples for GUIs
  • <yourName>_gui: your own copy of the example-GUI
  • wms_<continent>: container for different WMS

User Management

First use the administration GUI (admin2_en) to create a new users, groups etc.

  • With the module "Create and edit user" you will be able to create, delete and modify users.
  • After this you can create, delete and modify groups using the module "Create and edit group".
  • To add users to groups use the modules "Add one user to serveral groups" and "Add several users to one group"

GUI Management

In the block "Authorization" you will find some modules to give your users and groups the permission to access your GUIs. With the module "Edit GUI assign to user/ group" you can handle the ownership of your GUIs, so other users of the whole portal could use your GUIs in the same way as you can.

Service Management

The next step will be to integrate services into a GUI.

Edit GUI

The next step is to modify GUIs. That means you can modify the design of a GUI and add/remove modules (functionality).

  • In the block "GUI management" you will find the administration-module "Edit GUI elements". Switch to this module. You will see a list of GUIs which are your 'own' GUIs.
  • Select one of this GUIs.
  • integrate your own logo in your GUI (for example http://www.foss4g.ch/conferenceDisplay.py/getLogo?confId=1)
  • disabel and remove a module
  • add a module from another GUI

Security

  • OWS Proxy

Tweak Capabilities Documents

  • Save the Capabilities Cocument locally
  • Edit the Capabilities (correct errors)
  • Load the local copy of the Capabilities to the Mapbender database

Further Functionality

Search WFS

Use OGC WFS servers to search for locations. The returned GML is transformed into array of vertices tied with JavaScript functions to center and highlight rendered by the client.

Save Context

OGC Web Context Documents are a collection of combined and "alive" Capabilites documents used to store current status of a map application. It can be used to restore the stae of the web application at a later date or to send it to another application ot use that applications highlights.

Auto Save Context

Use the context to connect to stateless sessions sessions. Every time the application is unloaded the last status (context) is autmatically stored and restored with the next login.

Highlight On-Mouse-Over

Digitizing

Step n

Start the Test Digitizing interface.

Further information: Installation

If you want to install your own mapbender:

Personal tools