[TYPO3-core] RFC: Integrate Doctrine2 into TYPO3 CMS

Tolleiv Nietsch tolleiv.nietsch at typo3.org
Sun Jan 27 09:23:47 CET 2013


I doubt that this could be integrated in 6.x without loosing all
existing hooks in tcemain/DataHandler or any other data-related Core class.

The benefit to have a solid ORM layer in the core would be big, but at
the same time this reads for me like rewriting tons of extremely
important "enterprise" extensions like workspaces, l10nmgr,
languagevisibility, ... to name a few. Somebody would have to take care
of the record history / rollback handling and fully rewrite that too.
Writing good and solid migration scripts would take very long and with
the dropped support for "ext_upgrade" in the new EM, extensions wouldn't
even have the chance to ship any migrations.

I'd suggest to not put that on the 6.x agenda for Core integration and
rather think of it for 7.x or later versions. In general the effort
seems very big ("integrating" it might be done fast but that's only the
first 10% of the work) and without a proper general product agenda ...

Why exactly did we start rewriting the entire system 7 years ago?


Oliver Hader schrieb:
> Hi everybody,
> currently there are some discussions out in the wild on integrating
> Doctrine2 into TYPO3 CMS. Since this step has advantages, but maybe also
> some disadvantages, I'd like to bring up the topic here in the list and
> hope that some experts could give their feedback and statements.
> The current persistence layer in Extbase is a self-made way to store
> data, the various types of relations and any other combinations and
> aggregates. By using Doctrine as persistence layer, the part of
> maintaining and extending our custom solution would be drastically
> reduced - however it's still some work to get there [sic!].
> In general it can be summarized to the following goals:
> * lower the effort to maintain our custom persistence layer
> * add the possibility to have better support for translation and
>   workspaces
> * use a standard that has been proven to be good and flexible
> * and thus get a bit more in sync with TYPO3 Flow again which utilizes
>   Doctrine already for quite some time
> Since the new/alternative persistence layer for Doctrine is not only
> helpful for Extbase components, it might be included on a more prominent
> level in the Core and be available for "regular" parts as well - those,
> that are not based on Extbase.
> That being said, one might think about t3lib_TCEmain/DataHandler, which
> takes care of persisting data, handling workspaces and translations and
> puts everything into (non-transactional) SQL statements. Thus, this part
> needs to be considered as well to be working with the current/legacy
> structures and the new flexible possibilities - so, I see both
> "persistence layers" existing side-by-side for some time.
> Thomas Maroschik already created a first draft concerning Doctrine
> integration [1].
> Besides that, as a historic look-up, there was a discussion about 2
> years ago with the subject "The Extbase dilemma" [2]. You'll find some
> references on Doctrine and the custom ORM part in Extbase there as well.
> So, now it's up to you to give feedback and your experience on using
> Doctrine with components in the Core of the TYPO3 CMS. Thanks in advance!
> Cheers,
> Olly
> [1]
> http://git.typo3.org/TYPO3v4/Core.git/commit/b0a64733d2de2396c1f91dd559b37f0a4b652766
> [2] http://lists.typo3.org/pipermail/typo3-dev/2011-May/043180.html

Tolleiv Nietsch
TYPO3 Core Developer

TYPO3 .... inspiring people to share!
Get involved: typo3.org

More information about the TYPO3-team-core mailing list