proxy problem:
when using override-ext-ajax.js; set OpenLayers.ProxyHost =
“cgi-bin/proxy.cgi?url=” (assuming you application is located in the localhost
root directory)
configure the URL for the DescribeFeature store, etc directly to the WFS (
ex: ‘http://localhost:8080/geoserver/wfs” )
Print problem:
>>var printPage = new GeoExt.data.PrintPage({});
You should either ditch the curly braces (“{}”) and let it use the defaults
–OR- put some actual configuration information (especially ‘layout’:<Some Valid
Layout Name>) in the curly braces.
Matt Priour
Kestrel Computer Consulting
From: Philippe Rufin
Sent: Thursday, September 08, 2011 7:25 AM
To: Matt Priour ; [email protected]
Subject: Re: [Users] Tutorial / Documentation for Query Panels in GeoExt?
Hi Matt,
thanks for the fast answer. I added the override-ext-ajax.js, the requests are
now send with the URL parameter:
http://localhost/cgi-bin/proxy.cgi?url=http%3A%2F%2Flocalhost%2Fcgi-bin%2Fproxy.cgi%2Fwfs%3FVERSION%3D1.1.0%26REQUEST%3DDescribeFeatureType%26TYPENAME%3Dcases%26query%3D
It seems, something´s still wrong since adding the js file didn´t help making
it work properly. The proxy.cgi URL is now in it twice, how did that happen?
How can I "add the URL myself" here to just test?
Considering the PrintProvider. I installed the required files properly and the
print() function works fine. For adding the print function to my map panel, I
used the following code:
var mapPanel = new GeoExt.MapPanel({
title: "Case Mapping",
region: "center",
viewConfig: {forceFit: true},
width: 800,
height: 400,
map: map,
layers: [nrw,sttl,lvr,inz,vecLayer],
bbar: ["->", {
text: "Print...",
handler: function() {
var printDialog = new Ext.Window({
items: [new GeoExt.PrintMapPanel({
sourceMap: mapPanel,
printProvider: new
GeoExt.data.PrintProvider({
method: "POST",
url: "/geoserver/pdf",
listeners: {
"loadcapabilities": function() {
var printPage = new
GeoExt.data.PrintPage({
});
printPage.fit(mapPanel, true);
printProvider.print(mapPanel, printPage);
}
}
})
})],
bbar: [{
text: "Create PDF",
handler: function() {
printDialog.items.get(0).print();
}
}]
});
printDialog.show();
}
}]
});
When using this, and trying the print button on the map panel, the following
error occurs:
this.printProvider.layout is null
var printSize = this.printProvider.layout.get("size"); (Line 240 in the
PrintMapPanel.js)
Is it any configuration regarding the size of the map panel missing? I tried
several settings but didn´t really find out what it might be...
Cheers,
Philippe
On 05.09.2011 18:15, Matt Priour wrote:
1. You are missing the URL parameter in your proxy request. it should be:
...proxy.cgi?url=<urlencoded full path to service>
for example:
http://localhost/cgi-bin/proxy.cgi?url=http%3A%2F%2Flocalhost%3A8080%2Fgeoserver%2Fwfs%3Fversion%3D1.1.0%26request%3DDescribeFeatureType%26typename%3Dcases
This will be done automatically for you when using OL methods with your
OpenLayers.ProxyHost = “proxy.cgi?url=”
This will also be handled automatically when you are using this configuration
and are using GeoExt’s “override-ajax-ext.js” file which forces all AJAX
operations in ExtJS through the OpenLayers.Request class
If you don’t want to use this file and want to only primarily use GeoExt /
ExtJS methods for dynamically configuring the QueryPanel, then you will have to
add the url parameter yourself before the request is actually made.
2. Printing is chiefly done through the Mapfish/Geoserver Print Module on the
server side with client side interface provided by GeoExt.data.PrintProvider
and its associated classes
http://www.mapfish.org/doc/print/
http://docs.geoserver.org/latest/en/user/community/printing/index.html
http://dev.geoext.org/docs/examples.html#print-preview-window
3. Exporting data as CSV can be done as a WFS output format when using
Geoserver.
http://docs.geoserver.org/latest/en/user/services/wfs/outputformats.html
_______________________________________________
Users mailing list
[email protected]
http://www.geoext.org/cgi-bin/mailman/listinfo/users