GeoServer Blog

Announcing GeoServer Beginner's Guide

The GeoServer community is very happy to announce that Packt Publishing has published a GeoServer book! At 350 pages, the GeoServer Beginner’s Guide provides a great introduction to GeoServer for those not yet versed in the field of web mapping.

A published book is a big milestone for any open source project and the GeoServer team is very excited. Congratulations to Packt and authors Stefano Iacovella and Brian Youngblood for a job well done!

Finally Packt has generously made a few discount codes available.

  • The code “Geoserverprint@25%off” can be used to obtain a 25% discount on print copies

  • The code “GeoservereBook@50%off” can be used to obtain a 50% discount on the eBook version

The discount codes are valid until May 31 and require an account on the Packt website. To use the codes one must:

  • Log into the account

  • Add the desired book(s) to the shopping cart

  • Enter the discount code on the shopping cart page

Thanks again to Packt. Enjoy the book!

Read More

GeoServer 2.3.0 released, first official OSGeo release!

The GeoServer team is happy to announce the release of GeoServer 2.3.0, available for download.

This release contains six months worth of improvements and fixes to the GeoServer code base. Including several important new features and improvements such as:

  • A pluggable configuration subsystem (for the catalog and service configuration)

  • GeoWebCache clustering and disk quota improvements

  • More powerful layer groups and better control of the WMS capabilities layer tree

  • Several security subsystem improvements

  • WPS process whitelist (control which processes your WPS is exposing)

  • WMS dimensions support improvements (units, custom dimensions)

  • JSON and JSONP output format support in many OGC operations

  • The monitoring module finally graduating to official extension

  • Raster re-projection quality improvements and speedups

  • INSPIRE module improvements for the WFS protocol

  • A newfound ability to catalogue all components of GeoServer via a REST API

For those daring enough to try out nightly builds the 2.3.x series also offers a new scripting extension allowing you to write WPS processes and small applications in your preferred scripting language. Also included as a nightly community module available is a complete WCS 2.0 service implementation.

More information about the new features of the 2.3.x stream can be found in the  GeoServer 2.3-beta release announcement.

OSGeo ProjectThe good news do not stop there. GeoServer has finally completed the OSGeo incubation and it’s now an official OSGeo project. Many thanks to all that participated, in particular Jody Garnett for constantly pushing forward, Landon Blake for mentoring us, and all the people that participated to the FOSS4G-AU code sprint in which all of the grunt work of provenance review was done. We want to thank in particular Jody Garnett, Adam Brown, Karin Stronkhorst, Luca Morandini and Joshua Vote for the hard work.

And last but not least there have been some bug fixes since the RC1 release, you can find a full list in the GeoServer 2.3.0 changelog. Included in this list, for those willing to try out nightly builds, is a new fast WMS JPEG encoder based on libjpeg-turbo which should give a nice boost to your raster data serving.

Download GeoServer 2.3, try it out, and provide feedback on the GeoServer mailing list.  As with any new version, be sure to backup your data directory before upgrading.

Thanks again for using GeoServer!

Download GeoServer 2.3

Read More

GeoServer 2.3-RC1 Released

The GeoServer team is happy to announce the release of GeoServer 2.3-RC1, available for download. This release contains a number of bug fixes and small improvements since 2.3-beta. Here is a quick summary:

  • faster computation of layer bounding box for Oracle data sources when the table is not in the user’s schema ([GEOS-5535])

  • a few improvements to SLD 1.1 compatibility, fixing a few bits that are available in SLD 1.0 but not quite working when read from SLD 1.1 ([GEOS-4718], [GEOS-5544])

  • fix for HTML templates not being used when the SLD has a large number or rules ([GEOS-5534])

  • improvements in the integration of the new GeoWebCache disk quota subsystem ([GEOS-5633], [GEOS-5597], [GEOS-5634])

  • handling the same parameter used multiple times in the same request ([GEOS-5645])

  • ability to recover the master password in case it’s lost ([GEOS-5606])

  • fixed a number of extensions that were not properly working in 2.3-beta, app-schema and excel, ([GEOS-5496], [GEOS-5629])

  • GetLegendGraphics won’t cut out large point symbols anymore, it will rescale them instead ([GEOS-5592), and made GetLegendGraphics work against layers whose geometry type is unkonwn ([GEOS-5587])

See the change log for all the details. Special thanks to everyone who contributed for this release.

Try out the release candidate today and help us by reporting any issues found on the GeoServer mailing list and in the bug tracker.

Read More

GeoServer 2.2.5 released

The GeoServer team is happy to announce the release of GeoServer 2.2.5, now available for download.

This is the latest release of the stable 2.2 series. The changes that might interest the most users are:

  • Errors are not thrown anymore  when a gridset is added to geowebcache.xml and geoserver restarted  [GEOS-5288]

Also, looking at the corresponding GeoTools release changelog we have the following extra goodies in:

  • Setting PK_METADATA_TABLE for JDBCDatastore without schema does not end in illegal statement anymore [GEOT-4192]

  • “property” filter function did not work anymore after style and filter attribute extractor got updated to support complex features  [GEOT-4393]

  • Added an optional geometry_columsn metadata table for the SQLServer store  [GEOT-4252]

  • Speeded up expensive/redundant table existance check in MetadataTablePrimaryKeyFinder [GEOT-4391]

  • some GeometryBuilder related fixes [GEOT-4373] and [GEOT-4377]

  • ReprojectingFilterVisitor didn’t reproject function parameters [GEOT-4378]

  • Teradata couldn’t resolve tesselation index view [GEOT-4379]

  • Oracle dialect use of SDO_TUNE.EXTENT_OF - didn’t include schema [GEOT-4383]

  • SE 1.1 graphic fill was not being parsed [GEOT-4384]

  • Filter.INCLUDE and Filter.EXCLUDE were not correctly handled in the WFS 1.0 protocol [GEOT-4389]

  • PropertyCollector parsing needs to ignore leading and trailing spaces [GEOT-4392]

Download GeoServer 2.2.5, try it out, and provide feedback on the GeoServer mailing list.

Thanks again for using GeoServer!

Read More

GeoServer 2.3-beta released

We’re happy to announce the release of GeoServer 2.3-beta and encourage you to download it, try out the great new features, and let us know if there are any bugs. Since this is a beta release, we recommend against deploying it in a production environment without first backing up and undertaking extensive testing.

Please report issues as soon as possible, as we expect the first release candidate as soon as next month. This beta release is the first new major release developed under the time-boxed development model and contains six months worth of improvements, including:

Pluggable configuration storage subsystem

Thanks to GSIP 69, the catalog and configuration storage subsystem is now pluggable and better suited to large scale deployments and large quantities of layers. In particular, we’ve developed a new community module allowing configuration to be stored in a relational database and tests show good performance even with millions of layers stored in it. We invite everybody interested in these capabilities to download and try out the jdbcconfig module with nightly builds and provide feedback for its development. Thanks to OpenGeo for pushing the envelope in this area.

GeoWebCache

As a result of  GSIP 90, GeoWebCache has been upgraded to the 1.4.x series for significant improvements to our clustering story. In particular, the metastore has been removed, allowing all the meta-information about the tiles to be stored in the file system. Also, the disk quota subsystem has been overhauled and the dependency for Berkeley DB Java edition has been dropped, allowing the usage of standard relational databases.  An embedded H2 database is used by default but an external database such as PostgreSQL or Oracle can be used as well to enable a cluster of GeoWebCache instances to all share the same disk quota information. Finally, on disk tile management has been improved to allow multiple instances of writing and reading in parallel without conflict. Thanks to the Norwegian Public Road Authority for sponsoring the effort of GeoSolutions.

LayerGroup improvements

As part of GSIP 84 and GSIP 85, LayerGroup functionality has been significantly improved to allow not only grouping of layers but also to expose the inner structure of the group in the capabilites document and also nested layer groups to form a full-fledged tree. A layer can be nested in more than one tree to provide flexibility when presenting the information to WMS clients. It’s also now possible to specify a custom title and abstract for a LayerGroup to better describe it in the capabilities document. Find out more in the GeoServer documentation. Thanks to GeoSolutions for performing the work and DLR and EUMETSAT for sponsoring it.

Security subsystem improvement

The security subsystem has been improved thanks to GSIP 82 and GSIP 91. Both improvements target the security authentication chains, making them more flexible and easier to configure as well as improving the user interface. Administrators can now create custom authentication chains and associated them to the different URLs GeoServer exposes. Authentication chains can enforce SSL connections and send back roles for authenticated principals in an HTTP response header attribute. It is also possible to disable security for a chain. The filter chain matching is extended to optionally check the HTTP method(s) of an incoming request—for example, giving anonymous access for GET and POST but requiring basic authentication for PUT and DELETE.

Both the Central Authentication Service (CAS) subsystem and the authkey community module have also been made functional again.

Many thanks to Christian Mueller for the continued work on the security subsystem.

WPS process selection

The WPS configuration panel now allows the administrator to select which processes to expose to clients, making it possible to expose just a selected few and thereby improving the performance and stability of the server. Thanks to GeoSolutions for developing this new functionality.

WMS dimension support improvements

While 2.2.x series added support for time and elevation in WMS, the 2.3.x series brings significant improvements in this area. In particular:

  • Dimensions can now be associated with a unit symbol and a unit dimension. Thanks for Michael Romero for providing this improvement.

  • User-defined dimensions are now supported for raster data, allowing dimensions other than time and elevation to be advertised and managed via WMS. Thanks to Mike Benowitz for providing this improvement.

  • Image mosaic can now gather and manage custom dimensions. Thanks to GeoSolutions for developing this under DLR and EUMETSAT sponsorship.

Monitoring extension

The monitoring module graduated from community module to extension, and gained new functionality in the process:

  • The system can now gather more information about requests, such as HTTP referrer and better support for requested BBOX

  • The storage subsystem has been made pluggable, with the Hibernate classic one being the default implementation

Thanks to OpenGeo for pushing the envelope on this one.

JSON all over

JSON and JSONP support has been added in several places to support JavaScript development:

  • WMS GetFeatureInfo output format

  • WMS Describelayer

  • WFS DescribeFeatureType (as JSON schema)

  • WMS exceptions can now be requested in JSON format as well

Thanks to GeoSolutions for developing these improvements with FAO sponsorship.

Gather information about what’s installed in your GeoServer

The work performed under GSIP 83 is going to make  it easier to manage several GeoServer installations. This work added a REST API allowing administrators to gather information about all the libraries included in a certain GeoServer installation and answer questions such as:

  • What precise version of GeoServer and GeoTools are used in a certain installation?

  • What extensions and community modules are included?

  • What java libraries are available in the installation, and what version?

Thanks to GeoSolutions for developing these improvements with FAO sponsorship.

INSPIRE module improvements

The INSPIRE community module has been enhanced and now provides INSPIRE specific metadata in the WFS 1.1 and 2.0 capabilities modules, bringing GeoServer closer to full WFS compliance under the INSPIRE requirements. Thanks for camptocamp for the development, and to IGN France.

Raster data management improvements

Raster data management has been significantly improved in GeoServer 2.3-beta. In particular we worked on raster data reprojection, eliminating artifacts occurring at raster borders during reprojection with better NODATA management, and significantly improving reprojection performance by streamlining the set of operations done while reprojecting a raster. We ran the WMS 2010 shootout raster reprojection tests with 2.2.x and 2.3.x and here is the speedup you can expect (the graph compares requests per second vs number of concurrent requests, click to enlarge):

Thanks to GeoSolutions and OpenGeo for pushing the envelope in this area.

Testing subsystem overhaul

Some good news for developers… If you are developing extensions, improvements, or bug fixes against GeoServer 2.2.x the slowness of the test subsystem was probably something you noticed. Months ago a team of GeoServer developers met in Vienna to improve this, creating a new set of base classes for testing and upgrading the whole system to JUnit 4 in the process. The new test subsystem is significantly faster, making development on the 2.3.x series much nicer.

OSGeo incubation progress

GeoServer OSGeo incubation is well underway and approaching completion. Special thanks to the team of developers that met in Australia to perform the code and data provenance review, we all know it’s tedious but necessary step in the incubation process. Each finding was documented as a JIRA issue, resulting in a large number of them in the 2.3.x changelog.

Everything else

The GeoServer 2.3-beta detailed release notes contain a lot more details, as well as other changes that we haven’t included in the announcement for brevity’s sake. It’s also worth having a look into the corresponding GeoTools 9.0-M1 and 9.0-beta changelogs, as GeoServer inherits significant improvements made in GeoTools.

More interesting stuff cooking in community land

While still not ready for prime time, the current development series contains a couple of very interesting new community modules:

  • A CSW service with pluggable backends and record frontends. The current backends can serve Dublin Core records out of the file system, and ISO records reflecting the current set of layers in the GeoServer configuration, making GeoServer self hosted in terms of layer searchability. Thanks to Niels Charlier, GeoSolutions, and OpenGeo for pushing the envelope in this area.

  • A WCS 2.0 service with full EO extension is in the works. The module is being developed by GeoSolutions, with sponsorship from DLR and EUMETSAT.

  • Several scripting modules supporting languages such as Python, Groovy, Beanshell, Ruby, and Javascript allow one to script WPS processes as well as little applications. Thanks to OpenGeo for this awesome improvement.

  • A W3DS service has been added recently, allowing GeoServer to serve 3D data and scenes via OGC protocols. Many thanks to Nuno Oliveira for this exciting new development.

Conclusions

Everyone who uses GeoServer should have at least one or two items in the above list to get excited about. Download GeoServer 2.3-beta, try it out, and please provide feedback and report any issues on the GeoServer mailing list.  As with any beta version, be sure to backup your data directory before upgrading.

Read More