\title{A Short Introduction to Mapbender}
\subtitle{``\ldots bend the maps to suit your needs''}
\author{by Astrid Emde and Marc Jansen}

\maketitle

\section{Introduction}
\label{sec:MBintro}

This article gives an overview of the scope, character and functionality of the web mapping client software Mapbender.\footnote{See the Developer Announcements section on page~\pageref{ch:developer_announcements} for more information about Mapbender} A brief introduction to the functional scope of Mapbender is followed by the history of the project. Then the main functionality is described from both the management and orchestration as well as the visualization and presentation perspective of web mapping and feature services. The final section summarizes future development in a roadmap for the next year. Two productive environments are briefly presented and links to more examples give an overview of what Mapbender is being used for.

\hspace{.5cm}


\begin{figure}[tbp]
   \centering
   \includegraphics[width=6.8cm]{project_spotlight/emde/MBlogo}
%   \caption{The logo of the Mapbender Geoportal Framework software.  The logo is available online at: \url{http://www.mapbender.org/images/2/21/Mapbender_Geoportal_Framework.png}} % moved logo reference to references section
   \label{fig:MBlogo}
\end{figure}

\section{What is Mapbender?}
\label{sec:MBwhat}

The Mapbender Client Suite is a framework to manage, orchestrate and display web services for spatial data supporting the OGC standardized WMS and WFS interfaces. Mapbender is not a map server software like the University of Minnesota MapServer\footnote{University of Minnesota MapServer: \url{http://mapserver.gis.umn.edu/}} but is used to display, overlay and modify OGC maps rendered by MapServer and any other OGC compatible server software.

In Mapbender, maps from various sources are stacked on top of each other and can then be distributed throughout the world via the Internet. As the OSGeo site states, \emph{Mapbender is the tip of the iceberg, a meta layer of software providing access to the Open Source Geospatial SDI (Spatial Data Infrastructure) stack.}\footnote{From \url{http://www.osgeo.org/mapbender}}

The software provides interfaces for displaying, navigating and querying OGC OWS services, e.g. WMS (Web Map Service), WFS (Web Feature Service), WFS-T (transactional WFS) and WMC (Web Map Context). The Mapbender framework additionally provides interfaces for user and group administration. Management functionality for access to maps rendered and data served by OGC Open Web Services is included as well. The Mapbender database model has been designed to implement multi-client capabilities with respect to users, groups, interfaces and services. The following three basic components make up Mapbender:

\begin{enumerate}
	\item Users and Groups
	\item User Interfaces (graphic user interface, GUI)
	\item Map Services (OGC Open Web Services)
\end{enumerate}
 
\noindent Currently the main focus of development has shifted to WFS-T functionality, catalog and gazetteer services.

\section{Short history of Mapbender}
\label{sec:MBhistory}

At the end of the last millennium the Germany-based company CCGIS created the first PHP-based web map interface to display OGC web map services (then only available as a WMT discussion paper). This software developed into a product and eventually became the basis of the current Mapbender. In November 2001 the first version of the `CCGIS Client Suite' was published implementing the first OGC WMS standard.

In 2002 the first larger installation of this proprietary software package was set up as a productive environment serving 400 users. The year 2003 saw several important changes in the project:
\begin{itemize}
  \item The suite was completely redesigned with two goals in mind: 
    \begin{enumerate}
      \item Reduce the complexity of the relationship of services, interfaces, interface elements and user management. 
      \item Provide administration interfaces and a data model allowing users to manage every aspect of the software via web interfaces. The administration interfaces are managed recursively by themselves vastly reducing the complexity of the software.
    \end{enumerate}
  \item Users, developers and licensees of the suite were asked for their opinion on a major change of philosophy, as CCGIS planned to change to a Free Software license.
  \item Licensees were happy to see this happen and so the software was released under the Free Software license GNU GPL.
  \item The new name of the project was announced: The `CCGIS Client Suite' was henceforth to be called `Mapbender'.
\end{itemize}

In October 2003 more than 500 downloads were counted within days of the last release update. Users were accepting the new license and starting to adopt the new open development philosophy. One year later, in 2004, the software was being used productively in five public administrations (counties and cities) that are part of the Spatial Data Infrastructures of North Rhine-Westphalia.\footnote{Spatial Data Infrastructures of North Rhine-Westphalia: \url{http://www.gdi-nrw.org}} 

In 2004, an official demo server was put into operation hosted on CCGIS hardware. It is currently in transition to a new server\footnote{New Mapbender demo server: \url{http://mapbender.telascience.org}} which will then be the only official server. Additionally, in 2004, the website was merged with the documentation into a Wiki as common technical platform. Later this Wiki was copied to MediaWiki software which provided more functionality and badly needed user rights management to overcome spam issues.

April 2005 saw the first user conference which took place in Bonn, Germany and attracted 85 attendees from Germany, Austria, Switzerland and the Netherlands. It was also the last exclusive Mapbender user meeting, since then it has been combined with existing conferences like FOSSGIS\footnote{FOSSGIS: \url{http://www.fossgis.de}} or FOSS4G 2006.\footnote{FOSS4G 2006: \url{http://www.foss4g2006.org}}

Early in 2006, Mapbender became one of the eight initial projects of the Open Source Geospatial Foundation (OSGeo). In the following 6 months Mapbender went through the incubation process of the OSGeo under scrutiny of the Incubation Committee and the help of project mentor Paul Spencer. During incubation several license issues were resolved, the code was cleaned, copyright ambiguities resolved, source code was moved from SourceForge CVS to CollabNet SVN as well as mailing lists and parts of the infrastructure. On July 19th 2006 Mapbender was the first project to officially graduate from incubation.

Yet another infrastructure move was due at the end of 2006 when the project infrastructure moved to OSGeo's own hardware and a more free and open infrastructure. Finally (almost) all components of the development environment and communication infrastructure are managed under one roof, the only component still running on a separate server being the Wiki.

The current stable version of the software is 2.4.1, which was released on March 12th 2007.

\setkeys{Gin}{width=1\textwidth}
% Moved image up to take advantage of some whitespace
\begin{figure}[tbp]%
   \centering
   \includegraphics[scale=1]{project_spotlight/emde/MBapplication} %8.16 is max
   \caption{A demo application of Mapbender. Notice the toolbar (top), Menus (left, visible: PDF-options) and the email-dialog to send a link of the current extent (upper right corner). Image copyright: Kober-K�mmerly+Frey Media AG, Cologne, Germany. Used by permission.}
   \label{fig:MBdemo}
\end{figure}%

\section{Functionality}

Mapbender provides functionality to manage and display spatial data rendered and served by OGC standardized software. Find examples for different scenarios in the Mapbender Gallery\footnote{Mapbender Gallery: \url{http://www.mapbender.org/index.php/Gallery}} or go to the official online demo application.\footnote{Online demo application: \url{http://www.mapbender.org/index.php/Demo}} The standard interface demo and a full fledged geoportal are currently in transition to OSGeo servers hosted by Telascience.\footnote{New Mapbender demo server: \url{http://mapbender.telascience.org}}\\



\subsection{Manage Web Mapping Services}

Mapbender is used to orchestrate OGC services and formats. The software provides administration interfaces to upload and cache web service capabilities documents for WMS, WFS and transactional WFS. Once the configuration description is uploaded it can be combined with map overlays and features from other services and displayed through map interfaces. 

%
\begin{figure}[tbp]%
   \centering
   \includegraphics[scale=1]{project_spotlight/emde/MB_BICC_Screen}
   \caption{A DIN\,A4 landscape PDF that was generated on-the-fly by Mapbender. It shows actual German exports of weapons (hatching) and the ``EU Code of Conduct for Human Rights'' (colored) for parts of South-America and Africa. See \url{http://www.ruestungsexport.info}.}
   \label{fig:MBBICC}
\end{figure}%

As many web services lack metadata information Mapbender has been extended with an editor that allows users to broaden existing information and map the service and each layer to categories as specified in Dublin Core.\footnote{Dublin Core \url{http://dublincore.org/}} This enhanced information can be queried and searched with the metadata search module and can be displayed by following a link that is attached to the TreeGDE (Geo Data Explorer). The TreeGDE is a directory structure used to manage layers and services in the display interface.\\



\subsection{Manage Users, Groups and Services}

A comprehensive fully client capable user management allows to select and configure interfaces with WMS and WFS collections for users and groups. The Mapbender OWS Proxy module can be activated to be used as a facade in front of services. Ticketing has been implemented using Apache redirect functionality providing for an interface that is at the same time OGC compliant but also allows for restricted access. This can also be used to implement protocol encryption which in some cases may require the use of a client side proxy facade as implemented in the InteProxy software (\url{http://inteproxy.wald.intevation.org/}). All requests are then routed through the user management module and permission can be denied for requests that query services which the user is not allowed to access. 


\begin{figure}[tbp]
   \centering
   \includegraphics[scale=1.3]{project_spotlight/emde/MB_RP}
   \caption{The Geoportal of Rhineland Palatinate (\url{http://www.geoportal.rlp.de/}) gives access to more than 70 WMS map services with several hundred layers operated by the public administration, non-government institutions and private enterprises. It enables service operators to upload and manage their own services, edit corresponding meta data and allow users and groups to access them.}
   \label{fig:MBRP}
\end{figure}

\subsection{Visualize, Navigate and Query Services}

Besides the standard functionality like pan, zoom, query it is possible to digitize (create, edit, delete) geometries (features) and store them using WFS-T interfaces. WFS is also used to search, find and navigate to features (street address, land parcel, moving vehicle with GPS online coordinate transfer) and can perform operations. 

OGC Web Map Context (WMC) documents can be created, stored and retrieved to return to a defined state of the web interface.

All functionality in Mapbender is implemented as modules that can be combined into user interfaces with the web based administration.

A full alphabetical list of implemented GIS functionality can be found online.\footnote{GIS functionality list: \url{http://www.mapbender.org/index.php/Category:Modules}}\\


\section{Future development}
\label{sec:MBfuture}

Mapbender is dynamically extended and improved through input from the community. Future releases will contain additional functionality and solve bugs and issues:

\begin{itemize}
  \item Enhanced logging of user activity,
  \item Print module with more user friendly configuration,
  \item Print (and PDF) output to support temporary created geographic overlay objects,
  \item Include catalog services interface extension to connect with GeoNetwork opensource,
  \item Enhanced tree folder editing,
  \item Online routing geometry,
  \item Modularized multilevel gazetteer services,
  \item Many more things that we don't even dream about yet.
\end{itemize}

Further down the road, an integrated SLD (Styled Layer Descriptor) editor is needed to help customize cartographic output. 

All input by users is highly appreciated, subscribe to the mailing lists\footnote{Mapbender mailing lists: \url{http://www.mapbender.org/index.php/Mapbender_Mailing_Lists}} and share your ideas and thoughts.

\section{References and weblinks}
\label{sec:MBweblinks}

\begin{itemize}
  \item Project Wiki and Homepage (primary source of information used in this article): \url{http://www.mapbender.org/index.php/Main_Page}
  \item Documentation, first steps and general help on various topics: \url{http://www.mapbender.org/index.php/User_Documentation}
  \item Project page located on the Open Source Geospatial Foundation's website: \url{http://www.osgeo.org/mapbender}
  \item Screenshots, links \& examples of various Mapbender installations: \url{http://www.mapbender.org/index.php/Mapbender_Gallery}
  \item Online demo server: \url{http://www.mapbender.org/index.php/Demo}
  \item Mailinglists, SVN code repository and Internet Relay Chat (IRC): \url{http://www.mapbender.org/index.php/Mapbender_Mailing_Lists}
  \item The logo is available online at: \url{http://www.mapbender.org/images/2/21/Mapbender_Geoportal_Framework.png}
\end{itemize}

\address{Astrid Emde\\
  WhereGroup GmbH \& Co.KG\\
  \url{http://www.wheregroup.com/}\\
  \email{astrid.emde AT wheregroup.com}}

\address{Marc Jansen\\
  terrestris GbR\\
  \url{http://www.terrestris.de/}\\
   \email{jansen AT terrestris.de}}

%%% Local Variables: 
%%% mode: latex
%%% TeX-master: main_document.tex
%%% End: 

