[Opensim-dev] On Mantis #1370 (avatar persistence)
f.d.g.
opensim-ml at fdg.org
Wed Jun 11 06:31:16 UTC 2008
If I'm allowed to throw in my 2 cents...
Sean Dague wrote:
> On Tue, Jun 10, 2008 at 01:39:41AM +0900, liu xiaolu wrote:
>> I think it is not necessary (or should not) to check assetID's avaliability
>> by using C# code.
>> It is a tired, buggy way to go, even you can make "getinventory"
>> synchronous.
>> Both of the MySQL, MSSQL have the native support of "FOREGIN KEY
>> constaints".
>> RDBMS should handle such task for us.
>
> SQLite doesn't handle it natively, and we've not really used foreign
> keys anywhere else in the design up till this point.
If SQLite doesn't handle it (natively), then please don't use it,
because: OpenSim right now is (nearly) perfect for SL skin/(basic)
clothes designers. They can use the official viewer for previewing,
without having to use some 'strange' programs or relying on the beta
grid or paying for every upload to SL. The ease of use of OpenSim is
given by the simple setup - just hit enter several times. These
designers surely don't want to mess around with setting up MySQL or
MSSQL or any other database.
The second reason for not relying on the RDBMS "FOREIGN KEY", in my
opinion, is the question: Would it work with Capabilities?
In the context of capabilities I hope I'm also allowed to explain my
hope on to what OpenSim will develop in the future - and I think the
"FOREIGN KEY" perhaps won't work in that situation:
Right now UUIDs are used as a key to everything. As far as I can see
these UUIDs are unique only on one single grid - on another grid the
same UUID could point to something completely different. Thus,
connecting two grids won't work. As far as I can see the realXtend
people do the travelling from one grid to another 'simply' by loging out
the current user and loging in a new user on the grid you travel to,
thus needing to create accounts on all grids you want to travel to.
Now, how about 'simply' prepending a fully qualified domain name to the
UUIDs? Then the grid you just travelled to could get all the needed
data, like avatar appearance, by contacting the 'home' grid of that
avatar and caching this needed data as long as the avatar is on that
grid - and which grid is the 'home' grid of that avatar it knows from
the FQDN prepented to the UUID of that avatar. By the way, I think it
then would be needed to prepend a FQDN to every UUID to prevent
duplicate UUIDs, like UUIDs for skins, clothes, attachments and so on.
As far as I can see, this "prepending a FQDN to a UUID" is what
capabilities look like, so with the proper use of capabilties throughout
the whole system the implementation of 'grid-hopping' would be rather easy.
Bye
f.d.g.
More information about the Opensim-dev
mailing list