GeoExt 1.1 Release Notes

Dependencies

  • Ext JS 3 >= 3.4.0
  • OpenLayers >= 2.11

GeoExt 1.1 was tested with Ext JS 3.4.0 and OpenLayers 2.11

Overview of new Features in GeoExt 1.1

  • simple i18n framework to facilitate localization of applications (#352)
  • TreeNodeActions plugin for rendering tree nodes with actions (#348)
  • WMTS and Markers layer support for GeoExt.data.PrintProvider (#422, #292)
  • layerOptions can now be a function in GeoExt.data.WFSCapabilitiesStore (#412)
  • New GeoExt.grid.SymbolizerColumn for visualizing SLD rules in a grid
  • New GeoExt.data.StyleReader for creating SLD style rule or ColorMap entry records
  • More flexible popup positioning (anchor in all corners) (#5)

Bug Fixes

See the defect page for the list of all bugs that were present in 1.0 and are fixed in the 1.1 release.

API Changes since 1.0

  • GeoExt.form.toFilter #366

In 1.0 and before GeoExt.form.toFilter always returns a logical filter (OpenLayers.Filter.Logical), even if there's only one field in the form. In 1.1, if there's only one field in the form (and if logicalOp isn't OpenLayers.Filter.Logical.NOT) then GeoExt.form.toFilter doesn't return a logical filter, it directly returns the comparison filter associated with the field.

  • GeoExt.data.FeatureStore #381

The getRecordFromFeature method is deprecated in favor of the new getByFeature method.

  • Cross-library dependencies to OpenLayers #391

GeoExt files now have @require directives to include OpenLayers files. To make use of these, a recent version of jstools or buildkit is required. For the default full-build profile, OpenLayers/ is excluded.

  • GeoExt.data.PrintProvider #399

If application devs still want to propose "inline" pdf display, they should do it using the PrintProvider::beforedownload event. The following is an example:

beforedownload: function(pp, url) {
    if (Ext.isIE) {
        new Ext.Window({
            width: 150,
            html: '<button onclick="javascript:window.open(\'' + url +  '\')">Click me!</button>'
        }).show();
        return false;
    }
}