<?xml version = "1.0" encoding="ISO-8859-1"?>
<ObjectList> 

  <!--

	Als erstes legen wir eine Gruppe an. Alle Mitglieder dieser Gruppe sollen in unserem ACL dann das Lese-Recht besitzen (READ)

  -->
  <DirectoryGroupObject SavePoint="${GRP_XML-Script-Schulung_READ}">
    <Name>GRP_XML-Script-Schulung_READ</Name>
		
		<!--
		
			Als Member ordnen wir hier unseren Benutzer partner_a.user zu
		
		-->
		
    <Members>
      <Ref  RefType="Name" ClassName="DirectoryUserObject">partner_a.user</Ref>
    </Members>
		<AddToFolder>/agorum/roi/Administration/Group/XML-Script-Schulung</AddToFolder>		
		<NoErrorIfExist/>
  </DirectoryGroupObject>

  <!--

	Als zweites legen wir eine Gruppe an für ALL. Alle Mitglieder dieser Gruppe sollen in unserem ACL dann das ALL-Recht besitzen (ALL)
  -->
  <DirectoryGroupObject SavePoint="${GRP_XML-Script-Schulung_ALL}">
    <Name>GRP_XML-Script-Schulung_ALL</Name>
		
		<!--
		
			Als Member ordnen wir hier unseren Benutzer partner_a.user zu
		
		-->
		
    <Members>
      <Ref  RefType="Name" ClassName="DirectoryUserObject">partner_a.user</Ref>
    </Members>
		<AddToFolder>/agorum/roi/Administration/Group/XML-Script-Schulung</AddToFolder>		
		<NoErrorIfExist/>
  </DirectoryGroupObject>
	
	<!--
	
		So, jetzt werden wir den ACL anlegen, mit der eben definierten Gruppe, die READ-Rechte bekommt
	
	-->
  <CustomAclObject SavePoint="${ACL_XML-Script-Schulung}">
    <Name>ACL_XML-Script-Schulung</Name>
    <Description>ACL, für den XML-Script-Schulung - Bereich</Description>
		<ACEs>
			<!--
				Hier die Gruppe GRP_XML-Script-Schulung_READ zuordnen
			-->
      <AccessControlEntryObject>
				<!--  Die Referenz wird hier per Name gemacht -->
        <Grantee RefType="Name" ClassName="DirectoryGroupObject">GRP_XML-Script-Schulung_READ</Grantee>
				<!-- Hier wird eingestellt ob die Rechte gesetzt (true) oder entzogen (false) werden -->
        <Granted>true</Granted>
				<Acl RefType="SavePoint">${ACL_XML-Script-Schulung}</Acl>
        <PermissionBundleObjects>
          <ArrayElement RefType="Name" ClassName="PermissionBundleObject">AG_PB_READ</ArrayElement>
        </PermissionBundleObjects>
      </AccessControlEntryObject>
		</ACEs>
		<AddToFolder>/agorum/roi/Administration/Role/XML-Script-Schulung</AddToFolder>
		<NoErrorIfExist/>
  </CustomAclObject>

	<!--
	
		So, jetzt werden wir den ACL updaten, mit der eben definierten Gruppe, die ALL-Rechte bekommt
	
	-->
  <CustomAclObject>
    <Update RefType="SavePoint">${ACL_XML-Script-Schulung}</Update>
		<ACEs>
			<!--
				Hier die Gruppe GRP_XML-Script-Schulung_ALL zuordnen
				
				Hier ordnen wir jetzt die Gruppe so zu, das es egal ist wo der Benutzer drin ist.
				
				Der Benutzer hat jetzt immer das höhere Recht.
				
				In unserem Fall hat der Benutzer READ und ALL also hat er ALL
				
			-->
      <AccessControlEntryObject>
				<!--  Die Referenz wird hier per Name gemacht -->
        <Grantee RefType="Name" ClassName="DirectoryGroupObject">GRP_XML-Script-Schulung_ALL</Grantee>
				<!-- Hier wird eingestellt ob die Rechte gesetzt (true) oder entzogen (false) werden -->
        <Granted>true</Granted>
				<Acl RefType="SavePoint">${ACL_XML-Script-Schulung}</Acl>
        <PermissionBundleObjects>
          <ArrayElement RefType="Name" ClassName="PermissionBundleObject">AG_PB_ALL</ArrayElement>
        </PermissionBundleObjects>
      </AccessControlEntryObject>
		</ACEs>
  </CustomAclObject>
	
	
	
	
	<!--
		Und jetzt wird dieser ACL dem Ordner XML-Script-Schulung zugeordnet und durchvererbt.
		Es werden Alle ACL's durch den neuen ersetzt, die gleich sind wie der ACL des Start-Folder für die Vererbung
	-->
  <FolderObject>
    <Update>/agorum/roi/Files/XML-Script-Schulung</Update>
		<!--
			Hier wird der ACL gesetzt
		-->
    <Acl RefType="SavePoint">${ACL_XML-Script-Schulung}</Acl>
    <!--
			Jetzt noch die SystemOption setzen, das der ACL vererbt werden soll
			über alle Folder, gleich wie der bisherige ACL bis jetzt dort war
		-->
    <InvokeMethod>
      <Method>setSystemOption</Method>
      <Parameter_1 DataType="String" MethodDataType="String">leaveAclToObjectsWithThisAcl</Parameter_1>
      <Parameter_2 DataType="String" MethodDataType="Object">true</Parameter_2>
    </InvokeMethod>
  </FolderObject>

	
	
	
</ObjectList>


