[Opensim-dev] User/Agent/Avatar Was: Question on Avatar Appearance persistance

Stefan Andersson stefan at tribalmedia.se
Sun Apr 13 18:31:56 UTC 2008


Ehrm , not to spin off in too many directions at once, but we really should acommodate for a somewhat more comprehensible set of concepts:
 
"User" : an actual acting person in the real world - 
  * can have many Agents (consider same person running -multiple viewers)
  * has a real name, and an online name
  * has a profile with profile data
  * has credentials, to be able to be authorized
"Agent" : the informational representation of a user in a world
  * has credentials, to be able to be authorized
"Avatar" : the visual representation of an agent in a world (only one per Agent in the SL universe afaik)
  * has an online name
  * has a profile, with profile data
"Credentials" : data supplied for authentication (user names, keys, passwords, hashes, et c)
 
One example:
 
I'm Stefan Andersson in the real world. When I don't want to disclose my full real name, such as in IM lists, I just call myself 'Stefan' (which, in this case, is my chosen 'online name' or 'calling name').
 
Now, in most user databases, I need a unique login credential, usually, i choose the username 'lbsa71' since that's available more often than 'Stefan'.
 
Now, of course, I have a couple of avatars in SL, one of them is called "PierreJoseph Proudhon" (first/last construct by SL convention - strictly not necessary)
 
To choose what avatar I want to join SL with, and at the same time authorize myself, I enter an avatar name and avatar password into the viewer, which then uses it to authorize the agent with which I enter the 3D world.
 
My point here, is that although this is how SL works, it's not how OpenSim ought to work. The same 'shortcuts' could be the default implementation, but we really should be able to log in with one set of credentials, which would not be tied to the avtar at all. Also, some other viewers or launch methods might let the user log on with his user credentials, and simply CHOOSE his avatar (the web page login method would allow for such a scheme)
 
I guess we might not even want to consider the 'user' and his credentials, and leave that to various implmentations (like, how each grid has their own user profile) but we should definitively call the Avatars profile data 'AvatarProfile' - and separate "Agent login credentials" from "Avatar online name".
 
So; awaiting feedback, I propose we work towards the model outlined above.
 
Best,
Stefan



> Date: Sat, 12 Apr 2008 08:00:22 -0400> From: sean at dague.net> To: opensim-dev at lists.berlios.de> Subject: Re: [Opensim-dev] Question on Avatar Appearance persistance> > On Fri, Apr 11, 2008 at 06:09:56PM +0100, Michael Wright wrote:> > okay will try to make this my last email (before anyone replies) on this. But I think I'm understanding more of what you meant. > > > > And while I think there is no reason why we couldn't have> > AvatarAppearance hanging off UserProfile data. I'm still not convinced> > there is a need to try to connect all these things. Avatar Appearance> > is certainly a scene thing. In that every ScenePresence needs a> > reference to one. But we could move the actual Av atar Appearance> > class out to OpenSim.framework, or if going with the "Anemic Domain> > Model" appoach suggested by Stefan then we could have a base> > AvatarAppearance in the model project. Then in the avatar appearance> > module fetch the appearance object that was attached to the user> > profile.> > > > But I'm not sure I really see any benefit in this over the module> > doing a direct request to the user server for the appearance. I> > actually think its better to decouple things in this way.> > By decoupling from the user server, we've coupled AppearanceModule to> DataMapper, and are managing database connections in a RegionModule,> which I think is a worse approach. > > m_scene.CommsManager.UserService.GetUserProfile(id) seems> like a much better approach. We could just add .GetUserAppearance and> friends to it.> > > As I said in my last email, there could also be some bots/NPC's that> > don't have userprofiles. And also I think there is a chance that scene> > presences are created (and the appearance fetched) before the user> > profiles are. But can't be sure of that without looking deeper in the> > code.> > If an NPC exists in the environment, I would think it would have a> profile (it needs that for Name for instance).> > > But anyway as long as we went through the avatar appearance factory> > module concept to fetch the appearance that was attached to the user> > profile. Then I guess there is nothing stopping it. Just seems a> > coupling that isn't needed.> > Yes, that's probably strictly true. Actually, we don't really need it> hanging off of UserProfile. What I really meant was that> AvatarAppearance was an object that existed, and was fetchable/updatable> from the UserService by UUID.> > > I am very strongly of the opinion that we need to keep the factory> > module concept. So that a different module could be used. Different> > regions/applications might want a completely different approach to how> > the appearance of the avatars are handled. Like a game might want to> > randomly just give each user one of a set of preset avatars.> > > > But with this factory module. We can actually fetch the appearance> > from where ever we want, including the userprofile if it is decided.> > If we move the default storage back into UserService, I don't think> we'll have an issue here. UserService will just support a persistance> model for appearance, should anyone want to use that. How appearance is> created remains in the region modules.> > -Sean> > -- > __________________________________________________________________> > Sean Dague Mid-Hudson Valley> sean at dague dot net Linux Users Group> http://dague.net http://mhvlug.org> > There is no silver bullet. Plus, werewolves make better neighbors> than zombies, and they tend to keep the vampire population down.> __________________________________________________________________
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://opensimulator.org/pipermail/opensim-dev/attachments/20080413/2392135d/attachment-0001.html>


More information about the Opensim-dev mailing list