<!-- 
RSS generated by JIRA (9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b) at Mon Feb 12 01:48:43 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>[MGNLETK-126] Multisite behavior: Site definition detection in ETKSiteManager does not cover all &quot;corner&quot; cases</title>
                <link>https://jira.magnolia-cms.com/browse/MGNLETK-126</link>
                <project id="10290" key="MGNLETK">Extended Templating Kit (closed)</project>
                    <description>&lt;p&gt;The same behavior also counts for the multi site module of Magnolia 5.&lt;/p&gt;

&lt;p&gt;Situation (from SUPPORT-3270):&lt;br/&gt;
Two sites &amp;amp; two site definitions, here in this ticket named site &quot;a&quot; and site &quot;b&quot; with site definition name &quot;a&quot; &amp;amp; &quot;b&quot;.&lt;br/&gt;
Both have a domain mapping:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;a -&amp;gt; www.test1.ch&lt;/li&gt;
	&lt;li&gt;b -&amp;gt; www.test2.ch&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Use case:&lt;br/&gt;
Site /a needs a sub page with the same name as site b: /a/b&lt;br/&gt;
So this uri &quot;www.test1.ch/b&quot; should render the page &quot;/a/b&quot;&lt;/p&gt;

&lt;p&gt;The problem:&lt;br/&gt;
The system will always serve the site b (node /b) instead of /a/b.&lt;br/&gt;
So it does a cross site access instead of rendering the sub page.&lt;/p&gt;

&lt;p&gt;Analysis:&lt;br/&gt;
1. First it seems the system serves the site b because the site definition b maps to the site b. But it seems that the system always uses the site definition name if it matches and not even its mapping. One can change the mapping of site definition b pointing to site c: www.test1.ch/b will now serve site c!&lt;/p&gt;

&lt;p&gt;2. As the system can not access at this state JCR to determine the site definitions it can only operate on on the site definition configurations them selves. Therefore the system detect a site definition which seems to serve this site (b site is assumed) and can not check if a actual sub page exists.&lt;/p&gt;

&lt;p&gt;Proof &amp;amp; workaround:&lt;br/&gt;
Rename the site definition from b to &quot;bbb&quot; but leave it mapped to site /b. (and remove the two workaround site definitions)&lt;br/&gt;
Now www.test1.ch/b really serves the page /a/b.&lt;/p&gt;

&lt;p&gt;Drawback of workaround: &lt;br/&gt;
Accessing the site b not vie its mapped domain internal links use the site definition&apos;s name and not its mapping value. The link &amp;amp; uri to the page /b/d is then &quot;/bbb/d&quot; which leads to the wrong assumption (and URL) that the root node is names bbb.&lt;/p&gt;


&lt;p&gt;Wrong behavior:&lt;br/&gt;
1. One could argue that this behavior is correct, when there is no domain mapping in place. But when a domain mapping is detected, a request domain/page should always stay in its scope and not do a cross site access. If the domain/page does not exist, a 404 is correct out of my view, and not a cross site access.&lt;/p&gt;

&lt;p&gt;2. Not the site definition&apos;s name should be used for the link creation (not resulting in &quot;/bbb/d&quot; paths) but its inner value of the mapped handle.&lt;br/&gt;
If you have more than one site definition mapped to the same site, one can&apos;t anyhow name them both identical to the site&apos;s root node. So this effect will show in at least one of the two used site definitions.&lt;/p&gt;


&lt;p&gt;Reproduce &amp;amp; test:&lt;br/&gt;
Just import the bootstrap files I attached, and change the hosts file to point the two domains to local host.&lt;/p&gt;</description>
                <environment></environment>
        <key id="37246">MGNLETK-126</key>
            <summary>Multisite behavior: Site definition detection in ETKSiteManager does not cover all &quot;corner&quot; cases</summary>
                <type id="1" iconUrl="https://jira.magnolia-cms.com/secure/viewavatar?size=xsmall&amp;avatarId=10883&amp;avatarType=issuetype">Bug</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="pmundt">Philip Mundt</assignee>
                                    <reporter username="cringele">Christian Ringele</reporter>
                        <labels>
                            <label>support</label>
                    </labels>
                <created>Tue, 18 Mar 2014 15:13:25 +0100</created>
                <updated>Fri, 4 Jul 2014 08:45:31 +0200</updated>
                            <resolved>Thu, 3 Jul 2014 08:35:45 +0200</resolved>
                                    <version>2.0.17</version>
                                    <fixVersion>2.0.21</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>5</watches>
                                                                                                                <comments>
                            <comment id="81761" author="thitzfeld" created="Fri, 21 Mar 2014 21:00:27 +0100"  >&lt;p&gt;Hallo&lt;/p&gt;

&lt;p&gt;Just a few additional points from customer side (sorry for my lack of technical know how and my bad english in advance; just missing german documentation and support).&lt;/p&gt;

&lt;p&gt;business needs:&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;We need cross-site configuration to prevent public from access of websites and content which is activated, but not live yet. We build new websites, migrate content and show responsibles of that website how it will look like on the public nodes - by using a special cross site configuration which is allowed to access all sites. The IP-Adresses which are allowed to access this domain are filtered.&lt;/li&gt;
	&lt;li&gt;We need informations (logfiles, statistics, etc) which include the domain of a website (I recognized additionally that I can&apos;t see the domain in logfiles - localhost_access_log.yyyy-mm-dd.txt)&lt;/li&gt;
	&lt;li&gt;Local Search engine must be up to date during activation of content (also over all sites) but it is not allowed to deliver search results of websites which aren&apos;t allready live.&lt;/li&gt;
	&lt;li&gt;crawlers of Search engines must be prevented of crawling content of sites which aren&apos;t really live (due to acceptance of migration tasks all content must be activated - but DNS-Entries of the correct sitename leads still to old environment (in our case CMS Lifelink) - it shouldn&apos;t be possible for spiders to get content across other sites.&lt;/li&gt;
	&lt;li&gt;Domain name and path must be separated due to redirects &amp;amp; forwards - we want to be able to redirect &amp;amp; forward also variable paths to another site (including values)&lt;/li&gt;
	&lt;li&gt;It must be possible that a path of a website could include a string which is named like the domain - its under control of redactors how they name paths - so it must be possible that there is no dependence between domain and path&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;I think it will be essential at crossSite configurations that during all handling (logging, filter chain) the domain mus be added and recognized separately from the path. Even top level path (in our case the sitename) isn&apos;t included in these logfiles  but paths are logged.&lt;/p&gt;

&lt;p&gt;Regards,&lt;br/&gt;
Tobias&lt;/p&gt;
</comment>
                            <comment id="85913" author="jsimak" created="Thu, 29 May 2014 11:58:43 +0200"  >&lt;p&gt;Commit:&lt;br/&gt;
&lt;a href=&quot;https://git.magnolia-cms.com/gitweb/?p=enterprise/extended-templating-kit.git;a=commit;h=6ed875dca2e7c7b8660201c4283eeffd2928e887&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.magnolia-cms.com/gitweb/?p=enterprise/extended-templating-kit.git;a=commit;h=6ed875dca2e7c7b8660201c4283eeffd2928e887&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="87518" author="pmundt" created="Wed, 2 Jul 2014 10:48:02 +0200"  >&lt;p&gt;Rules should be made configurable, so any &quot;special case&quot; can be individually solved.&lt;/p&gt;</comment>
                            <comment id="87541" author="pmundt" created="Wed, 2 Jul 2014 14:15:17 +0200"  >&lt;ul&gt;
	&lt;li&gt;make rules configurable&lt;/li&gt;
	&lt;li&gt;extract protected inner classes&lt;/li&gt;
	&lt;li&gt;deprecate old inner classes (to maintain binary compatibility)&lt;/li&gt;
	&lt;li&gt;add default NullRequestMatcher for content2bean mechanism&apos;s default init&lt;/li&gt;
	&lt;li&gt;add bootstrap for old rules configuration&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="87542" author="pmundt" created="Wed, 2 Jul 2014 14:16:37 +0200"  >&lt;p&gt;Attaching rules configuration (&lt;tt&gt;config.modules.extended-templating-kit.config.rules.xml&lt;/tt&gt;) that solves the above case. This config is not by default added to the modules configuration!&lt;/p&gt;</comment>
                            <comment id="87563" author="rkovarik" created="Wed, 2 Jul 2014 16:18:33 +0200"  >&lt;ol&gt;
	&lt;li&gt;Update task to bootstrap default rules is missing.&lt;/li&gt;
	&lt;li&gt;Would it be possible to implement some converter to prevent code duplication in &lt;tt&gt;info.magnolia.module.extendedtemplatingkit.sites.ETKSiteManager.getRules()/getDefaultRules()&lt;/tt&gt;?&lt;/li&gt;
&lt;/ol&gt;
</comment>
                            <comment id="87585" author="pmundt" created="Thu, 3 Jul 2014 08:35:45 +0200"  >&lt;ol&gt;
	&lt;li&gt;Add MVH delta for new rules configuration&lt;/li&gt;
	&lt;li&gt;Change inhertiance to prevent code duplication&lt;/li&gt;
&lt;/ol&gt;
</comment>
                            <comment id="87589" author="rkovarik" created="Thu, 3 Jul 2014 09:14:25 +0200"  >&lt;p&gt;To test:&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;Binary compatibility of inner classes. &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.magnolia-cms.com/images/icons/emoticons/check.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/li&gt;
	&lt;li&gt;Fallback to default rules if no rules are defined. &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.magnolia-cms.com/images/icons/emoticons/check.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/li&gt;
	&lt;li&gt;Fix for the issue mentioned in this ticket &lt;span class=&quot;nobr&quot;&gt;&lt;a href=&quot;https://jira.magnolia-cms.com/secure/attachment/24933/24933_config.modules.extended-templating-kit.config.rules.xml&quot; title=&quot;config.modules.extended-templating-kit.config.rules.xml attached to MGNLETK-126&quot;&gt;config.modules.extended-templating-kit.config.rules.xml&lt;sup&gt;&lt;img class=&quot;rendericon&quot; src=&quot;https://jira.magnolia-cms.com/images/icons/link_attachment_7.gif&quot; height=&quot;7&quot; width=&quot;7&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/span&gt;. &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.magnolia-cms.com/images/icons/emoticons/check.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/li&gt;
&lt;/ol&gt;
</comment>
                            <comment id="87613" author="rkovarik" created="Thu, 3 Jul 2014 12:21:36 +0200"  >&lt;p&gt;Could you remove &lt;tt&gt;info.magnolia.module.extendedtemplatingkit.setup.ETKModuleVersionHandlerTest.tearDown()&lt;/tt&gt; when integrating? (it&apos;s done in &lt;tt&gt;info.magnolia.test.MgnlTestCase.tearDown()&lt;/tt&gt; already).&lt;br/&gt;
And maybe add given/when/then to the test when you will be on it?&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10030">
                    <name>Cloners</name>
                                                                <inwardlinks description="is cloned by">
                                        <issuelink>
            <issuekey id="38143">MULTISITE-18</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10040">
                    <name>causality</name>
                                                                <inwardlinks description="is causing">
                                                        </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="23222" name="SiteDefinition-NamedDifferentThanTheMapping-Drawback.jpg" size="128165" author="cringele" created="Tue, 18 Mar 2014 15:17:06 +0100"/>
                            <attachment id="23223" name="SiteDefinition-NamedDifferentThanTheMapping-Result.jpg" size="116303" author="cringele" created="Tue, 18 Mar 2014 15:17:06 +0100"/>
                            <attachment id="23224" name="SiteDefinition-NamedDifferentThanTheMapping.jpg" size="124303" author="cringele" created="Tue, 18 Mar 2014 15:17:06 +0100"/>
                            <attachment id="24933" name="config.modules.extended-templating-kit.config.rules.xml" size="40889" author="pmundt" created="Wed, 2 Jul 2014 14:16:37 +0200"/>
                            <attachment id="23215" name="config.modules.extended-templating-kit.config.sites.a.xml" size="15442" author="cringele" created="Tue, 18 Mar 2014 15:13:25 +0100"/>
                            <attachment id="23216" name="config.modules.extended-templating-kit.config.sites.b.xml" size="15442" author="cringele" created="Tue, 18 Mar 2014 15:13:25 +0100"/>
                            <attachment id="23217" name="config.modules.extended-templating-kit.config.sites.workaround-a.xml" size="5074" author="cringele" created="Tue, 18 Mar 2014 15:13:25 +0100"/>
                            <attachment id="23218" name="config.modules.extended-templating-kit.config.sites.workaround-b.xml" size="5074" author="cringele" created="Tue, 18 Mar 2014 15:13:25 +0100"/>
                            <attachment id="23219" name="website.a.xml" size="47281" author="cringele" created="Tue, 18 Mar 2014 15:13:25 +0100"/>
                            <attachment id="23220" name="website.b.xml" size="37131" author="cringele" created="Tue, 18 Mar 2014 15:13:25 +0100"/>
                            <attachment id="23221" name="website.c.xml" size="5610" author="cringele" created="Tue, 18 Mar 2014 15:13:25 +0100"/>
                    </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>Fri, 21 Mar 2014 21:00:27 +0100</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>
                            9 years, 33 weeks, 3 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                            <customfield id="customfield_10020" key="com.atlassian.jira.toolkit:attachments">
                        <customfieldname>Number of attachments</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>11.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10150" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname>Number of comments</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10011" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>cringele</customfieldvalue>
            <customfieldvalue>jsimak</customfieldvalue>
            <customfieldvalue>pmundt</customfieldvalue>
            <customfieldvalue>rkovarik</customfieldvalue>
            <customfieldvalue>thitzfeld</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10833" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i037j3:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10244" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>18815</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10220" key="com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes">
                        <customfieldname>Release notes required</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10490"><![CDATA[Yes]]></customfieldvalue>
    
                        </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>