GeoServer Improvement Proposals
This page lists the currently active GeoServer Improvement Proposals (GSIPs).
Proposals Under Discussion
The following proposals are currently being set up and/or voted on.
- GSIP 70 - Reduce CatalogFacade API — Run a deprecation cycle to save about 63 superfluous methods from CatalogFacade by making it more generic, and optionally remove the 8 dettach methods from Catalog. Depends on GSIP 69.
- GSIP 81 - GetLegendGraphic as text (JSON) — To compose the legend on the client side making it interactive localized and styled in the way the web-styler (or the map component) wants.
- GSIP 95 - GetLegendGraphics BBOX and SRS parameter — GetLegendGraphic BBOX+SRS parameter to reflect the map on screen.
- GSIP 97 - Promote CSS Styling module from Community to Extension — Promote CSS Styling module to extension.
Active Proposals
These proposals have been accepted, and now include a JIRA number to track their progress
- GSIP 96 - Machinery to pass thread locals down in thread pools — Allow code running in thread pools to have the same context variables as the one running in the main request threads (e.g., authentication information)
Completed Proposals
These proposals have been completed, and have been made available in a public release.
- GSIP 1 - Project Steering Committee formation — The bootstrapping of the Project Steering Committee, to give it power in a formal motion
- GSIP 2 - Automated Code Formatting — Adding automated code formatting to the maven build so that code formatting is always done.
- GSIP 5 - Release process
- GSIP 6 - Track GeoTools Trunk — Move GeoServer trunk to geotools trunk
- GSIP 7 - OWS Dispatching System — Creating a dispatch system that can dynamically dispatch to an open web service.
- GSIP 8 - New Configuration System — Adding a new configuration subsystem that is easier to maintain and more effective then the one currently in place.
- GSIP 10 - WFS 1.1 Support — Porting wfs 1.1 implementation from ows4 branch to GeoServer trunk.
- GSIP 11 - Data configuration handling — Allowing developers to easily change data directory configurations without forcing people to download them.
- GSIP 13 - Logging — Improving GeoServer logging.
- GSIP 14 - WFS Transaction handling framework
- GSIP 15 - Contributor Agreements and Supporting Documentation — Creating Contributor Agreements and supporting documentation
- GSIP 16 - Security subsystem
- GSIP 19 - Per layer security — Allowing per layer security to complete the security offering started with service layer security
- GSIP 20 - Automated Regionating in KML MapProducer — Merge the code that does automated "regionating" (a Google-coined term for choosing to hide or show features based on zoom level) in the GeoSearch community module back into the main KML map producer.
- GSIP 22 - Community Modules — A process for managing GeoServer extensions.
- GSIP 23 - Wicket UI — A new web administration tool based on the Apache Wicket framework.
- GSIP 25 - New Documentation Framework — Formalizing GeoServer documentation process and tools
- GSIP 26 - New GeoServer Branding — Proposal for new branding - primarily logo, font and color scheme
- GSIP 27 - Long freeze handling procedures — For every major release we have a long running freeze period that prevents every activity on the stable branch for a long period, making it harder development on the same branch. This needs to be addressed to allow small features and non critical bug fixes to be attended without un-nedeeded delays
- GSIP 28 - Subversion Reorganization — Reorganizing the top level structure of branches in the svn repository.
- GSIP 31 - Use DataAccess API — [GEOS-2568] Update codebase to use DataAccess API, which the previous assumption that all features are a very limited subset of GML Simple Features Profile 0 (the simplest available official GML profile).
- GSIP 29- GeoSearch Index Exposure in GeoServer — Augment GeoServer's exposure in Google's GeoSearch by providing a nice summary page for layers.
- GSIP 30 - Roadmap Process — A proposal of a development process centered around a community managed road map.
- GSIP 32 - REST support module — The creation of a new core module which contains support classes for creating RESTful services in GeoServer.
- GSIP 33 - REST configuration module — REST configuration interface for GeoServer.
- GSIP 34 - New data directory structure for 2.x — A restructuring of the geoserver data directory for the 2.x series.
- GSIP 35 - WMS Decorations — WMS decorations provide a framework for visually annotating images from WMS with absolute (rather than spatial) positioning. Examples of decorations include compasses, scalebars, and watermarks.
- GSIP 38 - Join Open Source Geospatial Foundation — Join the Open Source Geospatial Foundation.
- GSIP 39 - Promote app-schema to extension — Promote the app-schema community module to an extension.
- GSIP 39 - Centralized, pluggable URL mangling — Provide a centralized API to build URLs allowing pluggable transformations to change them (e.g., proxy handling and the like).
- GSIP 41 - Promote perLayerSecurity UI to extension — Promote the web-security community module to an extension.
- GSIP 42 - Official testing team — Extend participation of the user base in the GeoServer evolution by setting up an official testing team.
- GSIP 44 - Virtual services with workspaces — Providing the ability to provide multiple virtual W*S services by extending the existing namespace/workspace filtering concept.
- GSIP 46 - Creating new feature types from GUI and from REST api — GeoServer so far allowed only the configuration of existing feature types as new layers. This proposal leverages the DataAccess.createSchema(...) GeoTools API to support actual feature type creation
- GSIP 47 - WMS cascading — Add WMS cascading abilities to GeoServer
- GSIP 48 - Parametric SQL views in GeoServer — Allow GeoServer to use a raw, parametric SQL statement as a data source for WFS/WMS
- GSIP 49 - WMS module cleanup and refactoring — Clean up packages, javadocs and port the seven years old code to the current Dispatcher architecture
- GSIP 50 - GML 3.2 Support — Initial GML 3.2 support.
- GSIP 51 - Upgrade to Wicket 1.4 — Upgrading the GeoServer UI to Wicket 1.4.
- GSIP 52 - Refactor out DAO for Catalog and Configuration — Creating a DAO interface for Catalog and Configuration interfaces.
- GSIP 54 Upgrade Geoserver security to Spring Security 2.0 — Upgrade from Acegi Security to Spring Security 2.0. This update is a prerequisite to continue with GSIP 53 Geoserver security improvement
- GSIP 55 - Promote WPS to extension — Promote WPS to extension.
- GSIP 56 - WMS 1.3 Support — The addition of WMS 1.3.
- GSIP 57 - Improving GeoServer authorization framework — Adding support for data filtering in GeoServer security framework
- GSIP 58 - RESTConfig API Improvements — Some general improvements to the RESTConfig api.
- GSIP 59 - Promote RESTConfig to Core Module — Moving RESTConfig from extension to core module.
- GSIP 60 - WMS Time and Elevation support for vector and raster data — Add support for Time and Elevation for vector and raster data
- GSIP 61 - WFS 2.0 — Addition of the 2.0 version of the of the Web Feature Service.
- GSIP 62 - WMS animator — Add a flexible WMS tool to generate animations based on sequences of WMS maps
- GSIP 64 - Keyword Vocabularies and Languages — Supporting vocabulary and language attributes for keywords with OGC services.
- GSIP 65 - Support for WMS AuthorityURL and Identifier — Supporting publication of AuthorityURL and Identifier elements in WMS GetCapbilities documents.
- GSIP 66 - Workspace Local Services — Storing OGC service configuration per workspace.
- GSIP 67 - Workspace Local Settings — Storing server settings per workspace.
- GSIP 68 - Introduce GUAVA library as dependency — Introduce guava-libraries as a GeoServer core dependency and provide some general guidelines on when, why, and how to use them
- GSIP 69 - Catalog scalability enhancements — Improved vertical scalability of Catalog resources (i.e. being able to efficiently manage hundreds of thousands of layers, styles, etc).
- GSIP 71 - New Security Subsystem — A completely reengineered security system with emphasis on flexibility and configurability.
- GSIP 72 - Control Flow Module Enhancements — Extend the control flow module to include ip based filtering and throttling of concurrent requests
- GSIP 73 - Workspace Local Styles and Layer Groups — Storing styles and layer groups under a workspace.
- GSIP 74 - Finer Grained Admin Security — The ability to provide limited administrative access to non administrator accounts.
- GSIP 75 - Exception I18n — Adding ability to localize exception messages.
- GSIP 76 - Extend REST API to configure settings and OWS services — Provide the capability to configure global and workspace specific settings and OWS services.
- GSIP 77 - Time boxed release model — Switching releases to a time boxed release model with clear indications of what can be done when to get out more releases, more often, and with good preticability of what can be done when.
- GSIP 78 - Switching to Git — Switching the version control system from Subversion to Git.
- GSIP 79 - Json support and WFS and WMS ExceptionHandlers — Adding support to json format to the exception handlers.
- GSIP 80 - Testing Overhaul — A retrofit of the GeoServer testing infrastructure mean to make tests more efficient.
- GSIP 82 - Reworking security filter chains — Reworking security filter chains.
- GSIP 83 - REST Extensible and customizable versions report — rest service to expose an easy to parse snapshot of all the loaded jars
- GSIP 84 - Control how layer groups are exposed in the WMS capabilities document — Expand the layer group from being just a tool to create base maps to a tool to handle layer trees in the GetCapabilities document.
- GSIP 85 - Nested layer groups — Add nested layer groups support, allowing a layer group to be a child of another layer group.
- GSIP 86 - Promote monitor module to extension — Promoting the monitoring module from community to extension with some restructuring along the way.
- GSIP 89 Creative Commons with Attribution — Make our user and developer docs available under a CC-by-A license
- GSIP 90 - Upgrading to GWC 1.4.x — Upgrade GeoServer to GeoWebCache 1.4.x, remove dependencies on Berkely DB Java edition, allow for GeoServer clustering with full functionality of embedded GWC available.
- GSIP 91 - Enhance authentication filter chain configuration — Enhance the filter chain configuration to cover common configuration uses cases. This GSIP is motivated by the security elements offered by the J2EE web.xml file.
- GSIP 92 - Allow plugins to modify WMS MapContent before map rendering — Allow the WMS MapContent to be manipulated by plugins before rendering occurs
- GSIP 93 promote XSLT community module to extension — Promoto the XSLT community module to extension
- GSIP 94 - Graduate the INSPIRE module to extension status — Promoto the INSPIRE community module to extension
Deferred and Rejected Proposals
The following proposals have not been accepted, either deffered to a later time based on planning, or rejected based on concerns mentioned during the submission process.
- GSIP 3 - Issues List Module
- GSIP 4 - Status Interface
- GSIP 9 - New Catalog — Replacing the existing GeoServer catalog with one which can provide more functionality and better scale.
- GSIP 12 - Mock Test Support — Provide base classes which make it trivial to develop unit tests based on a "mock" GeoServer setup.
- GSIP 17 - Community module handling
- GSIP 18 - Output Format Cleanup — A cleanup of the Output Format apis in GeoServer.
- GSIP 21 - KML Vector Transformer Refactoring — Clean up KMLVectorTransformer before it becomes more unmanageable than it already is.
- GSIP 24 - TIME-ELEVATION-BAND parameters parsing for WMS 1.1.1 WCS 1.X — The goal of this work is the introduction of initial capabilities to coherently parse TIME - ELEVATION - BAND parameters for WMS 1.1.1 and WCS 1.x modules.
- GSIP 36 - Resource - Publishing Split and Virtual Configuration — This proposal is deferred, as it is being done more incrementally, starting in gsips 66 and 67
- GSIP 37 - GPL plus Classpath Exception for Dispatch — Move the GeoServer dispatch system to GPL+Classpath Exception. (deferred - lost momentum)
- GSIP 40 - Review Process — Formalizing the GeoServer review processed.
- GSIP 43 - Roadmap and release handling process — A proposal for long and short term roadmap process and its relationship with releases and testing. Builds son top of the [GSIP 30 - Roadmap Process] experience and tries to improve over it.
- GSIP 45 - Moving GeoServer model in a standalone module — Moving the Geoserver catalog *Info beans into a standalone module.
- GSIP 53 Geoserver security improvement — Make Geoserver ready for access control specific to geodata and evaluate Single Sign On technologies.
- GSIP 63 - Encrypt Plaintext Passwords — Support digest and encrypted passwords for users and datastore credentials.
Added by Chris Holmes, last edited by Gabriel Roldán on Oct 17, 2011
()