[Typo3-dev] DBAL - how to do it?

Michael Zedeler michael at zedeler.dk
Sun Feb 15 06:17:00 CET 2004


Hello everybody.

Just a sidenote regarding "The future of typo3". I have applied for a 
permission to let everybody on the list into the production system that 
I have developed which has a lot of frontend editing stuff. I received 
no reply yet. The customer is McDonalds Denmark.

I have been following the discussions on typo3.dev and the user lists 
and many postings are about subjects that have one or the other thing to 
do with some kind of database abstraction layer.

Typo3 has some nasty deficiencies that I think can be solved by 
introducing a database abstraction layer with a permissions layou right 
on top of it.

Problems as of today:

1. The kind of OO that makes it possible to scale and reuse components 
better requires an object persistence layer.
2. A basic permission layer checking as close to data storage as 
possible will cut down development time and help developers make their 
code less vulnerable.
3. It is impossible to use other databases since SQL is not de facto 
standardized.

Regarding 1: This point can radically change the quality of the 
extensions developed. Today we treat whole plugins as classes. Having 
objects only at this level leaves too many typo3 developers with 
ordinary structural programming underneath this level.

If we introduce a row-object instance correspondence that actually 
performs well (eg. PEAR), developers will be able to build what could be 
dubbed "business objects" that can be reused across plugins and extensions.

Regarding 2: Asking developers to insert "funny" conditions into their 
SQL statements shouldn't be nessecary. If a basic permission checking 
system is in place right on top (possibly as an integrated part) of the 
storage layer, the developers can focus on the essential things - 
business logic and interfaces.

Regarding 3: The situation right now is really aggrevating. As time 
passes by, more and more MySQL-dialect SQL is being hardcoded into the 
core and into modules developed by others. This means that introducing 
the DBAL only gets harder as time goes by.

Second, since databases do have different SQL dialects, hardcoding SQL 
in the code really isn't an option at all.

I would like to suggest giving the DBAL project top priority for the 
next major release.
--
Velkommen til det muntre køkken!
Dagens ret: pasta med silde-banansovs.
Æblegrød med leverhejs til dessert.




More information about the TYPO3-dev mailing list