<!-- 
RSS generated by JIRA (9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b) at Mon Feb 12 03:24:54 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>[MAGNOLIA-1230] Adding the handling of roles and groups in the method &quot;convertEmailList&quot; of  class MgnlMailFactory (sending mails to all users of a group or a role)</title>
                <link>https://jira.magnolia-cms.com/browse/MAGNOLIA-1230</link>
                <project id="10000" key="MAGNOLIA">Magnolia</project>
                    <description></description>
                <environment></environment>
        <key id="12112">MAGNOLIA-1230</key>
            <summary>Adding the handling of roles and groups in the method &quot;convertEmailList&quot; of  class MgnlMailFactory (sending mails to all users of a group or a role)</summary>
                <type id="3" iconUrl="https://jira.magnolia-cms.com/secure/viewavatar?size=xsmall&amp;avatarId=10898&amp;avatarType=issuetype">Task</type>
                                            <priority id="4" iconUrl="https://jira.magnolia-cms.com/images/icons/priorities/minor.svg">Minor</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="pbaerfuss">Philipp B&#228;rfuss</assignee>
                                    <reporter username="khalil">Khalil SLIMI</reporter>
                        <labels>
                    </labels>
                <created>Fri, 24 Nov 2006 18:12:38 +0100</created>
                <updated>Wed, 23 Jan 2013 09:00:11 +0100</updated>
                            <resolved>Fri, 13 Apr 2007 13:46:52 +0200</resolved>
                                    <version>3.0 Final</version>
                                    <fixVersion>3.0.3</fixVersion>
                    <fixVersion>3.1 M1</fixVersion>
                                        <due></due>
                            <votes>1</votes>
                                    <watches>0</watches>
                                                                                                                <comments>
                            <comment id="12882" author="khalil" created="Fri, 24 Nov 2006 18:16:28 +0100"  >&lt;p&gt;I&apos;ve created a patch for this issue here it is :&lt;/p&gt;

&lt;p&gt;##############################################################################&lt;/p&gt;

&lt;p&gt;else if (userName.startsWith(MailConstants.PREFIX_GROUP)) {&lt;/p&gt;

&lt;p&gt;           	 	userName = StringUtils.removeStart(userName, MailConstants.PREFIX_GROUP);&lt;/p&gt;

&lt;p&gt;           	 	try {&lt;/p&gt;

&lt;p&gt;            		HierarchyManager hm = ContentRepository.getHierarchyManager(ContentRepository.USERS);&lt;/p&gt;

&lt;p&gt;            		Collection users = hm.getRoot().getChildren(ItemType.USER);&lt;/p&gt;

&lt;p&gt;                    Iterator iter = users.iterator();&lt;/p&gt;

&lt;p&gt;                    while(iter.hasNext()){&lt;/p&gt;

&lt;p&gt;                    	Content userNode = 	((Content) iter.next()); &lt;/p&gt;

&lt;p&gt;                    	MgnlUserManager manager = new MgnlUserManager();&lt;/p&gt;

&lt;p&gt;                    	MgnlUser user = (MgnlUser) manager.getUser(userNode.getName());&lt;/p&gt;

&lt;p&gt;                    	if (user.getGroups().contains(userName))&lt;/p&gt;
{
                    		
                    		 ret.append(getUserMail(user.getName()));
                    	}&lt;br/&gt;
                    }  &lt;br/&gt;
                }&lt;br/&gt;
                catch (Exception e) {
                    log.error(&quot;can not get user email info.&quot;);
                }&lt;br/&gt;
&lt;br/&gt;
            }&lt;br/&gt;
            else if (userName.startsWith(MailConstants.PREFIX_ROLE)) {&lt;br/&gt;
            	&lt;br/&gt;
           	 	userName = StringUtils.removeStart(userName, MailConstants.PREFIX_ROLE);&lt;br/&gt;
&lt;br/&gt;
           	 	try {&lt;br/&gt;
                    &lt;br/&gt;
            		HierarchyManager hm = ContentRepository.getHierarchyManager(ContentRepository.USERS);&lt;br/&gt;
                                       &lt;br/&gt;
            		Collection users = hm.getRoot().getChildren(ItemType.USER);&lt;br/&gt;
                    &lt;br/&gt;
                        Iterator iter = users.iterator();&lt;br/&gt;
                    &lt;br/&gt;
                         while(iter.hasNext()){&lt;br/&gt;
                    	&lt;br/&gt;
                    	Content userNode = 	((Content) iter.next()); &lt;br/&gt;
                    	&lt;br/&gt;
                    	MgnlUserManager manager = new MgnlUserManager();&lt;br/&gt;
                    	&lt;br/&gt;
                    	MgnlUser user = (MgnlUser) manager.getUser(userNode.getName());&lt;br/&gt;
&lt;br/&gt;
                    	if (user.getRoles().contains(userName)){                    		                    		 ret.append(getUserMail(user.getName()));                    	}
&lt;p&gt;                    }  &lt;br/&gt;
                }&lt;br/&gt;
                catch (Exception e) &lt;/p&gt;
{
                    log.error(&quot;can not get user email info.&quot;);
                }

&lt;p&gt;            }&lt;/p&gt;

&lt;p&gt;############################################################################&lt;/p&gt;</comment>
                            <comment id="12889" author="hcapitaine" created="Tue, 28 Nov 2006 11:47:34 +0100"  >&lt;p&gt;I corrected the patch send by Kalil, just to avoids new instances.&lt;/p&gt;

&lt;p&gt;***********************&lt;/p&gt;

&lt;p&gt;else if (userName.startsWith(MailConstants.PREFIX_GROUP)) {&lt;/p&gt;

&lt;p&gt;            userName = StringUtils.removeStart(userName, MailConstants.PREFIX_GROUP);&lt;/p&gt;

&lt;p&gt;            try {&lt;/p&gt;

&lt;p&gt;             HierarchyManager hm = ContentRepository.getHierarchyManager(ContentRepository.USERS);&lt;/p&gt;

&lt;p&gt;             Collection users = hm.getRoot().getChildren(ItemType.USER);&lt;/p&gt;

&lt;p&gt;                    Iterator iter = users.iterator();&lt;/p&gt;

&lt;p&gt;                    while(iter.hasNext()){&lt;/p&gt;

&lt;p&gt;                     Content userNode = ((Content) iter.next());&lt;/p&gt;

&lt;p&gt;                     MgnlUserManager manager = Security.getUserManager();&lt;/p&gt;

&lt;p&gt;                     MgnlUser user = (MgnlUser) manager.getUser(userNode.getName());&lt;/p&gt;

&lt;p&gt;                     if (user.getGroups().contains(userName))&lt;/p&gt;
{
                    
                     ret.append(getUserMail(user.getName()));
                     }&lt;br/&gt;
                    }&lt;br/&gt;
                }&lt;br/&gt;
                catch (Exception e) {
                    log.error(&quot;can not get user email info.&quot;);
                }&lt;br/&gt;
&lt;br/&gt;
            }&lt;br/&gt;
            else if (userName.startsWith(MailConstants.PREFIX_ROLE)) {&lt;br/&gt;
            &lt;br/&gt;
            userName = StringUtils.removeStart(userName, MailConstants.PREFIX_ROLE);&lt;br/&gt;
&lt;br/&gt;
            try {&lt;br/&gt;
                    &lt;br/&gt;
             HierarchyManager hm = ContentRepository.getHierarchyManager(ContentRepository.USERS);&lt;br/&gt;
                                       &lt;br/&gt;
             Collection users = hm.getRoot().getChildren(ItemType.USER);&lt;br/&gt;
                    &lt;br/&gt;
                        Iterator iter = users.iterator();&lt;br/&gt;
                    &lt;br/&gt;
                         while(iter.hasNext()){&lt;br/&gt;
                    &lt;br/&gt;
                     Content userNode = ((Content) iter.next());&lt;br/&gt;
                    &lt;br/&gt;
                     MgnlUserManager manager = Security.getUserManager();&lt;br/&gt;
                    &lt;br/&gt;
                     MgnlUser user = (MgnlUser) manager.getUser(userNode.getName());&lt;br/&gt;
&lt;br/&gt;
                     if (user.getRoles().contains(userName)){                                         ret.append(getUserMail(user.getName()));                     }
&lt;p&gt;                    }&lt;br/&gt;
                }&lt;br/&gt;
                catch (Exception e) &lt;/p&gt;
{
                    log.error(&quot;can not get user email info.&quot;);
                }

&lt;p&gt;            } &lt;/p&gt;</comment>
                            <comment id="12891" author="gjoseph" created="Tue, 28 Nov 2006 13:56:05 +0100"  >&lt;p&gt;guys, thanks for this, but could you provide &quot;real&quot; patches against svn, and as attachments ? Makes everything easier for everybody...&lt;/p&gt;

&lt;p&gt;svn diff &amp;gt; foobar.patch&lt;/p&gt;</comment>
                            <comment id="12892" author="iorga" created="Tue, 28 Nov 2006 14:09:55 +0100"  >&lt;p&gt;Here is the patch&lt;/p&gt;</comment>
                            <comment id="13781" author="hpaluch" created="Thu, 5 Apr 2007 10:43:02 +0200"  >&lt;p&gt;Hello!&lt;br/&gt;
  This patch is still missing from Magnolia 3.0.2 (both CE and EE) - which makes workflow notifications pretty useless (because it is using group based  notification). &lt;br/&gt;
  Is there yet any reason to not include this into production Magnolia?&lt;/p&gt;
</comment>
                            <comment id="13806" author="pbracher" created="Fri, 13 Apr 2007 13:46:52 +0200"  >&lt;p&gt;commited to trunk and branch&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10022">
                    <name>supersession</name>
                                                                <inwardlinks description="is superseded by">
                                        <issuelink>
            <issuekey id="13778">MAGNOLIA-1948</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="10631" name="MgnlMailFactory.java.patch" size="2589" author="iorga" created="Tue, 28 Nov 2006 14:09:55 +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>gmail.com</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_10031" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of First Response</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Tue, 28 Nov 2006 11:47:34 +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>
                            16 years, 46 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>6.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10011" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>iorga</customfieldvalue>
            <customfieldvalue>hcapitaine</customfieldvalue>
            <customfieldvalue>hpaluch</customfieldvalue>
            <customfieldvalue>khalil</customfieldvalue>
            <customfieldvalue>gjoseph</customfieldvalue>
            <customfieldvalue>pbaerfuss</customfieldvalue>
            <customfieldvalue>pbracher</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                <customfield id="customfield_10833" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i0185r:</customfieldvalue>

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