GeoWebCache Integration Overview

Objective

This proposal aims to provide GeoNode layers -both local and remote- with the performance benefits of tile cacheing in a seamless way, even when they change (either content or styling), while at the same time providing configuration and operational flexibility enough for the administrators to keep the cache healthy.

To do so, it is envisioned that a GeoNode instance sits in front of a  GeoWebCache instance the same way it does for  GeoServer and  GeoNetwork, managing it through it's REST API in order to control the life cycle of the cached layers as well as the status of the tile cache (with regard to expiration of tiles, cache disk quota limits, etc).

Project Proposal

Please refer to the Project Proposal for more detailed information.

Requirements and Specifications

User Needs

Please refer to the User Needs page for more background on the motivation and discussions that got this proposal rolling.

Use Cases

Please refer to the Use Cases page for a detailed description of each use case.

CodeNamePriorityStatus
0a Cache remote Layer Essential Approved
0b Truncation of Layers based on GeoRSS feed Desired Validated
0c WMS Service registration Optional Pending Validation
0d WMS Service registration through Composer Optional Pending Validation
1a Cache local Layer Essential Approved
1b Bypass cache on Style edit Essential Approved
1c Cache new Styles Expected Validated
1d Invalidate cache for a Layer Style upon Style deletion Expected Validated
1e Invalidate layer cache upon new layer version upload Essential Approved
2a Limit max cache size Essential Approved
2b Manual cache truncation Essential Validated

Feature Set

Please refer to the Feature Set page for a detailed description of each feature.

CodeName
F01 GWC admin page
F02 Track cached/uncached versions of the same Layer
F03 Python client for GWC REST API
F04 GWC REST API

Tasks

Ticket Summary Resolution Estimated Hours
#604 GWC Admin summary page fixed 12
#605 GWC truncate page fixed 12
#606 Set GWC cache size limit admin page fixed 4
#607 GWC admin page to define a GridSet invalid 16
#608 GWC admin page to set a GeoRSS update source for a Layer wontfix 8
#609 Track cached layer on Django and JavaScript layer model invalid 8
#610 JavaScript client layer source switching fixed 16
#611 GWC REST API: GridSets invalid 8
#612 GWC REST API: WMS Layers invalid 12
#613 GWC REST API: Style caching wontfix 12
#614 GWC REST API: Layer truncation invalid 4
#615 Implement global cache size limit for the diskquota module fixed 16
#616 GWC REST API: Disk Quota fixed 8
#617 GWC REST API: GeoRSS update sources invalid 8
#618 Python GWC REST client: Design and prototype invalid 8
#619 Python GWC REST client: WMS Layers invalid 8
#620 Python GWC REST client: GridSets invalid 16
#621 Python GWC REST client: Truncation invalid 8
#622 Python GWC REST client: Disk Quota invalid 8
#623 Python GWC REST client: GeoRSS update sources invalid 8
#871 Use GWC instead of hitting GeoServer directly for layer detail page fixed 0
#928 automatically cache on demand non default styles fixed 0
#929 automatically cache on demand non default styles fixed 0
#930 Support parameter filters in DiskQuota statistics fixed 0
#931 gutter for gwc to ensure proper cross-tile rendering of point symbols -- 0
#934 GWC multiple style caching misbehaves fixed 0


Return to the Roadmap Ideas page