[Opensim-users] Mucking around with IAR asset UUIDs outside OpenSim: Will anything bad happen?

Chris mewtwo0641 at gmail.com
Sat Jun 30 00:57:39 UTC 2012


Ah ok, I think I understand now.
Thanks for the info Justin :)

On 6/29/2012 7:44 PM, Justin Clark-Casey wrote:
> Well, I think in that case the asset service was not rewriting the 
> asset anyway if the UUID already existed - that check was made at the 
> simulator end.
>
> However,
>
> (a) That's not necessarily true of all service implmentations
>
> and
>
> (b) It appears to be more efficient to check the asset metadata first 
> rather than always bung asset data over to the service and let it sort 
> things out.
>
> On 30/06/12 01:33, Chris wrote:
>> Ahhh I see. I was referring to commit 5f7e39 made around the 
>> beginning of this year. I must've misunderstood what it
>> meant =)
>>
>> On 6/29/2012 6:11 PM, Justin Clark-Casey wrote:
>>> Edmund, doing what you describe should be absolutely fine.  In fact, 
>>> one of my design aims with laying out .oars/.iars
>>> in this way was to allow them to be inspected/constructed/altered by 
>>> external tools, though it can still be a pretty
>>> tricky operation.
>>>
>>> Changing the UUID is necessary since if an asset already exists with 
>>> that ID it will be reused.  As long as you use a
>>> random UUID and replace all the existing references as you're doing 
>>> then you should be fine.
>>>
>>> Chris, this is the way it has been done for years.  There's no real 
>>> errors to police - either an asset uuid already
>>> exists and so is reused or it does not and so is ignored.
>>>
>>> On 29/06/12 08:25, Chris wrote:
>>>> I believe this is happening due to a semi-recent change to how IARs 
>>>> handle asset loading. The new way of doing it is to
>>>> not overwrite existing assets if the asset to be loaded shares the 
>>>> same UUID with an asset that already exists in the
>>>> database (please correct me on this if I am wrong).
>>>>
>>>> As for manually changing ID's in the IAR itself, I can't attest for 
>>>> the safeness of doing it that way. But I would
>>>> imagine it would be relatively safe provided that the ID's are 
>>>> changed in all the spots that they are referenced since
>>>> the IAR loader should be rejecting duplicate UUID load attempts if 
>>>> the situation should arise. Opensim devs, please
>>>> correct me on this as well if I am incorrect =) I would be curious 
>>>> myself to know if this is a safe thing to do.
>>>>
>>>>
>>>> On 6/29/2012 1:43 AM, Edmund Edgar wrote:
>>>>> I have some situations where I want to export an object as an IAR,
>>>>> faff with the LSL code, and reimport it.
>>>>>
>>>>> This is working fine, except that sometimes the UUIDs of the scripts
>>>>> I've faffed with already exist in OpenSim, resulting in the new
>>>>> version not being imported.
>>>>> (I'm pretty sure that's what's happening - I've tried clearing the
>>>>> viewer cache and deleting stuff under bin/ScriptEngines and so 
>>>>> forth.)
>>>>>
>>>>> To avoid this, I want to change the UUIDs of the scripts I've faffed
>>>>> with in my IAR every time I make a change to their content. I've 
>>>>> tried
>>>>> this and it seems to work, but I as I don't understand the internals
>>>>> of this stuff I just wanted to check if there's some important thing
>>>>> I'm overlooking that will cause death and devastation to rain down on
>>>>> me and the unlucky people who use my IAR.
>>>>>
>>>>> Specifically what I do is:
>>>>> 1) Export IAR, untar it.
>>>>> 2) Faff with scripts.
>>>>> 3) For each script that's changed, make a new UUID by taking the md5
>>>>> sum of the contents, and sticking in some hyphens where they 
>>>>> appear to
>>>>> belong.
>>>>> 4) Rename the <old UUID>_script.lsl under assets/ to use the new 
>>>>> UUID.
>>>>> 4) Run sed on anything called ".xml" in the archive to change any
>>>>> reference to the old UUID to the new UUID.
>>>>> 5) Retar the IAR.
>>>>> 6) Reimport.
>>>>>
>>>>> This is the script I run to do it:
>>>>> https://github.com/sloodle/sloodle_development_tools/blob/master/opensim_sync/fixuuid.sh 
>>>>>
>>>>>
>>>>> This seems to be working OK, but can anyone think of anything bad
>>>>> that's going to happen?
>>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>
>


-- 
OpenSim: 9 Region Standalone on 0.7.4 Dev
Physics: Open Dynamics Engine
OS: Windows 7 (x64)
CPU: AMD Phenom II X4 840 3.2 GHz
Memory: 11 GB DDR3
Database: MySQL 5.1.11




More information about the Opensim-users mailing list