[Opensim-dev] User services refactoring status

diva at metaverseink.com diva at metaverseink.com
Mon Jan 4 16:02:03 UTC 2010


Hi everyone,

Just an quick message to let you know about the status of the 
refactoring, and to ask for help in some parts.

Between Christmas and now, Melanie and I have re-engineered the way that 
OpenSim handles users, agents, and avatars, and the persistent data 
associated with all of these. This is the final push on the refactoring 
(and improvement) work that started back in May. This last piece of the 
work is being done in the branch presence-refactor.

There are several new services that correspond to breaking up the user 
server into smaller pieces, i.e. things that the user server already did 
but in very awkward manner. Namely: user accounts (it's just that, 
accounts), authentication (manages passwords, auth tokens and the like), 
presence (knows where agents are), avatar (manages the 'carcass') and 
friends (social net basics). All of these have been made fairly generic, 
and this will enable a whole new level of extending OpenSim. For 
example, strings are used in important identifiers instead of UUIDs.

Additionally, what was previously known as "Interregion Comms" (Local 
and REST) is now a simulation service provided by the sims. This last 
service makes agent transfers consistent throughout their existence -- 
login and TPs -- and allows for future alternative ways of driving agents.

ETA on merging this with master branch is next weekend. I think we're on 
track to have OpenSim 0.7 sometime in January. This will also allow us 
to start taking security seriously right after 0.7 is tagged.

I encourage you to check out the branch and, at least, look through 
OpenSim.Services.Interfaces, which now tell the story quite well. The 
really brave can try it out on test grids/standalones. (Please use test 
grids/DBs only for the time being!) Notice the configuration files which 
now have a lot more in them. NOTE: only works for MySQL at the moment.

This leads me to the asking-for-help part. The DB schema has changed 
substantially. We have been doing this with MySql. We need help to make 
the same changes to SQLite and MSSQL, if these are to be supported from 
here on. I know we can count on StrawberryFride to update the MSSQL 
connector. However, for SQLite... it has been falling through the 
cracks. There is already a show-stopper bug in it that makes the SQLite 
connector not work with mono 2.4.3 and higher 
(http://opensimulator.org/mantis/view.php?id=4463). Unless someone steps 
in and takes care of the SQLite connector, I'm afraid it will go the way 
of the dinosaurs.

Thanks!

Diva / Canto



More information about the Opensim-dev mailing list