Seltsame Druckergebnis-url in 2.6.1
Hallo,
ich habe ein internes Testportal mit der Version 2.6.1 erstellt (auf Basis der examples). Läuft auch super. Nur die Druckanbindung zickt. Abgefragt wird zum Beispiel folgende url:
An dem link fällt mit folgendes auf:
Die url aus der rest config am Anfang stimt ("url": "https://geospatial/apps/print/").
Was danach kommt scheint mir allerdings der Request zu sein. Hier hätte ich statt dessen die "printAppId": "print" erwartet.
Das report.pdf am ende stimmt dann wieder.
Die 2.5.4 produziert in der selben config z.B. https://geospatial/apps/print/print/report.pdf
Gruß
Dominik
Comments (6)
-
-
reporter Ich benutze die examples, da gibt es nur eine einzige masterportal.js und die ist auch noch minimiert. Da ist die Funktion leider schwer zu finden…
Welche Konfigurationsvariablen haben sich denn da geändert? Die Druckkonfiguration stammt aus unserer 2.5.4 wo sie funktioniert.
-
reporter Wenn man das file masterportal.js entminimiert hat man zwar obfuscatete Variablennamen, kann aber die Funktionen einigermaßen lesen.
Hier findet sich die Funktion createPrintJob, die auch gut aussieht. Was allerdings nicht gut aussieht ist folgendes:
this.get("isLegendAvailable") ? n.buildLegend(this.get("isLegendSelected"), this.get("isMetaDataAvailable")) ((n = n.toJSON()), (n = s.request("Util", "omit", n, ["uniqueIdList"])), this.createPrintJob(this.get("printAppId"), encodeURIComponent(JSON.stringify(n)), this.get("currentFormat")));
Es fällt auf: die Parameter sind vertauscht. richtig müsste es heißen:
this.get("isLegendAvailable") ? n.buildLegend(this.get("isLegendSelected"), this.get("isMetaDataAvailable")) ((n = n.toJSON()), (n = s.request("Util", "omit", n, ["uniqueIdList"])), this.createPrintJob(encodeURIComponent(JSON.stringify(n)), this.get("printAppId"), this.get("currentFormat")));
Ich suche die Stelle mal in der minimirten Datei, dann poste ich die genaue Stelle.
Im Minimierten file die Zeile 124, Spalte 302626 ff
Im Repo ist der Fehler auch: in \mapfish3PlotService.js : 312
this.createPrintJob(this.get("printAppId"), encodeURIComponent(JSON.stringify(spec)), this.get("currentFormat"));
Der request muss nach vorne, dann die id und dann der type. Entsprechend
createPrintJob: function (payload, printAppId, format) {
-
Das stimmt. Das ist ein Bug. Wird in der 2.6.2, die wahrscheinlich nächste Woche released wird, behoben sein. Das ist uns nicht aufgefallen, denn wenn "isLegendAvailable"= true, dann wird anderer Code durchlaufen.
-
-
assigned issue to
-
assigned issue to
-
- changed status to resolved
Ist in 2.6.2 behoben.
- Log in to comment
Das Portal https://geoportal-hamburg.de/geo-online/ ist auch mit der 2.6.1 gebaut. Dort funktioniert das Drucken ohne Probleme.
Liegt dein Problem vielleicht an der Konfiguration? In der Datei modules\tools\print_\mapfish3PlotService.js in der Funktion
createPrintJob
(Zeile 335) wird die Url zusammengebaut. Vielleicht hilft dir debuggen weiter?