Sean Lynch wrote:
On Tue, May 20, 2008 at 9:08 AM, <darien_caldwell@comcast.net> wrote:There are three systems involved here that are closely tied:
That brings up a common myth I have heard. Some believe putting inventory in boxes, and then keeping those boxes rezzed in world somehow makes those items 'safe' from inventory loss. Â But in fact the items inside the boxes still reside in the asset server, correct? Â They are simple references, and not actually within the sim itself, only the box is.
There is a little bit of truth to this: the apparent inventory loss caused by dropped messages to the viewer (which are then cached) doesn't affect the inventory of objects rezzed in-world. But the fix for this is to clear your cache and relog, not to stick things in boxes in-world. As I've found out myself things in object inventories, there are other opportunities for inventory loss here: stuff deleted from the inventory of an object, for example, doesn't go to your trash. I lost a couple of no-copy animations from an AO I was working on this way.
* (DB) Resident Inventory lives in a database. We currently have lots of these 'inventory' or 'user' databases, each one hosting the entire inventory for a subset of our users. ex. UserA has all their inventory on db1, UserB has all their inventory on db6. The database entries are the shortcuts / links to actual assets.
* (ASC) The actual assets live in the Asset Server Cluster. Any item in resident inventory or object inventory references an asset stored in the Asset Server Cluster.
* (SIM) Items rezed and 'in world' do not have an asset that reflects their current state. They do have an 'original asset' reference, which points to the asset used to originally create the item when it was read but this won't reflect any changes made since rez. We don't save individual items that are currently in world to the asset server or any inventory database. We do save the entire state of a region every hour as a 'sim state' file - and this includes objects and their inventory items (as references to actual assets).
So, resident inventory lives in the (DB) and each item references one or more assets in (ASC). Object inventory lives in (SIM) and each item references one or more assets in (ASC). Items actually in world don't really reference any asset in (ASC) or anything in (DB). Keeping items inside the contents of objects in world and *not* in your inventory reduces the load of (DB) and may help keep your inventory loading faster, depending on how much you do it. It doesn't have any effect on (ASC) load though.
Does that make it clearer?
 - Kelly









