-
Notifications
You must be signed in to change notification settings - Fork 1
GSIP 66
Storing OGC service configuration per workspace.
Justin Deoliveira
2.2.x
Completed
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].
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.
A number of core configuration classes change with this proposal.
The ServiceInfo
interface now contains a “workspace” property.
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.
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
...
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.
This section should contain feedback provided by PSC members who may have a problem with the proposal.
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.
Andrea Aime: +1 Alessio Fabiani: Ben Caradoc Davies: +0 Gabriel Roldan: Justin Deoliveira: +1 Jody Garnett: +1 Mark Leslie: Rob Atkinson: Simone Giannecchini:
JIRA Task Email Discussion Wiki Page
©2020 Open Source Geospatial Foundation