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

Reply via email to