<!-- 
RSS generated by JIRA (9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b) at Mon Feb 12 01:06:09 CET 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>Magnolia - Issue tracker</title>
    <link>https://jira.magnolia-cms.com</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-uk</language>    <build-info>
        <version>9.4.2</version>
        <build-number>940002</build-number>
        <build-date>19-01-2023</build-date>
    </build-info>


<item>
            <title>[DOCU-123] Content reuse</title>
                <link>https://jira.magnolia-cms.com/browse/DOCU-123</link>
                <project id="10190" key="DOCU">Documentation</project>
                    <description>&lt;p&gt;Write a tutorial about content reuse options. Objective is to render the same page in multiple locations of the content hierarchy or render the same paragraph on multiple pages, a common request.&lt;/p&gt;

&lt;p&gt;Our standard answer to such as request is that Magnolia does not provide built-in functionality where the same page exists in multiple locations in the hierarchy but this behavior can be simulated. Options: &lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Simulate the JCR Reference property with a custom template.&lt;/li&gt;
	&lt;li&gt;Use virtual URIs to map requests for the &quot;copies&quot; back to the source page. Customize navigation.&lt;/li&gt;
	&lt;li&gt;Reconstruct the page by using parts of the source page in the target page. This would also require customized navigation.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;None of these options are really ideal. Aperto has a better approach that relies on dedicated templates for content reuse. This should become best practice.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Business case for reusable pages&lt;/b&gt;&lt;br/&gt;
Affiliates inherit content from their parent company. While most affiliate content is unique, some pages or paragraphs need to be reproduced in verbatim. Common content should be editable in one location. Changes should propagate to affiliate sites automatically. Links pointing to other parent company page should continue to work when content is rendered on the affiliate site. Content should have affiliate theme and appear in affiliate navigation when rendered on affiliate site.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Business case for reusable paragraphs&lt;/b&gt;&lt;br/&gt;
Any sidebar content that should be displayed across many pages such as market data on business pages, upcoming baseball matches on sports pages, or latest comments on blog posts.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Reusable pages best practice&lt;/b&gt;&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;Create a new Referenced Page template, similar to Redirect template.&lt;/li&gt;
	&lt;li&gt;Apply the template to a page in the affiliate hierarchy.&lt;/li&gt;
	&lt;li&gt;Use page properties to point to a source page in parent company hierarchy.&lt;/li&gt;
	&lt;li&gt;Source page content will be rendered on public instance. &lt;br class=&quot;atl-forced-newline&quot; /&gt; &lt;br class=&quot;atl-forced-newline&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;


&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;+ Parent company
  + Products
    - Life insurance (source page)                        &amp;lt;-----------
    - Car insurance                                                   |
    - Home insurance                                                  |
+ Affiliate                                                           |
  + Products                                                          |
    - Life insurance (inherited, Shadow Template points to source) ---
    - ...
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;b&gt;Reusable paragraphs best practice&lt;/b&gt;&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;Create a new Reusable Content page template, a special template that allows you to add a paragraph or a widget.&lt;/li&gt;
	&lt;li&gt;Create a separate hierarchy of pages where you store the reusable paragraphs. This hierarchy is not displayed on public instance.&lt;/li&gt;
	&lt;li&gt;Apply the Reusable Content template to these page.&lt;/li&gt;
	&lt;li&gt;Create a new Referenced Paragraph paragraph template.&lt;/li&gt;
	&lt;li&gt;Add the Referenced Paragraph on content pages.&lt;/li&gt;
	&lt;li&gt;Select one of the reusable paragraphs from the separate hierarchy with the paragraph dialog.  &lt;br class=&quot;atl-forced-newline&quot; /&gt; &lt;br class=&quot;atl-forced-newline&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;


&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;+ Home
  - Sports (contains a Referenced Paragraph that points to reusable content)
  - Business
  - Blog
  - ...
+ Reusable content (hidden hierarchy)
  - Support hotline
  - Connect with Facebook
  - Today&apos;s market data
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Address the issue of canonical content. Which of the similar pieces of content is the unique source. This is important for SEO purposes. Use the &lt;a href=&quot;http://www.seomoz.org/blog/canonical-url-tag-the-most-important-advancement-in-seo-practices-since-sitemaps&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;canonical URL tag&lt;/a&gt; or permanent redirect. See &lt;a href=&quot;http://www.magnolia-cms.com/magnolia-cms/tech-briefs/seo.html&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;SEO tech brief&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Other use cases:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Reusing contents across sites: jobs section&lt;/li&gt;
	&lt;li&gt;RSS aggregator and teasers as reuse mechanisms&lt;/li&gt;
	&lt;li&gt;Data module for text blocks&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;https://jira.magnolia-cms.com/browse/DOCU-134&quot; title=&quot;Paragraph inheritance&quot; class=&quot;issue-link&quot; data-issue-key=&quot;DOCU-134&quot;&gt;Inheritance&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Subtemplates for generating content for mobile, PDF, text, XML, newsletters&lt;/li&gt;
&lt;/ul&gt;
</description>
                <environment></environment>
        <key id="20059">DOCU-123</key>
            <summary>Content reuse</summary>
                <type id="3" iconUrl="https://jira.magnolia-cms.com/secure/viewavatar?size=xsmall&amp;avatarId=10898&amp;avatarType=issuetype">Task</type>
                                            <priority id="3" iconUrl="https://jira.magnolia-cms.com/images/icons/priorities/major.svg">Major</priority>
                        <status id="6" iconUrl="https://jira.magnolia-cms.com/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are not closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="1">Fixed</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="ahietala">Antti Hietala</reporter>
                        <labels>
                    </labels>
                <created>Tue, 15 Feb 2011 11:22:46 +0100</created>
                <updated>Mon, 16 Jul 2012 09:00:29 +0200</updated>
                            <resolved>Wed, 26 Oct 2011 17:03:49 +0200</resolved>
                                                                    <component>content</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>0</watches>
                                                                                                                <comments>
                            <comment id="34612" author="ahietala" created="Fri, 8 Apr 2011 11:29:07 +0200"  >&lt;p&gt;ChristianR&apos;s example of fetching the content of one page and displaying it on another page.&lt;/p&gt;</comment>
                            <comment id="39411" author="sdeprez" created="Thu, 22 Sep 2011 19:34:57 +0200"  >&lt;p&gt;Started working on this under Technical Guide.&lt;/p&gt;</comment>
                            <comment id="39584" author="sdeprez" created="Fri, 30 Sep 2011 18:51:01 +0200"  >&lt;p&gt;Have this procedure for reusing pages:&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;Create a template that will reuse an existing page.&lt;/li&gt;
	&lt;li&gt;Create a dialog that will provide for selecting the page that will be reused.&lt;/li&gt;
	&lt;li&gt;Add template definition that references dialog and template.&lt;/li&gt;
	&lt;li&gt;Make available to all sites.&lt;/li&gt;
	&lt;li&gt;Select template for pages that need to reuse other pages.&lt;/li&gt;
	&lt;li&gt;Edit page that has that reuse template and select page to reuse.&lt;/li&gt;
&lt;/ol&gt;
</comment>
                            <comment id="39674" author="ndesmarais" created="Wed, 5 Oct 2011 09:24:58 +0200"  >&lt;p&gt;fetchPage_dialog.png: Displayed dialog for ChristianR&apos;s fetch page example&lt;br/&gt;
fetchPage_dialog_def.png: How the dialog is configured&lt;br/&gt;
fetchPage_template_def.png: How the fetchPage template is configured (with appropriate header dialog, the rest is equal to section)&lt;/p&gt;</comment>
                            <comment id="39675" author="ndesmarais" created="Wed, 5 Oct 2011 09:26:35 +0200"  >&lt;p&gt;fetchPage_output.png: How the site is rendered within the admin view. The little link that states where the content is fetched from is NOT displayed in the final output. This is just a help for authors.&lt;/p&gt;</comment>
                            <comment id="39676" author="ndesmarais" created="Wed, 5 Oct 2011 09:31:05 +0200"  >&lt;p&gt;Also attached the xml exports of the template and dialog configurations.&lt;/p&gt;</comment>
                            <comment id="39736" author="sdeprez" created="Thu, 6 Oct 2011 19:46:59 +0200"  >&lt;p&gt;Updated reuse page section in Content reuse page on docuauthor to document template, dialog, etc. I developed for reusing a page.&lt;/p&gt;</comment>
                            <comment id="39946" author="sdeprez" created="Mon, 17 Oct 2011 23:56:07 +0200"  >&lt;p&gt;Moved page to Use Cases.&lt;/p&gt;</comment>
                            <comment id="40217" author="sdeprez" created="Tue, 25 Oct 2011 03:04:08 +0200"  >&lt;p&gt;Submitted activation of page and images.&lt;/p&gt;</comment>
                            <comment id="40345" author="ahietala" created="Wed, 26 Oct 2011 17:03:49 +0200"  >&lt;p&gt;Approaches documented in &lt;a href=&quot;http://documentation.magnolia-cms.com/use-cases/content-reuse.html&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://documentation.magnolia-cms.com/use-cases/content-reuse.html&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                            <attachment id="15131" name="config.modules.standard-templating-kit.dialogs.pages.section.stkFetchPageHeader.xml" size="13028" author="ndesmarais" created="Wed, 5 Oct 2011 09:31:05 +0200"/>
                            <attachment id="15130" name="config.modules.standard-templating-kit.templates.stkFetchPage.xml" size="36897" author="ndesmarais" created="Wed, 5 Oct 2011 09:31:05 +0200"/>
                            <attachment id="14469" name="fetch page mainArea.ftl" size="678" author="ahietala" created="Fri, 8 Apr 2011 11:29:07 +0200"/>
                            <attachment id="15126" name="fetchPage_dialog.png" size="39217" author="ndesmarais" created="Wed, 5 Oct 2011 09:24:58 +0200"/>
                            <attachment id="15127" name="fetchPage_dialog_def.png" size="46756" author="ndesmarais" created="Wed, 5 Oct 2011 09:24:58 +0200"/>
                            <attachment id="15129" name="fetchPage_output.png" size="122998" author="ndesmarais" created="Wed, 5 Oct 2011 09:26:35 +0200"/>
                            <attachment id="15128" name="fetchPage_template_def.png" size="71496" author="ndesmarais" created="Wed, 5 Oct 2011 09:24:58 +0200"/>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                            <customfield id="customfield_14166" key="com.okapya.jira.checklist:checklist">
                        <customfieldname>Acceptance criteria</customfieldname>
                        <customfieldvalues>
                            
        <checklist>
        <![CDATA[
                            




                
                                    <div class="o-completion" style="display: flex; flex-shrink: 0;"><span  class="aui-lozenge aui-lozenge-complete" style="font-size: 12px; font-weight: normal; display: flex; flex-direction: row; align-items: center;" ><span style="padding-right: 4px; vertical-align: middle;"><svg width="15" height="15" viewBox="0 0 15 15" xmlns="http://www.w3.org/2000/svg" fill="white"><path clip-rule="evenodd" d="m10.41037,3.42544l-7.86501,0c-0.72395,0 -1.31084,0.58688 -1.31084,1.31084l0,7.86508c0,0.7239 0.58689,1.3108 1.31084,1.3108l7.86501,0c0.724,0 1.3109,-0.5869 1.3109,-1.3108l0,-7.86508c0,-0.72396 -0.5869,-1.31084 -1.3109,-1.31084zm-7.86501,-0.65542c-1.08593,0 -1.96626,0.88032 -1.96626,1.96626l0,7.86508c0,1.0859 0.88033,1.9662 1.96626,1.9662l7.86501,0c1.086,0 1.9663,-0.8803 1.9663,-1.9662l0,-7.86508c0,-1.08594 -0.8803,-1.96626 -1.9663,-1.96626l-7.86501,0z" fill-rule="evenodd"/><path d="m5.09049,10.18526l-1.82767,-1.82766l-0.78479,0.78479l2.61246,2.61246l5.38758,-5.38754l-0.78483,-0.78479l-4.60275,4.60274z"/></svg></span><span>Empty</span></span></div>
                        ]]>
    </checklist>


                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10111" key="com.atlassian.jira.toolkit:reporterdomain">
                        <customfieldname>Company</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>magnolia-cms.com</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_10031" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of First Response</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Thu, 22 Sep 2011 19:34:57 +0200</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_12730" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_14151" key="com.atlassian.jira.toolkit:message">
                        <customfieldname>Docu info</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10061" key="com.atlassian.jira.toolkit:lastusercommented">
                        <customfieldname>Last comm is not jira-dev</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>false</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10071" key="com.atlassian.jira.toolkit:lastupdaterorcommenter">
                        <customfieldname>Last participant</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>mmuehlebach</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_13136" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            12 years, 17 weeks, 4 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                            <customfield id="customfield_10020" key="com.atlassian.jira.toolkit:attachments">
                        <customfieldname>Number of attachments</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>7.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10150" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname>Number of comments</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>10.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10011" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>ahietala</customfieldvalue>
            <customfieldvalue>ndesmarais</customfieldvalue>
            <customfieldvalue>sdeprez</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                <customfield id="customfield_10833" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i0411j:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10244" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>23611</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_14167" key="com.okapya.jira.checklist:checklist">
                        <customfieldname>Task DoR</customfieldname>
                        <customfieldvalues>
                            
        <checklist>
        <![CDATA[
                            




                
                                    <div class="o-completion" style="display: flex; flex-shrink: 0;"><span  class="aui-lozenge aui-lozenge-complete" style="font-size: 12px; font-weight: normal; display: flex; flex-direction: row; align-items: center;" ><span style="padding-right: 4px; vertical-align: middle;"><svg width="15" height="15" viewBox="0 0 15 15" xmlns="http://www.w3.org/2000/svg" fill="white"><path clip-rule="evenodd" d="m10.41037,3.42544l-7.86501,0c-0.72395,0 -1.31084,0.58688 -1.31084,1.31084l0,7.86508c0,0.7239 0.58689,1.3108 1.31084,1.3108l7.86501,0c0.724,0 1.3109,-0.5869 1.3109,-1.3108l0,-7.86508c0,-0.72396 -0.5869,-1.31084 -1.3109,-1.31084zm-7.86501,-0.65542c-1.08593,0 -1.96626,0.88032 -1.96626,1.96626l0,7.86508c0,1.0859 0.88033,1.9662 1.96626,1.9662l7.86501,0c1.086,0 1.9663,-0.8803 1.9663,-1.9662l0,-7.86508c0,-1.08594 -0.8803,-1.96626 -1.9663,-1.96626l-7.86501,0z" fill-rule="evenodd"/><path d="m5.09049,10.18526l-1.82767,-1.82766l-0.78479,0.78479l2.61246,2.61246l5.38758,-5.38754l-0.78483,-0.78479l-4.60275,4.60274z"/></svg></span><span>Empty</span></span></div>
                        ]]>
    </checklist>


                        </customfieldvalues>
                    </customfield>
                                                                                                                                                    <customfield id="customfield_14145" key="com.intenso.jira.issue-templates:issue-templates-customfield">
                        <customfieldname>Template</customfieldname>
                        <customfieldvalues>
                            


                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                            <customfield id="customfield_15131" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Time in Discovery</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10032" key="com.atlassian.jira.ext.charting:timeinstatus">
                        <customfieldname>Time in Status</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        </customfields>
    </item>
</channel>
</rss>