[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