Hi Devs,

 as nobody seems to have any objections to this, I will create a Jira issue for 
it and start working on a feature branch on this problem.

Clemens

> Hi Devs,
> 
>  some users reported a problem to me concerning the Publication Workflow 
> Application and the nested pages feature.
> The problem is as follows:
> 
>  In their old instance (some 6.4.x) they had a draft space and a public space 
> and workflows attaching each page in the draft space with a page in the 
> public space in an 1:1 manner, like:
> 
>   Draft.WebHome --> Public.WebHome
>   Draft.PageA   --> Public.PageA
>   Draft.PageB   --> Public.PageB
> 
> Now if a link in, say, PageA in the Draft space points to another page, e.g. 
> PageB, this is done via a relative link like [[link text>>doc:PageB]]
> After publishing PageA, the link of the published variant points to the 
> published variant of PageB (and not the variant in the Draft space), which is 
> the desired effect from the users point of view.
> 
> Now after migration to 9.10 the situation is as follows:
> 
>   Draft.WebHome        --> Public.WebHome
>   Draft.PageA.WebHome  --> Public.PageA.WebHome
>   Draft.PageB.WebHome  --> Public.PageB.WebHome
> 
> Now a link to PageB in PageA looks like: [[link 
> text>>doc:Draft.PageB.WebHome]] because both pages are no longer in the same 
> space, but each in their own space.
> Publishing the draft makes the link in the published variant point back to 
> the Draft space, of course. However this is different from the behavior 
> before nested pages and the users experience this as a bug.
> 
> A manual solution would be to edit all pages and make the links point to the 
> published variant of the pages. However this is not only a cumbersome and 
> error prone task, but also the users are used to the "automatic" link 
> conversion that made links in the published variant point to published pages 
> and are wont to continue setting links to pages in the draft space, expecting 
> them to point to the "right place" after publishing.
> The fact that now titles are used throughout in the navigation tree, and the 
> titles of the draft and published variant are usually the same and thus 
> indistinguishable complicates the problem even more.
> 
> To fix this I could write a separate extension that listens to Publish events 
> send from the Workflow extension, and which converts the links in the 
> published variant before it gets saved.
> However I remember that I once experienced strange issues where the events 
> were sometimes not send to the event listener in question, probably due some 
> class loader issues or the like.
> (I only experienced these problems in a production instance and was not able 
> to hunt them down in a development instance.)
> 
> Also I cannot think of a use case where users want to link from a published 
> variant back into the draft space (except for pointing to the draft version 
> of the page itself, which is provided by the panel, however.)
> 
> Thus I would like to implement the link transformation in the extension 
> itself. If a link in a page points to a page in the draft space of that 
> workflow, I would change that link in the published variant to point to the 
> corresponding published variant of the link target.
> I could add a checkbox to the workflow class so people can switch of that 
> link transformation if they do not want it.
> 
> 
> What do you think? Are there any objections to implementing such a feature? 
> Or do you have different ideas how to solve the problem?
> 
> Best Regards
> Clemens
> 

Reply via email to