[TYPO3-ect] Propel integration
Michael Knoll
mimi at kaktusteam.de
Fri Nov 16 10:13:20 CET 2007
Hello Daniel,
> Hello Michael,
>
> why do you use propel - how much entities do you want to generate?
I want to use Propel, as there is no ORM available for T3 extensions,
which usually makes it a lot more work to create domain models. I
thought a little while about making my own ORM extension but now I think
I won't invent the wheel twice. Propel seems to be quite a good solution
for this task, as some other frameworks use it (Symfony) and it uses
some good pieces of technology (like phing and creole).
How many entities? If I get you right, you mean how many classes I want
to create for the DB - Access. I'd like to access all tables via propel
and therefore generate Propel classes for all T3 tables.
You
> would really have some things doubled:
>
> * database-relations TCA / relational
> * database-configuration TCA / propel
> * database engine DBAL / propel
Yes - there will be double things, but as Propel generates a lot of code
itself, the question is, why not letting Propel create all its required
files out of Typo3 - configurations.
>
> For PEAR-packages you can use the EXT pear.
> use version 2.3.5
EXT pear didn't work out of the box for me - there seems to be something
wrong with the rights on my server.
Greez
Michael
>
> best regards
> Daniel
>
>
>> 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