[dev] [cvs] commit: ingo/lib/Template Template.php

Michael M Slusarz slusarz at horde.org
Mon Dec 18 11:20:03 PST 2006


Quoting Chuck Hagenbuch <chuck at horde.org>:

> Quoting Chuck Hagenbuch <chuck at horde.org>:
>
>> Right... but because the entire template class wasn't merged to Ingo
>> beforehand, now people who upgrade Horde _do_ have BC broken.
>> Horde_Template may have been broken before, but Ingo was still BC
>> because fixes were ported to it.
>>
>> I don't see any great options, unfortunately. We can remove the new
>> template code, or we can just say that you need a certain version of
>> Ingo in each branch if you want to use it with Horde HEAD/3.2. There
>> are plenty of good performance reasons to keep the new template code,
>> so I'm inclined to, but we'll need to clearly document the ingo
>> version requirements.
>
> Looking closer, this is true for IMP as well. Here's what I think we
> need to do:
>
> - revert the changes to the framework Template package until Horde 4.0
> - include the _new_ code as the Template file in IMP and Ingo.
> - exclusively use IMP_Template/Ingo_Template in those apps.
>
> That will give us BC and performance improvements in the most heavy
> usages of templates (IMP/DIMP).
>
> Any objections?

My mistake - you and jan are right - I wasn't thinking of the  
situation where you upgrade Horde but not the app.  stupid me.

Sounds like reverting is probably the way to go.  Probably also want  
to add Gollem to the list of apps to use the new code since it is  
completely template-ized and, more importantly, its templates (i.e.  
looping templates) are the type that most benefit from the new code.

I still think we could optimize the reverted template code a bit by  
removing the need for the 'if' parameter.  Just adding every  
scalar/loop statement to the _ifs array shouldn't create that much  
more overhead, especially w/PHP's ref counting.  Then we wouldn't have  
to back out any of the admittedly small number of commits we made to  
horde templates.

michael

___________________________________
Michael Slusarz [slusarz at horde.org]



More information about the dev mailing list