Joachim Wolfgang Kaltz schrieb:
(...)
The main reasons I have started Yanel and use it today successfully (and
not using Lenya anymore) are
- backwards compatibility/upgradeability
- scalability/performance
(...)
With Yanel we do not need releases anymore (except from a marketing
point of view), but can continuously upgrade at any time and it handles
arbitrary amount of content without a problem
Hi Michi
IIUC you are saying that Yanel has design principles ensuring
upgradeability. This sounds interesting, can you elaborate a bit?
it's all about versioned interfaces
http://yanel.wyona.org/javadoc/org/wyona/yanel/core/api/attributes/package-summary.html
Yanel is at the core a framework with interfaces (with content
management characteristics) in order to build on.
Interfaces/contracts/protocols have a good and bad side. Your
implementations break when they are being changed, but
you want them to break. So how to get out of this dilemma?
The answer is "versioned interfaces" (just as some protocols also have a
version)
So the basic element/unit of Yanel is a so-called "resource" (or
"resource type"), which acts as controller, but has no capabilities in
the first place. Each request is mapped onto such a resource type
instance (similar as in Cocoon each request is mapped onto a pipeline).
Now a resource type can become some life by applying some interfaces,
such as for example, viewable, modifiable, etc.
These interfaces are versioned and the core of Yanel checks the versions
and handles them accordingly.
Very simple and it works great :-)
This way you can upgrade at any time without a problem.
HTH
Michael
TIA
Wolfgang
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]