[Opensim-dev] Splitting IUserService

Michael Wright michaelwri22 at yahoo.co.uk
Sat Jun 28 09:47:14 UTC 2008


Does anyone have any objections to splitting the IUserService interface, so that the Avatar Appearance and attachments are in their own interface IAvatarService ?

I really don't think we should be coupling things like we are. I'm not saying that these functions have to move off the User Server. Just on the region side, we move them into their own interface, so that if someone wants those functions to be on a different server, they can change the url of the server to be different to the user server with minor code changes. 

When I think about the various Servers, I generally think of the User server as holding account infomation. The Grid Server as being the general manager of the "grid". And the Inventory and Asset servers as the general datastores. 

So to fit in with my view, the avatar appearance data would fit better on the Inventory server or even a separate server that was part of the datastore group. This is so that we could have one central User Server, but a number of Inventory and Asset servers. Each user's in-world data could be on a different set of those.

As I've said before, I really think we should have a system that allows the various backend functions to be where ever a grid admin thinks is best. But thats still a dream. 

But we can do a small change that would allow a different url to be set for the Avatar services, if a application required it.

So what I'm suggesting is we add a new interface to the CommunicationsManager, like:

public Interface IAvatarService
{
        AvatarAppearance GetUserAppearance(LLUUID user);

        void UpdateUserAppearance(LLUUID user, AvatarAppearance appearance);

        void AddAttachment(LLUUID user, LLUUID attach);

        void RemoveAttachment(LLUUID user, LLUUID attach);

        List<LLUUID> GetAttachments(LLUUID user);
}

The OSGrid implementation could be exactly like it is now, and send the requests to the user server. I'm not even talking about adding a new setting to the ini file, but just leaving the code so it uses the UserServer url.

So its really a minor change, but does decouple these functions from the more general user account functions. 

       
---------------------------------
 Not happy with your email address?
  Get the one you really want - millions of new email addresses available now at  Yahoo!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://opensimulator.org/pipermail/opensim-dev/attachments/20080628/85857613/attachment-0001.html>


More information about the Opensim-dev mailing list