01-28-2009 08:29 AM
<type name="cm:content">
<title>Content</title>
<parent>cm:cmobject</parent>
<archive>true</archive>
<properties>
<property name="cm:content">
<type>d:content</type>
<mandatory>false</mandatory>
<!— Index content in the background –>
<index enabled="true">
<atomic>true</atomic>
<stored>false</stored>
<tokenised>true</tokenised>
</index>
</property>
<property name="cm:securityLevel">
<title>Security Level</title>
<type>d:text</type>
<mandatory>true</mandatory>
<constraints>
<constraint ref="cm:filename" />
<constraint type="LENGTH">
<parameter name="minLength"><value>0</value></parameter>
<parameter name="maxLength"><value>128</value></parameter>
</constraint>
<constraint type="LIST">
<parameter name="allowedValues">
<list>
<value>NO SECURITY</value>
<value>RESERVED</value>
<value>VERY RESERVED</value>
<value>SECRET</value>
<value>VERY SECRETvalue>
</list>
</parameter>
<parameter name="caseSensitive"><value>true</value></parameter>
</constraint>
</constraints>
</property>
</properties>
</type>
<property name="cm:securityId">
<type>d:text</type>
</property>
01-28-2009 10:43 AM
01-28-2009 11:52 AM
The most efficient way is to use Alfresco's built-in security.
Create 4 nested user groups: RESERVED, contains VERY RESERVED, which in turn contains SECRET, which finally contains VERY SECRET (no need for a NO SECURITY group, GROUP_EVERYONE will be OK).
If a user is in level "SECRET", put it in the SECRET group. It will therefore also be in the "VERY RESERVED" and "RESERVED" groups, automatically, by "inheritance".
If a file or folder is "VERY RESERVED", set its ACLs to only allow the user group "VERY RESERVED" (this means do not inherit ACLs from the containing folder).
That's all, no customization needed, it "just works" out of the box, with the best performance ever.
Every other solution (e.g. dynamic authorities) will involve much more computations and be much less performant.
The tricky part would be doing all of this "automagically" if you want to (e.g. select security level from a combo box in the "edit details" page instead of using the "manage content users" page)
Tags
Find what you came for
We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.