<!-- 
RSS generated by JIRA (9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b) at Mon Feb 12 05:15:36 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>[MGNLDEMO-30] Create users and roles for demonstration purposes</title>
                <link>https://jira.magnolia-cms.com/browse/MGNLDEMO-30</link>
                <project id="12280" key="MGNLDEMO">Magnolia Demo Projects</project>
                    <description>&lt;p&gt;Basic proposal&lt;br/&gt;
--------------------&lt;br/&gt;
We need to create two user typologies: editor and publisher&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;we create three totally independent roles for the single purpose of the travel-demo and thus also prefix them with &quot;travel-demo-&quot;
	&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
		&lt;li&gt;&lt;tt&gt;travel-demo-editor&lt;/tt&gt;,  &lt;tt&gt;travel-demo-tour-editor&lt;/tt&gt; (can only edit tours and tour categories) and &lt;tt&gt;travel-demo-publisher&lt;/tt&gt; &lt;b&gt;Note: to workaround &lt;a href=&quot;https://jira.magnolia-cms.com/browse/MGNLDEMO-361&quot; title=&quot;Eric can edit &amp;amp; publish while Peter is powerless on apps without workflow&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MGNLDEMO-361&quot;&gt;&lt;del&gt;MGNLUI-3200&lt;/del&gt;&lt;/a&gt; the latter role has R/W permissions on website, otherwise s/he can&apos;t publish&lt;/b&gt;&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;an additional &lt;tt&gt;travel-demo-base&lt;/tt&gt; role is created which can read access tours, dam, categorisation workspaces (this is the role given to anonymous user too so that he can see tours)&lt;/li&gt;
	&lt;li&gt;three groups will be created &lt;tt&gt;travel-demo-editors&lt;/tt&gt;, &lt;tt&gt;travel-demo-tour-editors&lt;/tt&gt; and &lt;tt&gt;travel-demo-publishers&lt;/tt&gt; with the needed roles to carry out their work&lt;/li&gt;
	&lt;li&gt;if workflow is installed &lt;tt&gt;travel-demo-publishers&lt;/tt&gt; will be added to &lt;tt&gt;/modules/workflow-jbpm/tasks/publish/groups&lt;/tt&gt; so to be able to see workflow tasks&lt;br/&gt;
So eventually, we&apos;ll end up with &lt;br/&gt;
&lt;tt&gt;eric&lt;/tt&gt; (editor) = &lt;tt&gt;travel-demo-editors&lt;/tt&gt; / password = eric&lt;br/&gt;
&lt;tt&gt;eric-de&lt;/tt&gt; (German editor) = &lt;tt&gt;travel-demo-editors&lt;/tt&gt; (like eric but with UI language settings in German) / password = eric-de&lt;br/&gt;
&lt;tt&gt;peter&lt;/tt&gt; (publisher) = &lt;tt&gt;travel-demo-publishers&lt;/tt&gt; / password = peter &lt;br/&gt;
&lt;tt&gt;tina&lt;/tt&gt; (can only operate on tours app and categories) = &lt;tt&gt;travel-demo-tour-editors&lt;/tt&gt; / password = tina &lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;&lt;b&gt;All roles, groups and users created by the travel-demo are bootstrapped as samples&lt;/b&gt; &lt;/p&gt;

&lt;p&gt;Findings during implementation&lt;br/&gt;
------------------------------------------&lt;br/&gt;
Some apps grant themselves accessibility to certain actions and roles (e.g. &lt;tt&gt;demo-project-&lt;/tt&gt; from STK or &lt;tt&gt;editor&lt;/tt&gt; and &lt;tt&gt;publisher&lt;/tt&gt; available only with workflow) . E.g. by issuing the following query on the latest 5.4-SNAPSHOT EE-bundle &lt;/p&gt;

&lt;p&gt;&lt;tt&gt;select * from &lt;span class=&quot;error&quot;&gt;&amp;#91;nt:base&amp;#93;&lt;/span&gt; as t where contains(t.&lt;b&gt;, &apos;demo-project-%&apos;) or contains(t.&lt;/b&gt;, &apos;editor&apos;) or contains(t.*, &apos;publisher&apos;)&lt;/tt&gt; &lt;/p&gt;

&lt;p&gt;one gets the following relevant results&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;
/modules/pages/apps/pages/subApps/browser/actions/activate/availability/access/roles
/modules/dam-app/apps/assets/permissions/roles
/modules/categorization/apps/categories/permissions/roles
/modules/tours/apps/tourCategories/permissions/roles
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;For the sake of clarity and consistency those should be removed and let projects define roles which can access needed apps and actions. By the same token, I&apos;d add permissions to all app groups under &lt;tt&gt;/modules/ui-admincentral/config/appLauncherLayout/groups&lt;/tt&gt; and grant them by default to &lt;tt&gt;superuser&lt;/tt&gt; only. It will be a project concern to add its roles by giving permissions to the appropriate roles (and we could certainly provide generic &lt;tt&gt;Task&lt;/tt&gt; s to make it easier). In our case, it will be &lt;tt&gt;magnolia-travel-demo&lt;/tt&gt; to create roles and decide which apps they can access. &lt;/p&gt;
</description>
                <environment></environment>
        <key id="45167">MGNLDEMO-30</key>
            <summary>Create users and roles for demonstration purposes</summary>
                <type id="3" iconUrl="https://jira.magnolia-cms.com/secure/viewavatar?size=xsmall&amp;avatarId=10898&amp;avatarType=issuetype">Task</type>
                                            <priority id="2" iconUrl="https://jira.magnolia-cms.com/images/icons/priorities/critical.svg">Critical</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="fgrilli">Federico Grilli</assignee>
                                    <reporter username="czimmermann">Christopher Zimmermann</reporter>
                        <labels>
                    </labels>
                <created>Mon, 18 May 2015 14:00:44 +0200</created>
                <updated>Thu, 2 Jul 2015 14:40:41 +0200</updated>
                            <resolved>Thu, 2 Jul 2015 14:38:47 +0200</resolved>
                                    <version>0.5</version>
                                    <fixVersion>0.5</fixVersion>
                                    <component>magnolia-travels</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>3</watches>
                                                                                                                <comments>
                            <comment id="105258" author="czimmermann" created="Mon, 1 Jun 2015 10:15:43 +0200"  >&lt;p&gt;I dont like that projects would always have to add permissions for every app, if they dont want to let people use the superuser role. But I like that it is clean and seems like a good foundation to build upon.&lt;/p&gt;</comment>
                            <comment id="107087" author="czimmermann" created="Thu, 25 Jun 2015 15:40:32 +0200"  >&lt;p&gt;Review:&lt;br/&gt;
Eric-de password should be eric-de&lt;/p&gt;

&lt;p&gt;Change descriptions to be consistant and shorter.&lt;br/&gt;
Tina (Tour editor, created by travel-demo)&lt;br/&gt;
Eric (Editor, created by travel-demo)&lt;br/&gt;
Peter (Publisher, created by travel-demo)&lt;br/&gt;
Eric-DE (German editor, created by travel demo)&lt;/p&gt;

&lt;p&gt;Status of items in Security app? Can they all be green?&lt;/p&gt;

&lt;p&gt;travel-demo-editor has everything in travel-demo-base?&lt;br/&gt;
Then why do the groups have both?&lt;/p&gt;</comment>
                            <comment id="107106" author="fgrilli" created="Thu, 25 Jun 2015 17:24:42 +0200"  >&lt;p&gt;For the release notes/docu:&lt;br/&gt;
the basic proposal in the issue description corresponds to what has been actually implemented&lt;/p&gt;</comment>
                            <comment id="107302" author="pmundt" created="Mon, 29 Jun 2015 09:32:44 +0200"  >&lt;p&gt;There seems to be an issue with &lt;tt&gt;anonymous&lt;/tt&gt; accessing the tours workspace (as &lt;tt&gt;superuser&lt;/tt&gt; one can see them):&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;
2015-06-29 09:21:43,802 ERROR nfo.magnolia.demo.travel.tours.model.CarouselModel: Could not retrieve linked tour with identifier [730c8850-d638-4e91-b3fb-4041a0c59ffe].
javax.jcr.ItemNotFoundException: 730c8850-d638-4e91-b3fb-4041a0c59ffe
	at org.apache.jackrabbit.core.SessionImpl.getNodeById(SessionImpl.java:538)
	at org.apache.jackrabbit.core.SessionImpl.getNodeByIdentifier(SessionImpl.java:1102)
	at info.magnolia.jcr.wrapper.DelegateSessionWrapper.getNodeByIdentifier(DelegateSessionWrapper.java:182)
	at info.magnolia.jcr.wrapper.DelegateSessionWrapper.getNodeByIdentifier(DelegateSessionWrapper.java:182)
	at info.magnolia.jcr.decoration.ContentDecoratorSessionWrapper.getNodeByIdentifier(ContentDecoratorSessionWrapper.java:129)
	at info.magnolia.jcr.wrapper.DelegateSessionWrapper.getNodeByIdentifier(DelegateSessionWrapper.java:182)
	at info.magnolia.jcr.wrapper.NodeWrappingDelegateSessionWrapper.getNodeByIdentifier(NodeWrappingDelegateSessionWrapper.java:58)
	at info.magnolia.jcr.wrapper.DelegateSessionWrapper.getNodeByIdentifier(DelegateSessionWrapper.java:182)
	at info.magnolia.jcr.decoration.ContentDecoratorSessionWrapper.getNodeByIdentifier(ContentDecoratorSessionWrapper.java:129)
	at info.magnolia.jcr.wrapper.DelegateSessionWrapper.getNodeByIdentifier(DelegateSessionWrapper.java:182)
	at info.magnolia.jcr.decoration.ContentDecoratorSessionWrapper.getNodeByIdentifier(ContentDecoratorSessionWrapper.java:129)
	at info.magnolia.demo.travel.tours.model.CarouselModel.getTour(CarouselModel.java:99)
	at info.magnolia.demo.travel.tours.model.CarouselModel.getTours(CarouselModel.java:84)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:1385)
	at freemarker.ext.beans.BeanModel.invokeThroughDescriptor(BeanModel.java:254)
	at freemarker.ext.beans.BeanModel.get(BeanModel.java:158)
	at freemarker.core.Dot._eval(Dot.java:40)
	at freemarker.core.Expression.eval(Expression.java:76)
	at freemarker.core.Assignment.accept(Assignment.java:71)
	at freemarker.core.Environment.visit(Environment.java:257)
	at freemarker.core.MixedContent.accept(MixedContent.java:57)
	at freemarker.core.Environment.visit(Environment.java:257)
	at freemarker.core.Environment.process(Environment.java:235)
	at freemarker.template.Template.process(Template.java:262)
	at info.magnolia.freemarker.FreemarkerHelper.render(FreemarkerHelper.java:152)
	at info.magnolia.rendering.renderer.FreemarkerRenderer.onRender(FreemarkerRenderer.java:96)
	at info.magnolia.rendering.renderer.AbstractRenderer.render(AbstractRenderer.java:155)
	at info.magnolia.rendering.engine.DefaultRenderingEngine.render(DefaultRenderingEngine.java:118)
	at info.magnolia.rendering.engine.DefaultRenderingEngine.render(DefaultRenderingEngine.java:99)
	at info.magnolia.rendering.engine.DefaultRenderingEngine.render(DefaultRenderingEngine.java:94)
	at info.magnolia.rendering.engine.DefaultRenderingEngine$$EnhancerByCGLIB$$9ce0b773.render(&amp;lt;generated&amp;gt;)
	at info.magnolia.templating.elements.ComponentElement.begin(ComponentElement.java:181)
	at info.magnolia.templating.renderers.NoScriptRenderer.onRender(NoScriptRenderer.java:102)
	at info.magnolia.templating.renderers.NoScriptRenderer.render(NoScriptRenderer.java:80)
	at info.magnolia.rendering.engine.DefaultRenderingEngine.render(DefaultRenderingEngine.java:118)
	at info.magnolia.rendering.engine.DefaultRenderingEngine$$EnhancerByCGLIB$$9ce0b773.render(&amp;lt;generated&amp;gt;)
	at info.magnolia.templating.elements.AreaElement.end(AreaElement.java:324)
	at info.magnolia.templating.freemarker.AbstractDirective.execute(AbstractDirective.java:98)
	at freemarker.core.Environment.visit(Environment.java:333)
	at freemarker.core.UnifiedCall.accept(UnifiedCall.java:100)
	at freemarker.core.Environment.visit(Environment.java:257)
	at freemarker.core.MixedContent.accept(MixedContent.java:57)
	at freemarker.core.Environment.visit(Environment.java:257)
	at freemarker.core.Environment.process(Environment.java:235)
	at freemarker.template.Template.process(Template.java:262)
	at info.magnolia.freemarker.FreemarkerHelper.render(FreemarkerHelper.java:152)
	at info.magnolia.rendering.renderer.FreemarkerRenderer.onRender(FreemarkerRenderer.java:96)
	at info.magnolia.rendering.renderer.AbstractRenderer.render(AbstractRenderer.java:155)
	at info.magnolia.module.site.renderer.SiteAwareFreemarkerRenderer.render(SiteAwareFreemarkerRenderer.java:89)
	at info.magnolia.rendering.engine.DefaultRenderingEngine.render(DefaultRenderingEngine.java:118)
	at info.magnolia.rendering.engine.DefaultRenderingEngine$$EnhancerByCGLIB$$9ce0b773.render(&amp;lt;generated&amp;gt;)
	at info.magnolia.rendering.engine.RenderingFilter.render(RenderingFilter.java:195)
	at info.magnolia.rendering.engine.RenderingFilter.handleTemplateRequest(RenderingFilter.java:140)
	at info.magnolia.rendering.engine.RenderingFilter.doFilter(RenderingFilter.java:94)
	at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
	at info.magnolia.rendering.model.ModelExecutionFilter.doFilter(ModelExecutionFilter.java:100)
	at info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:59)
	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
	at info.magnolia.cms.filters.AggregatorFilter.doFilter(AggregatorFilter.java:100)
	at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
	at info.magnolia.cms.security.BaseSecurityFilter.doFilter(BaseSecurityFilter.java:57)
	at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
	at info.magnolia.cms.filters.RepositoryMappingFilter.doFilter(RepositoryMappingFilter.java:108)
	at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
	at info.magnolia.cms.filters.CompositeFilter.doFilter(CompositeFilter.java:65)
	at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:74)
	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81)
	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81)
	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81)
	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81)
	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81)
	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81)
	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81)
	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81)
	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81)
	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81)
	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81)
	at info.magnolia.cms.filters.CompositeFilter.doFilter(CompositeFilter.java:65)
	at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
	at info.magnolia.cms.filters.VirtualUriFilter.doFilter(VirtualUriFilter.java:69)
	at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
	at info.magnolia.module.cache.executor.Store.processCacheRequest(Store.java:100)
	at info.magnolia.module.cache.executor.CompositeExecutor.processCacheRequest(CompositeExecutor.java:67)
	at info.magnolia.module.cache.filter.CacheFilter.doFilter(CacheFilter.java:170)
	at info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:59)
	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
	at info.magnolia.cms.i18n.I18nContentSupportFilter.doFilter(I18nContentSupportFilter.java:74)
	at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
	at info.magnolia.cms.filters.RangeSupportFilter.doFilter(RangeSupportFilter.java:84)
	at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
	at info.magnolia.cms.security.BaseSecurityFilter.doFilter(BaseSecurityFilter.java:57)
	at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81)
	at info.magnolia.cms.security.SecurityCallbackFilter.doFilter(SecurityCallbackFilter.java:80)
	at info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:59)
	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
	at info.magnolia.cms.security.LogoutFilter.doFilter(LogoutFilter.java:94)
	at info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:59)
	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
	at info.magnolia.module.site.filters.SiteMergeFilter.doFilter(SiteMergeFilter.java:119)
	at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
	at info.magnolia.cms.filters.MultiChannelFilter.doFilter(MultiChannelFilter.java:83)
	at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
	at info.magnolia.module.cache.filter.GZipFilter.doFilter(GZipFilter.java:73)
	at info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:59)
	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81)
	at info.magnolia.cms.security.auth.login.LoginFilter.doFilter(LoginFilter.java:127)
	at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81)
	at info.magnolia.cms.filters.CosMultipartRequestFilter.doFilter(CosMultipartRequestFilter.java:87)
	at info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:59)
	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
	at info.magnolia.cms.filters.ContentTypeFilter.doFilter(ContentTypeFilter.java:112)
	at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
	at info.magnolia.cms.filters.ContextFilter.doFilter(ContextFilter.java:128)
	at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
	at info.magnolia.cms.filters.CompositeFilter.doFilter(CompositeFilter.java:65)
	at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
	at info.magnolia.cms.filters.SafeDestroyMgnlFilterWrapper.doFilter(SafeDestroyMgnlFilterWrapper.java:107)
	at info.magnolia.cms.filters.MgnlFilterDispatcher.doDispatch(MgnlFilterDispatcher.java:67)
	at info.magnolia.cms.filters.MgnlMainFilter.doFilter(MgnlMainFilter.java:108)
	at info.magnolia.cms.filters.MgnlMainFilter.doFilter(MgnlMainFilter.java:94)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.&lt;span class=&quot;code-object&quot;&gt;Thread&lt;/span&gt;.run(&lt;span class=&quot;code-object&quot;&gt;Thread&lt;/span&gt;.java:745)
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                            <comment id="107370" author="czimmermann" created="Mon, 29 Jun 2015 12:54:19 +0200"  >&lt;p&gt;Eric gets an exception when attempting to save a changed tour.&lt;/p&gt;

&lt;p&gt;Caused by: javax.jcr.AccessDeniedException: /magnolia-travels/Hut-to-Hut-in-the-Swiss-Alps/destination: not allowed to add or modify item&lt;/p&gt;</comment>
                            <comment id="107413" author="czimmermann" created="Mon, 29 Jun 2015 17:23:12 +0200"  >&lt;p&gt;On CE pages app, where workflow is not installed, the Publish action is available to Eric. However he should not have the right to publish&lt;br/&gt;
On CE, the Publish and Publish Recursive action should not available to Eric - they should only be available to travel-demo-publisher roles.&lt;/p&gt;</comment>
                            <comment id="107417" author="czimmermann" created="Mon, 29 Jun 2015 17:43:15 +0200"  >&lt;p&gt;Note that currently publishing on tours or contacts app as peter fails due to this linked ticket &lt;a href=&quot;https://jira.magnolia-cms.com/browse/MAGNOLIA-5975&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;https://jira.magnolia-cms.com/browse/MAGNOLIA-5975&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="107750" author="pmundt" created="Thu, 2 Jul 2015 14:19:28 +0200"  >&lt;p&gt;Creating a followup ticket as the roles are lenient enough to not fail when they contain a workspace that doesn&apos;t exist.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10160">
                    <name>Relates</name>
                                            <outwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="41301">MAGNOLIA-5975</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="45195">MGNLDEMO-42</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10040">
                    <name>causality</name>
                                                                <inwardlinks description="is causing">
                                        <issuelink>
            <issuekey id="46142">MGNLDEMO-73</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="45936">MGNLDEMO-68</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10010">
                    <name>relation</name>
                                            <outwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="41074">MGNLDEMO-361</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>Thu, 25 Jun 2015 17:24:42 +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>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, 33 weeks, 3 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>8.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10011" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>czimmermann</customfieldvalue>
            <customfieldvalue>fgrilli</customfieldvalue>
            <customfieldvalue>pmundt</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                <customfield id="customfield_10833" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i04ybr:</customfieldvalue>

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