Can you explain a bit more about what 0.7 and wifi allows that was not possible before the refactor and wifi? I would be particularly interested in connecting webclients to a general-use opensim web-api, using websockets and jsonrpc. That way, other webportals could connect to it as well. Stuff like adding realtime presence information to the web-part would be quite useful.

0.7 introduced a set of clean abstract interfaces to all resource services independent of where those services run -- within the simulator process or within a Robust process.

Let's take presence, for example. That is abstracted by OpenSim.Interfaces.IPresenceService and implemented by the reference OpenSim.Services.PresenceService, which then accesses the DB via an equally clean abstract interface.

So if you want to write a piece of [C#] code that uses the presence information, you have a couple of simple options:

(a) you instantiate a PresenceService object directly, therefore being able to call existing methods such as GetAgent, etc.

(b) you extend the existing PresenceService with more functionality and replace the grid's reference PresenceService with yours.

A third, more advanced, option is to also extend the OpenSim DB layer if you find that you need more SQL statements than the ones we have.

In either case, it will all work seamlessly with the existing code base, and in all configurations.

Then you can connect these new pieces of C# with webclients using whatever wire interface you want (network handlers, write your own -- like the Simian Grid did).

---
I know this may sound very abstract. For the time being, the best resource may very well be the source code of Wifi itself, which shows concrete examples of using and extending OpenSim core code.
_______________________________________________
Opensim-dev mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/opensim-dev

Reply via email to