Directory structure in Mapbender3

app

This directory contains:

  • the php-Cache (app/cache)
  • the logs (app/logs)
  • the configurations (app/config)
  • the applicationkernel (app/AppKernel.php) (this is called by the FrontendControllers and controlls the whole application)
  • the Autoloading (autoload.php)
  • the application specific resource directory (Resources)
  • the command line application for maintaining and management tasks (app/console)

app/config

Basic configuration files of Mapbender are placed in the app/config directory. Two files are of particular importance:

  • parameters.yml: The most basic parameters of Mapbender are defined here. For example the database of the MB3-repository and the databases on which some elements rely on (like Search or Digitizer).

    The default language of the interface has to be defined here as cookie- and proxy-settings.

  • config.yml: This file contains basic configuration of the arhcitecture. Also you’ll find many parameters defined as wildcards for the parameters.yml

    Important: Each database that is defined in the parameters.yml has to be defined as a wildcard in config.yml.

    Furthermore the file defines which configuration has to be loaded for the productive and development mode.

app/config/applications

The directory app/config/applications contains all applications that are defined in a YAML file. The known example-applications “Mapbender mobile”, “Mapbender Demo Map” and “Mapbender Demo Map basic” are now placed there as single files. Since version 3.0.6 they replace the former single file mapbender.yml. Additional applications can be placed in this directory and are automatically recognized by Mapbender3.

bin

Here are symlinks to the following binaries placed:

  • apigen
  • composer
  • coveralls
  • doctrine
  • doctrine.php
  • phantomjs
  • phing
  • phpunit

documentation

Folder for this documentation.

fom

Directory of the FOM submodule.

mapbender

Directory of the Mapbender submodule. Provides the mapbender-specific bundles and the Mapbender3 code.

mapbender/...../translations

Directory: mapbender/src/Mapbender/CoreBundle/Resources/translations/

The translations are stored in XLIFF textfiles. Every language needs an xliff-file like messages.en.xlf for the English translation.

owsproxy

Directory of the OWSProxy submodule.

vendor

Directory for external libraries (loaded by composer) and further Mapbender modules (a.o. Digitizer, Mapbender-Icons).

web

This directory has to be published by the webserver. The ALIAS has to refer to this directory.

It controlls:

  • the FrontendController (PHP-Script, which can be called). These are app.php for the productive-system and app_dev.php for the development version. The development version contains the profiler for perfomance tests and more.
  • this directory contains the static resoures like css, js, favicon etc.

web/bundles

  • here the static resources of the single bundles are stored.
  • the following command copies the resources from the bundles to the folder.
app/console assets:install --symlink web
  • Notice: if you use Windows you can’t create symbolic links and therefore you have to run the command (app/console assets:install web) after every change in the code to copy the files to the directory.

src

  • directory for applications specific bundles (similar to the former x-directories in Mapbender 2.x)

vendor

  • directory where all the Bundles which are used from Symfony are found. Resources are used by Symfony using the Autoloading.