AnsweredAssumed Answered

Berechtigungen

Question asked by mhardt on Feb 15, 2012
Latest reply on Feb 17, 2012 by lotharmärkle
Hallo.

Ich habe ein (aus meiner Sicht) alltägliches Szenario, für das ich keine Umsetzung in Alfresco finde.

Es gibt zwei Dokumententypen my:typeA und my:typeB, die von my:typeSuper abgeleitet werden. Hier das Model dazu:

  
<types>
    <type name="my:typeSuper">
      <title>Super Type</title>
      <parent>cm:content</parent>
    </type>

    <type name="my:typeA">
      <title>Type A</title>
      <parent>my:typeSuper</parent>
    </type>

    <type name="my:typeB">
      <title>Type B</title>
      <parent>my:typeSuper</parent>
    </type>

  </types>

Instanzen dieser Typen liegen in einem Projektordner "SomeFolder" unter CompanyHome und dessen Unterordnern. Die beiden Typen können gemischt in den Ordnern/Unterordnern vor kommen, d.h. sowohl Instanzen von beide gleichzeitig oder nur von einem Typ (auch mehrere pro Ordner).

Als nächstes habe ich ein PermissionModel angelegt (im Extension-Ordner), das die Rollen RoleA und RoleB kennt:


<permissions>
   
   <namespaces>
      <namespace uri="http://www.alfresco.org/model/system/1.0" prefix="sys"/>
      <namespace uri="http://www.alfresco.org/model/content/1.0" prefix="cm"/>
      <namespace uri="http://www.somedomain.org/model/my/1.0" prefix="my"/>
   </namespaces>

   <permissionSet type="my:typeA" expose="selected">
        <permissionGroup name="RoleA" expose="true" extends="false" allowFullControl="false" requiresType="true">
         <includePermissionGroup permissionGroup="Coordinator" type="cm:cmobject"/>
      </permissionGroup>
      </permissionSet>

   <permissionSet type="my:typeB" expose="selected">
        <permissionGroup name="RoleB" expose="true" extends="false" allowFullControl="false" requiresType="true">
         <includePermissionGroup permissionGroup="Coordinator" type="cm:cmobject"/>
      </permissionGroup>
      </permissionSet>

   <permissionSet type="cm:folder" expose="selected">
      <permissionGroup name="Coordinator" extends="true" expose="true"/>
      <permissionGroup name="Collaborator" extends="true" expose="true"/>
      <permissionGroup name="Contributor" extends="true" expose="true"/>
            <permissionGroup name="Editor" extends="true" expose="true"/>
      <permissionGroup name="Consumer" extends="true" expose="true"/>
      <permissionGroup name="RecordAdministrator" extends="true" expose="false"/>

        <permissionGroup name="RoleA" expose="true" extends="false" allowFullControl="false" requiresType="true">
         <includePermissionGroup permissionGroup="RoleA" type="my:typeA"/>
      </permissionGroup>
        <permissionGroup name="RoleB" expose="true" extends="false" allowFullControl="false" requiresType="true">
         <includePermissionGroup permissionGroup="RoleB" type="my:typeB"/>
      </permissionGroup>
      </permissionSet>

</permissions>

Nachdem Alfresco in dieser Konfiguration fehlerfrei hoch fährt, lege ich als admin zwei Gruppen an: gruppeA und gruppeB, in denen ein Benutzer userA bzw. userB zu finden sind. Diese weise ich über "Benutzer des Arbeitsbereiches verwalten" meinem Projektordner zu:

gruppeA –> RoleA
gruppeB –> RoleB

Meinem Projektordner entziehe ich gleichzeitig die Berechtigungen des Eltern-Arbeitsbereiches (Checkbox), sodass ich keine sonstigen Konsumenten mehr auf diesem Ordner habe.

Als admin lege ich mehrere Dokumente beider Typen direkt im Projektordner an. Nun melde ich mich als admin ab und als userA an und öffne den Projektordner. Leider sehe ich hier Instanzen beider Dokumententypen  :cry: .

Bin um jeden Hinweis dankbar!

Outcomes