Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Open Simulator Technical Help
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
OpenSimulator Internals/Code Map/InventoryAccessModule
(section)
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== HGInventoryAccessModule == Extends BasicInventoryAccessModule. Active when HyperGrid is enabled. === Additional Configuration === [HGInventoryAccessModule] section {| class="wikitable" ! Key !! Default !! Purpose |- | OutboundPermission || true || Allow assets to be posted to foreign user's asset server |- | RestrictInventoryAccessAbroad || true || Hide non-suitcase inventory when going HG |- | CheckSeparateAssets || false || Support grids where world and inventory use different asset servers |- | RegionHGAssetServerURI || (empty) || Local asset server URL when CheckSeparateAssets=true |} === HGAssetMapper === Static singleton. Handles Get() and Post() -- HTTP calls to foreign asset servers to fetch or push assets. * Get(assetID, agentID, foreignAssetServerURL): fetches asset from foreign server if not in local cache. * Post(assetID, agentID, foreignAssetServerURL): pushes local asset to foreign server (subject to OutboundPermission). === IsForeignUser() === Returns true if the user's asset server differs from local. Gets AssetServerURI from AgentCircuitData.ServiceURLs or UserManagementModule. If CheckSeparateAssets=true, compares against m_LocalAssetsURL. === RezObject() Override === Before calling base.RezObject(): * If IsForeignUser: calls m_assMapper.Get(item.AssetID, agentID, foreignAssetServer) -- fetches object asset from foreign grid if not cached locally. === ExportAsset() Override === Called from CopyBundleToInventory() after asset is stored: * If IsForeignUser and OutboundPermission: calls m_assMapper.Post() -- pushes newly created asset to foreign user's asset server. === Suitcase Management === On TeleportStart (HG departure, local user): * ProcessInventoryForHypergriding(): fetches root folder content, renames all non-Suitcase folders to "FolderName (Unavailable)", sends BulkUpdateInventory to client. Avatar sees only My Suitcase contents while abroad. On TeleportFail (HG departure failed, local user): * ProcessInventoryForComingHome(): fetches root folder, sends full inventory back without "(Unavailable)" suffix. On CompleteMovement (HG arrival, local user returning home): * ProcessInventoryForComingHome(): same as TeleportFail -- restores full inventory view. ProcessInventoryForArriving() and ProcessInventoryForLeaving() are currently no-ops. === GenerateLandmark() Override === Appends "gatekeeper {URL}" line to landmark data so HG landmarks carry grid identity. === Permissions === CanTakeObject(): if OutboundPermission=false and user is foreign, only allow taking own objects. OnTransferUserInventory(): if OutboundPermission=false, block inventory transfer to foreign users. === PostInventoryAsset() === Hooked to OnNewInventoryItemUploadComplete event. After any inventory asset upload: * If IsForeignUser and OutboundPermission (or asset is a landmark): posts asset to foreign user's asset server. ----
Summary:
Please note that all contributions to Open Simulator Technical Help may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Open Simulator Technical Help:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Search
Search
Editing
OpenSimulator Internals/Code Map/InventoryAccessModule
(section)
Add topic