AddOn


Geo- und Karten-Unterstützung für REDAXO 5.13+

Beschreibung

Geo- und Karten-Unterstützung für REDAXO 5.13+

Das Addon bündelt Funktionen für den Umgang mit Geo-Koordinaten: Tile-Proxy, Tile-Cache, Rechnen mit Koordinaten auf PHP-Ebene, Karten mit Leaflet anzeigen.

Die Konfiguration ist flexibel und update- bzw. reinstallations-sicher individualisierbar. Die Kartenanzeige mit LeafletJS kann mit eigenen JS-Schnipseln rasch und on the fly erweitert werden.


github.com/FriendsOfREDAXO/geolocation

Umsetzung

Versionen

2.2.0

Für REDAXO
^5.14.0
Veröffentlicht am
26.04.2024
Require / PHP
^8
Require / PHP Extensions
curl

Release zu 2.2.0:

  • Umbau (#152)

    • Die Handbuchseiten sind technisch etwas anders realisiert.
    • help.php/help.yml aufgelöst - kaum Chancen für die Zulassung durch RexStan :-)
    • statt dessen eine vereinfachte Lösung als page/manual.php
    • Handbuch-Menü komplett über package.yml realisiert
    • Inhalte der Doku angepasst und formal optimiert (z.B. ```php statt ```)
    • Beautifier für Code-Blöcke (PrismJS) aktualisiert (als help.min.js/css), anderes Farbschema (hell)
    • Handbuch-Berechtigungen um "geolocation[developer]" erweitert
  • BugFix

    • Typos in package.yml korrigiert (#154 @TobiasKrais)

2.1.3

Für REDAXO
^5.14.0
Veröffentlicht am
17.02.2024
Require / PHP
^8
Require / PHP Extensions
curl

BugFix-Release:

  • Fehler in der Namespace-Unterstützung (Dateistruktur, Cronjob-Registrierung) bereinigt.
  • behebt #143 (@tyrant88)

Beide Fehler hatten aktuell keine Funktionsbeschränkung; es war halt suboptimal und nicht zukunftssicher gelöst.

2.1.2

Für REDAXO
^5.14.0
Veröffentlicht am
29.06.2023
Require / PHP
^8
Require / PHP Extensions
curl

Bugfix-Release zu 2.1.0:

Namespace für rex_logger und rex_context korrigiert

Release 2.1.0:

  • Fehler im Verbindungsaufbau zwischen Proxy (=Redaxo-Instanz) und Tile-Server werden nun als Eintrag in der Logdatei protokolliert. Beispiel: "Fehler 60 / server certificate verification failed. CAfile: none CRLfile: none"
  • Fehlermeldungen des Tile-Servers (nach Verbindungsaufbau) werden weiterhin zum Client durchgeschleift.

2.1.0

Für REDAXO
^5.14.0
Veröffentlicht am
25.06.2023
Require / PHP
^8
Require / PHP Extensions
curl

Fehler im Verbindungsaufbau zwischen Proxy (=Redaxo-Instanz) und Tile-Server werden nun als Eintrag in der Logdatei protokolliert. Beispiel: "Fehler 60 / server certificate verification failed. CAfile: none CRLfile: none"

Fehlermeldungen des Tile-Servers (nach Verbindungsaufbau) werden weiterhin zum Client durchgeschleift.

2.0.1

Für REDAXO
^5.14.0
Veröffentlicht am
28.05.2023
Require / PHP
^8
Require / PHP Extensions
curl

Bugfix:

  • Behebt einen Fehler Unable to rollback, no transaction started before beim Speichern eines Mapset-Formulars mit "Übernehmen" statt "Speichern" (#144)

2.0.0

Für REDAXO
^5.14.0
Veröffentlicht am
21.03.2023
Require / PHP
^8
Require / PHP Extensions
curl

2.0.0 Major Release

Bitte den Changelog beachten

21.03.2023 2.0.0

  • Bugfix:
    • Tastatursteuerung in der Baisiskarten-Auswahl der Kartensätze korrigiert. (#139)
    • Namespace-Fehler in Layer.php korrigiert (#140)

Beta3:

  • Neu
    • Per Config (z.B. im project AddOn) kann ein Socket-Proxy angegeben werden, falls erforderlich. Die config für den namespace geolocation lautet: 'socket_proxy' (#131) - Siehe (https://curl.se/libcurl/c/CURLOPT_PROXY.html).
  • Fixed
    • Probleme mit der Einbindung der Action-Buttons in YForm 4.1.0 wurden behoben (#130).

Beta2:

  • Neu:
    • In zukünftigen Versionen von YForm (post 4.0.4) werden Action-Buttons anders verwaltet. Geolocation ist so mgestellt,
      dass beide Varianten unterstützt werden. Das gilt bereits für die aktulle Github-Version Stand 07.03.2023. (#135)
  • Bugfix:
    • Fehler bei nicht initialisiertem Choice-Array, wenn keine Choices ausgewählt wurden, behoben (@dpf-dd Stefan Dannfald, #126)
    • Mapset: Listeformatierung der Spalte "Funktion" via SetColumnFormat() berücksichtigt ein vorher gesetztes CustomCallback (#134)

Beta1:

Diese Version enthält Breacking Changes!

  • Mindestversionen: REDAXO 5.14 und PHP 8
  • Umstellung des Namespace von Geolocation auf FriendsOfRedaxo\Geolocation (#113). Referenzen in eigenem Code auf Gelocation\xxx müssen angepasst werden.
  • Klassen umbenannt (Großbuchstabe am Anfang). Referenzen in eigenem Code auf die Klassennamen müssen angepasst werden.
    • Klasse Geolocation\cache umbenannt in Geolocation\Cache; Aufrufe und Doku angepasst. (#51)
    • Klasse Geolocation\cronjob umbenannt in Geolocation\Cronjob; Aufrufe und Doku angepasst. (#52)
    • Klasse Geolocation\tools umbenannt in Geolocation\Tools; Aufrufe und Doku angepasst. (#53)
    • Klasse Geolocation\config_form umbenannt in Geolocation\ConfigForm; Aufrufe und Doku angepasst. (#66)
    • Klasse Geolocation\layer umbenannt in Geolocation\Layer; Aufrufe, Dateinamen und Doku angepasst. (#86, #88)
    • Klasse Geolocation\mapset umbenannt in Geolocation\Mapset; Aufrufe, Dateinamen und Doku angepasst. (#87)
    • Dateinamen an die Schreibweise der Klassen angepasst: Box.php, Math.php, Point.php (#50) und Exception.php (#73)
  • Fehlerklassen neu strukturiert. **Referenzen in eigenem Code z.B. in Try-Catch müssen ggf. angepasst werden.***
    • diverse Fehlerklassen in eigene Dateien ausgelagert (#48)
    • Fehlerklasse GeolocationInstallException umbenannt in Geolocation\InstallException (#48)
    • Fehlermeldungen in class InvalidParameters gebündelt (#80, #81)
  • Datenbank-Tabellen sind geändert. Eigene Dataset-Dateien in data/addons/geolocationmüssen angepasst werden
    • Datentyp der Tabellenspalte rex_geolocation_layer.online von text in int geändert. Ggf. müssen eigene Datasets angepasst werden. (#77)
    • Feld "attribution" im Layer-Formular von varchar(191 in text geändert. (#105)
    • zusätzliche URL für HiRes-Karten/Retina-Karten-URLs ohne '@2x'-support. (#118)
  • RexStan-gesteuerte Überarbeitung aller PHP-Dateien, wodurch sich teilweise die Methoden_Aufrufe der Klassen geändert haben.
    (Level: 8, PHP: 8.0-8.2, Extensions: REDAXO Superglobals, Bleeding-Edge, Strict-Mode, Deprecation Warnings, phpstan-dba, dead code)
    und Code-Formatierung im REDAXO-Standard (#54…#62, #66, #68, #70…#72, #74…#76, #80…#82, #84, #85)
    Referenzen in eigenem Code auf die KMethoden müssen überprüft und ggf. angepasst werden.

Weitere Änderungen:

  • Vendor-Updates:
    • phpGeo 4.2.0 (#83)
    • Leaflet 1.9.3 (#99)
    • Leaflet.GestureHandling 1.2.2 (#98)
    • AssetPacker 1.3.2 (#108)
  • Neu:
    • Test der Layer-URLs interaktiv im Eingabeformular (#100)
    • Individuelles CSS (redaxo/data/geolocation/geolocation.css') kann auch in SCSS-Dateien stehen (Editor-freundlich) (#104). Daher die CSS-Assetsinstall/geolocation_be.cssundinstall/geolocation.cssin.scss` umbenannt. (#104)
    • Für Basiskarten im Kartensatz/Mapset kann die aktive Karte unabhängig von der Reihenfolge (bisher immer die erste) per Radio-Button aktiviert werden (#107)
    • Für Overlay-Karten im Kartensatz/Mapset können sofort sichtbare Overlays aktiviert werden (Checkbox); bisher waren die Karten immer initial ausgeblendet (#107, #115)
    • Karten-URLs nun auch mit @2x-Zusatz möglich (by @xong Robert Rupf) (#110)
    • Retina-Unterstützung: Parameter {r} als Platzhalter für @2x-Kartenanforderung; zusätzliche URL für HiRes-Karten/Retina-Karten-URLs ohne '@2x'-support. (#118)
    • install.phpvereinfacht; nutzt nun ausschließlich %table_prefix% beim Import (#106)
  • Bugfix:
    • Workaround in layer.php für ein Typecast-Problem aus 'class dataset' (#79)
    • Farbcodes (#123456) in Geolocation.svgIconPin(..) jetzt korrekt URI-escaped (#69⇒#94)
    • Feld "attribution" im Layer-Formular von varchar(191 in text geändert. Das Feld war zu klein. Beim Speichern gekapptes HTML kann zu Darstellungsproblemen führen.
    • Demo-Datensätze aktuaisiert (CyclOSM-Link tot und ausgetauscht), OSM nun als Mapset "1" default statt HERE. (#105)
  • Dokumentation (/docs) aktualisiert (#92, #93)

What's Changed

New Contributors

Full Changelog: https://github.com/FriendsOfREDAXO/geolocation/compare/1.0.2...2.0.0

2.0.0-beta4

Für REDAXO
^5.14.0
Veröffentlicht am
21.03.2023
Require / PHP
^8
Require / PHP Extensions
curl

Bugfix:

Tastatursteuerung in der Baisiskarten-Auswahl der Kartensätze korrigiert. (#139)
Namespace-Fehler in Layer.php korrigiert (#140)

2.0.0-beta3

Für REDAXO
^5.14.0
Veröffentlicht am
10.03.2023
Require / PHP
^8
Require / PHP Extensions
curl

ACHTUNG Major Release

10.03.2023 2.0.0-beta3

beta3:

  • Neu
    • Per Config (z.B. im project AddOn) kann ein Socket-Proxy angegeben werden, falls erforderlich. Die config für den namespace geolocation lautet: 'socket_proxy' (#131) - Siehe (https://curl.se/libcurl/c/CURLOPT_PROXY.html).
  • Fixed
    • Probleme mit der Einbindung der Action-Buttons in YForm 4.1.0 wurden behoben (#130).

Beta2:

  • Neu:
    • In zukünftigen Versionen von YForm (post 4.0.4) werden Action-Buttons anders verwaltet. Geolocation ist so mgestellt,
      dass beide Varianten unterstützt werden. Das gilt bereits für die aktulle Github-Version Stand 07.03.2023. (#135)
  • Bugfix:
    • Fehler bei nicht initialisiertem Choice-Array, wenn keine Choices ausgewählt wurden, behoben (@dpf-dd Stefan Dannfald, #126)
    • Mapset: Listeformatierung der Spalte "Funktion" via SetColumnFormat() berücksichtigt ein vorher gesetztes CustomCallback (#134)

Beta1:

Diese Version enthält Breacking Changes!

  • Mindestversionen: REDAXO 5.14 und PHP 8
  • Umstellung des Namespace von Geolocation auf FriendsOfRedaxo\Geolocation (#113). Referenzen in eigenem Code auf Gelocation\xxx müssen angepasst werden.
  • Klassen umbenannt (Großbuchstabe am Anfang). Referenzen in eigenem Code auf die Klassennamen müssen angepasst werden.
    • Klasse Geolocation\cache umbenannt in Geolocation\Cache; Aufrufe und Doku angepasst. (#51)
    • Klasse Geolocation\cronjob umbenannt in Geolocation\Cronjob; Aufrufe und Doku angepasst. (#52)
    • Klasse Geolocation\tools umbenannt in Geolocation\Tools; Aufrufe und Doku angepasst. (#53)
    • Klasse Geolocation\config_form umbenannt in Geolocation\ConfigForm; Aufrufe und Doku angepasst. (#66)
    • Klasse Geolocation\layer umbenannt in Geolocation\Layer; Aufrufe, Dateinamen und Doku angepasst. (#86, #88)
    • Klasse Geolocation\mapset umbenannt in Geolocation\Mapset; Aufrufe, Dateinamen und Doku angepasst. (#87)
    • Dateinamen an die Schreibweise der Klassen angepasst: Box.php, Math.php, Point.php (#50) und Exception.php (#73)
  • Fehlerklassen neu strukturiert. **Referenzen in eigenem Code z.B. in Try-Catch müssen ggf. angepasst werden.***
    • diverse Fehlerklassen in eigene Dateien ausgelagert (#48)
    • Fehlerklasse GeolocationInstallException umbenannt in Geolocation\InstallException (#48)
    • Fehlermeldungen in class InvalidParameters gebündelt (#80, #81)
  • Datenbank-Tabellen sind geändert. Eigene Dataset-Dateien in data/addons/geolocationmüssen angepasst werden
    • Datentyp der Tabellenspalte rex_geolocation_layer.online von text in int geändert. Ggf. müssen eigene Datasets angepasst werden. (#77)
    • Feld "attribution" im Layer-Formular von varchar(191 in text geändert. (#105)
    • zusätzliche URL für HiRes-Karten/Retina-Karten-URLs ohne '@2x'-support. (#118)
  • RexStan-gesteuerte Überarbeitung aller PHP-Dateien, wodurch sich teilweise die Methoden_Aufrufe der Klassen geändert haben.
    (Level: 8, PHP: 8.0-8.2, Extensions: REDAXO Superglobals, Bleeding-Edge, Strict-Mode, Deprecation Warnings, phpstan-dba, dead code)
    und Code-Formatierung im REDAXO-Standard (#54…#62, #66, #68, #70…#72, #74…#76, #80…#82, #84, #85)
    Referenzen in eigenem Code auf die KMethoden müssen überprüft und ggf. angepasst werden.

Weitere Änderungen:

  • Vendor-Updates:
    • phpGeo 4.2.0 (#83)
    • Leaflet 1.9.3 (#99)
    • Leaflet.GestureHandling 1.2.2 (#98)
    • AssetPacker 1.3.2 (#108)
  • Neu:
    • Test der Layer-URLs interaktiv im Eingabeformular (#100)
    • Individuelles CSS (redaxo/data/geolocation/geolocation.css') kann auch in SCSS-Dateien stehen (Editor-freundlich) (#104). Daher die CSS-Assetsinstall/geolocation_be.cssundinstall/geolocation.cssin.scss` umbenannt. (#104)
    • Für Basiskarten im Kartensatz/Mapset kann die aktive Karte unabhängig von der Reihenfolge (bisher immer die erste) per Radio-Button aktiviert werden (#107)
    • Für Overlay-Karten im Kartensatz/Mapset können sofort sichtbare Overlays aktiviert werden (Checkbox); bisher waren die Karten immer initial ausgeblendet (#107, #115)
    • Karten-URLs nun auch mit @2x-Zusatz möglich (by @xong Robert Rupf) (#110)
    • Retina-Unterstützung: Parameter {r} als Platzhalter für @2x-Kartenanforderung; zusätzliche URL für HiRes-Karten/Retina-Karten-URLs ohne '@2x'-support. (#118)
    • install.phpvereinfacht; nutzt nun ausschließlich %table_prefix% beim Import (#106)
  • Bugfix:
    • Workaround in layer.php für ein Typecast-Problem aus 'class dataset' (#79)
    • Farbcodes (#123456) in Geolocation.svgIconPin(..) jetzt korrekt URI-escaped (#69⇒#94)
    • Feld "attribution" im Layer-Formular von varchar(191 in text geändert. Das Feld war zu klein. Beim Speichern gekapptes HTML kann zu Darstellungsproblemen führen.
    • Demo-Datensätze aktuaisiert (CyclOSM-Link tot und ausgetauscht), OSM nun als Mapset "1" default statt HERE. (#105)
  • Dokumentation (/docs) aktualisiert (#92, #93)

What's Changed

New Contributors

Full Changelog: https://github.com/FriendsOfREDAXO/geolocation/compare/2.0.0-beta2...2.0.0-beta3

2.0.0-beta1

Für REDAXO
^5.14.0
Veröffentlicht am
23.01.2023
Require / PHP
^8
Require / PHP Extensions
curl

23.01.2023 2.0.0-beta1

Diese Version enthält Breacking Changes!

  • Mindestversionen: REDAXO 5.14 und PHP 8
  • Umstellung des Namespace von Geolocation auf FriendsOfRedaxo\Geolocation (#113). Referenzen in eigenem Code auf Gelocation\xxx müssen angepasst werden.
  • Klassen umbenannt (Großbuchstabe am Anfang). Referenzen in eigenem Code auf die Klassennamen müssen angepasst werden.
    • Klasse Geolocation\cache umbenannt in Geolocation\Cache; Aufrufe und Doku angepasst. (#51)
    • Klasse Geolocation\cronjob umbenannt in Geolocation\Cronjob; Aufrufe und Doku angepasst. (#52)
    • Klasse Geolocation\tools umbenannt in Geolocation\Tools; Aufrufe und Doku angepasst. (#53)
    • Klasse Geolocation\config_form umbenannt in Geolocation\ConfigForm; Aufrufe und Doku angepasst. (#66)
    • Klasse Geolocation\layer umbenannt in Geolocation\Layer; Aufrufe, Dateinamen und Doku angepasst. (#86, #88)
    • Klasse Geolocation\mapset umbenannt in Geolocation\Mapset; Aufrufe, Dateinamen und Doku angepasst. (#87)
    • Dateinamen an die Schreibweise der Klassen angepasst: Box.php, Math.php, Point.php (#50) und Exception.php (#73)
  • Fehlerklassen neu strukturiert. **Referenzen in eigenem Code z.B. in Try-Catch müssen ggf. angepasst werden.***
    • diverse Fehlerklassen in eigene Dateien ausgelagert (#48)
    • Fehlerklasse GeolocationInstallException umbenannt in Geolocation\InstallException (#48)
    • Fehlermeldungen in class InvalidParameters gebündelt (#80, #81)
  • Datenbank-Tabellen sind geändert. Eigene Dataset-Dateien in data/addons/geolocationmüssen angepasst werden
    • Datentyp der Tabellenspalte rex_geolocation_layer.online von text in int geändert. Ggf. müssen eigene Datasets angepasst werden. (#77)
    • Feld "attribution" im Layer-Formular von varchar(191 in text geändert. (#105)
    • zusätzliche URL für HiRes-Karten/Retina-Karten-URLs ohne '@2x'-support. (#118)
  • RexStan-gesteuerte Überarbeitung aller PHP-Dateien, wodurch sich teilweise die Methoden_Aufrufe der Klassen geändert haben.
    (Level: 8, PHP: 8.0-8.2, Extensions: REDAXO Superglobals, Bleeding-Edge, Strict-Mode, Deprecation Warnings, phpstan-dba, dead code)
    und Code-Formatierung im REDAXO-Standard (#54…#62, #66, #68, #70…#72, #74…#76, #80…#82, #84, #85)
    Referenzen in eigenem Code auf die KMethoden müssen überprüft und ggf. angepasst werden.

Weitere Änderungen:

  • Vendor-Updates:
    • phpGeo 4.2.0 (#83)
    • Leaflet 1.9.3 (#99)
    • Leaflet.GestureHandling 1.2.2 (#98)
    • AssetPacker 1.3.2 (#108)
  • Neu:
    • Test der Layer-URLs interaktiv im Eingabeformular (#100)
    • Individuelles CSS (redaxo/data/geolocation/geolocation.css') kann auch in SCSS-Dateien stehen (Editor-freundlich) (#104). Daher die CSS-Assetsinstall/geolocation_be.cssundinstall/geolocation.cssin.scss` umbenannt. (#104)
    • Für Basiskarten im Kartensatz/Mapset kann die aktive Karte unabhängig von der Reihenfolge (bisher immer die erste) per Radio-Button aktiviert werden (#107)
    • Für Overlay-Karten im Kartensatz/Mapset können sofort sichtbare Overlays aktiviert werden (Checkbox); bisher waren die Karten immer initial ausgeblendet (#107, #115)
    • Karten-URLs nun auch mit @2x-Zusatz möglich (by @xong Robert Rupf) (#110)
    • Retina-Unterstützung: Parameter {r} als Platzhalter für @2x-Kartenanforderung; zusätzliche URL für HiRes-Karten/Retina-Karten-URLs ohne '@2x'-support. (#118)
    • install.phpvereinfacht; nutzt nun ausschließlich %table_prefix% beim Import (#106)
  • Bugfix:
    • Workaround in layer.php für ein Typecast-Problem aus 'class dataset' (#79)
    • Farbcodes (#123456) in Geolocation.svgIconPin(..) jetzt korrekt URI-escaped (#69⇒#94)
    • Feld "attribution" im Layer-Formular von varchar(191 in text geändert. Das Feld war zu klein. Beim Speichern gekapptes HTML kann zu Darstellungsproblemen führen.
    • Demo-Datensätze aktuaisiert (CyclOSM-Link tot und ausgetauscht), OSM nun als Mapset "1" default statt HERE. (#105)
  • Dokumentation (/docs) aktualisiert (#92, #93)

1.0.2

Für REDAXO
^5.13.1
Veröffentlicht am
08.05.2022
Require / PHP
>=7.3, <9
Require / PHP Extensions
curl

Aus irgend einem Grunde finden sich in 1.0.1. nicht alle Änderungen. Ursache unbekannt. Release 1.0.2 soll das beheben, indem aus den korrekten 1.0.1-Github-Dateien ein neues Release erzeugt wird.

1.0.1

Für REDAXO
^5.13.1
Veröffentlicht am
19.04.2022
Require / PHP
>=7.3, <9
Require / PHP Extensions
curl

Behebt einen Bug in der Zuweisung und Initialisierung der Konstanten KEY_MAPSET und KEY_TILES während der Installation. Bugs können dazu führen, dass Tiles nicht richtig abgerufen werden können, da in der URL das falsche Schlüsselwort verwendet wird. In dem Fall hilft das Update und ggf. eine manuelle Re-Installation. Zur Überprüfung: in assets/addons/geolocation/geolocation.min.js sollte die Zeichenfolge var Geolocation={default:{keyMapset:'geomapset',keyLayer:'geolayer'zu finden sein.

1.0.0

Für REDAXO
^5.13.1
Veröffentlicht am
19.04.2022
Require / PHP
>=7.3, <9
Require / PHP Extensions
curl
 

1.0.0

Für REDAXO
^5.13.1
Veröffentlicht am
29.03.2022
Require / PHP
>=7.3, <9
Require / PHP Extensions
curl
  • Erstes Release (Yeeepee)
  • Alle weiteren Informationen in der Readme und Doku