Skip to content

GSIP 179

Andrea Aime edited this page Oct 10, 2019 · 9 revisions

GSIP 179 - Add Date Created and Date Modified in administration UI lists (layers, styles, ...)

Overview

The piratical goal of this to add Date Created and Date Modified columns to GeoServer administrations UI lists, e.g. to layers, styles, etc ... lists, this columns will be sortable.

Proposed By

  • Nuno Olivera
  • Imran Rajjad

Assigned to Release

This proposal is for GeoServer 2.17.0 and 2.16.1.

State

  • Under Discussion
  • In Progress
  • Completed
  • Rejected
  • Deferred

Motivation

In a multiple admin scenario with many layers and styles and a lot of users making changes to layers and styles, there is no direct way of knowing that which elements (e.g Layer or Style) have experienced changes from GUI or REST by other authorized users (e.g Changes in SRS, Default Styles, New Metadata tags and Field types etc), it would be a handy feature for GeoServer admin to glance at the time of creation and modification columns and quickly sort the list as per these columns to review new or modified elements.

The system admin should be able to toggle these columns off from system settings, by default it would be disabled. The catalog will need to record the creation and modification time of each object, this could also be configurable from the UI.

Proposal

The first step would be to extend the catalog to make it store the creation and modification of each object, it will be possible to enable or disable this from the global settings, by default it would be enabled. This functionality may not be supported by all catalog implementations, it will be added as a new catalog capability, this proposal only targets the default catalog implementation (data directory).

Only the time stamps of changes and additions performed through the REST or UI, i.e. that go thought the GeoServer catalog, will be recorded. This means that changes performed manually tot he data directory files will not be recorded.

In terms of UI, it will be up to each component to decide if the creation and modification timestamps are displayed and implement support for it, this proposal only targets lists under the data menu, layers, styles, ... although this feature can enabled or disabled globally, by default it will be disabled, for toggling this feature a checkbox will be added in the global settings.

We foresee changes in below classes:

GlobalSettingsPage.java will have a new checkbox that toggles this feature.

Showing the columns:

LayerProvider.java and StyleProvider.java will require new BeanProperty properties and comparators for new fields

Inside the LayerPage.java and StylePage.java class we can access the global settings using GeoServerApplication.get().getGeoServer().getSettings() and decide if we want to change the model of the table accordingly.

Backwards Compatibility

We don't foreseen any backwards compatibility, if no time stamp are available then - will be displayed in the UI.

Feedback

  • This flags shoudl go under Other Settings.

  • Both timestamps display shoudl be controlled independently, e.g. modified timestamp is usually more useful than created time stamp.

Voting

Project Steering Committee:

  • Alessio Fabiani: +1
  • Andrea Aime: +1
  • Brad Hards: +1
  • Ian Turton: +1
  • Jody Garnett: +1
  • Jukka Rahkonen:
  • Kevin Smith:
  • Simone Giannecchini: +1

Links

Clone this wiki locally