Can I rely on consistent UUIDs for things imported from different grids using IAR/OAR files?

classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

Can I rely on consistent UUIDs for things imported from different grids using IAR/OAR files?

Edmund Edgar-2
Me and Fire Centaur are doing some work on SLOODLE (and our hosted
service, Avatar Classroom) that uses ZZText (see
http://wiki.secondlife.com/wiki/ZZText ) to display text on a prim.
This relies on a dozen or so uploaded textures, which are currently
identified in the script by hard-coded UUIDs. We will distribute the
finished thing as IAR/OAR so it can be easily loaded into any grid.

We've put the textures into the inventory of the object, and when we
export textures in an IAR or OAR, it seems like the UUIDs are saved
along with the textures. If we load that IAR/OAR into another grid,
can we rely on the UUIDs always being the same? Or are there some
circumstances where a texture exported from one grid and imported into
another will end up having a different UUID?

--
Edmund Edgar
Avatar Classroom
Your classroom, on the web, in a virtual world.

[hidden email]
+81 090 3912 3380
Skype: edmundedgar
Second Life: Edmund Earp
Linked In: edmundedgar
Twitter: @edmundedgar
http://www.avatarclassroom.com
_______________________________________________
Opensim-users mailing list
[hidden email]
https://lists.berlios.de/mailman/listinfo/opensim-users
Reply | Threaded
Open this post in threaded view
|

Re: Can I rely on consistent UUIDs for things imported from different grids using IAR/OAR files?

drwhiet@spacefriends.de


I dont think so ; Mayby those UUIDs are already taken in the destination
grid ..
But these are just my 5 L$  

Best regards
Wordfromthe Wise (happy bouncing email)

-----Ursprüngliche Nachricht-----
Von: [hidden email]
[mailto:[hidden email]] Im Auftrag von Edmund Edgar
Gesendet: Samstag, 24. März 2012 10:21
An: [hidden email]
Betreff: [Opensim-users] Can I rely on consistent UUIDs for things imported
from different grids using IAR/OAR files?

Me and Fire Centaur are doing some work on SLOODLE (and our hosted service,
Avatar Classroom) that uses ZZText (see
http://wiki.secondlife.com/wiki/ZZText ) to display text on a prim.
This relies on a dozen or so uploaded textures, which are currently
identified in the script by hard-coded UUIDs. We will distribute the
finished thing as IAR/OAR so it can be easily loaded into any grid.

We've put the textures into the inventory of the object, and when we export
textures in an IAR or OAR, it seems like the UUIDs are saved along with the
textures. If we load that IAR/OAR into another grid, can we rely on the
UUIDs always being the same? Or are there some circumstances where a texture
exported from one grid and imported into another will end up having a
different UUID?

--
Edmund Edgar
Avatar Classroom
Your classroom, on the web, in a virtual world.

[hidden email]
+81 090 3912 3380
Skype: edmundedgar
Second Life: Edmund Earp
Linked In: edmundedgar
Twitter: @edmundedgar
http://www.avatarclassroom.com
_______________________________________________
Opensim-users mailing list
[hidden email]
https://lists.berlios.de/mailman/listinfo/opensim-users


_______________________________________________
Opensim-users mailing list
[hidden email]
https://lists.berlios.de/mailman/listinfo/opensim-users
Reply | Threaded
Open this post in threaded view
|

Re: Can I rely on consistent UUIDs for things imported from different grids using IAR/OAR files?

Jeff Kelley
At 5:57 PM +0200 3/26/12, <[hidden email]> wrote:

>I dont think so ; Mayby those UUIDs are already taken in the destination
>grid ..

They souldn't since UUID are supposed to be unique. However, i wouldn't
rely on it.

Since you put the textures into the object's inventory, why not :

FontTexture = llGetInventoryKey(texture_name);



--
Jean-Yves Bernier
_______________________________________________
Opensim-users mailing list
[hidden email]
https://lists.berlios.de/mailman/listinfo/opensim-users
Reply | Threaded
Open this post in threaded view
|

Re: Can I rely on consistent UUIDs for things imported from different grids using IAR/OAR files?

drwhiet@spacefriends.de


But if you upload objects to a different grid they are assigned new uuids
there ; thats why ..


-----Ursprüngliche Nachricht-----
Von: [hidden email]
[mailto:[hidden email]] Im Auftrag von Jeff Kelley
Gesendet: Montag, 26. März 2012 19:46
An: [hidden email]
Betreff: Re: [Opensim-users] Can I rely on consistent UUIDs for things
imported from different grids using IAR/OAR files?

At 5:57 PM +0200 3/26/12, <[hidden email]> wrote:

>I dont think so ; Mayby those UUIDs are already taken in the
>destination grid ..

They souldn't since UUID are supposed to be unique. However, i wouldn't rely
on it.

Since you put the textures into the object's inventory, why not :

FontTexture = llGetInventoryKey(texture_name);



--
Jean-Yves Bernier
_______________________________________________
Opensim-users mailing list
[hidden email]
https://lists.berlios.de/mailman/listinfo/opensim-users


_______________________________________________
Opensim-users mailing list
[hidden email]
https://lists.berlios.de/mailman/listinfo/opensim-users
Reply | Threaded
Open this post in threaded view
|

Re: Can I rely on consistent UUIDs for things imported from different grids using IAR/OAR files?

Edmund Edgar-2
In reply to this post by drwhiet@spacefriends.de
On 27 March 2012 02:45, Jeff Kelley <[hidden email]> wrote:
> Since you put the textures into the object's inventory, why not :
>
> FontTexture = llGetInventoryKey(texture_name);

Thanks Jeff, that was my fallback plan.

But I'd rather use the UUIDs if I can do it reliably because:
1) It makes the script simpler.
2) If more than one of the object is rezzed on the same grid, I'm
hoping using the same UUIDs for all of them will allow the textures to
be cached in the viewer, so they'll load faster the second time a user
encounters the object.

--
Edmund Edgar
Avatar Classroom
Your classroom, on the web, in a virtual world.

[hidden email]
+81 090 3912 3380
Skype: edmundedgar
Second Life: Edmund Earp
Linked In: edmundedgar
Twitter: @edmundedgar
http://www.avatarclassroom.com
_______________________________________________
Opensim-users mailing list
[hidden email]
https://lists.berlios.de/mailman/listinfo/opensim-users
Reply | Threaded
Open this post in threaded view
|

Re: Can I rely on consistent UUIDs for things imported from different grids using IAR/OAR files?

justincc
On 27/03/12 01:16, Edmund Edgar wrote:

> On 27 March 2012 02:45, Jeff Kelley<[hidden email]>  wrote:
>> Since you put the textures into the object's inventory, why not :
>>
>> FontTexture = llGetInventoryKey(texture_name);
>
> Thanks Jeff, that was my fallback plan.
>
> But I'd rather use the UUIDs if I can do it reliably because:
> 1) It makes the script simpler.
> 2) If more than one of the object is rezzed on the same grid, I'm
> hoping using the same UUIDs for all of them will allow the textures to
> be cached in the viewer, so they'll load faster the second time a user
> encounters the object.

If assets already exist with those UUIDs then the existing assets will not be replaced which would make things look
rather odd.

In general, you can't rely on any asset UUIDs being the same apart from the default ones.

--
Justin Clark-Casey (justincc)
http://justincc.org/blog
http://twitter.com/justincc
_______________________________________________
Opensim-users mailing list
[hidden email]
https://lists.berlios.de/mailman/listinfo/opensim-users
Reply | Threaded
Open this post in threaded view
|

Re: Can I rely on consistent UUIDs for things imported from different grids using IAR/OAR files?

Edmund Edgar-2
On 27 March 2012 10:49, Justin Clark-Casey <[hidden email]> wrote:
>> In general, you can't rely on any asset UUIDs being the same apart from the default ones.

OK, thanks.

--
Edmund Edgar
Avatar Classroom
Your classroom, on the web, in a virtual world.

[hidden email]
+81 090 3912 3380
Skype: edmundedgar
Second Life: Edmund Earp
Linked In: edmundedgar
Twitter: @edmundedgar
http://www.avatarclassroom.com
_______________________________________________
Opensim-users mailing list
[hidden email]
https://lists.berlios.de/mailman/listinfo/opensim-users
Reply | Threaded
Open this post in threaded view
|

Re: Can I rely on consistent UUIDs for things imported from different grids using IAR/OAR files?

Karen Palen
In reply to this post by Jeff Kelley
IAR/OAR does this correctly, however the various viewer based "backups"
create NEW objects (NEW UUID) each time!

Apart from that consider that the odds of a truly random "duplicate"
UUID is about the same as putting your hand into the ground outside your
house and finding a huge diamond!

"Possible" does NOT imply "probable"!

Somewhere Diva has posted a much better analysis of this situation based
on actual experience with OpenSIm - in essence she concludes that the
odds of a truly "random" UUID collision are essentially zero, but
various people (for good or evil) deliberately DUPLICATE UUIDs for
various reasons. :-(

There are several solutions none of which *I* would call "desirable"
(although executing violators DOES have its appeal at "o-dark 30"), but
essentially you CANNOT assume that the UUID is truly unique.

Sigh

Karen

On 03/26/2012 10:45 AM, Jeff Kelley wrote:

> At 5:57 PM +0200 3/26/12, <[hidden email]> wrote:
>
>> I dont think so ; Mayby those UUIDs are already taken in the destination
>> grid ..
> They souldn't since UUID are supposed to be unique. However, i wouldn't
> rely on it.
>
> Since you put the textures into the object's inventory, why not :
>
> FontTexture = llGetInventoryKey(texture_name);
>
>
>
_______________________________________________
Opensim-users mailing list
[hidden email]
https://lists.berlios.de/mailman/listinfo/opensim-users
Reply | Threaded
Open this post in threaded view
|

Re: Can I rely on consistent UUIDs for things imported from different grids using IAR/OAR files?

Jeff Kelley
In reply to this post by justincc
At 2:49 AM +0100 3/27/12, Edmund Edgar wrote:

>> FontTexture = llGetInventoryKey(texture_name);
>>
> Thanks Jeff, that was my fallback plan.
>
> But I'd rather use the UUIDs if I can do it reliably because:
> 1) It makes the script simpler.
> 2) If more than one of the object is rezzed on the same grid, I'm
> hoping using the same UUIDs for all of them will allow the textures to
> be cached in the viewer, so they'll load faster the second time a user
> encounters the object.


With llGetInventoryKey, you are actually using UUID. Except you do not have
to know it in advance, instead you use an inventory entry to retrieve it.
It is "soft coded" rather than "hard coded".

If more than one of the object is rezed on the same grid, the asset is not
duplicated and the result of llGetInventoryKey will be the same for each
object. Remember, an inventory entry is just a *pointer* to an asset.

When you export an object, textures are exported as uuid.jp2 (not
name.jp2). When importing again, we expect the viewer NOT to upload the
texture if it already exists on the grid. Actually, the re-imported object
has the same texture(s) UUID(s).

In theory, if we take care to preserve UUIDs over all export formats, there
should never be asset duplication, even inter-grid (hope i am right here).
Asset duplication occurs only when the same file is uploaded multiple times.


--
Jean-Yves Bernier
_______________________________________________
Opensim-users mailing list
[hidden email]
https://lists.berlios.de/mailman/listinfo/opensim-users