OpenSim.Region.Environment into a "framework" part and a modules only
part. This first changeset refactors OpenSim.Region.Environment.Scenes,
OpenSim.Region.Environment.Interfaces, and OpenSim.Region.Interfaces
into OpenSim.Region.Framework.{Interfaces,Scenes} leaving only region
modules in OpenSim.Region.Environment.
The next step will be to move region modules up from
OpenSim.Region.Environment.Modules to OpenSim.Region.CoreModules and
then sort out which modules are really core modules and which should
move out to forge.
I've been very careful to NOT BREAK anything. i hope i've
succeeded. as this is the work of a whole week i hope i managed to
keep track with the applied patches of the last week --- could any of
you that did check in stuff have a look at whether it survived? thx!
* A warning is posted about this on startup giving the location of the object
* This should allow one class of persistently undeletable prims to be removed
* This change should not cause any issues, but I still suggest that you backup your database beforehand
* If this doesn't work for previously linked objects, then you could also try the workaround in http://opensimulator.org/mantis/view.php?id=3059
* This change has been made to mysql and mssql, but sqlite appears to work in a different way
* Since this is a db change, as always I strongly recommend that you backup your database before updating to this revision
* Haven't touched MSSQL in case I get it wrong - looking for some kind soul to take care of this.
the region database
* The original issue is that the now randomly generated local ids do not fit into the int parentID datatype
* However, as far as I know it's actually pointless to store this local parent ID anyway (we already store the groupUUID), especially as we don't bother to store the localID (as
opposed to UUID itself).
* Conservatively, the actual column will be removed in a later commit
from the presence module to the message server, through the user server
and on into the database. This should fix the "Already logged in" issue
that grids see after a sim crashes, or a user crashes out of a sim.
Not yet a 100% solution for friends, but getting there.
* SceneObjectPartInventory.cs isn't a particularly good name but it's probably not got a long life
* A proper inventory interface to follow
* Parallel changes for other inventory partial classes to follow at a later date
on-/offline updates, calling cards for friends.
This adds methods in the DB layer and changes the MessagingServer, so a full
update (incl. UGAIM) is necessary to get it working. Older regions shouldn't
break, nor should older UGAIM break newer regions, but friends/presence will
only work with all concerned parts (UGAIM, source region and destination
region) at this revision (or later).
I added the DB code for MSSQL, too, but couldn't test that.
BEWARE: May contain bugs.
SQLite reports System NUll Reference, but works, inside
LoadItems, on SQLiteRegionData.cs
From: Arthur Rodrigo S Valadares <arthursv@linux.vnet.ibm.com>
Add rezzing time to objects. Add Object return and traffic fields to land
database. Add plumbing for auto return. Implement auto return.
Contains a migration. May contain nuts.
- Makes SQLite mimick MySQL default behavior on first
and last name already on db: it does not insert the
new record.
- Added tests for UUID 0 and for new UUID with existing
first and last name.
- Added lookup in the data-layer
- MySQL works
- SQLite doesn't have a grid-db, so it won't work there
- I added MSSQL-code to the best of my knowledge; but I don't know MSSQL :-)
- Added the plumbing up to OGS1GridServices. This speaks with the grid-server
via XMLRPC.
- Modified MapSearchModule to use the new data. It's backward compatible; if
used with an old grid-server, it just returns one found region instead of a
list.
- Refactored a bit.
Note: This updates data, grid-server and region code. No new files.
1. type issues on column create in ado.net
2. not setting a field in the ado.net row translates into explicitely
setting it to null in sqlite land (because it can't read the defaults
stanzas out of the database)
Things should work again after this.
Active gestures are sent as part of the login-response. Added
fetchActiveGestures to SQLite and MySQL; added an empty one for MSSQL and
NHibernate. Using the empty ones won't cause errors, but doesn't provide
persistence either, of course.
- Add necessary dummy Dispose-methods where they are missing
- Implement the SQLite Dispose-methods
(currently only used for unit tests, in the next commit)
.config (which no one does). Dropping in the .config lets you see that debug
messages, which is handy while writing tests and figuring out why things don't
behave like you would guess.
OpenSim.Data.Tests, then subclass with custom init bits for sqlite.
As I've only been testing the plugin interfaces anyway, this should
make it very easy to write only a little bit of code to use these
tests for other databases. It will also give us the framework for
definining the datastore behavior and making sure that all the databases
do the same thing.
Floating text, Rotation, Texture animation, Particle System
This will make "Eye Candy" scripts work without modification in
XEngine. The use of the CHANGED_REGION_RESTART hack is no longer
needed. Implemented in MySQL only, hovertext also in SQLite.
* This is a HUGE OMG update and will definitely have unknown side effects.. so this is really only for the strong hearted at this point. Regular people should let the dust settle.
* This has been tested to work with most basic functions. However.. make sure you back up 'everything' before using this. It's that big!
* Essentially we're back at square 1 in the testing phase.. so lets identify things that broke.
tables shouldn't exist yet, and the exists keyword is relatively new in
sqlite. This has been breaking a lot of people on Suse Enterprise Linux,
for instance.
After having built revision 5992, OpenSim would start while
issuing some errors regards updates to user profiles (Master
Avatar, and other manually added avatars). Issue 2027 dealt
with the MySQL part. This issue deals with the SQLite part.
Change user server to handle attachment assets record properly. Ensure
that attachments are not re-rezzed on region crossing. Persistence
will NOT WORK with earliser UGAI!!
Change region server to match.
patch attached replaces the tree walk algorithm used to build the
folder hierarchy with a single database query. That is, we replace
1 database query per folder with 1 query for the root folder's
properties and 1 query to retrieve the entire collection of folders for a user.
Adds the new access semantics and the new flag (allow only age verified)
Plumbs in the abuse email address from sim to viewer. The other way around,
libomv appears to be lacking support for the data field in the packet.
Includes a migration, run prebuild!
Makes the estate dialog fully functional. Implements all client facing functionality. Moves estate data from estate_settings.xml, which is used to provide defaults, to the region data store. Creates one estate for each region, and places the region in it. Converts all region bans to estate bans.
Patch 5 in the region settings series. Adds a migration to ensure corrupted
data is purged and re-read from defaults. Some changes. Still no full
functionality
* Migration should be automatic on sqlite and mysql
* Migration is not automatic on mssql, you will need to drop the invType column manually
* Migration should be fine, but as for any db change, I would recommend making sure you have backups before moving past this revision
Currently module loading is done ad-hoc. I propose creating a simple
loader class that leverages Mono.Addins (and perhaps the new .NET
addins when they become available in mono). Attached is a basic
patch for review that compiles into HEAD, but doesn't yet replace
any existing ad-hoc loaders.
* User tries to log-in but is already logged in. Userserver will send message to simulator user was in to log the user out there.
* From the UserServer, admin types 'logoff-user firstname lastname message'.
* Some regions may not get the message because they're not updated yet.