[Opensim-dev] IRegisterInterface for extending scene entities

Justin Clark-Casey jjustincc at googlemail.com
Sat Jan 5 01:17:37 UTC 2013


No problem in making this e-mails, Robert - I think this is exactly the kind of discussion that we need.  These are the 
kind of decisions that we'll be stuck with for a long time so I think we need to think them through, both through 
discussion and review or proof-of-concept code.

I hadn't really properly considered that the JSONStore is close to this.  I suppose one other significant difference is 
that the current dynamic-attributes effectively stores data per part rather than through a single datastore for the 
whole region.

But even if it does use the blackboard pattern, there still has to be an underlying persistence store, which in this 
case would be a serialized JSON object that is functionally identical with the OSD Map (I've run out of time today to 
see if the JSON store enforces type safety in some way).  Really, the code could be very similar, though in terms of 
formats I would prefer if to avoid further schizophrenia over data storage in OpenSimulator.  If we stored as JSON, for 
instance, we end up transporting a JSON object in XML... :p

On 04/01/13 21:22, Adams, Robert wrote:
> I think adding a module allowing scripts to attach dynamic variables to SOPs is the right level of functionality. Just adding a key/value store is way too low a level.
>
> For instance, the JSONStore module (http://opensimulator.org/wiki/JsonStore_Module) creates a dynamic variable storage to share between scripts. Since it's made for sharing, a script can request events when values are updated. The module adds, as one piece, functionality for extension and communication between scripts.
>
> Does this attribute store enable such? Would a script want to know when one of the key/value pairs changed? Is polling suitable? Does the usage case just need static variable addition?
>
> As to the practical, implementation angle, yes, you are correct that adding an OSD store on a scene object is simpler. This is an open source project, after all, so this is just my opinion.
>
> -- ra
>
> -----Original Message-----
> From: opensim-dev-bounces at lists.berlios.de [mailto:opensim-dev-bounces at lists.berlios.de] On Behalf Of Oren Hurvitz
> Sent: Friday, January 04, 2013 11:22 AM
> To: opensim-dev at lists.berlios.de
> Subject: Re: [Opensim-dev] IRegisterInterface for extending scene entities
>
> The typing problem is already solved since the dynamic attributes are implemented using OSD.
>
> Your proposal is much more complicated than the currently proposed attributes, and I don't want to suppress a good solution in favor of a perfect solution that might never be implemented (I assume you're too busy with BulletSim to do this...) Furthermore, it would prevent a very exciting
> use-case: the ability to use dynamic attributes from a script, using OSSL.
> (Well, unless you add a module for that specific purpose, but in that case you just added a layer of indirection around the key-value store.)
>
> Oren
>
>
>
> --
> View this message in context: http://opensim-dev.2196679.n2.nabble.com/IRegisterInterface-for-extending-scene-entities-tp7578406p7578425.html
> Sent from the opensim-dev mailing list archive at Nabble.com.
> _______________________________________________
> 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
>


-- 
Justin Clark-Casey (justincc)
OSVW Consulting
http://justincc.org
http://twitter.com/justincc



More information about the Opensim-dev mailing list