The attached patch adds the automatic granting of PERMISSION_CONTROL_CAMERA
on request to a script when an avatar is sitting on the object that the script
resides in.
It also automatically removes PERMISSION_TAKE_CONTROLS and PERMISSION_CONTROL_CAMERA
from the scripts when an avatar stands up. It doesn't remove the other automatically
granted permissions but this follows LL server behavior. Removing these two
permissions avoids some potential race conditions (accidentally taking
control after the avatar has stood up) which may be why LL put
them in the first place.
Cleaned up schema creation scripts of MySQL to compliant form and created
SQLite scripts from them. In future it would be optimal if scripts from
different databases could be generated from MySQL scripts to ensure optimal
consistency between schemas of different databases. Did not yet review
column names. ID columns seem to have variety in naming which can be confusing.
I'll be writing some instructions on its use as part of a more general article on various methods of creating better initial avatars for new users. Which will include some code samples, but as each grid has its own requirements, there will be no out of the box solution included.
are multiple messages in a second and that is usually (in my experience) meaning
the logging itself is slowing down the program. Leaving the unsuccesful message
as we need to know about that path.
Fixed all NHibernate unit tests by implementing missing persistency
methods, tables, columns and fixing bugs in the existing implementation.
Two minor changes to classes outside NHibernate module: Added Scene
instantiation for SceneObjectGroup in OpenSim.Data.Tests.BasicRegionTest
as this was required by the NHibernate persistency. In the process added
also mock constructor to Scene which only populates RegionInfo in the scene
which is used by ScenePart.RegionUUID. NHibernate module is still in
experimental state and has not been tested at opensim region or ugaim runtime
configuration. Adding unit tests to build is not yet advisable nor using
NHibernate module in any production setup.
NHibernate MySQL migration was not working as mysql dialect is
MySQL5Dialect now instead of MySQLDialect which is the migration
sub folder name. Fixed this by adding simple dialect to migration
sub type mapping to manager initialization to avoid need of renaming
migration script folder each time MySQL version changes. Removed
shared session and changed session to be constructed per call as
NHibernate session is not thread safe. Refactored manager member
names to be according to the naming convention (full words in camel case).
Enable users to enable only selected methods out of the
available set of remote methods to restrict remote
functionality to less harmful methods, such as
admin_broadcast, or admin_region_query.
Solves the problem of unable to load prim items on region start in MSSQL.
The error was in the MSSQLRegionData code that loads objects from the database,
due to reliance on the ParentID field that is not used.