**
Hi,
unfortunately, I have to bother you again. OpenLayers.ProxyHost =
“cgi-bin/proxy.cgi?url=” was already set from the beginning. The application
is in my Apache Document Root and the store I use is the following:

    var owsUrl =
"http://localhost:8080/geoserver/wfs";<http://localhost:8080/geoserver/wfs>
;
    var store;
    Ext.onReady(function() {

                store = new GeoExt.data.WFSCapabilitiesStore({
                url: Ext.urlAppend(owsUrl,
                   "SERVICE=WFS&VERSION=1.0.0&REQUEST=GetCapabilities"),
                protocolOptions: {version: "1.1.0"},
                autoLoad: true,
                listeners: {
                    load: initApp
                }
                });
            });

Still, the attribute columns are not read after the request was sent.
Concerning the print issue, ditching the curly braces or inserting a proper
layout name (one from the config.yaml, e.g. Letter, A4 etc. doesn´t seem to
work either. Do you have any other recommendations, what it might be?

Cheers,


Philippe

On 08.09.2011 16:41, Matt Priour wrote:

 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 <philippe.ru...@googlemail.com>
*Sent:* Thursday, September 08, 2011 7:25 AM
*To:* Matt Priour <mpri...@kestrelcomputer.com> ; users@geoext.org
*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
Users@geoext.org
http://www.geoext.org/cgi-bin/mailman/listinfo/users

Reply via email to