Hi all,
The subject is kind of an oxymoron but I am tasked with continuing on some of the workspace local / virtual service configuration work. The last chunk of work made it possible to configure services separately per workspace. The next chunk involves making the global config configurable per workspace.
Now, one has to ask the question if this makes sense at all, since many of the options are indeed global, and would not / could not be configured local to a workspace. For instance, the jai settings. But some settings might be configurable per workspace, like contact info, verbose exception reporting, etc… so i wanted to start some discussion to try and get an idea on how to proceed.
The first possibility would be to refactor the GeoServerInfo class into two parts, those settings that could be workspace specific, and those that could not. I haven’t thought too much about how this would look but it wold be a significant change to the catalog api, meaning lots of updating of client code.
The second possibility is to follow the same sneaky approach we use for the services and that is return a different GeoServerInfo object based on the local workspace thread local in play. The issue I see here is again the settings that are truly global. A possible approach here could be to wrap the workspace local GeoServerInfo objects in a proxy or wrapper that makes certain fields read only, or perhaps hides them all together. In the UI we could hid those fields all together.
Thoughts/opinions?
Thanks.
-Justin
–
Justin Deoliveira
OpenGeo - http://opengeo.org
Enterprise support for open source geospatial.