Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0007057opensim[REGION] OpenSim Corepublic2014-03-13 13:462014-03-13 13:46
Assigned To 
PlatformOperating SystemOperating System Version
Product Versionmaster (dev code) 
Target VersionFixed in Version 
Summary0007057: Command to replace UUID in object inventories
DescriptionIt would be very useful if Opensim had a command that would allow replacing the UUID of assets in primitive inventories, for all objects on the region or in a given area of the region.

Example: If there are 10 objects containing a sound that has the UID 1234000, and the owner wanted to replace that sound with a new one which has the UID 4321000, in an area ranging between 128 and 192 on all axes, he would use a command of the form: replace-inventory-uid 1234000 4321000 128,128,128 192,192,192.
Additional InformationA practical example is why I need this feature: I'm creating a large residential building on my region, with 48 apartments and hundreds of overall rooms. Each apartment contains many scripted doors, lights, switches, window covers, etc. But all objects of each type use the same script, and there are about 5 scripts in total.

Occasionally, I decide to change some things in this universal script, or find a better sound to replace an existing one with. In order to do this, I'd have to find and select nearly a thousand objects, delete the old item, and drag in the new one. I already did this several times on a few hundred prims of one type, and it took +30 minutes of constant annoying work. Eventually I found a Sqlite command that let me replace the UUID's in the region database while Opensim was down, which is the workaround I'm currently sticking with. This is an example what I had to use under sqlite3 to update my script on all lamps:

UPDATE primitems SET assetID=REPLACE(assetID, 'd266677d-5976-4cff-a693-59379de4658b', 'f829a413-311a-467b-9838-dd9a8d651543');

A command to replace an UID in all object inventories would make this very easy. If there's something I want to modify in the light script for instance, I take a copy from one lamp, do the changes I need, save the new script, get its UID as well as the old script's, then run the replace command in Opensim console. All lights in the apartment building then have the change applied to them.
TagsNo tags attached.
Git Revision or version number
Run Mode Grid (Multiple Regions per Sim)
Physics EngineODE
Script Engine
EnvironmentMono / Linux64
Mono VersionNone
Attached Files

- Relationships

-  Notes
There are no notes attached to this issue.

- Issue History
Date Modified Username Field Change
2014-03-13 13:46 mirceakitsune New Issue

Copyright © 2000 - 2012 MantisBT Group
Powered by Mantis Bugtracker