[xwiki-users] Panels backward compatibility
Vincent Massol
vincent at massol.net
Wed Jun 13 13:17:18 UTC 2012
On Jun 13, 2012, at 2:52 PM, Anca Luca wrote:
> On 06/13/2012 02:44 PM, Vincent Massol wrote:
>> On Jun 13, 2012, at 2:39 PM, Anca Luca wrote:
>>
>>> On 06/13/2012 01:52 PM, Raluca Stavro wrote:
>>>> Hi,
>>>>
>>>> On Wed, Jun 13, 2012 at 2:15 PM, Vincent Massol<vincent at massol.net> wrote:
>>>>
>>>>> On Jun 13, 2012, at 12:44 PM, Raluca Stavro wrote:
>>>>>
>>>>>> I'm resending this mail by using the right subject pattern.
>>>>>>
>>>>>> Hello,
>>>>>>
>>>>>> I am trying to upgrade an old XEM to 3.5.1.
>>>>>> In this XEM there are some custom panels which have been converted to 2.0
>>>>>> syntax and contain code like this:
>>>>>>
>>>>>> {{velocity}}
>>>>>> {{html}}
>>>>>> #panelheader("...")
>>>>>> ...
>>>>>> #panelfooter()
>>>>>> {{/html}}
>>>>>> {{/velocity}}
>>>>>>
>>>>>> Because since 2.7.2 panel macros were converted to 2.0 syntax, because
>>>>>> panel macros from inside macros.vm were modified by calling {{html}} wiki
>>>>>> macro and because we can't use nested {{html}} macros without wiki="true"
>>>>>> parameter, I don't know how to fix this issue besides modifying panel
>>>>> code.
>>>>>> This XEM has more than 70 wikis and this I can't just modify all custom
>>>>>> (converted to 2.0 syntax) panels manually.
>>>>>> Is there a nice solution to this problem ?
>>>>> Idea 1:
>>>>> ======
>>>>>
>>>>> Add a new #panelheaderold macro in macros.vm and replace all calls of
>>>>> #panelheader to #panelheaderold in your panels (easy to do with a XWQL
>>>>> query and 3 lines of scripts).
>>>>>
>>>>> Slowy migrate panels to new syntax.
>>>>>
>>>>> Note:
>>>>> =====
>>>>>
>>>>> Actually in the future we need to add a new {{panel}} macro, something
>>>>> like:
>>>>>
>>>>> {{panel style=".." title="…"}}
>>>>> … content here …
>>>>> {{/panel}}
>>>>>
>>>>> Idea 2:
>>>>> ======
>>>>>
>>>>> Create a custom Panel wiki macro (give it a name other than "panel"!),
>>>>> search for:
>>>>> {{velocity}}{{html}}#panelheader….#panelfooter{{/html}}{{/velocity}} (use
>>>>> a regex)
>>>>>
>>>>> Replace with your panel macro.
>>>>>
>>>>>> Should I open an issue on Jira ?
>>>>> Nope
>>> So this means that none of the macros in macros.vm are API?
>>> Which means that there is no API to make a panel header consistent with the panel headers of the default panels?
>> Good point. Macros in macros.vm are supposed to be APIs and it means we broke the backward compatibility at some point in the past (2.7 as suggested by Raluca).
>
> 3.2 M1 https://github.com/xwiki/xwiki-platform/commit/2e4b54267b9bf4048c14fdf14b6a0a65236aabad http://jira.xwiki.org/browse/XWIKI-6504
> It's interesting that the API Breakage section of the 3.2M1 release notes says only "[TODO]" http://www.xwiki.org/xwiki/bin/view/ReleaseNotes/ReleaseNotesXWikiEnterprise32M1#HAPIBreakages ... :)
bad bad…
Who was the RM? :)
-Vincent
> Anca
>
>>
>> We should probably have introduced new macros instead when we introduced the conversion to 2.0 syntax.
>>
>> Now since this is very old we need to decide what we want to do at this point.
>>
>> Thanks
>> -Vincent
>>
>>> Thanks,
>>> Anca
>>>
>>>> So there is no other way to fix this issue but by modifying the code inside
>>>> panels.
>>>> Thank you, Vincent.
>>>>
>>>> Raluca.
>>>>
>>>>
>>>>> Thanks
>>>>> -Vincent
More information about the users
mailing list