Michiel Meeuwissen wrote:
Edwin van der Elst wrote:
When you actually develop application with MMBase, you tend to program
to the cloud-API, not use the taglib.
That depends. I usually limit myself to taglib if possible, because that
avoids a lot of complexity.
The common problems I encounter:
- No foreign keys (since everything is in related using insrel, the
database cannot check key constraints properly).
node fields are foreign keys. But the problem is being to able to use
those in the 'path' (see also my suggestion elsewhere in this thread about
this).
- Performance is bad with queries over mulitple relations
Especially when it leads to 'OR' queries though. This should not happen
in a clear cloud model, and it is advicable to explicitely avoid it
using 'searchdirs' otherwise. But still, the extra 'depth' of the query
is sometimes undesirable. We agree on that :-)
still, most queries in a typical mmbase application are very cachable,
and should be cached. Allso, normally query execution time should stay
below 10 - 15 millisecs, or else you have trouble with your indexes, or
with your queries (or you are stuck with some totally useless database
inheritance scheme :-) ). Presently i don't feel query times to be an
actual problem (unlike update times).
- No mapping to POJO's
This means that you have to call 'node.getStringValue() etc.' methods
all the time, can make errors in names of fields (going unnoticed for
a long time, given the 'nice' default values instead of exceptions)
This is particularly unfortunate becouse mmbase nodes can not be used in
combination with jstl and expression language, as methods such as
node.getStringValue("name") are not supported bij expression language.
This stands in the way of using mmbase for building mvc webapps.
1.8 throws exceptions here. (unless you switch that off again).
Michiel
_______________________________________________
Developers mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/developers