[Typo3-dev] extending extensions

Michael Zedeler michael at zedeler.dk
Mon Jan 26 17:44:21 CET 2004


Martin Poelstra wrote:
>>>The only thing I can imagine is a part of the extension manager that can
>>>detect a warn about such incompatibilities.
>>
>>That would require explicit interface declarations unless you're ready
>>to prove Turing wrong.
> 
> Well, it shouldn't be that hard. The extension-manager can just check if
> an extension wants to override a certain class, that an other extension
> also wants to override.
> E.g.: the 404-page-extension seems to override tslib_fe, but RealURLs does
> too. It shouldn't be too hard to detect that. So, say you have the 404-ext
> installed and you want to install RealURLs. You should then get an error
> message telling that RealURLs can't be installed, because it wants to
> override the same class. You should then de-install the 404-ext, or you
> can't use RealURLs.

But that is not satisfactory - then we wind up with tons of undocumented 
(read: yet undetected) incompatibilies.

>>See my message dated 16/1 in this thread for more details on the
>>side-by-side solution.
> 
> See my note on this too, in 'Colliding Extensions' dated 16/1 too.

I suppose you mean this:
> I think there are currently two possible solutions for this problem:
> 1. Create a very advanced, very complex and still pretty dangerous
> dynamic class loader with automatic stacking
> 2. Wait for a new API to be created for your functionality and use the
> current extension-way in the mean time
 >
> The first solution is more general, but I think it can make life real
> hard when things go wrong, and it's a lot of work to implement it right.
> The second solution will in the end give the most elegant solution, but
> requires changes to the core over and over again (to create the new
> 'APIs').

I don't believe in any sort of "automatic stacking" if it involves 
making load-time descisions about overriding methods. So not only do I 
think it will be tedious to implement, it will also lead to poor 
results. I think your suggestion number 2 is the way to go until we have 
a better plan.

Regards,

Michael.




More information about the TYPO3-dev mailing list