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

Reply via email to