<!-- 
RSS generated by JIRA (9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b) at Mon Feb 12 05:11:21 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>[MGNLDATA-100] Make dependency on the cache module optional</title>
                <link>https://jira.magnolia-cms.com/browse/MGNLDATA-100</link>
                <project id="10054" key="MGNLDATA">Magnolia Data Module (closed)</project>
                    <description></description>
                <environment></environment>
        <key id="18223">MGNLDATA-100</key>
            <summary>Make dependency on the cache module optional</summary>
                <type id="4" iconUrl="https://jira.magnolia-cms.com/secure/viewavatar?size=xsmall&amp;avatarId=10890&amp;avatarType=issuetype">Improvement</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="fgiust">Fabrizio Giustina</assignee>
                                    <reporter username="fgiust">Fabrizio Giustina</reporter>
                        <labels>
                    </labels>
                <created>Sat, 3 Apr 2010 14:54:53 +0200</created>
                <updated>Mon, 16 Dec 2013 09:28:38 +0100</updated>
                            <resolved>Mon, 16 Dec 2013 09:28:38 +0100</resolved>
                                    <version>1.4.2</version>
                                    <fixVersion>1.5</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>0</watches>
                                                                                                                <comments>
                            <comment id="27802" author="fgiust" created="Sat, 3 Apr 2010 15:51:33 +0200"  >&lt;p&gt;added &amp;lt;optional&amp;gt; to the module descriptor and fixed the version handler in order to silently ignore the failure when instantiating info.magnolia.module.cache.RegisterWorkspaceForCacheFlushingTask&lt;/p&gt;</comment>
                            <comment id="27808" author="gjoseph" created="Sun, 4 Apr 2010 23:17:29 +0200"  >&lt;p&gt;There are IsModuleAvailable sort of tasks (can&apos;t recall the exact class name now); please revert this and use those instead.&lt;/p&gt;</comment>
                            <comment id="27809" author="fgiust" created="Mon, 5 Apr 2010 13:09:46 +0200"  >&lt;p&gt;reworked patch using IsModuleInstalledOrRegistered task&lt;/p&gt;</comment>
                            <comment id="27812" author="fgiust" created="Mon, 5 Apr 2010 17:25:43 +0200"  >&lt;p&gt;no way, we can&apos;t use the the IsModuleInstalledOrRegistered way: RegisterWorkspaceForCacheFlushingTask needs to be passed to the constructor so it will fail with a noclassdeffound exception if the media module is not available, far before the task can check if the module is registered (remember the RegisterWorkspaceForCacheFlushingTask is the cache module).&lt;/p&gt;

&lt;p&gt;Catching the exception is IMHO the safer way at this moment, other solutions would be:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;using a task which is not in the cache module itself (better, since this only adds a node in the config and there is no actual cache module dependency... but we will have to move the task to core or duplicate it everywhere)&lt;/li&gt;
	&lt;li&gt;adding a specific if block in the moduleVersionHandler, by triggering the RegisterWorkspaceForCacheFlushingTask instantiations only when the cache module is detected: pretty bad and unsafe (note that this will also mean that the module version handler will crash in case on leftover jcr configuration for a removed cache module)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;so, rolling back to the catch() solution at the moment, it makes no sense that lots of modules depends on the cache module just because they need to use a task found in the cache module when the cache module is installed...&lt;/p&gt;</comment>
                            <comment id="27824" author="gjoseph" created="Tue, 6 Apr 2010 11:53:59 +0200"  >&lt;p&gt;at the &lt;b&gt;very&lt;/b&gt; least then this should catch the specific exception and not everything else ...&lt;/p&gt;</comment>
                            <comment id="27874" author="pbaerfuss" created="Thu, 8 Apr 2010 14:06:07 +0200"  >&lt;p&gt;I propose something like:&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;IsModuleInstalledOrRegistered(.., &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; AbstractTask(){
    execute(ctx){
        &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; RegisterWorkspaceForCacheFlushingTask().execute(ctx)
    }
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;This works as the instantiation will only happen on execution which will only be called if the module is installed.&lt;/p&gt;</comment>
                            <comment id="27875" author="fgiust" created="Thu, 8 Apr 2010 16:38:40 +0200"  >&lt;blockquote&gt;
&lt;p&gt;This works as the instantiation will only happen on execution which will only be called if the module is installed.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;it&apos;s a good solution, the only concern is that the IsModuleInstalledOrRegistered executes if it just find the /modules/cache node on jcr... in case of the cache module not being installed but with a leftover configuration all the other moduleVersionHandlers will still die with a ClassNotFound exception.&lt;/p&gt;
</comment>
                            <comment id="27882" author="pbaerfuss" created="Fri, 9 Apr 2010 09:22:16 +0200"  >&lt;p&gt;True, but I think this is an acceptable exception as removing just the jar is never enough. This would for instance also left the cache filter behind which can not be instantiated either. So unless the node /modules/&amp;lt;names&amp;gt; is removed a module is considered installed.&lt;/p&gt;</comment>
                            <comment id="30078" author="had" created="Thu, 30 Sep 2010 10:07:19 +0200"  >&lt;p&gt;Previous changes to the code in single patch file. The changes have been rolled back due to issue not being closed at the time of release.&lt;/p&gt;</comment>
                            <comment id="31218" author="had" created="Fri, 19 Nov 2010 10:11:22 +0100"  >&lt;p&gt;Fabrizio, could you have a look at this issue again and re-apply the patch and close the issue if it is done?&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10020">
                    <name>dependency</name>
                                            <outwardlinks description="depends upon">
                                        <issuelink>
            <issuekey id="18239">MAGNOLIA-3178</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="13770" name="MGNLDATA-100.patch" size="2615" author="had" created="Thu, 30 Sep 2010 10:07:19 +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>openmindonline.it</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_10031" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of First Response</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Sun, 4 Apr 2010 23:17:29 +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>
                            13 years, 14 weeks, 2 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                            <customfield id="customfield_10020" key="com.atlassian.jira.toolkit:attachments">
                        <customfieldname>Number of attachments</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1.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>fgiust</customfieldvalue>
            <customfieldvalue>had</customfieldvalue>
            <customfieldvalue>gjoseph</customfieldvalue>
            <customfieldvalue>pbaerfuss</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                <customfield id="customfield_10833" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i0236n:</customfieldvalue>

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