.. _0-4-release-notes: #----------------------------------------------------------------------------- # $Id$ # # Project: EOxServer # Authors: Fabian Schindler # #----------------------------------------------------------------------------- # Copyright (C) 2014 EOX IT Services GmbH # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to # deal in the Software without restriction, including without limitation the # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or # sell copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies of this Software or works derived from this Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS # IN THE SOFTWARE. #----------------------------------------------------------------------------- EOxServer 0.4 ============= This major release introduced a lot of new features since the last stable version and included a major restructuring of many of EOxServer internals. New Data Models --------------- The 0.4 release overhauled the previous data models to provide a more efficient, flexible and performant way to query and insert data. More important is that the introduction of the new data models made the `Data Integration Layer` obsolete. Only `Django's QuerySet `_ are necessary for all data model related tasks. Especially for large datasets this mechanism improves the overall performance drastically. The new backends data models provide a more flexible approach for additional data sources and packages that can be realised using the `New Plugin System`_. New Plugin System ----------------- The new plugin system was introduced to make the extension of functionality easier, more efficient and less error prone. For this reason `trac's plugin system `_ was copied and added to the EOxServer source tree. The configuration of the plugins are not done in the ``settings.py`` file instead of the database. Miscallaneus Internal Improvements ---------------------------------- Various internal APIs have been revised and improved. Decoders ~~~~~~~~ A new API for decoding config files, XML files and KVP requests has been established. It has a large spectrum of functionality and allows to parse requests to actual Python types with proper validity checking. Backends ~~~~~~~~ A new backend data retrieval and cache system was implemented. This goes inline with the new data models and plugin system to easily extend the existing storage possibilities. XML Encoding ~~~~~~~~~~~~ A new XML encoding mechanism on top of `lxml `_ was implemented which is an order of magnitude faster than the previous `dom `_ based solution. Management Commands ------------------- All management commands have been revisited and streamlined to their respective core functionality. For convenience there now is a bulk ingestion command to allow a fast way to register a large number of datasets with a prepared CSV file. Service Improvements -------------------- Also on the outward side of EOxServers capabilities a lot has been achieved. The service layer makes extensive use of the new Plugin system which makes it easy to add new services, renderers, connectors and whatever else is required. WCS 2.0 ~~~~~~~ EOxServer now fully supports the following WCS 2.0 service extensions: * `Scaling Extension `_ * `Interpolation Extension `_ * `RangeSubsetting Extension `_ * `CRS Extension `_ * `GeoTIFF Encoding Extension `_ WMS (all versions) ~~~~~~~~~~~~~~~~~~ The WMS rendering was rewritten from scratch to allow various additional layer types, input data and storage forms. WMS mask layers allow the visualization of various mask types (clouds, snow, low quality or the like) either in a colorized manner or as a cutout of the original raster. WPS 1.0 ~~~~~~~ EOxServer now supports synchronus processes invocation via the WPS 1.0 protocol. Processes are components that are easily written and plugged into any EOxServer instance. Webclient --------- The existing webclient was replaced by a custom build of `EOxClient `_. It allows the inspection of more than one collection or dataset and features a dynamic timeline to ease the visual inspection of large datasets.