<div dir="ltr"><div><span style="font-family:arial,sans-serif;font-size:13px">Do you know of other places where I should do the same?</span><br></div><div><span style="font-family:arial,sans-serif;font-size:13px">--&gt; I think there is no more other place to fix</span></div>
<div><span style="font-family:arial,sans-serif;font-size:13px"><br></span></div>- I see that we need &quot;Has*Permission&quot; in each groovy templates:<div><a href="https://github.com/ppalaga/gatein-portal/blob/GTNPORTAL-3263.3/web/portal/src/main/webapp/groovy/portal/webui/container/UIContainer.gtmpl">https://github.com/ppalaga/gatein-portal/blob/GTNPORTAL-3263.3/web/portal/src/main/webapp/groovy/portal/webui/container/UIContainer.gtmpl</a><br>
</div><div><br></div><div>So any extension project that overwrite default template of portal, will need to be migrated to have code snipet like this:<br></div><div><div>if (uicomponent.hasMoveAppsPermission()) {</div><div>
<span style="white-space:pre">  </span>permissionClasses.append(&quot; HasMoveAppsPermissions&quot;);</div><div>}</div><div>if (uicomponent.hasMoveContainersPermission()) {</div><div><span style="white-space:pre">  </span>permissionClasses.append(&quot; HasMoveContainersPermissions&quot;);</div>
<div>}</div></div><div>I means if customer has their extension project, they may need to migrate their code</div><div><br></div><div>- Pls correct me if i&#39;m wrong, but I don&#39;t see the code to marsall and unmarsall the &quot;Move*Permission&quot; for portal-layout and page-layout when Import and Exporting site. Reproduce:</div>
<div>  + Create a page name &quot;Test&quot; by using Page Wizard --&gt; choose 3 columns layout (running GateIn with extension that config 3 columns page template with &quot;move-apps-permission : nobody&quot; for page</div>
<div>  + Go to Import-Export page --&gt; export current Site</div><div>  + Import that Site with &quot;Overwrite&quot; mode</div><div>--&gt; User can now DnD container and apps to &quot;Test&quot; page --&gt; The problem is: missing code for marsalling and unmarsalling move*permission, then now the page &quot;Test&quot; loose setting for move*permission after being exported and re-imported</div>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Oct 14, 2013 at 10:22 PM, Thomas Heute <span dir="ltr">&lt;<a href="mailto:theute@redhat.com" target="_blank">theute@redhat.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5"><br>
<br>
On 10/14/2013 05:15 PM, Peter Palaga wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On 2013-10-14 13:46, Phuong Viet VU wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
ok, I have some more comments:<br>
1. I see that &quot;root&quot; user can do anything, even when we set &quot;nobody&quot; for<br>
move*-application and move*-container. But the specification say that it<br>
can prevent &quot;root&quot; user.<br>
</blockquote>
<br>
No, the spec says that &lt;move-*-permissions&gt;Nobody&lt;/<u></u>move-*-permissions&gt;<br>
forbids the actions to everyone _except for_ root. So, the present<br>
implementation works as specified.<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
2. I can&#39;t DnD new App and Container to portal-layout (run gatein with<br>
extension).<br>
When I create page with &quot;Add page&quot; wizard, choose &quot;Two columns&quot; layout<br>
--&gt; Can&#39;t DnD new container to the Page, even there is<br>
&quot;HasMoveContainersPermissions&quot; class<br>
</blockquote>
<br>
Sorry, this part of JavaScript was broken since Friday. It must work now.<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
3. The feature only work if we create page from templates. But GateIn<br>
also allow to create page with-out template:<br>
by using &quot;Page management&quot; portlet, or when using navigation editor --&gt;<br>
create node --&gt; create page. It create a page with-out template, and the<br>
move* permission is null --&gt; no way to DnD Apps and Container to the<br>
newly created page. And we don&#39;t have UI support to set the move*<br>
permission<br>
</blockquote>
<br>
I agree that at some point, we need to add a UI for the management of<br>
the new permissions. But it is out of scope ATM.<br>
<br>
With the present spec, I guess, the customer will be able to hide the<br>
alternative ways to create pages from user groups that are supposed to<br>
use the &quot;template way&quot;. Thomas?<br>
</blockquote>
<br></div></div>
I will need to give it a try, I don&#39;t think that I understand why it is different.<span class="HOEnZb"><font color="#888888"><br>
<br>
Thomas</font></span><div class="HOEnZb"><div class="h5"><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
And finally, I agree that the page creation with null move* permissions<br>
from Page management and navigation editor is not correct. I have<br>
changed it to use ProtectedContainer.DEFAULT_<u></u>MOVE_*_PERMISSIONS, see []<br>
Do you know of other places where I should do the same?<br>
<br>
[1] <a href="https://github.com/ppalaga/gatein-portal/tree/GTNPORTAL-3263.3" target="_blank">https://github.com/ppalaga/<u></u>gatein-portal/tree/GTNPORTAL-<u></u>3263.3</a><br>
<br>
Thanks,<br>
<br>
Peter<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On Mon, Oct 14, 2013 at 4:28 PM, Peter Palaga &lt;<a href="mailto:ppalaga@redhat.com" target="_blank">ppalaga@redhat.com</a><br>
&lt;mailto:<a href="mailto:ppalaga@redhat.com" target="_blank">ppalaga@redhat.com</a>&gt;&gt; wrote:<br>
<br>
    Thanks for the message, Phuong. I&#39;ll have a look what is the<br>
    problem. -- PP<br>
<br>
<br>
    On 2013-10-14 11:17, Phuong Viet VU wrote:<br>
<br>
        Hi, I&#39;m trying &quot;Restricted&quot; page editor feature (build with<br>
        tomcat7 --&gt;<br>
<br>
<a href="https://github.com/ppalaga/__gatein-portal/tree/GTNPORTAL-__3263.3" target="_blank">https://github.com/ppalaga/__<u></u>gatein-portal/tree/GTNPORTAL-_<u></u>_3263.3</a><br>
        &lt;<a href="https://github.com/ppalaga/gatein-portal/tree/GTNPORTAL-3263.3" target="_blank">https://github.com/ppalaga/<u></u>gatein-portal/tree/GTNPORTAL-<u></u>3263.3</a>&gt;)<br>
        I tried GateIn without the extension<br>
<br>
(<a href="https://github.com/ppalaga/__gatein-restricted-page-editor-__extension" target="_blank">https://github.com/ppalaga/__<u></u>gatein-restricted-page-editor-<u></u>__extension</a><br>
<br>
&lt;<a href="https://github.com/ppalaga/gatein-restricted-page-editor-extension" target="_blank">https://github.com/ppalaga/<u></u>gatein-restricted-page-editor-<u></u>extension</a>&gt;)<br>
        --&gt;<br>
        It should works the same as before this feature, right ?<br>
<br>
        1. After login as root, go to home page, edit portal layout --&gt;<br>
        I can&#39;t<br>
        DnD page-body to another place, it always stay in the same place<br>
        2. Try to drop new Row container, and new application to the<br>
        page, then<br>
        move them around --&gt; Exception in the console<br>
        143469 [http-bio-8080-exec-6] ERROR portal:UIPortalApplication -<br>
        Error<br>
        during the processAction phase<br>
        java.lang.NullPointerException<br>
        at<br>
<br>
org.exoplatform.portal.webui._<u></u>_portal.__<u></u>UIPortalComponentActionListene<u></u>__r$MoveChildActionListener.__<u></u>prepareUiSource(__<u></u>UIPortalComponentActionListene<u></u>__r.java:300)<br>
<br>
        at<br>
<br>
org.exoplatform.portal.webui._<u></u>_portal.__<u></u>UIPortalComponentActionListene<u></u>__r$MoveChildActionListener.__<u></u>execute(__<u></u>UIPortalComponentActionListene<u></u>__r.java:239)<br>
<br>
        at org.exoplatform.webui.event.__<u></u>Event.broadcast(Event.java:97)<br>
        at<br>
<br>
org.exoplatform.webui.core.__<u></u>lifecycle.Lifecycle.__<u></u>processAction(Lifecycle.java:_<u></u>_51)<br>
<br>
        at<br>
<br>
org.exoplatform.webui.core.__<u></u>UIComponent.processAction(__<u></u>UIComponent.java:119)<br>
<br>
        at<br>
<br>
org.exoplatform.portal.webui._<u></u>_workspace.__<u></u>UIPortalApplicationLifecycle._<u></u>_processAction(__<u></u>UIPortalApplicationLifecycle._<u></u>_java:73)<br>
<br>
        at<br>
<br>
org.exoplatform.portal.webui._<u></u>_workspace.__<u></u>UIPortalApplicationLifecycle._<u></u>_processAction(__<u></u>UIPortalApplicationLifecycle._<u></u>_java:36)<br>
<br>
<br>
<br>
<br>
        On Fri, Oct 11, 2013 at 10:00 PM, Peter Palaga<br>
        &lt;<a href="mailto:ppalaga@redhat.com" target="_blank">ppalaga@redhat.com</a> &lt;mailto:<a href="mailto:ppalaga@redhat.com" target="_blank">ppalaga@redhat.com</a>&gt;<br>
        &lt;mailto:<a href="mailto:ppalaga@redhat.com" target="_blank">ppalaga@redhat.com</a> &lt;mailto:<a href="mailto:ppalaga@redhat.com" target="_blank">ppalaga@redhat.com</a>&gt;&gt;&gt; wrote:<br>
<br>
             Thanks Trong.<br>
<br>
             Please note that there is a small update in<br>
<br>
<a href="https://github.com/ppalaga/__gatein-portal/tree/GTNPORTAL-__3263.3" target="_blank">https://github.com/ppalaga/__<u></u>gatein-portal/tree/GTNPORTAL-_<u></u>_3263.3</a><br>
        &lt;<a href="https://github.com/ppalaga/gatein-portal/tree/GTNPORTAL-3263.3" target="_blank">https://github.com/ppalaga/<u></u>gatein-portal/tree/GTNPORTAL-<u></u>3263.3</a>&gt;<br>
        : The new<br>
             permissions are enforced also during deletions now.<br>
<br>
             Best,<br>
<br>
             Peter<br>
<br>
             On 2013-10-11 06:05, Trong Tran wrote:<br>
              &gt; Hi,<br>
              &gt;<br>
              &gt; We are going to take a look at this and will give you<br>
        feedback on<br>
             Monday<br>
              &gt;<br>
              &gt; Thanks,<br>
              &gt;<br>
              &gt;<br>
              &gt; On 10 October 2013 15:45, Peter Palaga<br>
        &lt;<a href="mailto:ppalaga@redhat.com" target="_blank">ppalaga@redhat.com</a> &lt;mailto:<a href="mailto:ppalaga@redhat.com" target="_blank">ppalaga@redhat.com</a>&gt;<br>
             &lt;mailto:<a href="mailto:ppalaga@redhat.com" target="_blank">ppalaga@redhat.com</a> &lt;mailto:<a href="mailto:ppalaga@redhat.com" target="_blank">ppalaga@redhat.com</a>&gt;&gt;<br>
              &gt; &lt;mailto:<a href="mailto:ppalaga@redhat.com" target="_blank">ppalaga@redhat.com</a> &lt;mailto:<a href="mailto:ppalaga@redhat.com" target="_blank">ppalaga@redhat.com</a>&gt;<br>
        &lt;mailto:<a href="mailto:ppalaga@redhat.com" target="_blank">ppalaga@redhat.com</a> &lt;mailto:<a href="mailto:ppalaga@redhat.com" target="_blank">ppalaga@redhat.com</a>&gt;&gt;&gt;&gt; wrote:<br>
              &gt;<br>
              &gt;     Hi *,<br>
              &gt;<br>
              &gt;     it would be nice if someone from eXo could have a<br>
        look at<br>
             this. Please<br>
              &gt;     note that we cannot wait for long. We have decided<br>
        to do a<br>
             RH-internal<br>
              &gt;     cross-checking with Lucas and if there is no message<br>
        from eXo<br>
             after we<br>
              &gt;     are finished with the checks, I&#39;ll merge it without<br>
        waiting<br>
             for eXo.<br>
              &gt;<br>
              &gt;     Thanks,<br>
              &gt;<br>
              &gt;     Peter<br>
              &gt;<br>
              &gt;     On 2013-10-04 17:11, Peter Palaga wrote:<br>
              &gt;      &gt; Hi *,<br>
              &gt;      &gt;<br>
              &gt;      &gt; It is quite an extensive patch. Could please<br>
        somebody have<br>
             a look<br>
              &gt;     at it?<br>
              &gt;      &gt;<br>
              &gt;      &gt;<br>
<br>
<a href="https://github.com/ppalaga/__gatein-portal/tree/GTNPORTAL-__3263.3" target="_blank">https://github.com/ppalaga/__<u></u>gatein-portal/tree/GTNPORTAL-_<u></u>_3263.3</a><br>
        &lt;<a href="https://github.com/ppalaga/gatein-portal/tree/GTNPORTAL-3263.3" target="_blank">https://github.com/ppalaga/<u></u>gatein-portal/tree/GTNPORTAL-<u></u>3263.3</a>&gt;<br>
              &gt;      &gt;<br>
              &gt;      &gt; It implements a requirement from a customer as<br>
        described in<br>
              &gt;      &gt;<br>
              &gt;      &gt;<br>
        <a href="https://community.jboss.org/__wiki/RestrictedPageEditor" target="_blank">https://community.jboss.org/__<u></u>wiki/RestrictedPageEditor</a><br>
        &lt;<a href="https://community.jboss.org/wiki/RestrictedPageEditor" target="_blank">https://community.jboss.org/<u></u>wiki/RestrictedPageEditor</a>&gt;<br>
              &gt;      &gt;<br>
              &gt;      &gt; To see the behavior requested by the customer,<br>
        you should<br>
             build the<br>
              &gt;      &gt; portal from my GTNPORTAL-3263.3 branch and run AS<br>
        with this<br>
              &gt;     extension:<br>
              &gt;      &gt;<br>
              &gt;      &gt;<br>
<br>
<a href="https://github.com/ppalaga/__gatein-restricted-page-editor-__extension" target="_blank">https://github.com/ppalaga/__<u></u>gatein-restricted-page-editor-<u></u>__extension</a><br>
<br>
&lt;<a href="https://github.com/ppalaga/gatein-restricted-page-editor-extension" target="_blank">https://github.com/ppalaga/<u></u>gatein-restricted-page-editor-<u></u>extension</a>&gt;<br>
              &gt;      &gt;<br>
              &gt;      &gt; Thanks,<br>
              &gt;      &gt;<br>
              &gt;      &gt; Peter<br>
              &gt;      &gt; ______________________________<u></u>___________________<br>
              &gt;      &gt; gatein-dev mailing list<br>
              &gt;      &gt; <a href="mailto:gatein-dev@lists.jboss.org" target="_blank">gatein-dev@lists.jboss.org</a><br>
        &lt;mailto:<a href="mailto:gatein-dev@lists.jboss.org" target="_blank">gatein-dev@lists.<u></u>jboss.org</a>&gt;<br>
             &lt;mailto:<a href="mailto:gatein-dev@lists." target="_blank">gatein-dev@lists.</a>__<a href="http://jboss.org" target="_blank">jbo<u></u>ss.org</a><br>
        &lt;mailto:<a href="mailto:gatein-dev@lists.jboss.org" target="_blank">gatein-dev@lists.<u></u>jboss.org</a>&gt;&gt;<br>
             &lt;mailto:<a href="mailto:gatein-dev@lists." target="_blank">gatein-dev@lists.</a>__<a href="http://jboss.org" target="_blank">jbo<u></u>ss.org</a><br>
        &lt;mailto:<a href="mailto:gatein-dev@lists.jboss.org" target="_blank">gatein-dev@lists.<u></u>jboss.org</a>&gt;<br>
        &lt;mailto:<a href="mailto:gatein-dev@lists." target="_blank">gatein-dev@lists.</a>__<a href="http://jboss.org" target="_blank">jbo<u></u>ss.org</a><br>
        &lt;mailto:<a href="mailto:gatein-dev@lists.jboss.org" target="_blank">gatein-dev@lists.<u></u>jboss.org</a>&gt;&gt;&gt;<br>
<br>
              &gt;      &gt;<br>
        <a href="https://lists.jboss.org/__mailman/listinfo/gatein-dev" target="_blank">https://lists.jboss.org/__<u></u>mailman/listinfo/gatein-dev</a><br>
        &lt;<a href="https://lists.jboss.org/mailman/listinfo/gatein-dev" target="_blank">https://lists.jboss.org/<u></u>mailman/listinfo/gatein-dev</a>&gt;<br>
              &gt;      &gt;<br>
              &gt;<br>
              &gt;     ______________________________<u></u>___________________<br>
              &gt;     gatein-dev mailing list<br>
              &gt; <a href="mailto:gatein-dev@lists.jboss.org" target="_blank">gatein-dev@lists.jboss.org</a><br>
        &lt;mailto:<a href="mailto:gatein-dev@lists.jboss.org" target="_blank">gatein-dev@lists.<u></u>jboss.org</a>&gt;<br>
        &lt;mailto:<a href="mailto:gatein-dev@lists." target="_blank">gatein-dev@lists.</a>__<a href="http://jboss.org" target="_blank">jbo<u></u>ss.org</a><br>
        &lt;mailto:<a href="mailto:gatein-dev@lists.jboss.org" target="_blank">gatein-dev@lists.<u></u>jboss.org</a>&gt;&gt;<br>
             &lt;mailto:<a href="mailto:gatein-dev@lists." target="_blank">gatein-dev@lists.</a>__<a href="http://jboss.org" target="_blank">jbo<u></u>ss.org</a><br>
        &lt;mailto:<a href="mailto:gatein-dev@lists.jboss.org" target="_blank">gatein-dev@lists.<u></u>jboss.org</a>&gt;<br>
        &lt;mailto:<a href="mailto:gatein-dev@lists." target="_blank">gatein-dev@lists.</a>__<a href="http://jboss.org" target="_blank">jbo<u></u>ss.org</a><br>
        &lt;mailto:<a href="mailto:gatein-dev@lists.jboss.org" target="_blank">gatein-dev@lists.<u></u>jboss.org</a>&gt;&gt;&gt;<br>
<br>
              &gt; <a href="https://lists.jboss.org/__mailman/listinfo/gatein-dev" target="_blank">https://lists.jboss.org/__<u></u>mailman/listinfo/gatein-dev</a><br>
        &lt;<a href="https://lists.jboss.org/mailman/listinfo/gatein-dev" target="_blank">https://lists.jboss.org/<u></u>mailman/listinfo/gatein-dev</a>&gt;<br>
              &gt;<br>
              &gt;<br>
              &gt;<br>
             &gt;<br>
             &gt; --<br>
             &gt; *Trong Tran*<br>
             &gt; /(+84) 983841909 | /<a href="mailto:trongtt@gmail.com" target="_blank">trongtt@gmail.com</a><br>
        &lt;mailto:<a href="mailto:trongtt@gmail.com" target="_blank">trongtt@gmail.com</a>&gt; &lt;mailto:<a href="mailto:trongtt@gmail.com" target="_blank">trongtt@gmail.com</a><br>
        &lt;mailto:<a href="mailto:trongtt@gmail.com" target="_blank">trongtt@gmail.com</a>&gt;&gt;<br>
             &lt;mailto:<a href="mailto:trongtt@gmail.com" target="_blank">trongtt@gmail.com</a> &lt;mailto:<a href="mailto:trongtt@gmail.com" target="_blank">trongtt@gmail.com</a>&gt;<br>
        &lt;mailto:<a href="mailto:trongtt@gmail.com" target="_blank">trongtt@gmail.com</a> &lt;mailto:<a href="mailto:trongtt@gmail.com" target="_blank">trongtt@gmail.com</a>&gt;&gt;&gt;<br>
<br>
             &gt; Twitter:<a href="http://twitter.com/__trongtt//" target="_blank">http://twitter.com/__<u></u>trongtt//</a><br>
        &lt;<a href="http://twitter.com/trongtt//" target="_blank">http://twitter.com/trongtt//</a>&gt;<br>
<br>
             ______________________________<u></u>___________________<br>
             gatein-dev mailing list<br>
        <a href="mailto:gatein-dev@lists.jboss.org" target="_blank">gatein-dev@lists.jboss.org</a> &lt;mailto:<a href="mailto:gatein-dev@lists.jboss.org" target="_blank">gatein-dev@lists.<u></u>jboss.org</a>&gt;<br>
        &lt;mailto:<a href="mailto:gatein-dev@lists." target="_blank">gatein-dev@lists.</a>__<a href="http://jboss.org" target="_blank">jbo<u></u>ss.org</a><br>
        &lt;mailto:<a href="mailto:gatein-dev@lists.jboss.org" target="_blank">gatein-dev@lists.<u></u>jboss.org</a>&gt;&gt;<br>
        <a href="https://lists.jboss.org/__mailman/listinfo/gatein-dev" target="_blank">https://lists.jboss.org/__<u></u>mailman/listinfo/gatein-dev</a><br>
        &lt;<a href="https://lists.jboss.org/mailman/listinfo/gatein-dev" target="_blank">https://lists.jboss.org/<u></u>mailman/listinfo/gatein-dev</a>&gt;<br>
<br>
<br>
<br>
<br>
</blockquote>
<br>
</blockquote>
</div></div></blockquote></div><br></div>