Hey,<br><br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
I assume that the &#39;execute&#39; method&#39;s signature has changed. Please feel free to fix this in <a href="http://svn.zope.org" target="_blank">svn.zope.org</a>. I&#39;m no longer maintaining megrok.menu myself.<br>

</blockquote><div><br>thanks, I have write access to <a href="http://svn.zope.org">svn.zope.org</a> since today :)<br><br>I have been working on this, but I would like some feedback before commit changes. Actually, I already sent the import fix.<br>
But now I want to be sure about what I&#39;m doing. It&#39;s my first time coding inside grokkers<br><br>I guess that megrok.menu was released before, grokcore.* (grokcore.view, grokcore.security). So, I made these changes<br>
<br>MenuItemGrokker now inherits from ViewSecurityGrokker instead of ViewGrokker. I understand that ViewSecurityGrokker adds the permission directive. am I right?<br><br>By doing this, I had to modify the &#39;execute&#39; signature of MenuItemGrokker.<br>
<br>I also changed the &#39;callable&#39; parameter on the config.action() call. Instead of use &#39;protectName&#39; from zope.app.security.protectclass,<br>I&#39;m using &#39;protect_getattr&#39; from grokcore.security.util<br>
<br>And the last thing it&#39;s the &#39;discriminator&#39;. I&#39;m far away to understand how this works ... :(<br>but using &#39;protectName&#39; I got this traceback<br><br>zope.configuration.config.ConfigurationConflictError: Conflicting configuration actions<br>

&nbsp; For: (&#39;protectName&#39;, &lt;class &#39;sample.app.Item1&#39;&gt;, &#39;browserDefault&#39;)<br>
&nbsp;&nbsp;&nbsp; File &quot;/home/sancho/sample/src/sample/configure.zcml&quot;, line 7.2-7.27<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;grok:grok package=&quot;.&quot; /&gt;<br>
&nbsp;&nbsp;&nbsp; File &quot;/home/sancho/sample/src/sample/configure.zcml&quot;, line 7.2-7.27<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;grok:grok package=&quot;.&quot; /&gt;<br>
&nbsp; For: (&#39;protectName&#39;, &lt;class &#39;sample.app.Item1&#39;&gt;, &#39;publishTraverse&#39;)<br>
&nbsp;&nbsp;&nbsp; File &quot;/home/sancho/sample/src/sample/configure.zcml&quot;, line 7.2-7.27<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;grok:grok package=&quot;.&quot; /&gt;<br>
&nbsp;&nbsp;&nbsp; File &quot;/home/sancho/sample/src/sample/configure.zcml&quot;, line 7.2-7.27<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;grok:grok package=&quot;.&quot; /&gt;<br><br></div></div><br>After some hours (sailing in the source code of zope and grok), I found that the ViewSecurityGrokker it&#39;s using the same &#39;discriminator&#39;, so I changed to &#39;protectMenuName&#39; and it works. But as I said, I don&#39;t understand that means, or if I&#39;m doing something wrong.<br>
<br>The thing is that now, megrok.menu it&#39;s working with Grok 0.14 and it pass all the automated tests<br><br>I&#39;m not sure if I should commit these changes without understand what I&#39;m doing... you tell me :)<br>
<br>Regards<br><br clear="all"><br>-- <br>Santiago Videla<br><a href="http://www.revolucionesweb.com.ar">www.revolucionesweb.com.ar</a><br><a href="http://www.linkedin.com/in/svidela">http://www.linkedin.com/in/svidela</a><br>
<br>Sigue la mata dando de que hablar siempre abajo y a la izquierda donde el pensamiento que se hace corazón resplandece con la palabra sencilla y humilde que l@s tod@s somos.<br>