On Thu, Dec 8, 2016 at 1:46 PM, Vincent Massol <[email protected]> wrote:
> Hi devs,
>
> The story
> ========
>
> 1) We introduced some new translations keys in
> https://github.com/xwiki/xwiki-platform/commit/5c50e2e88bb7cf592c1ecedcf0f34781e1fbc81f#diff-fffbf37334c4d7a178b13f4ccc313f86R746
>
> That was done in XWIKI-12431 (Adapt the "rename" action for nested
> documents), i.e. in 7.2M3
>
> 2) We modified the keys in
> https://github.com/xwiki/xwiki-platform/commit/12ec17d1c486935162581d47bbf1077693c401e6
>
> That was done in XWIKI-13067 ("Rename: Change the label to make it clear that
> both links and backlinks are updated or have 2 separate options”), i.e. in
> XWiki 8.0-rc-1, 7.4.3
>
> 3) The consequence is that all translations got broken, resulting in problems
> such as http://jira.xwiki.org/browse/XINFRA-219. However this issue reports
> the issue only for French but it’s likely that it broke the translations for
> other languages.
>
> The learnings
> ===========
>
> 1) We must never change the format of existing translation keys. This is the
> equivalent of breaking an API. Instead we need to go through deprecation of
> existing keys and introduction of new keys, even though it’s a pain.
> http://dev.xwiki.org/xwiki/bin/view/Community/DevelopmentPractices#HTranslationBestPractices
> would probably benefit from additional explanations too.
Well this is not really new and it's already our rule.
>
> 2) We would need a tool in the quality profile of our build/CI that would
> break the build if someone changes the format of a translation.Easiest would
> be a tool that compares the English translations on master vs the last
> released version and breaks if there’s a difference in parameter (i.e. {N}
> syntax).
>
> 3) We need to decide if A) we keep the current change done in XWIKI-13067 or
> B) revert them and revert/adapt the changes already brought to some
> translations keys (as it was done for FR). For this we need to evaluate the
> extent of the damage.
>
> Any volunteer for 3)? :)
>
> Thanks
> -Vincent
>
>
>
>
>
--
Thomas Mortagne