<div dir="ltr"><div><div>I have a similar set of modules I wrote which allow for scene replication, alternative viewers, remote scene manipulation, and pathfinding. I had also intended to use them for out-of-process scripting but I've not done any work there yet. I haven't considered committing them ot core yet as the protocol is still in flux and I don't want others to build on them and rely on protocol features that may change or be deleted, at least until I'm fairly certain that the protocol is somewhat stable. It's mainly UDP based but uses http for some communication.<br><br></div>I have no objections at all to having competing functionality in core as long as it won't prevent my modules from working. I don't really see this happening though. Perhaps if your design is better I might migrate to it. However I also have non-OpenSimulator code which communicates with it and I don't see myself having time to change those for some time, if ever. I've also added some new events and other hooks in core to support some of the additional region module functionality I use but there are likely nothing in core that use them and I sometimes worry that they may be altered or removed. If they do get removed I could re-commit them of just maintain some patches to core to enable them for myself but then nobody else could use them.<br><br></div><div>So far these modules are only used on my installations so if something changes in core that affects them I can usually deal with it. If I were to distribute them I would probably take some steps to ensure that the interfaces and APIs they use in core stay fairly stable so I could have some confidence they would stay functional as OpenSimulator evolves. I might also consider committing them to core if I do freeze the protocols and others decide to use them but I don't see that happening for the visible future.<br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Dec 18, 2014 at 4:11 PM, Mic Bowman <span dir="ltr"><<a href="mailto:cmickeyb@gmail.com" target="_blank">cmickeyb@gmail.com</a>></span> wrote:<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">i've had several requests for the dispatcher interface to be moved into core. dispatcher package consists of two pieces: <div><br></div><div>dispatcher -- the core modules that implement the message transfer, message encoding and some of the basic messages (informational messages and messages to create and renew access capabilities). </div><div><br></div><div><a href="https://github.com/cmickeyb/scisim-addons/tree/master/dispatcher" target="_blank">https://github.com/cmickeyb/scisim-addons/tree/master/dispatcher</a><br></div><div><br></div><div>remote control -- a collection of messages that implement a OpenSim remote scripting API. these messages include some basics for accessing/creating assets, for getting/setting avatar appearance, sending messages, managing objects in the scene, and managing some of the region characteristics. there are also messages for registering remote handlers for touch events. clearly this is just a start (though there is a surprisingly large number of things you can do with these). </div><div><br><div><a href="https://github.com/cmickeyb/scisim-addons/tree/master/rcontrol" target="_blank">https://github.com/cmickeyb/scisim-addons/tree/master/rcontrol</a></div><div><br></div><div>for more information on what the dispatcher is and why you might want to use it, watch the OSCC presentation <a href="http://www.ustream.tv/recorded/55195110" target="_blank">http://www.ustream.tv/recorded/55195110</a> or take a look at the kinds of scripts that you can write by looking in the scripts directory of the rcontrol repository.</div><div><br></div><div>with all that said... </div><div><br></div><div>i would like to start the discussion about whether this is useful enough to be moved into core & how that should happen.</div><div><br></div><div>i don't have a particular stake in whether its moved to core. there are benefits to both. its easier for me to change for my purposes if if its outside core and its (much) easier for the community to use it if its in core. if the community believes there is sufficient value, then we should move it in.</div><div><br></div><div>if it is not moved inside, i would appreciate suggestions on how to distribute the libraries. this is an ongoing problem for opensim... how to provide simple access to a dynamic set of region modules. probably a bigger discussion.</div><div><br></div><div>if we think the dispatcher API should be moved into core, then there are a few questions about how that should happen. clearly the region modules can be moved into OpenSim/Region/OptionalModules. that's easy. the more interesting question is where to put the client libraries (these are the perl & python libraries that are used to build dispatcher clients) and the control scripts that are rather useful for managing a region. I would propose placing them in a directory under OpenSim/Tools though they really aren't tools in the sense of the other packages in that directory.</div><div><br></div><div>the final question is about documentation. the api is already pseudo-self documenting... the API lets you can ask any simulator for the messages it supports & then ask for examples of the messages themselves. i'm planning to add a "documentation" string for each as well. some other methods for autodoc would be useful though pulling out dispatcher documentation from within the multitude of existing opensim autodoc might be challenging (not something i have any experience with). </div><span class="HOEnZb"><font color="#888888"><div><br></div><div>--mic<br></div><div><br></div><div><div><br></div></div></font></span></div></div>
<br>_______________________________________________<br>
Opensim-dev mailing list<br>
<a href="mailto:Opensim-dev@opensimulator.org">Opensim-dev@opensimulator.org</a><br>
<a href="http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev" target="_blank">http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev</a><br>
<br></blockquote></div></div>