[Opensim-dev] RFC: Moving default inventory creation from InventoryService to UserAccountService for viewer 2 initial appearance code

Justin Clark-Casey jjustincc at googlemail.com
Sat Jan 29 01:44:22 UTC 2011


Hi there,

Today, I had an opportunity to do some more work on setting up default clothing/body parts for viewer 2 (this is in the 
"viewer-2-initial-appearance" git branch).

I've come to the realization (obvious in retrospect) that giving these items the default item IDs that the viewer wants 
in the absence of any other appearance data is not going to work.  This is for the simple reason that item IDs are 
primary keys and cannot be shared between avatars.

Therefore, I will need to use a random item ID and use this to set up a default appearance at the same time as the 
inventory items are created (currently, the appearance is only generated when the avatar first logs in).

The user account service co-ordinates user account creation.  It seems that the sensible thing is to move default 
inventory creation from the inventory service into the user account service.  Folder and item creation would take place 
through existing add calls.

The IInventoryService.CreateUserInventory() method would still be called but would only set up the very bare minimum 
structure.  In the SL case, this is just the user's root "My Inventory" folder.

The copy/pasted code for setting up estate managers in Scene.SetModuleInterfaces() also has to move.  The sensible thing 
seems to be to expose a IUserAccountService.CreateUserAccount() call which is only available to standalones (as is 
effectively currently the case).

Commit 50254bf3 on this branch contains a rough version of this change.  The code to set up a default appearance with 
random item IDs for default clothing/body parts has not yet been done.

Comments?

-- 
Justin Clark-Casey (justincc)
http://justincc.org/blog
http://twitter.com/justincc



More information about the Opensim-dev mailing list