[sldev] [svc] Back end features (was: New viewer released)
Ryan Williams (Which)
rdw at lindenlab.com
Fri Aug 31 12:13:37 PDT 2007
Dale Glass wrote:
>> It is also interesting to think about what the right approach is for
>> open source features that require some amount of back end work to support.
>>
>> - Kelly
>
> Well, I'm not exactly an impartial party, but I'd like suggestions of the sort
> to be considered. I'm more than willing to discuss different approaches and
> such if needed.
>
> For a start, how should a RegionNameRequest work? I think it should probably
> work by handle, as they're used for everything already (why? I'm feeling
> curious), and it would allow to very easily build the premade cache file
> shipped with viewers, instead of having a bot hop through the grid.
Realistically, I think the best we can do is come up with an API and
stick it in a JIRA and try to find time to implement it.
So, I don't know what a region handle is, but I do think that it's
likely that you're going to want to cross-reference the four different
ways of identifying a region: handle, grid x/y, name, uuid. The
standard practice is to treat the uuid as the canonical handle for the
object (be it region, agent, parcel, or object), and provide services
that convert non-canonical references into canonical ones (e.g. name
into uuid). Then you have a generic info request on the canonical object.
The above probably sounds a bit rambling, but here's the gist of it, in
rest-style paths that don't correspond to any actual implementation:
/region/named/Name -> /region/<uuid>
/region/at/X,Y -> /region/<uuid>
/region/handle/Handle -> /region/<uuid>
/region/<uuid>/info -> {'name': Name, 'grid_x':X, 'grid_y':Y,
'handle':Handle, 'estate': <id>, .... }
So, that's conceptually how I think the data flows should go.
As an aside, do we really keep around the handle on the server side, or
is it just a convenience for the viewer? I might be completely
misunderstanding wtf a handle is, in which case we can just remove it
from above.
So, anyway, the immediate use case suggests a larger use case, and it's
important to implement the former in terms of the latter.
-RYaN
PS I have no idea what tag I should use. Meta? Viewer? Megatron?
More information about the SLDev
mailing list