0.7 Release

From OpenSimulator

Revision as of 07:09, 14 June 2010 by Diva (Talk | contribs)

Jump to: navigation, search

Contents

Release Notes

Major changes from 0.6.9

Release 0.7 features the completed major refactoring and rearchitecting work that happened during the second half of 2009 and the first quarter of 2010. This work targeted mainly the resource services and servers previously known as UGAIM. These servers have been replaced by one single server shell called ROBUST which can now run any combination of services in it.

The standard opensim release includes configuration files for two deployment architectures:

  • The standalone deployment consists in having both the simulator and the services in one single process, OpenSim.exe, configured by OpenSim.ini (and included .inis under bin/config-include).
  • The grid deployment has 1 ROBUST server process (Robust.exe) running all services, configured by Robust.ini (or Robust.HG.ini); and one or more simulators (OpenSim.exe), each configured by OpenSim.ini (and included .inis under bin/config-include).

Users and distributors of OpenSim can deviate from these pre-existing configurations in many ways. Specifically, large grids will benefit from splitting the single ROBUST server into several ROBUST servers, each running a collection of services. Instructions for how to do that are found elsewhere. (Think of the ROBUST server as an Apache server, to which you can load service modules)

The services themselves have been reconceptualized; we now have the following set of main services:

  • Assets -- the asset store
  • Authentication -- passwords and auth tokens
  • Authorization -- access control
  • Avatar -- the visual representation of users, formerly known as "avatar appearance"
  • FreeSwitch -- voice
  • Friends -- social net
  • Gatekeeper -- hypergrid foreign users control
  • Grid -- maps map locations to IPs and regions
  • Grid User -- grid-local information about users
  • Inventory -- the inventory store
  • Login -- the login service
  • Presence -- tracks where in the grid user agents are
  • Profile (Basic) -- user profiles
  • User Accounts -- administrative info about users
  • User Agents -- hypergrid local users protection

The simulators access these services through abstract interfaces, therefore being isolated from implementation details. The services are seamlessly instantiated as plugins in any process, namely ROBUST server shells and the simulators processes themselves, which means that we have complete reuse of service code between standalone and grid configurations. The plugin specification is done in configuration files (.ini). Moreover, access to remote services is also seamlessly achieved through the instantiation of stubs (aka service connectors) as plugins; again, the specification of which stubs the simulators use is done externally in configuration files (.ini).

This layering allows for alternative third-party implementations of the entire resource service infrastructure without having to affect one line of code in the simulator, and simply using different ini files. Starting in this release, there is an alternative infrastructure to Robust: SimianGrid, a separate project from OpenSim. The standard OpenSim release includes simulator's configuration files for the SimianGrid, but that infrastructure is not distributed with OpenSim, only Robust is.

Bug Fixes

  • Neighboring regions being brought up and down results in correct accessibility in the connected clients.
  • Friends online/offline notifications are now working across the board.
  • Object attach/drop/attach correctly working.
  • Inventory folder 'wear' working correctly.
  • Inventory accept/decline notifications working correctly.

Database changes

(click to enlarge)

The database schema has changed considerably from previous releases. The picture on the left shows the entire set of tables for a clean installation of the 0.7 release with MySql. In the picture, the tables are grouped into 2 catalogs, the service-db and the simulator-db, corresponding to the data managed by the resource services (the ConnectionString under the [DatabaseService] section) and the data managed by the simulators (the connection_string under [Startup] section), respectively. As before, you have a lot of freedom to define how the data is organized, so, for example you might have one single catalog with all the tables. In any case, after a clean installation of release 0.7, there should be all these tables in your DB.

Upgrading from 0.6.9

Upgrading from 0.6.8

Upgrading from older releases

Personal tools
General
About This Wiki