PHPackages                             slub/slub-web-kartenforum - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. slub/slub-web-kartenforum

ActiveTypo3-cms-extension

slub/slub-web-kartenforum
=========================

v4.2.0(3mo ago)3502[4 PRs](https://github.com/slub/slub_web_kartenforum/pulls)GPL-3.0-or-laterJavaScript

Since Aug 13Pushed 3mo ago9 watchersCompare

[ Source](https://github.com/slub/slub_web_kartenforum)[ Packagist](https://packagist.org/packages/slub/slub-web-kartenforum)[ Docs](https://www.slub-dresden.de)[ RSS](/packages/slub-slub-web-kartenforum/feed)WikiDiscussions master Synced yesterday

READMEChangelog (10)Dependencies (1)Versions (24)Used By (0)

Virtual Map Forum
=================

[](#virtual-map-forum)

[![Logo of the Virtual Map Forum](Documentation/images/header-logo.svg)](Documentation/images/header-logo.svg)

The Virtual Map Forum allows the searching and viewing of historic and georeferenced maps and offers further capabilities for the georeferencing of historic maps (dependencies to [vk2-georeference](https://github.com/slub/vk2-georeference). The application is developed as an extension for the CMS [TYPO3](https://typo3.org/). and the extension was tested with TYPO3 version 10.4.

Configuration
-------------

[](#configuration)

### TYPO3 Extension configuration

[](#typo3-extension-configuration)

For a valid default configuration have a look at [ddev-kartenforum](https://github.com/slub/ddev-kartenforum). Furthermore the extension can be configured via the `Extension Configuration` in the TYPO3 back office. The following settings are supported:

PropertyTypeExampleDescriptionglobal.basemapsstring\[{"id":"slub-osm","label":"SLUB OSM","urls":\["[https://tile-1.kartenforum.slub-dresden.de/styles/maptiler-basic-v2/{z}/{x}/{y}.png","https://tile-2.kartenforum.slub-dresden.de/styles/maptiler-basic-v2/{z}/{x}/{y}.png"\],"type":"xyz","tileSize":256](https://tile-1.kartenforum.slub-dresden.de/styles/maptiler-basic-v2/{z}/{x}/{y}.png","https://tile-2.kartenforum.slub-dresden.de/styles/maptiler-basic-v2/{z}/{x}/{y}.png"],"type":"xyz","tileSize":256)}, {"id":"bkg-topoplus","label":"BKG TopPlusOpen","urls":\["[https://sgx.geodatenzentrum.de/wms\_topplus\_open"\],"type":"wms](https://sgx.geodatenzentrum.de/wms_topplus_open"],"type":"wms)", "layers": "web", "tileSize":512}\]A JSON string containing an array of objects, where each object has the fields `id` (string), `label` (string), `urls` (string\[\]), `type` ("xyz" or "wms"), `attribution` (string) and `tileSize` (number).global.mapViewstring{ "extent": \[-20026376.39,-20048966.10,20026375.39,20048966.10\], "center": \[1528150, 6630500\], "zoom": 2 }A JSON string containing an object which describes the mapView. `extent` (number\[\]) sets the extents supported by the search view. `zoom` (number) and `center` (number\[\]) sets the initial map view.global.urlNominatimstringBase link to the placename searvie. Currently only [nominatim](https://nominatim.org/) is supported.global.urlSearchstringLink to the search endpoint of the virtual map forum.global.terrainstring{ "type": "maptiler", "attribution": "[© MapTiler](https://www.maptiler.com/maps/3d/#10.4800/46.8400/4300/281/-24)" "url": "" } or { "type": "cesium", "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXV", "attribution": "[© Cesium](https://cesium.com/)", "asset": "1" }A JSON string containing an object which describes the terrain service. Currently two types of terrain tile provider are supported [MapTiler](https://www.maptiler.com) and [Cesium](https://cesium.com/). They both vary a bit in regards to the configuration. In case of [Cesium](https://cesium.com/) a `token` (string) is needed and a `asset` (number), which referenced to the Asset number, which can be seen in the Cesium Administration panel. In case [MapTiler](https://www.maptiler.com) the token is set implicitly via the `url` (string) property. Both terrain tiles provider support the setting of an `attribution` (string) the attribution used for the terrain service. The `type` declares if the terrain tile source is *cesium* or *maptiler*.georeference.georefApistringLink to the georeference service. Used by the Extension, which works as a Proxy- / Auth-Layer for the client code of the application.### TYPO3 Content configuration

[](#typo3-content-configuration)

In order for the welcome flyout to be more than a green rectangle some contents have to be added from the TYPO3 backoffice. Any text elements are feasible for this purpose.

[![Documentation/images/welcome_content_configuration.png](Documentation/images/welcome_content_configuration.png)](Documentation/images/welcome_content_configuration.png)

In addition, a button must be included to hide the flyout and disable it for subsequent visits. The following figure explains how to add such a button. Mainly important is the `Appearance -> Layout` Setting, which has to be `Map: Welcome Button`.

[![Documentation/images/welcome_button_configuration.png](Documentation/images/welcome_button_configuration.png)](Documentation/images/welcome_button_configuration.png)

### TYPO3 Template configuration

[](#typo3-template-configuration)

In order for the user dropdown to work correctly, the page ids of the specific setup have to be supplied to the extension via the template configuration. All available configuration parameters can be found here: `Configuration/TypoScript/constants.typoscript`The following figure shows how to modify the settings:

[![Image of the template modification tools, with the constants section highlighted.](Documentation/images/template_configuration.jpg)](Documentation/images/template_configuration.jpg)

Available query parameters
--------------------------

[](#available-query-parameters)

The permalink implementation provides several query parameters that allow the application to be initialized with a predetermined state. These query parameters are explained in the following table.

ℹ Arrays are represented as comma seprated values in the same query parameter.

NameQueryParameterValue TypeDescriptionBasemap IdbStringAllows setting a basemap from the preselection of basemaps available in the vkf (no custom basemaps).View modev{0,1}Allows setting the initial view mode (0 =&gt; 2D, 1 =&gt; 3D)Selected mapsmap\_id (legacy: oid)String or Array&lt;string&gt;Allows setting the initially selected map(s)Map Viewmap\_view\_idStringAllows restoring a previously saved map\_view from the backend. (with geojson layer or custom basemap etc.)&lt;--- Map view Parameters --&gt;2dCentercArray&lt;number&gt; (\[number, number\]Sets the initial center of the map view.ResolutionrenumberSets the initial map view resolutionRotationrnumberSets the initial map view rotation.ZoomznumberSets the initial map view zoom.3dDirectiondArray&lt;number&gt; (\[number, number, number\]Sets the initial direction of the camera in 3d view.PositionpArray&lt;number&gt; (\[number, number, number\]Sets the initial position of the camera in 3d view.RightrArray&lt;number&gt; (\[number, number, number\]Sets the initial right parameter of the camera in 3d view.UpzArray&lt;number&gt; (\[number, number, number\]Sets the initial up parameter of the camera in 3d view.Development
-----------

[](#development)

Besides some templating and configuration logic, the largest part of the application code is build with JavaScript. The source code is placed in the directory [Build](./Build).

Main dependencies are:

- [ReactJS](https://reactjs.org/)
- [React-Bootstrap](https://react-bootstrap-v3.netlify.app/)
- [OpenLayers](http://openlayers.org/)
- [Cesium](https://cesium.com/)

For each plugin of the extension, a JavaScript / CSS bundle is build, which is placed in the directory [Resources/Public/Build/](./Resources/Public/Build)

For building bundles or developing have a look at the `script` commands within [package.json](./Build/package.json).

Basically all production code can be build via the following commands:

```
cd Build/
npm install
npm run build

```

###  Health Score

45

—

FairBetter than 92% of packages

Maintenance81

Actively maintained with recent releases

Popularity13

Limited adoption so far

Community19

Small or concentrated contributor base

Maturity60

Established project with proven stability

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~136 days

Recently: every ~115 days

Total

13

Last Release

102d ago

Major Versions

v1.0.0 → v2.0.02022-03-24

v2.3.1 → v3.0.02024-10-25

v3.1.0 → v4.0.02025-04-08

### Community

Maintainers

![](https://www.gravatar.com/avatar/6d678dc279d542eb86b8b2c6aa8b10f74115b2dfcf143bd10e20b4e746764470?d=identicon)[slub](/maintainers/slub)

---

Top Contributors

[![NicolasLooschen](https://avatars.githubusercontent.com/u/23079775?v=4)](https://github.com/NicolasLooschen "NicolasLooschen (131 commits)")[![jacmendt](https://avatars.githubusercontent.com/u/5071511?v=4)](https://github.com/jacmendt "jacmendt (67 commits)")[![tomschulze](https://avatars.githubusercontent.com/u/40487303?v=4)](https://github.com/tomschulze "tomschulze (38 commits)")[![gnuj](https://avatars.githubusercontent.com/u/4637952?v=4)](https://github.com/gnuj "gnuj (22 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (12 commits)")[![jzmp](https://avatars.githubusercontent.com/u/5260000?v=4)](https://github.com/jzmp "jzmp (7 commits)")[![PouriaRezz](https://avatars.githubusercontent.com/u/129738734?v=4)](https://github.com/PouriaRezz "PouriaRezz (2 commits)")[![RicoHoff](https://avatars.githubusercontent.com/u/83476024?v=4)](https://github.com/RicoHoff "RicoHoff (1 commits)")

---

Tags

TYPO3 CMS

### Embed Badge

![Health badge](/badges/slub-slub-web-kartenforum/health.svg)

```
[![Health](https://phpackages.com/badges/slub-slub-web-kartenforum/health.svg)](https://phpackages.com/packages/slub-slub-web-kartenforum)
```

###  Alternatives

[fluidtypo3/vhs

This is a collection of ViewHelpers for performing rendering tasks that are not natively provided by TYPO3's Fluid templating engine.

1954.1M49](/packages/fluidtypo3-vhs)[derhansen/sf_event_mgt

Configurable event management and registration extension based on ExtBase and Fluid

64313.9k6](/packages/derhansen-sf-event-mgt)[brotkrueml/schema

Embedding schema.org vocabulary - API and view helpers for schema.org markup

33584.6k13](/packages/brotkrueml-schema)[in2code/in2publish_core

Content publishing extension to connect stage and production server

40135.8k](/packages/in2code-in2publish-core)[causal/image_autoresize

Simplify the way your editors may upload their images: no complex local procedure needed, let TYPO3 automatically resize down their huge images/pictures on-the-fly during upload (or using a command for batch processing) and according to your own business rules (directory/groups). This will highly reduce the footprint on your server and speed-up response time if lots of images are rendered (e.g., in a gallery). Features an EXIF/IPTC extractor to ensure metadata may be used by the FAL indexer even if not preserved upon resizing.

19455.6k](/packages/causal-image-autoresize)[causal/extractor

This extension detects and extracts metadata (EXIF / IPTC / XMP / ...) from potentially thousand different file types (such as MS Word/Powerpoint/Excel documents, PDF and images) and bring them automatically and natively to TYPO3 when uploading assets. Works with built-in PHP functions but takes advantage of Apache Tika and other external tools for enhanced metadata extraction.

16244.5k](/packages/causal-extractor)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
