[Opensim-dev] Proposal: Introduce key:value pair dictionaries into SOP and PrimitiveBaseShape

Toni Alatalo antont at kyperjokki.fi
Fri Aug 20 22:01:30 UTC 2010


Justin Clark-Casey kirjoitti:
> Do you guys see any problems with storing and manipulating dynamic 
> data via the OSD classes in libopenmetaverse?

Seems fine so far, but we haven't done anything with it yet. May start 
with it soon as are starting to use custom scene entity data on the 
viewer side more, and have now the APIs in place there for addons / 
scripts to add and use custom data which needs to be synched via and 
stored on the server.

>> Would Adam's SOG/SOP refactor plan be essientally what you're thinking
>> here, or do you see this somehow differently? I don't recall him needing
>
> I'm not sure.  If you could provide a reference I'd be obliged.

http://lists.berlios.de/pipermail/opensim-dev/2009-December/008098.html 
.. has a link to the pdf with diagrams etc. about the plan.

The first part is now in opensim git in the soprefactor branch, 
http://opensimulator.org/viewgit/?a=shortlog&p=opensim&h=refs/heads/soprefactor

I noticed Adam had also used a OSDMap to store the component info - 
perhaps this is very similar to your dynamicattributes branch?

~Toni

>> We need this quite critically for RealXtend, not only because extend the
>> scene for core functionality, but have worked for long now to allow
>> arbitrary data in custom apps that anyone can write for the platform.
>> I'm sure there are good ways to collaborate to get this done somehow --
>> Adam has told that his work is taking a long time still, so perhaps
>> others like our team&  you and other devs can speed things up.
>
> I still want to implement this, though it's prone now to slipping down 
> my priority list as other things bubble up.  My original code also 
> only concerned in memory storage.  Persistent storage could be 
> implemented simply by [de]serializing the OSDMap.
>
> What I will probably do is chuck the code up on a branch, implement 
> storage and see what you guys think.  I'd very much like input from 
> people who would make use of it, since my driving use case (moap) has 
> disappeared.
>
>>
>>> Justin
>>
>> ~Toni
>>
>>>> John
>>>>
>>>>> -----Original Message-----
>>>>> From: opensim-dev-bounces at lists.berlios.de [mailto:opensim-dev-
>>>>> bounces at lists.berlios.de] On Behalf Of Justin Clark-Casey
>>>>> Sent: Thursday, July 29, 2010 8:55 AM
>>>>> To: opensim-dev at lists.berlios.de
>>>>> Subject: Re: [Opensim-dev] Proposal: Introduce key:value pair 
>>>>> dictionaries
>>>>> into SOP and PrimitiveBaseShape
>>>>>
>>>>> On 29/07/10 01:40, Dahlia Trimble wrote:
>>>>>> Similar to the OSDMap in libomv?
>>>>>
>>>>> Not dissimilar, though the in-memory maps in OpenSim would need to 
>>>>> hold
>>>>> arbitrary data types.  We couldn't use OSDMap directly unless we were
>>>>> happy to serialize objects to and from OSD for every get and set 
>>>>> (or change
>>>>> the values directly in the OSD representation, which might be an 
>>>>> idea).
>>>>>
>>>>>>
>>>>>>
>>>>>> On Wed, Jul 28, 2010 at 2:39 PM, Justin Clark-Casey
>>>>>> <jjustincc at googlemail.com<mailto:jjustincc at googlemail.com>>   wrote:
>>>>>>
>>>>>>       Hi there.  Whilst implementing media-on-a-prim, I've been 
>>>>>> keeping as
>>>>>>       much code in the MOAP region module as possible.
>>>>>>
>>>>>>       I'm quite impressed with how feasible this is.  However, there
>>>>>>       remain three major structures where the core of OpenSim has to
>>>>>>       understand something about media on a prim.
>>>>>>
>>>>>>       1)  Database plugins - to get/put values to named database 
>>>>>> columns
>>>>>>       (e.g. prims.MediaURL).
>>>>>>       2)  Script functions (e.g. llGetPrimMediaParams()).
>>>>>>       3)  Scene objects (PrimitiveBaseShape.Media and
>>>>>>       SceneObjectPart.MediaURL).
>>>>>>
>>>>>>       It's difficult to do anything right now about (1) and (2), 
>>>>>> but I
>>>>>>       believe there is an opportunity to address (3).
>>>>>>
>>>>>>       What I would like to do is introduce dictionaries into
>>>>>>       PrimitiveBaseShape and SceneObjectPart that would supplement
>>>>>>       existing fields by storing arbitrary key/value pairs.  So 
>>>>>> instead of
>>>>>>       having to hardcode a new MediaURL property on 
>>>>>> SceneObjectPart I
>>>>>>       could instead get/put the data as something like
>>>>>>       SceneObjectPart.Values["MediaURL"].
>>>>>>
>>>>>>       Thus, the dictionaries can act as blackboards for 
>>>>>> communication
>>>>>>       between plugins and modules without the core of OpenSim 
>>>>>> having to
>>>>>>       get involved.  I think that this would move us a tiny way 
>>>>>> towards
>>>>>>       our vision of being a generic virtual environment platform 
>>>>>> and away
>>>>>>       from hardcoded Second Life specifics, and make it easier to 
>>>>>> write
>>>>>>       more ambitious region modules without additions to core.
>>>>>>
>>>>>>       Thoughts?
>>>>>>
>>>>>>       --
>>>>>>       Justin Clark-Casey (justincc)
>>>>>>       http://justincc.org
>>>>>>       http://twitter.com/justincc
>>>>>>       _______________________________________________
>>>>>>       Opensim-dev mailing list
>>>>>>       
>>>>>> Opensim-dev at lists.berlios.de<mailto:Opensim-dev at lists.berlios.de>
>>>>>>       https://lists.berlios.de/mailman/listinfo/opensim-dev
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> Opensim-dev mailing list
>>>>>> Opensim-dev at lists.berlios.de
>>>>>> https://lists.berlios.de/mailman/listinfo/opensim-dev
>>>>>
>>>>>
>>>>> -- 
>>>>> Justin Clark-Casey (justincc)
>>>>> http://justincc.org
>>>>> http://twitter.com/justincc
>>>>> _______________________________________________
>>>>> Opensim-dev mailing list
>>>>> Opensim-dev at lists.berlios.de
>>>>> https://lists.berlios.de/mailman/listinfo/opensim-dev
>>>> _______________________________________________
>>>> Opensim-dev mailing list
>>>> Opensim-dev at lists.berlios.de
>>>> https://lists.berlios.de/mailman/listinfo/opensim-dev
>>>>
>>>
>>>
>>
>>
>> _______________________________________________
>> 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