{"id":21659868,"url":"https://github.com/slub/slub_web_kartenforum","last_synced_at":"2025-04-11T22:40:48.506Z","repository":{"id":38425033,"uuid":"271804175","full_name":"slub/slub_web_kartenforum","owner":"slub","description":"SLUB VK2 Kartenforum","archived":false,"fork":false,"pushed_at":"2024-10-25T11:00:56.000Z","size":159229,"stargazers_count":2,"open_issues_count":4,"forks_count":2,"subscribers_count":12,"default_branch":"master","last_synced_at":"2024-10-29T20:57:19.769Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/slub.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-06-12T13:25:01.000Z","updated_at":"2024-10-25T10:59:45.000Z","dependencies_parsed_at":"2023-02-18T14:31:19.020Z","dependency_job_id":"91d103d1-7155-4aa7-957b-6a7e73508eaa","html_url":"https://github.com/slub/slub_web_kartenforum","commit_stats":{"total_commits":262,"total_committers":7,"mean_commits":37.42857142857143,"dds":0.5190839694656488,"last_synced_commit":"50dca5e581d81103df24f4e63e32f099d9c2d11c"},"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slub%2Fslub_web_kartenforum","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slub%2Fslub_web_kartenforum/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slub%2Fslub_web_kartenforum/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slub%2Fslub_web_kartenforum/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/slub","download_url":"https://codeload.github.com/slub/slub_web_kartenforum/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248493011,"owners_count":21113159,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-25T09:31:47.562Z","updated_at":"2025-04-11T22:40:48.481Z","avatar_url":"https://github.com/slub.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Virtual Map Forum\n\n![Logo of the Virtual Map Forum](Documentation/images/header-logo.svg)\n\nThe Virtual Map Forum allows the searching and viewing of historic and georeferenced maps and offers further\ncapabilities for the georeferencing of historic maps (dependencies\nto [vk2-georeference](https://github.com/slub/vk2-georeference). The application is developed as an extension for the\nCMS [TYPO3](https://typo3.org/). and the extension was tested with TYPO3 version 10.4.\n\n## Configuration\n\n### TYPO3 Extension configuration\n\nFor a valid default configuration have a look at [ddev-kartenforum](https://github.com/slub/ddev-kartenforum).\nFurthermore the extension can be configured via the `Extension Configuration` in the TYPO3 back office. The following\nsettings are supported:\n\n| Property                        | Type    | Example                                                                                                                                                                                                                                                                                                                                                                                                           | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |\n|---------------------------------|---------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| global.basemaps                 | string  | [{\"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}, {\"id\":\"bkg-topoplus\",\"label\":\"BKG TopPlusOpen\",\"urls\":[\"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).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |\n| global.mapView                  | string  | { \"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.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |\n| global.urlNominatim             | string  | https://kartenforum.slub-dresden.de/nominatim/                                                                                                                                                                                                                                                                                                                                                                    | Base link to the placename searvie. Currently only [nominatim](https://nominatim.org/) is supported.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |\n| global.urlSearch                | string  | https://search.kartenforum.slub-dresden.de/vk20                                                                                                                                                                                                                                                                                                                                                                   | Link to the search endpoint of the virtual map forum.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | Link to the search endpoint of the virtual map forum.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |\n| global.terrain                  | string  | { \"type\": \"maptiler\", \"attribution\": \"\u003ca href='https://www.maptiler.com/maps/3d/#10.4800/46.8400/4300/281/-24' target='_blank'\u003e© MapTiler\u003c/a\u003e\" \"url\": \"https://api.maptiler.com/tiles/terrain-quantized-mesh/?key=kRAKrA0wcbZZFOT64bX5\" } or { \"type\": \"cesium\", \"token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXV\", \"attribution\": \"\u003ca href='https://cesium.com/' target='_blank'\u003e© Cesium\u003c/a\u003e\", \"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_. |\n| georeference.georefApi          | string  | https://geo.kartenforum.slub-dresden.de                                                                                                                                                                                                                                                                                                                                                                           | Link to the georeference service. Used by the Extension, which works as a Proxy- / Auth-Layer for the client code of the application.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |\n\n### TYPO3 Content configuration\n\nIn order for the welcome flyout to be more than a green rectangle some contents have to be added from the TYPO3\nbackoffice. Any text elements are feasible for this purpose.\n\n![Documentation/images/welcome_content_configuration.png](Documentation/images/welcome_content_configuration.png)\n\nIn addition, a button must be included to hide the flyout and disable it for subsequent visits. The following figure\nexplains how to add such a button. Mainly important is the `Appearance -\u003e Layout` Setting, which has to\nbe `Map: Welcome Button`.\n\n![Documentation/images/welcome_button_configuration.png](Documentation/images/welcome_button_configuration.png)\n\n\n### TYPO3 Template configuration\n\nIn 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.\nAll available configuration parameters can be found here: `Configuration/TypoScript/constants.typoscript`\nThe following figure shows how to modify the settings:\n\n![Image of the template modification tools, with the constants section highlighted.](Documentation/images/template_configuration.jpg)\n\n\n## Available query parameters\n\nThe permalink implementation provides several query parameters that allow the application to be initialized with a\npredetermined state. These query parameters are explained in the following table.\n\nℹ Arrays are represented as comma seprated values in the same query parameter.\n\n| Name                         | QueryParameter       | Value Type                                | Description                                                                                                |\n|------------------------------|----------------------|-------------------------------------------|------------------------------------------------------------------------------------------------------------|\n| Basemap Id                   | b                    | String                                    | Allows setting a basemap from the preselection of basemaps available in the vkf (no custom basemaps).      |\n| View mode                    | v                    | {0,1}                                     | Allows setting the initial view mode (0 =\u003e 2D, 1 =\u003e 3D)                                                    |\n| Selected maps                | map_id (legacy: oid) | String or Array\\\u003cstring\\\u003e                 | Allows setting the initially selected map(s)                                                               |\n| Map View                     | map_view_id          | String                                    | Allows restoring a previously saved map_view from the backend. (with geojson layer or custom basemap etc.) |\n| \u003c--- Map view Parameters --\u003e |                      |                                           |                                                                                                            |\n| 2d                           |                      |                                           |                                                                                                            |\n| Center                       | c                    | Array\\\u003cnumber\\\u003e ([number, number]         | Sets the initial center of the map view.                                                                   |\n| Resolution                   | re                   | number                                    | Sets the initial map view resolution                                                                       |\n| Rotation                     | r                    | number                                    | Sets the initial map view rotation.                                                                        |\n| Zoom                         | z                    | number                                    | Sets the initial map view zoom.                                                                            |\n| 3d                           |                      |                                           |                                                                                                            |\n| Direction                    | d                    | Array\\\u003cnumber\\\u003e ([number, number, number] | Sets the initial direction of the camera in 3d view.                                                       |\n| Position                     | p                    | Array\\\u003cnumber\\\u003e ([number, number, number] | Sets the initial position of the camera in 3d view.                                                        |\n| Right                        | r                    | Array\\\u003cnumber\\\u003e ([number, number, number] | Sets the initial right parameter of the camera in 3d view.                                                 |\n| Up                           | z                    | Array\\\u003cnumber\\\u003e ([number, number, number] | Sets the initial up parameter of the camera in 3d view.                                                    |\n\n## Development\n\nBesides some templating and configuration logic, the largest part of the application code is build with JavaScript. The\nsource code is placed in the directory [Build](./Build).\n\nMain dependencies are:\n\n* [ReactJS](https://reactjs.org/)\n* [React-Bootstrap](https://react-bootstrap-v3.netlify.app/)\n* [OpenLayers](http://openlayers.org/)\n* [Cesium](https://cesium.com/)\n\nFor each plugin of the extension, a JavaScript / CSS bundle is build, which is placed in the\ndirectory [Resources/Public/Build/](./Resources/Public/Build)\n\nFor building bundles or developing have a look at the `script` commands within [package.json](./Build/package.json).\n\nBasically all production code can be build via the following commands:\n\n```\ncd Build/\nnpm install\nnpm run build\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fslub%2Fslub_web_kartenforum","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fslub%2Fslub_web_kartenforum","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fslub%2Fslub_web_kartenforum/lists"}