Hi,
remember the thread where the usage of UUIDs to identify catalog elements was
discussed? I have more
Basically, the UUIDs idea allwed a central catalog system to identify
layers in a
range of GeoServer instances, with different admins, plugin set and versions,
hosted by different departments of a large organization.
Now, the next step is going back from the central catalog to the GeoServers
and being able to do stuff against them using the UUID only (the layer name
is unsuitable as it can change over time and might be duplicated, and so on).
This would require two more changes:
1) ability to expose UUIDs in the REST api too, side by side with the atom link.
2) ability to perform OGC requests using the UUID in place of the layer name
1) is a bit at odds with the REST linked-ness, but only so much, since the links
would not be removed, we'd just expose the id property which is today hidden.
I don't see any harm in exposing it, but it could also be exposed conditionally
based on a system property or global configuration
2) would allow someone to do a request like
request=GetMap&layers=550e8400-e29b-41d4-a716-446655440000,84febf07-4884-4136-acf6-5e6d432af03d&....
I had a look at how this could be done in a plugin of some sorts, but dispatcher
callbacks are often too late in the parsing game to perform the lookup.
The most direct approach would be to either modify all the KVP parsers to
use a fallback, or to modify the catalog so that getLayerByName and friends
also do a lookup by id if a certain flag is raised (system integration flag?).
The latter would also allow the system integration to work on rest api lookups,
e..g, geoserver/rest/layers/550e8400-e29b-41d4-a716-446655440000
(but only if the request is explicit, we would not list the ids otherwise)
I've tried to get both of the above with some sort of pluggable
behavior but it seems
that by their nature they are better placed in the core code instead.
Suggestions?
Cheers
Andrea
--
Ing. Andrea Aime
GeoSolutions S.A.S.
Tech lead
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 962313
mob: +39 339 8844549
http://www.geo-solutions.it
http://geo-solutions.blogspot.com/
http://www.youtube.com/user/GeoSolutionsIT
http://www.linkedin.com/in/andreaaime
http://twitter.com/geowolf