<!-- 
RSS generated by JIRA (9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b) at Mon Feb 12 07:29:58 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>[MGNLSTK-740] Allow Resource.getLink() to support &quot;Relative References&quot; in external links</title>
                <link>https://jira.magnolia-cms.com/browse/MGNLSTK-740</link>
                <project id="10287" key="MGNLSTK">Magnolia Standard Templating Kit (closed)</project>
                    <description>&lt;p&gt;A common problem I&apos;ve found when building websites is when a site is made up of a combination of http and https pages and also require the use of a common external resource. One example of this, which is becoming more popular these days, is the use of the Google hosted JQuery library, &lt;a href=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js&lt;/a&gt;. The main problem is when browsers (mainly IE) continuously display errors when attempting to accessing unsecured resouces in secured pages. While the external resource could be changed to &quot;https&quot;, this takes out the benefits of using the Google hosted solution.&lt;/p&gt;

&lt;p&gt;After some investigation, I recently found out about &quot;Relative References&quot; which is described in the URI RFC, &lt;a href=&quot;http://tools.ietf.org/html/rfc3986#section-4.2&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://tools.ietf.org/html/rfc3986#section-4.2&lt;/a&gt;. This states that URI&apos;s can safely ignore the protocol handle of the URL which means we can access the JQuery, for example, as &quot;//ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js&quot;.&lt;/p&gt;

&lt;p&gt;Please see the following site for a great description of this problem and how Relative References resolves it: &lt;a href=&quot;http://encosia.com/2011/01/19/cripple-the-google-cdns-caching-with-a-single-character/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://encosia.com/2011/01/19/cripple-the-google-cdns-caching-with-a-single-character/&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Our problem, however, is that I can&apos;t enter this type of link into the Theme, it is treated as an internal link where the context path is prepended. After some digging, I found this is due to the info.magnolia.module.templatingkit.resources.Resource.getLink() using the info.magnolia.link.LinkUtil.EXTERNAL_LINK_PATTERN to determine if the link is external or not; and this pattern doesn&apos;t allow for relative references.&lt;/p&gt;

&lt;p&gt;The best solution would likely be to update the LinkUtil.EXTERNAL_LINK_PATTERN to allow for relative references; however I&apos;m not sure what else depends on this pattern. If we can change the pattern, it should be a simple change to&lt;/p&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;&lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;final&lt;/span&gt; Pattern EXTERNAL_LINK_PATTERN = Pattern.compile(&lt;span class=&quot;code-quote&quot;&gt;&quot;^(\\w*:?&lt;span class=&quot;code-comment&quot;&gt;//|mailto:|javascript:).*&quot;&lt;/span&gt;);&lt;/span&gt;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;although I haven&apos;t actually tested this.&lt;/p&gt;</description>
                <environment></environment>
        <key id="19971">MGNLSTK-740</key>
            <summary>Allow Resource.getLink() to support &quot;Relative References&quot; in external links</summary>
                <type id="4" iconUrl="https://jira.magnolia-cms.com/secure/viewavatar?size=xsmall&amp;avatarId=10890&amp;avatarType=issuetype">Improvement</type>
                                            <priority id="6" iconUrl="https://jira.magnolia-cms.com/images/icons/priorities/neutral.gif">Neutral</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="10000">Won&apos;t Do</resolution>
                                        <assignee username="pbaerfuss">Philipp B&#228;rfuss</assignee>
                                    <reporter username="bkazazes">Brad Kazazes</reporter>
                        <labels>
                            <label>css</label>
                            <label>js</label>
                            <label>references</label>
                            <label>relative</label>
                            <label>resources</label>
                    </labels>
                <created>Sun, 30 Jan 2011 16:51:45 +0100</created>
                <updated>Wed, 4 Nov 2015 15:42:54 +0100</updated>
                            <resolved>Wed, 4 Nov 2015 15:42:54 +0100</resolved>
                                    <version>1.3.5</version>
                    <version>1.4.2</version>
                                                    <component>base system</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                <comments>
                            <comment id="33164" author="pbaerfuss" created="Mon, 31 Jan 2011 09:31:48 +0100"  >&lt;p&gt;Thanks for this insightful report. We are going to see if we can do something for this. For now you can apply the following solution:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;create a subclass of &lt;a href=&quot;http://nexus.magnolia-cms.com/content/sites/magnolia.public.sites/modules/magnolia-module-standard-templating-kit/1.3.5/standard-templating-kit-parent/magnolia-module-standard-templating-kit/apidocs/info/magnolia/module/templatingkit/resources/Resource.html&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;Resource&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;add a &lt;tt&gt;class&lt;/tt&gt; node-data to the link configuration to tell content2bean to use your custom class&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Details about how this configuration mechanism works can be found &lt;a href=&quot;http://documentation.magnolia-cms.com/technical-guide/configuration-mechanisms.html#Content2Bean&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;in the content2bean chapter&lt;/a&gt;.&lt;/p&gt;</comment>
                            <comment id="115899" author="mmuehlebach" created="Wed, 4 Nov 2015 15:42:54 +0100"  >&lt;p&gt;Given the thousands of other issues we have open that are more highly requested, we won&apos;t be able to address this issue in the foreseeable future. Instead we will focus on issues with a higher impact, and more votes.&lt;br/&gt;
Thanks for taking the time to raise this issue. As you are no doubt aware this issue has been on our backlog for some time now with very little movement.&lt;br/&gt;
I&apos;m going to close this to set expectations so the issue doesn&apos;t stay open for years with few updates. If the issue is still relevant please feel free to reopen it or create a new issue.&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                    </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>ventiv.com.au</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_10031" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of First Response</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Mon, 31 Jan 2011 09:31:48 +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>true</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>
                            8 years, 15 weeks, 4 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                            <customfield id="customfield_10020" key="com.atlassian.jira.toolkit:attachments">
                        <customfieldname>Number of attachments</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10150" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname>Number of comments</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10011" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>bkazazes</customfieldvalue>
            <customfieldvalue>mmuehlebach</customfieldvalue>
            <customfieldvalue>pbaerfuss</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                <customfield id="customfield_10833" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i0415b:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10244" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>23628</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>