<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<META content="MSHTML 6.00.6001.18248" name=GENERATOR></HEAD>
<BODY>
<DIV><SPAN class=319142616-22062009><FONT face="Lucida Sans" color=#000080 
size=2>Usually the access to a member is inherited from its parent. For 
instance, if you deny access to [USA].[CA], then all of its children are by 
default denied. Then you can explicitly grant access to [USA].[CA].[San 
Francisco], and the children of San Francisco are by default 
granted.</FONT></SPAN></DIV>
<DIV><SPAN class=319142616-22062009><FONT face="Lucida Sans" color=#000080 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=319142616-22062009><FONT face="Lucida Sans" color=#000080 
size=2>You know all that. The problem in this case is that there is single root 
member - there are a lot of members of the first level.</FONT></SPAN></DIV>
<DIV><SPAN class=319142616-22062009><FONT face="Lucida Sans" color=#000080 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=319142616-22062009><FONT face="Lucida Sans" color=#000080 
size=2>I agree with your solution. Please log a feature 
request.</FONT></SPAN></DIV>
<DIV><SPAN class=319142616-22062009><FONT face="Lucida Sans" color=#000080 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=319142616-22062009><FONT face="Lucida Sans" color=#000080 
size=2>Julian</FONT></SPAN></DIV><BR>
<BLOCKQUOTE 
style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000080 2px solid; MARGIN-RIGHT: 0px">
  <DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left>
  <HR tabIndex=-1>
  <FONT face=Tahoma size=2><B>From:</B> mondrian-bounces@pentaho.org 
  [mailto:mondrian-bounces@pentaho.org] <B>On Behalf Of </B>Alexander 
  Korsukov<BR><B>Sent:</B> Sunday, June 21, 2009 8:34 PM<BR><B>To:</B> Mondrian 
  developer mailing list<BR><B>Subject:</B> [Mondrian] Suggestion: 
  &lt;HierarchyGrant access="custom"&gt; add defaultmember 
  access<BR></FONT><BR></DIV>
  <DIV></DIV>Hello.<BR><BR>I have cube <SPAN 
  style="FONT-FAMILY: courier new,monospace">[CubeA]</SPAN> and <SPAN 
  style="FONT-FAMILY: courier new,monospace">N</SPAN> measures <SPAN 
  style="FONT-FAMILY: courier new,monospace">[Measures].[M1]</SPAN>, <SPAN 
  style="FONT-FAMILY: courier new,monospace">[Measures].[M2]</SPAN>, ... <SPAN 
  style="FONT-FAMILY: courier new,monospace">[Measures].[Mn]</SPAN>. It is easy 
  to define a role that allow access to some members of hierarchy:<BR><BR><SPAN 
  style="FONT-FAMILY: courier new,monospace">&lt;Role name="Allow only 
  M1"&gt;</SPAN><BR style="FONT-FAMILY: courier new,monospace"><SPAN 
  style="FONT-FAMILY: courier new,monospace">&nbsp;&nbsp;&nbsp; &lt;SchemaGrant 
  access="none"&gt;</SPAN><BR style="FONT-FAMILY: courier new,monospace"><SPAN 
  style="FONT-FAMILY: courier new,monospace">&nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; &lt;CubeGrant cube="CubeA" access="all"&gt;</SPAN><BR 
  style="FONT-FAMILY: courier new,monospace"><SPAN 
  style="FONT-FAMILY: courier new,monospace">&nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;HierarchyGrant 
  hierarchy="[Measures]" access="custom"&gt;</SPAN><BR 
  style="FONT-FAMILY: courier new,monospace"><SPAN 
  style="FONT-FAMILY: courier new,monospace">&nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;MemberGrant 
  member="[Measures].[M1]" access="all"/&gt;</SPAN><BR 
  style="FONT-FAMILY: courier new,monospace"><SPAN 
  style="FONT-FAMILY: courier new,monospace">&nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/HierarchyGrant&gt;</SPAN><BR 
  style="FONT-FAMILY: courier new,monospace"><SPAN 
  style="FONT-FAMILY: courier new,monospace">&nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; &lt;/CubeGrant&gt;</SPAN><BR 
  style="FONT-FAMILY: courier new,monospace"><SPAN 
  style="FONT-FAMILY: courier new,monospace">&nbsp;&nbsp;&nbsp; 
  &lt;/SchemaGrant&gt;</SPAN><BR 
  style="FONT-FAMILY: courier new,monospace"><SPAN 
  style="FONT-FAMILY: courier new,monospace">&lt;/Role&gt;<BR><FONT 
  face=arial,helvetica,sans-serif><BR>because </FONT></SPAN><SPAN 
  style="FONT-FAMILY: courier new,monospace">&lt;HierarchyGrant</SPAN>&gt;<FONT 
  face=arial,helvetica,sans-serif> by default deny</FONT> access to members for 
  which access is not defined explicitly. But it is not so easy to deny access 
  to certain members of hierarchy:<BR><SPAN 
  style="FONT-FAMILY: courier new,monospace"><BR>&lt;Role name="Deny 
  M1"&gt;</SPAN><BR style="FONT-FAMILY: courier new,monospace"><SPAN 
  style="FONT-FAMILY: courier new,monospace">&nbsp;&nbsp;&nbsp; &lt;SchemaGrant 
  access="none"&gt;</SPAN><BR style="FONT-FAMILY: courier new,monospace"><SPAN 
  style="FONT-FAMILY: courier new,monospace">&nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; &lt;CubeGrant cube="CubeA" access="all"&gt;</SPAN><BR 
  style="FONT-FAMILY: courier new,monospace"><SPAN 
  style="FONT-FAMILY: courier new,monospace">&nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;HierarchyGrant 
  hierarchy="[Measures]" access="custom"&gt;</SPAN><BR 
  style="FONT-FAMILY: courier new,monospace"><SPAN 
  style="FONT-FAMILY: courier new,monospace">&nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;MemberGrant 
  member="[Measures].[M2]" access="all"/&gt;</SPAN><BR 
  style="FONT-FAMILY: courier new,monospace"><SPAN 
  style="FONT-FAMILY: courier new,monospace">&nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;MemberGrant 
  member="[Measures].[M3]" access="all"/&gt;</SPAN><BR><SPAN 
  style="FONT-FAMILY: courier new,monospace">&nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;!-- ... 
  --&gt;</SPAN><BR style="FONT-FAMILY: courier new,monospace"><SPAN 
  style="FONT-FAMILY: courier new,monospace">&nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;MemberGrant 
  member="[Measures].[Mn]" access="all"/&gt;</SPAN><BR 
  style="FONT-FAMILY: courier new,monospace"><SPAN 
  style="FONT-FAMILY: courier new,monospace"></SPAN><SPAN 
  style="FONT-FAMILY: courier new,monospace">&nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/HierarchyGrant&gt;</SPAN><BR 
  style="FONT-FAMILY: courier new,monospace"><SPAN 
  style="FONT-FAMILY: courier new,monospace">&nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; &lt;/CubeGrant&gt;</SPAN><BR 
  style="FONT-FAMILY: courier new,monospace"><SPAN 
  style="FONT-FAMILY: courier new,monospace">&nbsp;&nbsp;&nbsp; 
  &lt;/SchemaGrant&gt;</SPAN><BR 
  style="FONT-FAMILY: courier new,monospace"><SPAN 
  style="FONT-FAMILY: courier new,monospace">&lt;/Role&gt;<BR><BR></SPAN>It 
  would be perfect to have possibility to define default access to members of 
  hierarchy for <SPAN style="FONT-FAMILY: courier new,monospace">custom <FONT 
  face=arial,helvetica,sans-serif>access of </FONT></SPAN><SPAN 
  style="FONT-FAMILY: courier new,monospace">&lt;HierarchyGrant/&gt;</SPAN>:<BR><BR><SPAN 
  style="FONT-FAMILY: courier new,monospace">&lt;Role name="Deny 
  M1"&gt;</SPAN><BR style="FONT-FAMILY: courier new,monospace"><SPAN 
  style="FONT-FAMILY: courier new,monospace">&nbsp;&nbsp;&nbsp; &lt;SchemaGrant 
  access="none"&gt;</SPAN><BR style="FONT-FAMILY: courier new,monospace"><SPAN 
  style="FONT-FAMILY: courier new,monospace">&nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; &lt;CubeGrant cube="CubeA" access="all"&gt;</SPAN><BR 
  style="FONT-FAMILY: courier new,monospace"><SPAN 
  style="FONT-FAMILY: courier new,monospace">&nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;HierarchyGrant 
  hierarchy="[Measures]" access="custom" memberAccess="all"&gt;</SPAN><BR 
  style="FONT-FAMILY: courier new,monospace"><SPAN 
  style="FONT-FAMILY: courier new,monospace">&nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;MemberGrant 
  member="[Measures].[M1]" access="none"/&gt;</SPAN><BR 
  style="FONT-FAMILY: courier new,monospace"><SPAN 
  style="FONT-FAMILY: courier new,monospace"></SPAN><SPAN 
  style="FONT-FAMILY: courier new,monospace">&nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/HierarchyGrant&gt;</SPAN><BR 
  style="FONT-FAMILY: courier new,monospace"><SPAN 
  style="FONT-FAMILY: courier new,monospace">&nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; &lt;/CubeGrant&gt;</SPAN><BR 
  style="FONT-FAMILY: courier new,monospace"><SPAN 
  style="FONT-FAMILY: courier new,monospace">&nbsp;&nbsp;&nbsp; 
  &lt;/SchemaGrant&gt;</SPAN><BR 
  style="FONT-FAMILY: courier new,monospace"><SPAN 
  style="FONT-FAMILY: courier new,monospace">&lt;/Role&gt;<BR><BR></SPAN><SPAN 
  style="FONT-FAMILY: courier new,monospace">&lt;Role name="Allow only 
  M1"&gt;</SPAN><BR style="FONT-FAMILY: courier new,monospace"><SPAN 
  style="FONT-FAMILY: courier new,monospace">&nbsp;&nbsp;&nbsp; &lt;SchemaGrant 
  access="none"&gt;</SPAN><BR style="FONT-FAMILY: courier new,monospace"><SPAN 
  style="FONT-FAMILY: courier new,monospace">&nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; &lt;CubeGrant cube="CubeA" access="all"&gt;</SPAN><BR 
  style="FONT-FAMILY: courier new,monospace"><SPAN 
  style="FONT-FAMILY: courier new,monospace">&nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;!-- </SPAN><SPAN 
  style="FONT-FAMILY: courier new,monospace">memberAccess="none" is default 
  behavior as now </SPAN><SPAN 
  style="FONT-FAMILY: courier new,monospace">--&gt;</SPAN><BR 
  style="FONT-FAMILY: courier new,monospace"><SPAN 
  style="FONT-FAMILY: courier new,monospace">&nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;HierarchyGrant 
  hierarchy="[Measures]" access="custom" memberAccess="none"&gt;</SPAN><BR 
  style="FONT-FAMILY: courier new,monospace"><SPAN 
  style="FONT-FAMILY: courier new,monospace">&nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;MemberGrant 
  member="[Measures].[M1]" access="all"/&gt;</SPAN><BR 
  style="FONT-FAMILY: courier new,monospace"><SPAN 
  style="FONT-FAMILY: courier new,monospace"></SPAN><SPAN 
  style="FONT-FAMILY: courier new,monospace">&nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/HierarchyGrant&gt;</SPAN><BR 
  style="FONT-FAMILY: courier new,monospace"><SPAN 
  style="FONT-FAMILY: courier new,monospace">&nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; &lt;/CubeGrant&gt;</SPAN><BR 
  style="FONT-FAMILY: courier new,monospace"><SPAN 
  style="FONT-FAMILY: courier new,monospace">&nbsp;&nbsp;&nbsp; 
  &lt;/SchemaGrant&gt;</SPAN><BR 
  style="FONT-FAMILY: courier new,monospace"><SPAN 
  style="FONT-FAMILY: courier new,monospace">&lt;/Role&gt;<BR></SPAN><BR><BR>-- 
  <BR>Alexander.<BR>_____________________________________________________<BR>mailto:<A 
  href="mailto:akorsukov@gmail.com">akorsukov@gmail.com</A> &nbsp; &nbsp; &nbsp; 
  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;icq:8572488<BR>(2E0A2052) &nbsp; &nbsp; 
  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<A 
  href="mailto:xmpp%3Ashko@jabber.ru">xmpp:shko@jabber.ru</A><BR><BR></BLOCKQUOTE></BODY></HTML>