Pages of a new created version only really exist after a editing the pages in the new version
Dear Support,
I am evaluating your Scroll Versions Plugin right now and the following problem showed up:
First I create a new version, like version 3 as a "copy" of version 2. But unless I edit the pages in version 3, they don't really exist. They don't show up in the checklist macro and they don't show up in the (native) HTML-Export either.
Also, if I edit a page in version 2 before editing it in version 3, the changes are also made in version 3 (since the page in version 3 isn't really existing, but it rather a copy of version 2).
Is there something I can do to get all pages in version 3 right after creating version 3?
Many thanks in advance and greeting,
Melanie
-
Hi Melanie,
thanks for contacting us and your interest in Scroll Versions.
Technically each version (Scroll Versions version) of a page is created as a "real" Confluence page in a specific naming pattern (.<pagetitle>v<versionName>)
As long as you do not change a page in a specific version, the page is not created and the content of the preceding version is displayed (this is called "fallback", see https://www.k15t.com/display/VSN/Glossary).
New versioned pages are only created if you actually edit a page in a specific version. We decided to implement it this way, as creating a real version for each single page once a new version is created in the administration could lead to performance issues and lots of unnecessary Confluence pages.For exporting we always recommend to use one of our Scroll Exporters (as they can properly deal with those versioned pages). If you do not want to use a Scroll Exporter, please have a look at the following page to learn more how to use the default exporter: https://www.k15t.com/display/VSN/How+can+I+export+versioned+pages+with+a+Confluence+default+exporter
I hope that helps. If you have any further questions, please let me know. I'll be happy to help.
Best,
Nils -
Hi Nils,
thanks for your answer and sorry for my late respond!
Your answer really helped, so exporting the different versions is no longer a problem.
The remaining problem is, that maybe the editors of the pages aren't really aware of this feature and so many mistakes could happen. Is there any possibility, per REST-API or something else, to create this pages automatically? To edit every page in the new version once I created the version is no solution.
Thank you very much and greetings,
Melanie
-
Hi Melanie,
You can import existing Confluence content into a specific target version. Please have a look at the following page for further information how to do that: https://help.k15t.com/legacy/scroll-versions/latest/all/importing-content-to-a-target-version-83332259.html
Does that help?
Best,Nils
-
Hi Nils,
thanks for your suggestion! Unfortunately it doesn't work exactly the way we would need it. But I elaborated a "workaroud" (since in the cases, the changes should be made in both versions, the fallback is a nice feature): If there are really newer versions of this page, a warning is displayed, which says that the changes are not transferred to the newer versions automatically.
Greetings,
Melanie
-
Hi Nils,
actually is quite simple. In this User-Macro I just test if for a page there are other children of the parent-page, which include the parent-pagetitle in their pagetitle. Thus this have to be other versions of the page. If there are such pages I filter the version and copare it to the version of the page, the user macro is included. Since our versions are all numbers, I can see if there are hiqher versions. If higher versions exist, I show the warning macro with a text like "Your changes are not automatically transferred to the versions 'x', 'y', and 'z'.
Since I don't want to include this user macro in every page and it also shouldn't be exported, I include it the page layout (Confluence Administration - Look and Feel - Layouts - Content Layouts - Page Layout).
Greetings,
Melanie
-
Hi Nils,
That's the code of the macro:
## @noparams
#if(! $content.isRootLevel())
#set($parent=$content.getParent())
#set($children=$parent.getChildren())
#set($title=$content.getTitle())
#set($titleParent=$parent.getTitle())
#set($version=$title.replace(".","").replace($titleParent,"").replace("v",""))
#set($hinweisAnzeigen = false)
#set($versionsToShow = "")
#foreach($child in $children)
#set($titleChild=$child.getTitle())
#set($versionChild=$titleChild.replace(".","").replace($titleParent,"").replace("v",""))
#if($versionChild.compareTo($version) > 0 && $titleChild.contains($titleParent) && $titleChild.startsWith("."))
#set($versionChildShow=$titleChild.replace($titleParent,"").substring(2))
#if($hinweisAnzeigen)
#set($versionsToShow = $versionsToShow + ", " + $versionChildShow)
#else
#set($versionsToShow = $versionsToShow + $versionChildShow)
#end
#set($hinweisAnzeigen = true)
#end
#end
#if($hinweisAnzeigen)
<ac:structured-macro ac:name="warning">
<ac:parameter ac:name="title">Achtung neue Version</ac:parameter>
<ac:rich-text-body>
<p>Die Seite existiert schon in einer höheren Version ($versionsToShow) und die Änderungen werden nicht dorthin übertragen!</p>
</ac:rich-text-body>
</ac:structured-macro>
#end
#endGreetings, Melanie
Please sign in to leave a comment.
Comments
11 comments