Skip to content

GSIP 202

Jody Garnett edited this page Jun 22, 2023 · 19 revisions

GSIP 202 - Welcome Page Layout

Overview

Proposed By

Jody Garnett (GeoCat), Michel Gabriël (GeoCat)

Assigned to Release

This proposal is for GeoServer 2.20.

State

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

Motivation

The addition of ogcapi-services is a good opportunity to update the layout with to make use of the service title and abstract information and present the services cleanly by workspace.

Proposal

The proposal is presented visually on sketch cloud for your feedback: Sketch

The proposal looks at the experience of end-user (not logged in).

Highlights:

  1. Freemarker template for welcome page layout

  2. Headings for the main service categories

    • Maps: Use wms title and abstract, provide links to WMS and ogc-api-maps (when available)
    • Features: Use wfs title and abstract, provide links to WMS and ogc-api-features (when available)
    • Coverage: Use wcs title and abstract, provide links to WCS and ...
    • Tiles: Use wmts title and abstract, provide links to WMTS, TMS, and ogc-api-tiles (when available)
    • Process: use wps title and abstract, provide links to WPS, ogc-api-process (when available)
  3. Welcome page for each workspace, some ability to navigate to the workspaces is required.

  4. Headings are only shown for enabled services

    • If we turn off global services none will be listed on the global welcome page.

    • Welcome page for a workspace only the services activated for that workspace.

  5. Default welcome template customized in data directory, and per workspace (just like for ogc-api-services or GetFeatureInfo).

Backwards Compatibility

This proposal is additive in nature and works with the service title and abstracts defined in an existing data directory. This is shown in the sketch.

Feedback

  • Handling of clients like "layer preview", "demo page", "seeder":

    • Consider listing Layer Preview alongside the other services?

    • Consider linking to demo pages like WCS Builder along side the other services?

  • How much visual integration with ogc-api service html landing pages?

    • Is each ogc-api service a standalone page and presentation, or do we want breadcrumbs?
  • How to handle listing / searching of available virtual services?

    • Settled on a searchable text field at the top of the page
  • Do we use the word "workspace" (admin focused) or "virtual service" (publication focused)?

    • Recommending "virtual service" as these pages are for visitors
  • What about the welcome page extension points (for admin warnings and so forth)?

    • That is mostly shown to administrators at the top of the page

    • This proposal does not change this functionality, will add to the sketch

  • Prefer if you propose a very complete data model and a demo layout to start.

    Considering how to do this (based on user guide ):

    • welcome.ftl - welcome page backed by contact information (which may be workspace specific). Workspace configuration with prefix, namespace, default, isolated, global, etc ...

      <#if contact.organization??>GeoServer,<#else>This GeoServer belongs to ${contact.organization},</#if>
      <#if contact.contact??>for more information visit <a href="http://geoserver.org">geoserver.org</a>.<#else>for more information please contact <a href="mailto:${contact.email}">${contact.contact}</a>.</#if>
      
    • service.ftl - service block backed by service configuration with title, abstract, and common attributes such as keywords.

      <h2><#if service.title??>${service.name}<#else>${service.title}</#if></h2>
      <p>${service.abstract}</h2>
      
    • Service end-points - service.ftl data model provides a list, based on processing the existing extension-point.

    • Tools - service.ftl data model provides a list, based on processing the existing pages and tools end-points.

    • Administration - the administration block is generated by wicket and already has an extension points for the warnings shown. This is not customizable by FreeMarker template.

    • about.ftl - no data model provided (as we do not even want a hint of leaking information)

      <p>GeoServer is an open source server for sharing geospatial maps and data using open standards.</p>
      <p><a href="http://geoserver.org">GeoServer Home Page</a>
      <p><a href="https://docs.geoserver.org/latest/en/user/">GeoServer User Manual</a>
      
      <h2>Service Use</h2>
      ... 
      
    • Data model documented in the user guide along with with environment, Math, ...

    • template location (using welcome.ftl as an example):

      • GEOSERVER_DATA_DIR/workspaces/<workspace>/<datastore>/<featuretype>/welcome.ftl - feature type specific template
      • GEOSERVER_DATA_DIR/workspaces/<workspace>/<datastore>/welcome.ftl - data store specific override
      • GEOSERVER_DATA_DIR/workspaces/<workspace>/welcome.ftl - workspace specific override primary use
      • GEOSERVER_DATA_DIR/workspaces/welcome.ftl - global override
      • GEOSERVER_DATA_DIR/templates/welcome.ftl - global override

Voting

Project Steering Committee:

  • Alessio Fabiani: +0
  • Andrea Aime: +1
  • Ian Turton: +1
  • Jody Garnett: +1
  • Jukka Rahkonen: +1
  • Kevin Smith:
  • Simone Giannecchini: +0
  • Torben Barsballe: +1
  • Nuno Oliveira: +1

Community support:

  • Carlo Cancellieri

Links

Design

Initial Design

screen snap

Clone this wiki locally