[Opensim-dev] Where should we put GetUserAppearance ?

liu xiaolu lulurun at gmail.com
Wed May 14 06:48:08 UTC 2008


Hi, everyone,
I am planing to implement "AssetPortability" in OpenSim,
The basic idea is to let RegionServer get assets from a
dynamic(user specified) AssetServerURL.

Very thankful for someone added "asseturl" and "inventoryurl"
to the userprofile structure and the "Users" table.
(though I do not know exactly what it was he did)

Recently, I found there is a stub "GetUserAppearance" in "IUserService".
This is a little different from what I am thinking, so here I would like to
share my plan for the "appearance portability" and have a discussion
with you.

# Preparation
1. User stores "wearables" in "inventoryserver"
2. User stores actual "assetdata" in "assetserver"
3. User tells its "asset/inventory url" to "userserver"
(by user registration or someway like openid)

# Login
At http://openugai.sourceforge.net/?page=openasset_proposal
there are 2 possible patterns,
"Implemetation 1" is following current opensim - "GetUserAppearance" in
"UserServive".
"Implemetation 2" is my proposal.

* Implemetation 1
1. "UserServer" acts as a agent, when "GetUserAppearance" called,
2. "UserServer" gets "wearables" from "inventoryserver"
3. "UserServer" gets "assetdata" foreach "wearables" UUID.
4. "UserServer" returns appearance to RegionServer(OGS1UserServices)

* Implemetation 2
"GetUserAppearance" is not in "UserServer", it should be a module or
something
independent. There is
* "OGS1InventoryServices" incharge of communicating with "InventoryServer".
* "AssetCache" gets "assetdata" from "AssetServer".
I think we can use the 2 existing components to "GetUserAppearance".

Why I prefer "Implementation 2" ?
1. Just as UserServer does not provide "Inventory" information, UesrServer
also should NOT
provide appearance information.
(UserServer should be concentrated on providing basic user information and
the authentication.)
2. If UserServer have to fetch Complete "Appearance", UserServer must know
about AssetServerUrl,
and something like "AssetCache" must be implemented inside UserServer. This
makes UserServer
become less indenpendent.
3. "Appearance" can be thought as "a special inventory folder called
'wearables' ".
(InventoryServer is born to do such things)

Look forward to hearing your concerns and opinions.

Cheers,
lulurun

-- 
Liu Xiaolu
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://opensimulator.org/pipermail/opensim-dev/attachments/20080514/a93ef3b7/attachment-0001.html>


More information about the Opensim-dev mailing list