This page last changed on Nov 21, 2011 by jdeolive.

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.

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.

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 Roldán:
Justin Deoliveira: +1
Jody Garnett: +1
Mark Leslie:
[~roba]:
Simone Giannecchini:

Links

JIRA Task
[Email Discussion|]
[Wiki Page|]


ui1.jpg (image/jpeg)
ui2.jpg (image/jpeg)
Document generated by Confluence on May 14, 2014 23:00