FOSS4G Workshop
From MapbenderWiki
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.
- Upload WMS. Switch to the Module " Load Capabilities" of the block "WMS management" to load sevices in the mapbender framework. If you don't know a URL to a capabilities document use for example: http://wms1.ccgis.de/cgi-bin/mapserv?map=/data/umn/mapbender_user/mapbender_user.map&&VERSION=1.1.1&REQUEST=GetCapabilities&SERVICE=WMS
- Add WMS: Choose an existing WMS with a special configuration for integration with the module "Link WMS into a GUI"
- Configure WMS: Change the settings of a sevice and his layers with the module "WMS GUI settings"
- Update WMS
- Delete WMS
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:

