[Typo3-dev] Event System in the core / Ease the integration of3rd party apps

Andy Staudacher ast at gmx.ch
Thu Sep 2 21:41:19 CEST 2004


Hi Martin, 

Martin Seebach wrote: 
> Hi,
> 
> Andy Staudacher wrote:
> 
> >I'm concerned about the interfaces
> >between CMS like typo3 and 3rd party applications (3rdPA) as 
> the forum 
> >software phpbb or the gallery software gallery/G2. I'm a fan of 
> >projects like typo3, xaraya, phpbb or G2 and I'm working on the 
> >integration of G2 with xaraya as an integration prototype 
> for future G2 
> >integrations with as many CMS as possible, typo3 and various *nuke 
> >forks are on the list.
> >  
> >
> I'm sorry, but I'm gonna go a bit off topic. I've spend some days 
> integrating phpBB in Typo3, using the lz_phpbb extension as a 
> base. The 
> reason this particular application doesn't integrate very well, 
> [...]

As I wrote at the end of my mail, the tikipro dev managed to integrate
phpbb with very few changes. It's possible, given the right tools from
the CMS.

> 
> It seems to me that you are more or less suggesting a grand unified 
> systems interfacing, that everything would support. That is not very 
> likely to happen. You will always need to make some kind of 
> interfacing 
> and wrapping to fit a third party product into typo3. Wether that 
> product is designed with this interfacing in mind, this can be very 
> difficult or rather simple.

Right, the wrapping of the 3rd party product into typo3 is done by an
extension. In 1 folder of the extension is a vanilla version of the 3rd
party product ensuring an easy upgrade path of the application
(bugfixes, new versions).
The 3rd party application itself needs changes too. In the case of phpbb
you'll have to edit some files manually, as I said. In the case of
modular applications as G2, you'll activate a "typo3 module" in G2 and
that's it.
As a sidenote: phpbb easymod automates modifications in phpbb.

> Of your two proposed solutions, I'd definately prefer B. Keeping 
> serveral tables in sync are messy at best.

I'm asking to keep the tables in sync by calling events whenever they
get out of sync, exactly in the moment when it happens. So, the moment
they are out of sync is extremely short. As we talk of data as "language
choice, address, real name, ...", I can't imagine a scenario this
instant of loss of data integrity would do much harm. 

> The 'rewriting' could be very 
> simple, if the third party application was weel designed. 

How simple was it for phpbb? And you'll have to do that for every 3rd
party app and by far not all are well designed. Either you have to
translate all queries that contain the user/group/map table or you
translate the queries centralized in the database abstraction layer.
Some 3rd party apps have modules themself (G2), or modifications (phpbb)
and if you change the queries manually, you'll break all these
modules/modifications. There are other problems, it's not as simple as
you think.
But what you surely agree on is that method "B" needs a lot more changes
to the 3rd party application and my goal is minimal changes, to profit
from the ongoing support of the 3rd party developers (bugfixes, new
versions).

> Features like 
> object extensions and hooks are designed with this kind of seemless 
> extension in mind.
> 

Do these features allow the events I was describing? Or can I register a
function that is called whenever a user updates his account?

Thanks - Andy






More information about the TYPO3-dev mailing list