[Opensim-dev] Creator information preserved + 2 questions
Melanie
melanie at t-data.com
Fri Nov 26 19:19:47 UTC 2010
Hi,
my $.02 is that people should move forward, not back, and that 0.6.x
should die. I don't see any reason to write out old formats and
certainly see no reason to hang on to .net serialization.
YMMV
Melanie
Diva Canto wrote:
> Hi all,
>
> I finally have the preservation of creator information working across
> the board, except for IARs, which I'm still working on. By "preservation
> of creator information" I mean the ability for preserving the origin
> grid along with the user ID and name, both on archiving and on HG
> transfers. Turns out that the main obstacle for this has been the .net
> serialization that OpenSim has been using. For background and context,
> see [1] and [2]. This email explains how things have taken shape and
> asks for input on two technical details (one specifically from Justin).
>
> Here's how it works.
>
> For OARs, we can now save that information in the OAR files, and, upon
> importing it somewhere else, the right information about the creator
> will be displayed -- as opposed to the current behavior of always
> assigning creator-ship to the estate owner where the OAR is imported. It
> works like this:
>
> $ save -profile=http://foogrid.org/user region.oar
>
> This saves creator information for all scene objects that have a local
> creator, that looks like this:
> <CreatorData>http://foogrid.org/user/uuid;FirstName LastName</CreatorData>
>
> Upon import to another grid, this information is associated with each
> scene object, and stored persistently in the prims table. The URL (in
> this case, http://foogrid.org/user/uuid) is meant to refer to a valid
> service endpoint for the user's profile. Even if that endpoint is not
> operational, the profile URL is useful, as it the basis for displaying
> the origin of this user: the object's Creator field is shown to other
> users as FirstName.LastName @foogrid.org.
>
> A similar thing happens in HG transfers. (Plus there's a lot more to
> come on transferring assets over the HG, but they are unrelated to this
> email)
>
> The two small technical issues are:
>
> 1) First, I'm now working in IARs, and have a question for Justin. I see
> that UserInventoryItem deserialization is being done with a function
> that imposes the most restrictive constraints on the external
> representation. Specifically, it reads the representation sequentially,
> assuming one and only one set of fields, in exactly one order. Is it ok
> if I rewrite this as processing machine that is independent of the order
> and can be extended to handle new fields, similar to what I have done
> for SOPs? Any other things I should keep in mind, besides backward
> compatibility?
>
> 2) Second, unfortunately .net serialization of flag fields has a
> different behavior than .ToString(). If you have 2 flag values, .NET
> writes them as "F1 F2" while ToString() writes them as "F1, F2".
> Enum.Parse() expects commas. I've been debating about whether to
> continue to drag the .NET behavior or to simply move away from it and
> use the natural form for ToString and Parse. The tradeoff is wrt the
> level of backwards compatibility. Although new versions of OpenSim can
> handle both forms, old versions of OpenSim that still use .NET
> serialization understand only the expected .NET format without commas.
> We can generate the old form by giving the command line option
> -version=0 on save oar.
>
> So, technically, there is no issue. This is simply a usability issue, as
> many people will not pay attention, even though there is a yellow
> warning sign now on save oars warning people that they need to use
> -version=0 to produce oars to be imported into older opensims. I'd like
> to hear people's thoughts on this minor detail that is very annoying:
> should we drag the .NET behavior into the future just because people
> will miss the warning message? Or should we get rid of all traces of
> .NET serialization and be insensitive to the people who don't read the
> warnings? Any other ideas?
>
> Diva / Crista
>
> [1] https://lists.berlios.de/pipermail/opensim-dev/2010-October/009592.html
> [2] http://opensimulator.org/wiki/Explicit_Object_Serialization
>
> _______________________________________________
> Opensim-dev mailing list
> Opensim-dev at lists.berlios.de
> https://lists.berlios.de/mailman/listinfo/opensim-dev
>
>
More information about the Opensim-dev
mailing list