[3.2][3.3][DEV] Adressverwaltung Tourziele

In diesem Forum können Extension-Autoren ihre Extensions vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
Benutzeravatar
Mike-on-Tour
Supporter
Supporter
Beiträge: 1075
Registriert: 13.01.2020 21:09
Kontaktdaten:

[3.2][3.3][DEV] Adressverwaltung Tourziele

Beitrag von Mike-on-Tour »

Extension Name: Adressverwaltung Tourziele
Autor: Mike-on-Tour
Beschreibung: Diese Extension installiert eine Erweiterung, mit der Tourziele z.B. für ein Motorradforum verwaltet werden können. Diese Erweiterung ist der Nachfolger der Erweiterung von waldkatze und baut auf deren Version 0.1.1 auf.
Version: 1.1.0
Voraussetzungen: phpBB >=3.3.0, < 3.4.0@dev / PHP >= 7.4, < 8.4.0@dev
Download: https://www.mike-on-tour.com
Sprachen: en, de
Styles: prosilver
github repository: https://github.com/Mike-on-Tour/tzv

Kompatibel mit Toggle Control (Schalter-Stil zentral festlegen)

Nachdem ich die phpBB-Erweiterung Adressverwaltung Tourziele von waldkatze am 22.03.2022 übernommen habe, habe ich sie grundlegend überarbeitet:
  • Ursprünglich wollte ich sie unter waldkatze/tzv weiterpflegen, dies lies sich aber leider nicht realisieren, weil ich einige Änderungen an den Datenbanktabellen vornehmen musste, um Inkonsistenzen beim Ändern von Daten und beim Anlegen und Editieren von Tourzielen zu vermeiden.
    Langer Rede kurzer Sinn: Die Erweiterung wurde nach mot/tzv transferiert.
  • In Konsequenz habe ich alle Template- und Sprachvariablen durch Voransetzen von MOT_TZV_ bzw. ACP_MOT_TZV_ eindeutig gemacht, gleiches gilt für die verschiedenen Dateien der Erweiterung.
  • Das ACP-Modul ist jetzt ein Controller, was den Ersatz von globalen Variablen durch Service-Injection ermöglicht.
  • Der gesamte PHP- und HTML-Code wurde komplett überarbeitet und ist jetzt auch PHP 8 konform und entspricht den Coding Guidelines von phpbb.com
  • Die Minimum-Version von phpBB habe ich auf phpBB 3.2.3 reduziert (und getestet, funktioniert), Die Erweiterung ist also auch einsetzbar, wenn noch nicht auf phpBB 3.3 upgegradet wurde
  • Die Benutzerberechtigungen waren bisher für die Gruppe der "Registrierten Benutzer" gesetzt, ich habe das auf die Benutzer-Rollen "Volle Funktionalität" und "Standardfunktionalität" abgeändert, um das Berechtigungssystem von phpBB besser nutzen zu können.
    Selbstveständlich können die Rechte auch für andere Rollen eingestellt werden.
  • Die verschiedenen Anzeigen der Tourziele im Frontend habe ich harmonisiert und vereinheitlicht
  • Im ACP habe ich die rote Hinweisbox zum Löschen vorhandener Einträge (Tabellen Länder, Regionen, Kategorien und WLAN) auf die Anzeige der Tabellen beschränkt
  • In diesen eben genannten Tabellen wird beim Löschen von Einträgen ein Bestätigungsfenster angezeigt
  • Damit der Admin die rote Hinweisbox zum Löschen vorhandener Einträge auch beachten kann, enthalten diese vier Tabellen eine zusätzliche Spalte, die anzeigt, in wie vielen Tourzielen der entsprechende Eintrag genutzt wird. (Und in dem Falle sollte er wirklich nicht gelöscht werden!)
  • Um die Eingaben bei Erstellung und Änderung eines Tourzieles auf Richtigkeit und Vollständigkeit zu überprüfen, habe ich eine Javascript-Datei geschrieben, um den serverseitigen Aufwand zu reduzieren.
    Dieses Skript wandelt bei der Eingabe von Koordinaten ein versehentlich verwendetes Komma auch gleich in den geforderten Punkt um.
  • Dass das erste Eingabefeld in dieser Maske beim Aufrufen der Eingabeseite gleich den Fokus erhält, ist jetzt auch eingebaut.
  • Die Eingabe des Landes erfolgt jetzt ebenfalls bequem über ein Dropdown-Feld mit dem Namen des jeweiligen Landes und nicht mehr über den Zifferncode
  • Bei der Eingabe eines neuen Tourzieles wird geprüft, ob bereits ein Tourziel mit demselben Namen vorhanden ist; in diesem Falle wird die Eingabe verworfen
  • Die Anzahl der Zeilen pro Tabellenseite für die Paginierung kann durch den Administrator im ACP getrennt für ACP und Frontend eingestellt werden. (Im Frontend sind die Zeilen deutlich höher als im ACP, deshalb machen dort weniger Zeilen pro Seite als im ACP viel Sinn)
  • In der Tabellen- und Detailansicht werden die GPS-Koordinaten nur dann angezeigt, wenn die Kartenanzeige eingeschaltet ist, in diesem Falle ist die Angabe von Koordinaten beim Erstellen/Ändern eines Tourzieles ebenfalls Pflicht und die Eingabe wird bei Fehlen der Koordinaten verweigert
  • Um beim Update von waldkatze/tzv 0.1.1 auf mot/tzv 0.2.0 nicht bereits eingegebene Tourziele und eventuelle Änderungen/Ergänzungen in den Tabellen für Länder, Regionen, Kategorien und WLAN zu verlieren, gibt es im Wurzelverzeichnis der Erweiterung eine Datei transfer.php, die die bisher verwendeten Tabellen in die neuen Tabellen umwandelt; den Aufruf dieser Funktion erkläre ich noch
  • Um den Vorschriften von phpbb.com zu entsprechen, gibt es auch ein englisches Sprachpaket (Englisch ist die Standard- und Rückfallsprache von phpBB, deshalb muss jede Erweiterung ein entsprechendes Sprachpaket enthalten). Aber bitte nicht enttäuscht sein, die tatsächliche Übersetzung habe ich in der Kürze der Zeit noch nicht geschafft, das kommt noch.

Ich bin mir ziemlich sicher, dass die Adressverwaltung Tourziele in der vorliegenden Version fehlerfrei ist, aber da man ja nie zu 100% sicher sein kann, bitte ich um entsprechende Nachricht im Support-Forum, wenn jemandem etwas auffällt; ihr dürft dort natürlich auch gerne Vorschläge machen, welche Features ihr zukünftig noch haben möchtet.

Installation:
Wer die Adressverwaltung zum ersten Mal installiert (also keine Version von waldkatze installiert hat), speichert die Unterverzeichnisse und Dateien einfach unter /ext/mot/tzv.
Wer eine Version von waldkatze bereits installiert hat, geht bitte wie folgt vor:
  1. Die Erweiterung von waldkatze deaktivieren (KEINE Arbeitsdaten löschen!)
  2. Hochladen der Unterverzeichnisse und Dateien unter /ext/mot/tzv
  3. Aktivieren der neuen Erweiterung, damit die Tabellen angelegt werden
  4. Um die bisherigen Daten zu transferieren, im Frontend in der Adresszeile des Browsers folgende Zeile eingeben (am Beispiel meiner Webseite):
    https://www.mike-on-tour.com/ext/mot/tzv/transfer.php
    Den Teil https://www.mike-on-tour.com müsst ihr natürlich entsprechend eurer Webseite anpassen ;)
  5. Kurze Zeit nach Drücken der Enter-Taste meldet sich das Transfer-Skript mit einer Meldung, in der u.a. angezeigt wird, wieviele bestehende Tourziele gefunden wurden und wieviele davon erfolgreich transferiert wurden. Hier kann es zu Abweichungen kommen, wenn Benennungen geändert wurden, Grund dafür sind die bereits erwähnten Inkonsistenzen in den Tabellen.
    Da die Namen der erfolgreich transferierten Tourziele ebenfalls mit ausgegeben werden, könnte man bei Abweichungen der Zahlen für die gefundenen und transferierten Tourziele also händisch noch etwas retten.
    Dazu kann die Erweiterung von waldkatze auch wieder aktiviert werden, damit deren Listen- und Suchfunktionen verwendet werden können, beide Erweiterungen können parallel aktiviert sein, dann aber bitte nicht vom doppelten Link "Tourziele" in der Navigationszeile verwirren lassen.
  6. Sind alle Tourziele erfolgreich transferiert worden und lassen sich auch in der Listen- und Detailanzeige der neuen Erweiterung problemlos aufrufen, können die Arbeitsdaten und anschließend die Dateien der ALTEN Erweiterung gelöscht werden.
Ecmur
Mitglied
Beiträge: 47
Registriert: 23.04.2020 01:57

Re: [3.2][3.3][DEV] Adressverwaltung Tourziele

Beitrag von Ecmur »

HuHu @Mike
Danke für die Bereitstellung der Erweiterung.
Habe die Erweiterung Installiert und aktiviert und das ganze sieht schon mal echt gut aus :) :)
Benutzeravatar
waldkatze
Ehemaliges Teammitglied
Beiträge: 792
Registriert: 08.03.2013 21:50

Re: [3.2][3.3][DEV] Adressverwaltung Tourziele

Beitrag von waldkatze »

Hallo Mike,
erst mal Danke für die klasse Arbeit. Update auf Version 0.2.0 ohne Problem.

Hinweis für Benutzer zur Datenübernahme aus Tabelle tourziel.php von waldkatze Version 0.1.1
In dieser Tabelle müssen zwingend alle folgende Angaben vorhanden sein:
- Land
- Region
- Kategorie
- WLAN

Wenn Einträge ohne diese Angaben vorhanden sind, wird der Eintrag nicht in die neue Tabelle mot_tourziel.php übernommen !!!
Vor Datenübernahme deshalb alle alten Daten auf Vollständigkeit überprüfen und ggf. vorher anpassen.

Die Datei tranfer.php von Mike deshalb erst ausführen, wenn alle alten Einträge geprüft sind.
Das Bremsen eines Motorrades ist die Verschwendung hochwertiger Geschwindigkeit in sinnlose Wärmeenergie.
Benutzeravatar
Mike-on-Tour
Supporter
Supporter
Beiträge: 1075
Registriert: 13.01.2020 21:09
Kontaktdaten:

Re: [3.2][3.3][DEV] Adressverwaltung Tourziele

Beitrag von Mike-on-Tour »

Hallo waldkatze,

mit diesem Hinweis hast du natürlich Recht. Ist mir nicht aufgefallen, weil ich diese Angaben in meinen Test-Einträgen (mit deiner letzten Version) befüllt hatte.

Ich werde diesen wichtigen Hinweis dann auch mal auf meiner Download-Seite mit aufnehmen.
Benutzeravatar
waldkatze
Ehemaliges Teammitglied
Beiträge: 792
Registriert: 08.03.2013 21:50

Re: [3.2][3.3][DEV] Adressverwaltung Tourziele

Beitrag von waldkatze »

@Mike
Ich bin auch nur drauf gekommen, weil aus meiner alten Tabelle 2 Einträge nicht eingelesen wurden.
Da wir mittlerweile fast 300 Einträge haben, wäre es mühselig jeden Eintrag einzeln zu prüfen.
Ich habe die alte tourziel.php im SQL-Dumper geöffnet. Damit hat man den schnellen Überblick.
In den 2 Einträgen waren obengenannte Daten nicht vollständig eingetragen.
Habe es gleich im SQL-Dumper geändert und schon lief das.

Vorschlag zu Verbesserungen:
Ich hatte in der ersten Version für phpBB 3.0.14 noch folgendes drin:
- UCP-Bereich, Schnellüberblick damit jeder User schnell seine eigenen Einträge sieht. Inklusive ändern und löschen.
- Übersichtskarte aller Tourziele.

Ich hatte aber bisher keine Zeit um das für phpBB 3.3.x zu erweitern.

Falls du Lust hast...
Das Bremsen eines Motorrades ist die Verschwendung hochwertiger Geschwindigkeit in sinnlose Wärmeenergie.
Benutzeravatar
Mike-on-Tour
Supporter
Supporter
Beiträge: 1075
Registriert: 13.01.2020 21:09
Kontaktdaten:

Re: [3.2][3.3][DEV] Adressverwaltung Tourziele

Beitrag von Mike-on-Tour »

Ja, an eine Übersichtskarte hatte ich auch schon gedacht, aber mit GoogleMaps wird das schwierig, es sei denn, man benutzt einen API-Key. Sollte aber auch nicht das Problem sein, da muss schon jede Menge traffic drüberlaufen, damit das kostenpflichtig wird. Oder man nimmt OSM und Leaflet, so wie ich es bei meiner Usermap tue.

UCP klingt auch interessant, ich werde über beides mal nachdenken.
vfrblue
Ehemaliges Teammitglied
Beiträge: 1994
Registriert: 22.11.2016 18:46

Re: [3.2][3.3][DEV] Adressverwaltung Tourziele

Beitrag von vfrblue »

Wieso nicht in der User-Map anzeigen lassen, wenn diese auch installiert ist?
Benutzeravatar
Mike-on-Tour
Supporter
Supporter
Beiträge: 1075
Registriert: 13.01.2020 21:09
Kontaktdaten:

Re: [3.2][3.3][DEV] Adressverwaltung Tourziele

Beitrag von Mike-on-Tour »

Die Idee hatte ich auch schon, aber auch dann müsste die tzv trotzdem noch eine entsprechende Funktion haben, falls jemand nicht beide Erweiterungen installiert hat. Der Aufwand würde sich also erhöhen, weil ich dann noch eine Bridge zwischen tzv und Usermap schreiben müsste.
Steve Wuppertal
Mitglied
Beiträge: 200
Registriert: 09.05.2011 17:10
Wohnort: Wuppertal
Kontaktdaten:

Re: [3.2][3.3][DEV] Adressverwaltung Tourziele

Beitrag von Steve Wuppertal »

Warum doppelt einbauen wenn es auch einfach geht :wink:
Eine Notiz im ACP der Tourenverwaltung das die Usermap installiert werden muss falls eine Anzeige auf einer Karte gewünscht wird.
In der Usermap können ja alle nötigen Einstellungen (Google-Maps der OSM-Maps) vorgenommen werden.
Die Tourenverwaltung blendet dann die Tourenziele in der Usermap ein, sofern diese installiert ist.
Benutzeravatar
waldkatze
Ehemaliges Teammitglied
Beiträge: 792
Registriert: 08.03.2013 21:50

Re: [3.2][3.3][DEV] Adressverwaltung Tourziele

Beitrag von waldkatze »

'@Mike
in der Datei /event/mot_tzv_listener.php (Neuester Tourziel-Eintrag im Index anzeigen) ist ein kleiner Bug drin.

Zeile 134 ändern auf:

Code: Alles auswählen

'U_MOT_TZV_NEW_EVENT'		=> generate_board_url() . "/app.php/mot_tzv/tzvlist",
Dann funktioniert der Link zur Tourzielliste.
Das Bremsen eines Motorrades ist die Verschwendung hochwertiger Geschwindigkeit in sinnlose Wärmeenergie.
Antworten

Zurück zu „Extensions in Entwicklung“