Code Monkey home page Code Monkey logo

kvwmap's People

Contributors

henryrotzoll avatar lkmse-thurm avatar mkofahl avatar pkorduan avatar rkraetschmer avatar smader avatar srahn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

kvwmap's Issues

dev-14 Autovervollständigung für Jahr

Bisher war es so, dass man das Datum eines Datumsfeldes vollständig, also mit Jahr eingeben musste.

  • Entwicklung einer Funktion, die das aktuelle Jahr automatisch anhängt wenn man nur Tag und Jahr eingetragen hat. Beide Formen Tag.Monat. und Tag.Monat sollen unterstützt werden.

dev-9 Integration von PHPWord

Installation von Composer und Einbindung von PHPWord um die Erstellung von OpenOffice-Text-Dokumenten aus kvwmap heraus zu ermöglichen.
Dieses Issue hat zunächst nur Testcharakter.

  • Hinzufügen eines Verzeichnisses vendor
  • Installation von composer
  • Installation von PHP Word in composer
  • Erzeugen einer Testseite in einem case in kvwmap

BBSR-6 Stylen der gml class layer

Anpassen der Funktion add_style in kvwmap.php damit man variable Styles erzeugen kann. Konfigurieren der Stylesettings in xplankonverter controller an Hand einer Umsetzungstabelle sld Styles to featuretype.

dev-8 Unterstützung komplexer Datentypen im GLE

  • Erstellung einer Migration mit einer mysql Tabelle für komplexe Datentypen (datatypes) und einer für die Attribute der komplexen Datentypen (datatype_attributes) in Anlehnung an layer_attributes
  • Erstellung eines Formulars für datentypen

GDI-1 Cronjobs in kvwmap verwalten

  • Neue Tabelle cron_jobs in mysql, die Informationen über auszuführende Jobs beinhaltet
    Attribute
  • id serial
  • wann (* * * * * wie bei crond),
  • sql was ausgeführt werden soll,
  • Funktionsname (später umsetzen falls benötigt.),
  • URL (die aufgerufen werden solle (später falls benötigt.)
  • user_id, die berechtigt ist den Job auszuführen
  • stelle_id, in der user berechtigt ist den Job auszuführen
  • Formular zur Bearbeitung der Einträge
  • Funktion, die die Aufträge als jobs in crontab einträgt.
  • case go=exec_cron_job zum Anstoßen des jobs mit der entsprechenden id, user_id und stelle_id

BBSR-7 Validierung der Konvertierungsregeln

Validierung der Konvertierungsregeln anhand des GML-Schemas. Anlegen eines generischen Rahmenwerks zur Definition und Durchführung 'atomarer' Prüfungen nach einzelnen Kriterien, z.B. Prüfung auf Regelabdeckung eines GML-Pflichtfeldes, Prüfung auf Einhaltung von Codelisten usw.

  • Datenmodell zum Speichern von Validierungen und Ergebnisse.
  • Layer für die Validierungsregeln.
  • Layer für die Validierungsergebnisse.
  • View zur Anzeige der Validierungsergebnisse in Liste mit Bootstrap.
  • Definition und Durchführung der Validierungen
    Implementierung der in der Tabelle validierungen beschriebenen Validierungen
  • Geometrien sind valide
  • Geometrien sind innerhalb des Plan-Geltungsbereiches

Nicht umgesetzt wurden in diesem Issue

  • Ableitung von Validierungsregeln aus dem GML-Schema
  • Geometrie sind innerhalb des Bereich-Geltungsbereiches

BBSR-1 Inititialisiere Plug-In XPlanKonverter

Erstellen eines Plug-In mit dem Namen xplankonverter in kvwmap für das MORO Projekt der BBSR.

  • Anlegen der Plug-In Dateien im kvwmap plugin Verzeichnis
  • Anlegen der initialen Layer in postgres für rp_plan, rp_bereiche, rp_objekte (verschiedene featuretypen und die Enumerations und Codelists)
  • Anlegen der Gruppen und Menüpunkte
  • Definition der Controls und Views für die Darstellung der Web-Site vom MORO-Projekt

BEV-2 Dynamische Layer

  • Dynamische Layer
    Möglichkeit variable Werte in das query und data Statement eines Layers einzusetzen.
  • Dynamische WMS-Layer
    Möglichkeit variabler Werte in WMS Connections einbauen.
  • Erzeugen von Serien von Kartenbildern entsprechend er Variationsmöglichkeiten der Layerparameter.

BBSR-22 Sequenzielle Abfolge der GML-Elemente durch XSD wird nicht immer eingehalten

Die erstellten XPlan-GML Dateien geben bei auf XP_Objekt basierenden Objekten zuerst gehoertZuBereich statt andere Elemente aus XP_Objekt aus. Da in XPlanGML_Basisschema.xsd die Ordnung der Elemente durch ein Element festgelegt wird, muss diese zur korrekten Validierung der Daten eingehalten werden.
Statt folgender Abfolge:
<xplan:RP_NaturschutzrechtlichesSchutzgebiet> <xplan:gehoertZuBereich xlink:href="#rgerger" /> <xplan:text>bezeich xyz</xplan:text> <xplan:rechtscharakter>1000</xplan:rechtscharakter> </xplan:RP_NaturschutzrechtlichesSchutzgebiet>
muss die XML wie folgt aussehen:
<xplan:RP_NaturschutzrechtlichesSchutzgebiet> <xplan:text>bezeich xyz</xplan:text> <xplan:gehoertZuBereich xlink:href="#rgerger" /> <xplan:rechtscharakter>1000</xplan:rechtscharakter> </xplan:RP_NaturschutzrechtlichesSchutzgebiet>

xplan:text muss vor xplan:gehoertZuBereich kommen, da dies in der Sequenz von XPlanGML_Basisschema.xsd so festgelegt ist. Die Abfolge der Elemente baut sich dabei weiterhin in der Folge<XP_Objekt><RP_Objekt><RP_GeometrieObjekt><RP_Freiraum><RP_NaturschutzrechtlichesSchutzgebiet> den Ableitungen nach auf, d.h. xplan:rechtscharakter muss nach xplan:text und xplan:gehoertZuBereich kommen

(Die Sequenz der Elemente wird nicht für alle Validatoren getestet. Notepad++ testet sequence, während auf Saxon basierende Validatoren wie antillesXML sequence nicht testen)

MSP-1 Ändern der Mailfunktion

  • Funktion ändern zum schreiben von JSON-Files mit Nachrichten
    Die allgemeine Funktion mail_att soll so umgeschrieben werden, dass damit auch statt einer E-Mail eine Message-Datei geschrieben werden kann. Dadurch wird es ermöglicht, dass ausgehende Mails nicht direkt geschickt werden, sondern erstmal in einem temporären Verzeichnis in Form von JSON Files gesammlt werden.
  • Script zum schicken der Mails auf Basis der JSON-Files
    Ein Externer Cronjob kümmert sich dann darum die Mails nacheinander zu verschicken, falls JSON Files vorhanden sind.

dev-12 Plugin Fortführungslisten

  • Datenmodell für Fortführungslisten
  • Konvertierung von text nach csv
  • Konvertierung von NAS nach csv und Einlesen in Formular
    Konvertiert in ff_auftrage und ff_faelle Objekte.
  • Layer anlegen und Automatisches hochzählen fortlaufende Nummer
  • Suchfunktion
  • Druckfunktion für Deckblätter

BBSR-15 GML-Objekte mit konvertierung_id filtern

  • Alle Objekte müssen doch eine konvertierung_id haben, damit die Sachen in den GML-Layern besser gefiltert werden können.
  • Alle Geometrien müssen korrekt in den Ziel epsg transformiert werden.

BBSR-4

Test ob alle 3 benötigten Datei eines Shape-Files mit hochgeladen wurden. Wenn nicht, Hinweis ausgeben.

dev-17 Aktive Menüs highlighten

  • Menüs in einer neuen Menü Klasse erzeugen.
  • Menüerzeugung in snippet vereinfachen.
  • Menüpunkte so stylen wie sie vorher aussahen.
  • Menüpunkte, die man ausgewählt hat highlighten.
  • Testen in verschiedenen Browsern.
  • Map-Funktionen unter der Karte über config.php Konstante ausschaltbar gestalten.
  • Optionen der Gaststellenrollen aus einer default Rolle übernehmen.

BBSR-18: Fehler bei der Layergenerierung von Shapes mit Umlauten

Umlaute werden bei der Layergenerierung nicht korrekt wiedergegeben.

Aus Sachsen kam dazu folgender Fehler:
das Thema 01achsen- verursacht einen Fehler und kann nicht angezeigt werden. Folgende Fehlermeldung wird ausgegeben:
mapObj::draw(): [MapServer Error]: msDrawMap(): Failed to draw layer named '01achsen-'.mapObj::draw(): [MapServer Error]: msPostGISLayerWhichShapes(): Error executing query: ERROR: syntax error at or near "?"LINE 1: ... (select oid, * from xplan_shapes_62.shp_01achsen_?berreg wh...

Hier wird der Umlaut innerhalb des Layers als Fragezeichen, statt als ue wie in der Postgres-Datenbank wiedergegeben.

  • Sessionübernahme prüfen

BBSR-3

  • Migration mit Postgres Tabellen für die Konvertierung. Erzeugen und Einrichten der dazugehörigen Layer in kvwmap. Erzeugen der Migration für MySQL. Folgende Tabellen werden angelegt.
    • konvertierungen
    • regeln
  • Darstellung der Konvertierungen im View
  • Uploadfunktion für Shape Files
  • Darstellung der Shapes im View

MSP-6 IE Ajax Bugfix

IE erkennt Dateien mit Mimetype application/json die im Response von Ajax Requests vom Server kommen als Dateien zum Download und führt die callback des Ajax Requests nicht aus.

  • Ändern des Mime-Types für IE Browser Clients.

BBSR-19 Aktualisierung des aktuellsten Modells

  • Implementierung XPlan-5.0
  • Anpassung der Migration der Datenbank in /plugins/xplankonverter/db/postgresql/schema.
    Um den Konverter zu migrieren, müssen die Schemata für xplankonverter, xplan_gml und xplan_uml gleichfalls in der korrekten Fassung übertragen werden.
  • Test der XPlanGML - Ausgabe

BBSR-23 Anpassung der Migration des Konverters

Anpassung der Migration der Datenbank in /plugins/xplankonverter/db/postgresql/schema.
Um den Konverter zu migrieren, müssen die Schemata für xplankonverter, xplan_gml und xplan_uml gleichfalls in der korrekten Fassung übertragen werden.

dev-15 Fehleranzeige bei Zugriff mit nicht berechtigter IP

Die Fehlermeldung "Sie haben keine Berechtigung von dem Rechner mit der IP: 188.14.187.4 auf die Stelle zuzugreifen." Erscheint zwar richtig, aber nicht in der Messagebox.
Wenn man dann eine andere Stelle auswählt, erscheint Quellcode im Auswahlfeld der GUI und der Button zum Absenden ist nicht zu erreichen.

MLNS-1

  • Optional zusätzlich zum Layerbaum eine Legende mit Graphiken, die die Legende darstellen.

dev-16 Einbindung von snippets über Case

Snippets lassen sich bisher nur als Template von Layern oder in PlugIns einbinden. Um auch eigene Inhalte an die Stelle der Karte und Legende zu bekommen ist ein Case zum Laden der Snippets notwendig, der dann über Menüpunkte aufgerufen werden kann.

dev-19

  • zusätzliches Attributrecht "nur exportieren"
  • ein Tab-Zeichen nur an zu exportierende Werte hängen, wenn vor "/" weniger als 3 Zeichen stehen.

BEV-1

  • Import für Prognosedaten
  • Transponieren der Bevölkerungsdaten

BBSR-10 Funktion zur Ermittlung des Konvertierungsstatus im xplankonverter plugin

Eine Datenbankfunktion muss liefern können welchen neuen Status eine Konvertierung nach bestimmten Aktionen haben muss. Diese kann dann verwendet werden um den neuen Status einzustellen. Ausgangsdaten sind:

  • der vorherige Status der Konvertierung
  • die mit dem Status verknüpften Objekte (RP_Plan, Regeln, Shapes)
  • der Zustand der Validierung
  • erzeugte GML-Dateien
  • vorher abgelaufene Nutzerinteraktionen oder Prozesse

Die Funktion wird als PostgreSQL-Funktion implementiert und erscheint als Migration in db/postgresql im Plugin xplankonverter

Die Konvertierungsstati sind wie folgt definiert:
in Erstellung
Wenn eine neue Konvertierung angelegt wurde und noch kein RP_Plan und keine Regel zur Konvertierung zugeordnet ist.
erstellt
Wenn mindestens ein RP_Plan oder eine Regel zur Konvertierung gehören und kein anderer Höherer Status gesetzt wurde.
Es wird immer auf diesen Status gesetzt nach folgenden Aktionen:

  • Wenn ein RP_Plan erstellt oder geändert wurde.
  • Wenn ein RP_Plan gelöscht wurde und noch mindestens eine Regel zur Konvertierung gehört.
  • Wenn ein RP_Bereich erstellt, geändert oder gelöscht wurde.
  • Wenn eine Regel erstellt oder geändert wurde.
  • Wenn eine Regel gelöscht wurde und noch mindestens ein RP_Plan zur Konvertierung gehört.
    Man kann den Status immer nach jeglichen Änderungen von RP_Plan, RP_Bereich und Regeln auf "erstellt" setzen, aber vorher prüfen ob noch mindestens ein RP_Plan oder eine Regel zur Konvertierung gehören und in diesen Fällen ausnamsweise "in Erstellung" statt dessen setzen.

Angaben vollständig
Wenn Anforderung von "erstellt" gelten und zusätzlich alle Pflichtfelder ausgefüllt sind. Kann entfallen, weil schon beim Ausfüllen des Planes und der Regel geprüft wird ob die Pflichtfelder ausgefüllt sind.

in Konvertierung
Wärend eine Konvertierung und Validierung läuft. Kann auch entfallen, weil zwischen diesem Status und dem nächsten "Konvertierung abgeschlossen" oder "Konvertierung abgebrochen" keine Interaktionen passieren.

Konvertierung abgeschlossen
Wenn die Konvertierung und Validierung durchgelaufen sind und keine Validierungsfehler existieren.

Konvertierung abgebrochen
Wenn die Konvertierung und Validierugn durchgelaufen sind aber Validierungsfehler vorhanden sind.

in GML-Erstellung
Wenn ebendies passiert.

GML-Erstellung abgeschlossen
Wenn ebendiese abgeschlossen ist und keine Fehler aufgetreten sind.
Das sollte der Endzustand sein und die GML-Datei zum Download zur Verfügung stehen.
GML-Erstellung abgebrochen
Wie abgeschlossen, nur wenn Fehler dabei aufgetreten sind.

  • Formatierung für Tabellen anpassen
    Die Tabellen sollten vom Style her angepasst werden. Keine Spaces, Kopfzeilen am besten in der Farbe von kvwmap.

BBSR 17 - Fehler in der GML-Ausgabe von Geometrien bei nicht-abstrakten Ableitungen

  • Beim Erstellen einer XPlan-GML Datei kommt es zu einem Fehler in der GML-Erstellung, wenn 2 Klassen durch Regeln übernommen werden sollen, bei denen eine von der anderen abgeleitet ist und beide nicht abstrakt sind.

Ein Beispiel ist die Verwendung von RP_Freiraum und RP_NaturschutzrechtlichesSchutzgebiet im Beispielplan Havelland-Fläming des Landes Brandenburg.
Hier wird ein eigentlich für RP_NaturschutzrechtlichesSchutzgebiet bestimmtes Element sowohl für RP_Freiraum, als auch für das von RP_Freiraum abgeleitete Element RP_NaturschutzrechtlichesSchutzgebiet ausgelesen. Dies führt auch zu einer doppelten Verwendung der gml:id und der Geometrie, woran eine Validierung scheitert. Gleichfalls wird ein zusätzliches doppeltes Anführungszeichen (") in den Geometrieelementen erzeugt (da die gml:id mehrfach existiert). Die Datei ist somit nicht mehr well-formed. Der Fehler-Code sieht wie folgt aus:

<xplan:position>
      <gml:MultiSurface srsName="EPSG:25833" gml:id="GML_059c1968-bd64-11e6-a824-03ce8583237c_geom_0"">
        <gml:surfaceMember>
          <gml:Polygon gml:id="GML_059c1968-bd64-11e6-a824-03ce8583237c_geom_1"">
            <gml:exterior>
              <gml:LinearRing>

Die Fehlerquelle hängt voraussichtlich mit der Klasse model/build_gml.php ~Zeile 400 ff. zusammen, könnte aber ein generelleres Problem darstellen, wenn Nicht-Abstrakte Elemente von Nicht-Abstrakten Elementen ableiten. In XPlanung betrifft dies die Klassen RP_Freiraum, RP_Verkehr, RP_Siedlung und davon abgeleitete Klassen

MSP-2 API-Funktionen in Plugin übernehmen

Die Funktionen, die sich hinter der api verstecken sind im Grund genommen auch anwendungsabhängig, da spezielle Layer benötigt werden. Darüber hinaus gibt es Angaben, die konfigurierbar sein müssen und können die angesprochenen Layer nicht geschützt werden.
Daher sollen diese in die Plugins verschoben werden. Im Konkreten Fall werden die API's für flurstuecke, Satzungsgebiete und zustaendigeStelle in das PlugIn baumfaellantrag verschoben. Da die API Anfragen sowieso nur auf den Case Layer-Suche_Suchen verweisen beschränkt sich der Anwendungsfall im Plugin auf das setzen der in der config.php angegebenen Kontanten für die Suche nach Daten.

  • Verschiebe API flurstuecke
  • Verschiebe API zustaendigeStelle
  • Verschiebe API baumfaellantrag

VG-1

  • 1. Einheitliche Suchmasken, Erst das Suchfeld Gemarkung, mit Klammerergänzung (Gemarkungsnummer), Bedarf bei: FN suchen/bearbeiten, Dann das Jahr: einheitlich, Absteigend, Bedarf bei: Gemarkung suchen
  • 1.1 Bezeichnung vom Feld in linker Spalte „Gemarkung suchen“ besser: „FN-Listen drucken“
  • 2. Über Regel prüfen ob LfdNr. wirklich die letzte mögliche Nummer ist und ob sie schon vorhanden ist.
  • 3. OID und laufende Nummer an das Ende setzen
  • 4. Hochgeladene Datei nach der Übernahme der Informationen in die DB löschen. Am Ende von Case Fortführungsfälle laden.
  • 5.1 Prüfschleifen beim Anlegen eines Antrags:
    Ist die AN bereits vergeben -> Warnhinweis zur Bestätigung (in Fällen von gemarkungsübergreifenden Messungen tritt der Fall auf!, sonst nicht) („Antragsnummer bereits vorhanden, wollen Sie fortfahren?“
  • 5.2.1 Prüfschleifen beim Hochladen der AN_FF-Auftrag: Ist AN in Dateiname identisch mit im Formular eingegebener AN Nummer. Wenn nicht Ablehnung.
  • 5.2.1.1 Je nach dem wie lang die AN ist soll auch der Dateiname geprüft werden. 9 oder 10 stellig.
  • 5.2.2 Prüfung beim Laden der Auftragsdatei: Ist AN und Gemarkung mit DB-Antrag identisch. Wenn nicht Warnhinweis zur Bestätigung („Antragsnummer/Gemarkung stimmen nicht überein, wollen Sie fortfahren?“)
  • 5.3 Prüfschleife beim Laden der FF-Fälle:
  • 5.3.1 Ein neues FS darf nur größer als in der DB (alkis Schema) vorhandene FS sein! -> Warnhinweis: „Es ist bereits ein FS vorhanden, bitte Angaben prüfen!“
  • 5.3.2 Ein altes FS muss im ALKIS Bestand vorkommen.
  • 6. FN doch bitte 3-stellig z.B. 4241 002 16. Gem (4) FN (3) Jahr(2)
  • 7.1 FN-Suchen/Bearbeiten, Suchfeld um Gemarkung, Flur, FS alt, FS neu ergänzen
  • 7.2 Markierte Suchattribute entfernen
  • 8. Manuelle Eingabe funkt im IE nicht
  • 9. Datei hochladen, AN_FF_Auftrag vorhanden -> i.O., aber: Wenn kein AN_FF_Auftrag vorhanden, dann Aufforderung zur manuellen Eingabe von: Gem, Flur, FS, FF-Anlass
  • 10. Anlassschlüssel ist im Form der Fortführungsfälle 3 mal vorhanden. Ein mal reicht.
  • 11. Besteht die Möglichkeit, diese Datenbank mit der RissDB zu verlinken, dh, ich suche ein FS, FN, AN, .. und kann mir die vorhandenen Datensätze der RissDB ansehen?
    Den ganzen Punkt 11 zum Schluss abarbeiten, ggf. im neuen Auftrag
  • 11.1 Suchformular zum Suchen von Nachweisen an hand von Gemarkung, Flur, Flurstück und neues oder altes
  • 11.2 Links in den FF-Nachweisen auf eine Suche nach Nachweisen mit Übernahme der Suchparameter AN,FN.
    Rissnr in den Nachweisen = AN(FF-Nachweise) + 3stellige Zahl
    Riss Antragsnummer + YY = FN(FF-Nachweise)
  • 12. Wenn altes FS = neues FS, neues FS beim Laden der Auftragsdatei nicht in Fortführungsfall eintragen.
  • 13. Druckausgabe:
  • 13.1. Bitte die FS aufsteigend auflisten erst z.B. 140/1, dann 140/2, …
  • 13.2. Warnings bitte eliminieren
  • 13.3. bei mehreren Seiten stimmt das Format nicht
  • 14. Zur Kontrolle:
  • 14.1 Kann man die DB auch in eine CSV exportieren? Wenn ich jetzt den Datensatz exportieren will, kommt nur die Gemarkung und das Jahr! Es wäre gut, wenn beim csv-export je FS eine Zeile ausgegeben werden kann (mit Auftragsnummer und FN)!
  • 14.2 könnte man über die DB folgende Prüfung laufen lassen?: Prüfung, ob vom StammFS über die neuen FS alle Teiler bis zum höchsten Teiler vorhanden sind!
    z.B. wenn das FS 140/8 existiert müssen von 140 über 140/1, 140/2, … bis 140/8 alle FS nachgewiesen sein.
    z.B. alt 140 -> neu 140/1, 140/2; alt (neu) 140/2 -> neu 140/3, 140/4, 140/5; alt (neu) 140/4 -> neu 140/7,140/7; alt (neu) 140/1 -> neu 140/8 (neue Nr. technisch bedingt möglich)
    Nach hinten stellen ggf. im neuen Auftrag
  • 15. Eingabe durch eine Checkbox sperren
  • 16. created_at und updated_at nur als Datum anzeigen.
  • 17. Auswahl der Jahreszahl bis 1950 erweitern

BBSR-14 Copy existing layer

  • Kopiere existierende Layer, so dass bei der Erzeugung von GML-Layern in der Fachschale xplankonverter neue Layer von existierenden Templatelayern übernommen werden können.

dev-10 Tool zur Layer-Erzeugung

Erzeuge ein Werkzeug mit dem für alle Tabellen in einem Postgres-Datenbankschema automatisch die dazugehörigen Layer und Attributdefinitionen erstellt werden. Die Eingabe ist der Schemaname, die Ausgabe SQL für die kvwmap MySQL-Datenbank.

  • Case für Layer Generierung erzeugen
  • Abfrage für Tabellen
  • Funktion zum Erzeugen der Layer
  • Abfrage für Tabellenattribute
  • Funktion zum Erzeugen der Klassen
  • Funktion zum Erzeugen der Layerattribute
  • Default Werte wie 'false' oder '0'::text' richtig auflösen.
  • Abfrage für Datentypen
  • Funktion zum Erzeugen der Datentypen
  • Abfrage für Datentypenattribute
  • Funktion zum Erzeugen der Datentypattribute

dev-18 Optionenseite anpassen

  • Option für das Ausschalten der Layeroptionen einbauen
  • Neue Optionengruppe Schaltflächen
  • Anordnung der Optionen in Stelle Wählen wie folgt ändern:
  • allgemeine Optionen
    ** Stelle
    ** Sprache
    ** Graphische Oberfläche
    ** Menüs automatisch schließen
    ** Vereinfachung im Vorlesemodus
  • Schaltflächen
    ** Kartenwerkzeuge (alt Schaltflächen)
    ** Kartenfunktionen
    ** Layeroptionen
  • Karteneinstellungen
    ** Zoomfaktor
    ** Kartenfenstergröße
    ** Aktuelle Kartenausdehnung
    ** 1. und 2. Kartenprojektion
    ** Koordinatendarstellung
    ** mitlaufende Koordinaten
    ** Karte sofort neu laden
    ** Suchergebnis-Farbe
  • Sachdatenanzeige
    ** nur ein Thema abfragbar
    ** Sachdatenanzeige in extra Fenster
    ** Reihenfolge Datensatz-Erfassung
    ** GLE-Textgröße
    ** Objekt-Highlighting
  • Beim Auswählen einer anderen Stelle alle Parameter der gewählten Stelle in das Formular übernehmen. Kartenfenstergröße "automatisch" und Kartenwerkzeuge werden derzeit nicht übernommen, auch alle anderen prüfen.
  • onclick Feld für Menues hinzufügen, damit auch onclick Events unterstützt werden.
  • Breite des Inhaltes so wie bei Karte wenn Data_Export mit simple=1

BBSR-2 Erstellung GML-Generator

  • Abfragen aller Leaf Elemente aus Schema xplan_model
  • Abfragen der Daten aus Schema gml_classes
  • Erzeugen von GML in eine Datei

BBSR-8 Laden von XPlan-konformen Shapefiles

Aufnahme von XPlan-konformen Shapefiles in der Datenbank
Variante: Xplan-konforme Shapes hochladen und einlesen.

Jeder Spalte in der Shapefile entspricht eine Spalte im Konverter. Shapefile Attributnamen für Attribute mit mehr als 10 Zeichen müssen konform mit den automatischen Attribut-Abkürzungen von pgsql2shp sein. Beispiel: gliederung1 -> GLIEDERUNG, gliederung2 -> GLIEDER_01.
Die Spalte GML-ID muss in dieser Abfrageform bereits existieren. Leere Felder in der Spalte GML-ID müssten hier jeweils befüllt werden? Dies ist notwendig um bei einer Rückkonvertierung und Wiedereinlesung o.ä. die Verbindung von Objekten zu Bereichen oder Textabschnitten zu behalten. Bei Einlesen u. Neugenerierung von GML-IDs müsste auch ein Fehler ausgegeben werden, wenn GML-IDs doppelt vorkommen (bzw. es wird automatisch eine neue GML-ID generiert?) -Daraufhin müssen Felder mit Abkürzungen im Hintergrund in Vollnamen umgewandelt werden (sonst funktioniert SELECT * FROM nicht)
Bei Abfrage kann dann SELECT * FROM ... benutzt werden.
Diese Variante wurde auf AG E-Government besprochen und von den Planträgern gewünscht.
(Low-Priority)Optionale weitere Variante: Umwandlung von Shapefiles mit XPlan-konformen Spaltennamen, jedoch mit entfernten leeren Spalten.

Bei Abfrage werden fehlende Spalten automatisch erkannt, jedes Attribut wird auf den jeweiligen gleichnamigen Attributtyp in der PostGIS-Tabelle übertragen
(Low-Priority)Optionale weitere Variante: Shapefiles mit korrekten Attributierungen aber falschen Spaltennamen (z.B. spalte RECHTSVBL statt RECHTSVERB für rechtsverbindlich mit Werten 1000, 2000 etc die XPlan entsprechen).

Hier könnten im Konverter 2 Spalten mit Checkboxen angelegt werden und so ein einfaches Mapping von Shapefile Spalten auf XPlan-Spalten ermöglicht werden.

  • Funktion zum Export und Download von XPlan konformen Shape-Dateien als Zip-File aus Liste der Konvertierungen
  • Funktion zum Download von Shape-Dateien, die hochgeladen wurden, einzeln und alle als ZIP
  • Funktion zum Export und Download von geänderten hochgeladenen Shape-Dateien einzeln und alle als ZIP

BBSR-9 Auslagern der Docs und ersetzen durch externe Links

Im Verzeichnis docs des xplankonverter plugin stehen viele große Dateien, die nicht zum Quellcode gehören. Diese sollen auf externe Stellen verschoben werden und da wo sie eingebunden werden sollen externe Links gesetzt werden.

BBSR-13 Fix SQL-Editor

  • Bei vorselektiertem Featuretyp Featuretyp-Attributetabelle schon laden.
  • Bei Aufruf des SQL-Editors aus dem Formular einer neuen Bereichsregel konvertierung_id über bereich_gml_id abfragen.
  • Attributzuweisung für CASES korrigieren
    Wenn man über wenn dann mehrere Cases zum SQL hinzufügen möchte, müssen die WHEN THEN Klauseln innerhalb der CASE END hinzugefügt werden und nicht wie jetzt als neues Attribut mit einer vollständigen CASE WHEN THEN END Klausel.
  • Pflichtattribute prüfen
    Bevor ein SQL-Statement mit dem Pfeil zur Regel zugeordnet wird, muss geprüft werden ob alle Pflichtattribute des ausgewählten FeatureTypen in dem SQL-Statement vorkommen. Wenn nicht entsprechender Hinweis. Vielleicht auch die Pflichtelemente in der Tabelle des FeatureTypen gleich hervorheben in einer anderen Farbe oder Fett geschrieben.
  • Den SQL-Editor so bauen, dass beim Aufruf das in der Regel vorhandene SQL übernommen wird, so das es mit den Möglichkeiten des SQL-Editors bearbeitet und ergänzt werden kann.
  • Die Schaltflächen in der Attributzuweisung vergrößern.
  • Umstellung aller Ajax Requests
    Alle Ajax Requests, die auf views des Regeleditors zugreifen, sollten über xplankonverter/control/index.php und entsprechende Cases mit go Variablen laufen, damit sie abgesichert werden können und die config.php und die DB connection von GUI nutzen.

dev-6 Hide Operatoren in Suchformular

Für Menschen mit Seebehinderung ist es lästig sich immer die Operatoren im Suchformular vorlesen lassen zu müssen. Daher wäre es sinnvoll diese ausblenden lassen zu können.
Das Ausblenden der Operatoren im Suchformular sollte optional sein und mit dem Parameter hide_operators=true erfolgen können.

BBSR-11 Trigger to add functions on layer change

Vor, nach und an Stelle des Erstellens, Änderns oder Löschens eines Datensatzes sollen Funktionen in PHP ausführbar sein. Wenn z.B. nach dem Anlegen eines neuen Datensatzes ein neuer Layer hinzugefügt werden soll, kann das nicht über einen Datenbanktriggerin PostgreSQL gemacht werden. Im Layer-Editor soll also für jeden Layer eingestellt werden können wann und zu welchem Anlass welche Funktion mit welchen Parametern ausgeführt werden soll. An die Funktion wird je nach Anlass der alte oder neue oder beide Datensätze, sowie die angegebenen Parameter übergeben.

  • Tablle Layer anpassen, (trigger_fired, trigger_event, trigger_function, trigger_function_params)
  • Layereditor erweitern, (Radiobuttons für fired und event, text für function und textfield für params)
  • Funktionen zum Speichern und Lesen der neuen Layereigenschaften

Anwenden der Before und After Trigger in den jeweiligen Funktionen zum

  • Erzeugen,
  • Ändern und
  • Löschen
    der Layer
  • Mehrere Trigger zulassen. Wenigstens 2 damit man before und after was triggern kann.

dev-23 FOREIGN KEY Constraints für user in MySQL Datenbank einbauen

Um Nutzer, insbesondere Gast Nutzer automatisch in einem Cron-Job per SQL löschen zu können wäre es hilfreich, wenn diese mit ihren Relationen zu den Tabellen rolle, rolle_last_query etc. verküpft wären. Damit könnte man dann kaskadiert löschen.

  • Erstellen einer Migration mit den Foreign key constraints für die betreffenden Tabellen
  • Erstellen eines Scripts, welches alle Gastnutzer, die älter als 1 Woche sind löschen. Das Script muss auch alle dazugehörigen Logdateien löschen.

BBSR-5

  • Vor (wird konvertiert) und nach (konvertierung fertig) Konvertierung status der Konvertierung ändern.
  • Aus den Feature Tabellen die GML-Datei schreiben

MSP-3 Queue für E-Mails in Datenbank

  • Migration für eine Tabelle in der EMails gespeichert werden können.
  • Scheiben der E-Mail in eine Datenbanktabelle statt in ein JSON File
  • Umschreiben des Cron scripts sendEmailAsync.sh, so dass die zu versendende E-Mails aus der Tabelle abgefragt werden und der Status und das Versendedatum dort gesetzt werden.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.