Skip to content

GSIP 66

Jody Garnett edited this page Jul 12, 2017 · 1 revision

GSIP 66 - Workspace Local Services

Overview

Storing OGC service configuration per workspace.

Proposed By

Justin Deoliveira

Assigned to Release

2.2.x

State

Completed

Motivation

Current support for virtual services only allows one to create workspace specific views of the catalog. True virtual services requires that the server be able to store service configurations on a workspace by workspace basis.

This proposal is really a continuation of [GSIP 44 - Virtual services with workspaces].

Proposal

For the quick version see the current patch .

The main idea of the proposal is to allow a service instance to be contained as a workspace, as well as preserve the idea of a “global” service, which is not contained by any workspace.

Core configuration api changes

A number of core configuration classes change with this proposal.

ServiceInfo

The ServiceInfo interface now contains a “workspace” property.

GeoServer

There are actually not many changes to this class. The idea is to have the selection of a specific service based on workspace be transparent to client code, much in the same way the existing virtual services work with the catalog.

So now the service methods on GeoServer interface will consult the existing thread local instance LocalWorkspace, and when set will cause the service to be looked up by workspace. Naturally falling back to the global service when no workspace specific service exists.

Data Directory

Existing service configuration files live directly under the root of the data directory. Naturally a workspace specific configuration file lives under the root of the workspace directory.

data_dir/
   wms.xml   (global)
   wfs.xml
   ...
   workspaces/
     topp/
       wfs.xml   (workspace specific)
       wms.xml
       ...

Web UI

The user interface must be updated to allow users to manage workspace local service configurations, allowing for adding, deleting, modifying, etc… The idea is to add a drop down to the service admin pages allowing the user to choose a workspace. The drop down only contains those workspaces that actually have a custom service configuration.

image

To add/remove a workspace specific configuration the user navigates to the workspace page, which now contains a check list of services to make custom to the workspace.

image

Feedback

This section should contain feedback provided by PSC members who may have a problem with the proposal.

Backwards Compatibility

In terms of configuration format, there should be no compatibility issues backwards or forwards. Previous versions of GeoServer run on a configuration with workspace specific services will simply ignore the services.

Voting

Andrea Aime: +1 Alessio Fabiani: Ben Caradoc Davies: +0 Gabriel Roldan: Justin Deoliveira: +1 Jody Garnett: +1 Mark Leslie: Rob Atkinson: Simone Giannecchini:

Links

JIRA Task Email Discussion Wiki Page

Clone this wiki locally