The idea of this work is to allow WMTS requests per workspaces (virtual services), something like this:
This two request will be executed in the context of 'topp' workspace, which means that we don't need to prefix layer names with the workspace prefix and only layers that belong to 'topp' workspace will be considered.
The GetCapabilities operation result will only advertise layers that belong to 'topp' workspace and layers names will not be prefixed by the workspace name. The advertised operations URLs will keep the workspace context.
Since GWC doesn't have the concept of workspaces (a tile layer name is just a name) and adding that concept will require some work a simple approach is to let GeoServer handle the local workspace parameter.
The idea is that GeoServer ConfigCatalog will be aware of the local workspace and will only list\show layers that belong to the local workspace and before sending the request to GWC dispatcher we rewrite the request in the way GWC is expecting it (layer names prefixed with
the workspace name and no workspace in the path).
This will be completely transparent to GWC.