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

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


<item>
            <title>[DOCU-365] AccessControlProvider settings</title>
                <link>https://jira.magnolia-cms.com/browse/DOCU-365</link>
                <project id="10190" key="DOCU">Documentation</project>
                    <description>&lt;p&gt;It is possible now to set the Permission class of MagnoliaAccessProvider.&lt;br/&gt;
The default permission class is info.magnolia.cms.core.DefaultACLBasedPermissions. This class is used when any permission class is specified or when user set class which can be used.&lt;br/&gt;
Magnolia 4.5.8 introduces new info.magnolia.cms.core.NodeTypeBasedPermissions class. This or any class extended from DefaultACLBasedPermissions can be used.&lt;/p&gt;

&lt;p&gt;To set the permission class for website workspace:&lt;br/&gt;
Go to apache-tomcat-6.0.32/webapps/magnoliaAuthor/repositories/magnolia/workspaces/website/workspace.xml:&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;&amp;lt;Workspace name=&quot;website&quot;&amp;gt;
    ...
    &amp;lt;WorkspaceSecurity&amp;gt;
      	&amp;lt;AccessControlProvider class=&quot;info.magnolia.cms.core.MagnoliaAccessProvider&quot;&amp;gt;
	      &amp;lt;param name=&quot;permissionsClass&quot; value=&quot;info.magnolia.cms.core.NodeTypeBasedPermissions&quot;/&amp;gt;
      	      &amp;lt;param name=&quot;nodeTypes&quot; value=&quot;mgnl:page&quot;/&amp;gt;
	&amp;lt;/AccessControlProvider&amp;gt;
    &amp;lt;/WorkspaceSecurity&amp;gt;
&amp;lt;/Workspace&amp;gt;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;1] Set the parameters permissionsClass to your own permission class (here is used NodeTypeBasedPermissions class).&lt;br/&gt;
2] Set the nodeType from which you want take permissions. You can use more node types separated by commas (see MgnlNodeTypes for available node types);&lt;/p&gt;

&lt;p&gt;How does NodeTypeBasedPermissions class work:&lt;/p&gt;

&lt;p&gt;We want to set read/write access to /demo-project and only read access to /demo-project subpages for some users. Users cannot edit also /demo-project page by default (using DefaultACLBasedPermissions). This is because they need to read/write access to content nodes and MetaData of /demo-project also.&lt;br/&gt;
By using NodeTypeBasedPermissions class with nodeTypes setted to mgnl:page it works like this:&lt;br/&gt;
Access request for /demo-project/MetaData check if /demo-project/MetaData is of type mgnl:page. It isn&apos;t so it continues to parent node /demo-project. It has the type mgnl:page and returns access right to this node, so /demo-project/MetaData is accessible.  &lt;br/&gt;
You can for example avoid the issue &lt;a href=&quot;http://jira.magnolia-cms.com/browse/MAGNOLIA-4729&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;http://jira.magnolia-cms.com/browse/MAGNOLIA-4729&lt;/a&gt; this way.&lt;/p&gt;

&lt;p&gt;How to create your own permission class:&lt;/p&gt;

&lt;p&gt;1] Extend DefaultACLBasedPermissions class. &lt;br/&gt;
2] Create its constructor. Constructor must have the exact same arguments like constructor of DefaultACLBasedPermissions:&lt;br/&gt;
public DefaultACLBasedPermissions(List&amp;lt;Permission&amp;gt; permissions, SessionImpl systemSession, Map&amp;lt;?, ?&amp;gt; configuration).&lt;br/&gt;
You can add any parameters you want for your own implementation of permission class. Similar like nodeTypes parameter mentioned above. Then you can get it from Map&amp;lt;?, ?&amp;gt; configuration. &lt;br/&gt;
3] Override the methods &apos;canRead&apos; and &apos;access&apos; with your own implementation.&lt;/p&gt;</description>
                <environment></environment>
        <key id="27227">DOCU-365</key>
            <summary>AccessControlProvider settings</summary>
                <type id="3" iconUrl="https://jira.magnolia-cms.com/secure/viewavatar?size=xsmall&amp;avatarId=10898&amp;avatarType=issuetype">Task</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="11">Done</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="rkovarik">Roman Kova&#345;&#237;k</reporter>
                        <labels>
                    </labels>
                <created>Thu, 10 Jan 2013 10:45:44 +0100</created>
                <updated>Tue, 29 May 2018 08:56:21 +0200</updated>
                            <resolved>Tue, 29 May 2018 08:55:51 +0200</resolved>
                                    <version>mid term</version>
                                    <fixVersion>mid term</fixVersion>
                                    <component>content</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="56023" author="gjoseph" created="Tue, 15 Jan 2013 23:02:25 +0100"  >&lt;p&gt;Roman, this sounds like a very useful feature, but it also sounds to me like we should give some good use-cases for this - i.e. to avoid confusing users (&quot;why would I do that?&quot;)&lt;/p&gt;

&lt;p&gt;Also: is this backwards compatible ? &lt;/p&gt;

&lt;p&gt;And lastly - before we make this public, we might want to consider the packages of these new classes.&lt;/p&gt;</comment>
                            <comment id="161274" author="rkovarik" created="Tue, 29 May 2018 08:56:21 +0200"  >&lt;p&gt;Closed, no interest since 4.5.8.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10050">
                    <name>documentation</name>
                                            <outwardlinks description="documents">
                                        <issuelink>
            <issuekey id="26931">MAGNOLIA-4729</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <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>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>Tue, 15 Jan 2013 23:02:25 +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>rkovarik</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_13136" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            5 years, 37 weeks, 5 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>gjoseph</customfieldvalue>
            <customfieldvalue>rkovarik</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                <customfield id="customfield_10833" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i03s9z:</customfieldvalue>

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