[TYPO3-ect] Propel integration

Michael Knoll mimi at kaktusteam.de
Fri Nov 16 00:27:39 CET 2007


I posted this message as an answer to an old thread, but to make sure 
that it will be read, I also opened up a new thread on this!

====

Hi list,

I just got Propel to work as an ORM for my extension - project. To make 
it a "real" extension, there needs to be a lot of wrapping done before. 
I try to figure out some problems:

- Transforming of TCA to Propel XML Schema:

TCA offers other and more complex data structures than Propel does. The 
biggest problem for me at the moment are the f*#+*%$ M:N relations 
realized with a blob field... damn it! There seems to be a solution 
which enables propel to generate the xml structure out of a given 
database-schema. This way could work, but you can't deploy you extension 
very well then, as you need a database schema to generate Propel XML to 
generate Propel classes but you get your database only after the 
installation is done.

The way of creating Data - specific Propel classes only during 
development and shipping them inside the extension package could be 
another possibility to avoid these problems.

- Use of DBAL

Propel comes with its own DB Abstraction layer (Creole). You therefore 
cannot use the Typo3 Abstraction Layer for your extensions. I'm not sure 
whether this is really a big problem or not, as you get a very powerful 
DBAL with Creole.

- Installation of PHING and other PEAR packages

For running Propel you need some other packages, which needed to be 
packed into an extension or at least which should be installed via the 
Pear Installer. For Typo3 users who don't have the possibility to do 
that, the extensions build up using propel won't run.

- Duplicate Configuration

At the moment I need a second conf file specifying my DB configuration 
for Propel. Of course you can autogenerate those files from Typo3 Conf, 
but they still exist twice, which is kind of a ugly thing.

- Integration in lib/div or COOL

As lib/div uses tx_lib_object objects as "Model-Objects" there needs to 
be a little adaption to make Propel Objects work with that extension. 
Perhaps Elmar could give me some advice on how to make the two worlds 
run together, as I would like to use lib/div for all the other parts.


So far - my thoughts about that. Perhaps somebody else has tried this 
combination and can exchange some experience. I'm looking forward to 
hear from you!

Greez

Mimi


More information about the TYPO3-team-extension-coordination mailing list