The OWm2 storage engine is the place where most Ambaradan magic happens. It's the real brain of the system, as everything else limits its functions to data display and interaction with both the user and other nodes in the network. Whatever you do in Ambaradan eventually boils down to a sequence of commands that are executed here.
A spoonful of history
This storage engine was originally born as an upgrade for Omegawiki (hence the OWm2 codename), but in time it has evolved to such a conceptual distance from Omegawiki that at this stage they can only be presented as remote relatives.
The most radical changes happened in the late autumn of 2008, when it became clear that most administrative problems originated from inconsistencies in the first datadesign. This forced us to produce two complete rewrites of the codebase, and it basically meant losing all the work that had been done up to then.
It was quite an unpleasant decision, as we already were sitting on a very tight schedule and there was no available funding, so the work had to be fully self-financed. At this point in time the only thing that remains of the original Omegawiki framework is the content that was stored in it, everything else was remade from scratch, including the most basic concepts behind the system.
In particular:
OWm2 in objects
Everything in OWm2 is an object, and as in all decent programming families (hopefully you got the self-ironic tone here) our objects are made of hierarchies, inherited values and behaviours.
To present such uncanny pieces of black computing magic, the usual geek convention is to start from the root element, write loads of pages on how powerful and generic it is, and then slowly get to things a simple user can understand. Too bad that most simple users have long quit reading, by the time things get to be interesting for them.
We obviously cannot build a house starting from the roof, yet we did try our best to build this guide with things that non-programmers can immediately grasp, without any need to get deeply involved in object oriented theology. You may want to read the following pages to get a good grasp of how this engine works.