Hi Rainer, Vik, Michael, Florent,

thank you all for your valuable and encouraging feedback!


Note: all my ideas and proposals are based on just my(our) experience until now.


WHY NOT JCR?
ATM mainly because I've no 'real' experience with JCR yet.
Some years ago (I think it was with one of the Lenya2 beta releases) I started
and experimented with a JackRabbit repo implementation. Read and write of
content was more-or-less working.
I got the impression and am still of the opinion that this kind of (content)
storage really would be the most suitable and flexible for Lenya - at least in
theory ;-)
To be honest, I'm not up-to-date in regard to really good and powerful
(OpenSource) JCR repositories.
(One colleague told me that they have bad performance issues with the their
commercial CMS. It is using a JCR repository which is the bottleneck. But I
don't assume that this is an issue in general when using a JCR repository for
publications with many ten-thousands of documents.)


IMO the database approach does not exclude any other repository implementation
at all.
The question is, if such an implementation(DB)is suitable at all and if the
benefits are worth the required effort.

I think it would really be a great benefit to have the choice between different
content storages and I assume that there will never be a solution that perfectly
fits for all needs.


WHY SQL DATABASE?
Since many years I've used different sql databases as data storage. Today it
seems to me that getting a sql database in real world applications and
environments is really easy.
In general I'm happy with the way Lenya2 deals with the content. The structure
is clear and in most cases easy to understand. And last but not least good to
know that there's always the option to do changes directly in the content
repository (filesystem) - sure, sysadmins only.
I thought about a 'simple' way to achive the things I mentioned in my previous
mail.
So it was somehow nearby for me to think of a database solution.


ORM FRAMEWORK:
Not in the beginning; I've no experience with this but it sounds promising.



DATABASE STRUCTURE:
It seems to me that the areas authoring, trash and archive are all part of the
"Authoring". Within these three areas (together) uuid+lang is unique (yes?)
In my opinionit's somehow a logical unit of data ('Authoring' in contrast to
'Live').


SITETREE:
I do not have the impression that the sitetree (handling) as it is now is a
performance killer, so I would keep it as-is and put the sitetrees in the
'document' tables with a special uuid like
'sitetree-authoring|trash|archive|live'.


METADATA:
sorry, column 'metasetkey' was misleading and does not make sense at all.

Each metadata set will get a dedicated table (to be precise: 4 tables. Authoring
and Live plus the additional ones for the revisions in each area)




Best regards,

 Gerd

Reply via email to