[Opensim-dev] Proposal: Introduce key:value pair dictionaries into SOP and PrimitiveBaseShape
Frisby, Adam
adam at deepthink.com.au
Sat Aug 21 00:36:36 UTC 2010
The OSDMap was at John Hurliman's suggestion - but yeah, you should probably start thinking about how to do this with components, as they are now in there (I'll be commiting a bunch of sample converted components this weekend which will make good references)
Adam
> -----Original Message-----
> From: opensim-dev-bounces at lists.berlios.de [mailto:opensim-dev-
> bounces at lists.berlios.de] On Behalf Of Toni Alatalo
> Sent: Friday, 20 August 2010 3:02 PM
> To: opensim-dev at lists.berlios.de
> Subject: Re: [Opensim-dev] Proposal: Introduce key:value pair
> dictionaries into SOP and PrimitiveBaseShape
>
> 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/sop
> refactor
>
> 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
> >>
> >
> >
>
> _______________________________________________
> 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