We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 33490
    • 5 Posts
    Hallo zusammen,

    folgendes Problem:
    ich entwickele eine größere Sport-Vereinsseite mit diversen Unterabteilungen. Bsp.: "Fussball" -> "Fussball Senioren" -> "1. Mannschaft", "2. Mannschaft", ...
    Jede Abteilung benötigt getrennte Admins. Also einmal für "Fussball", einmal für "Fussball Senioren", einmal "1.Mannschaft", ... Jeder Admin hat nur Zugriff auf seine Abteilung und darf auch nur in dieser veröffentlichen und editieren.
    Mein größtes Problem liegt derzeit darin, dass Dokumenten Gruppen nicht automatisch beim Erstellen von neuen Seiten je nach Admin zugeordnet werden.
    Ich habe hier bereits Lösungsansätze gefunden, die den Einsatz des NewsPublishers benutzen. Dies ist für mich jedoch nicht die optimale Lösung, da ich den Admin’s keine strickte Struktur vorgeben will, in denen sie Posten müssen. Vielmehr sollen sie die Möglichkeit haben eigene Unterordner zu erzeugen, bzw. frei über Ihre Inhalte bestimmen zu können.

    Zur Not würde ich mich auch ans "Core" begeben, wenn es sein muss. Muss aber auch nicht wink

    Geht’s oder geht’s nicht? Vielleicht kennt ja jemand die Problematik... Ich wäre für jeden Lösungsansatz dankbar!
      • 36451
      • 264 Posts
      Geht. Du mußt nur fleißig Dokumentgruppen ( "FussballDokumente", "FussballSeniorenDokumente") und Usergruppen (z.B. "FußballAdmin", "FußballSeniorenAdmin" etc. ) anlegen. Diese verknüpfst Du dann:

      "FußballAdmin" darf "FussballDokumente", "FussballSeniorenDokumente", "FussballSeniorenMannschaft1Dokumente" etc.
      "FußballSeniorenAdmin" darf NUR "FussballSeniorenDokumente", "FussballSeniorenMannschaft1Dokumente" etc.
      "FußballSeniorenMannschaft1Admin" darf NUR "FussballSeniorenMannschaft1Dokumente"

      etc.

      Als nächstes legst Du Deinen Dokumentenbaum an:

      Fußball (ist Folder der Dok.gruppe "FussballDokumente")
      - Senioren (ist Folder der Dok.gruppe "FussballSeniorenDokumente")
      -- 1. Mannschaft (ist Folder der Dok.gruppe "FussballSeniorenMannschaft1Dokumente")
      -- 2. Mannschaft (ist Folder der Dok.gruppe "FussballSeniorenMannschaft2Dokumente")
      Handball (ist Folder der Dok.gruppe "HandballDokumente")

      etc.pp - Du verstehst ja die Idee dahinter.

      Durch die MODx-eigene Vererbung der Dokumentengruppe und damit der Berechtigungen auf untergeordnete Dokumente bekommst Du genau die Berechtigungsstruktur, die Du benötigst. Und jeder Berechtigte sieht nur genau die Dokumente, die er editieren darf.

      Hilft Dir das?
        • 33490
        • 5 Posts
        Danke Dir für die zügige Antwort.

        Leider habe ich genau dieses Prinzip in meinem ersten Ansatz bereits verfolgt. Ich meine auch dass dies zu Beginn funktioniert hat, doch irgendwann nicht mehr. ( ? )

        Gibt es vielleicht etwas, das man bei der Benennung der Admin User, Webuser und deren Gruppen beachten muss. Eigentlich werden diese ja von einander getrennt gespeichert, sodass Benutzernamen der Admin und Webuser gleich heißen dürfen, oder?

        Ist es vielleicht wichtig wer die Dokumente erstellt hat, oder kann ich als Admin zu Beginn ein Grundgerüst erstellen und die Dok-Gruppen von Hand angeben? (So habe ich es getan)
        Ein weiteres Problem ist das Dokumente von den Admins überall im Verzeichnisbaum positioniert werden können. Normal?

        Wenn Du Dir sicher bist, dass es eigentlich funktionieren müsste, sollte ich vielleicht die gesamte Struktur noch mal neu aufsetzen. Wäre nur gut zu wissen, ob ich dabei etwas beachten muss.

        Gruß
          • 36451
          • 264 Posts

          Gibt es vielleicht etwas, das man bei der Benennung der Admin User, Webuser und deren Gruppen beachten muss. Eigentlich werden diese ja von einander getrennt gespeichert, sodass Benutzernamen der Admin und Webuser gleich heißen dürfen, oder?
          Mußt nichts beachten, die Namen dürfen identisch sein.

          Ist es vielleicht wichtig wer die Dokumente erstellt hat
          Nein. Das wäre ja eine Katastrophe.

          Ein weiteres Problem ist das Dokumente von den Admins überall im Verzeichnisbaum positioniert werden können. Normal?
          Ja. Du kannst lediglich in der Konfiguration einstellen, daß die User keine neuen Dokumente im root anlegen dürfen.

          Wenn Du Dir sicher bist, dass es eigentlich funktionieren müsste, sollte ich vielleicht die gesamte Struktur noch mal neu aufsetzen. Wäre nur gut zu wissen, ob ich dabei etwas beachten muss.
          Sorry für die späte Antwort.
            • 33490
            • 5 Posts
            Danke.

            ich konnte nun alles meinen Vorstellungen entsprechend umsetzen.
            - Dokumente adaptieren automatisch die jeweilige Doc-Gruppe des Admins.
            - Admins können nur in Ordnern ihrer Dok-Gruppe veröffentlichen.
            - Admins sehen nur Dateien und Ordner ihrer Gruppe.

            Hierzu musste ich zwei kleinere Hacks in den Dateien "save_content.processor.php" und "user_documents_permissions.class.php" machen.
            Bislang funktioniert alles wunderbar. Habe noch keine Fehler erkannt. Mal sehen, ob es dabei bleibt...

            Gruß
              • 36451
              • 264 Posts
              Freut mich. Dokumentiere Deine Änderungen und hol’ die Doku rechtzeitig vor dem nächsten Update raus wink
                • 10449
                • 956 Posts
                Quote from: zero_two at Oct 05, 2007, 11:32 AM

                Hierzu musste ich zwei kleinere Hacks in den Dateien "save_content.processor.php" und "user_documents_permissions.class.php" machen.

                Das interessiert mich. Was genau hast Du da gemacht/geändert? Kannst Du das posten + kommentieren?
                  • 33490
                  • 5 Posts
                  Ich kann es ja mal versuchen...
                  Ich bin mir sicher, daß das schöner geht und weitere Eventualitätetn berücksichtigt werden könnten und müssten. Es ist halt eine "Quick & dirty" Lösung. Es mag auch sein, dass noch Fehler auftreten werden...

                  In der "save_content.processor.php" habe ich lediglich nach der Verarbeitung der $_POST Variablen folgende Abfrage eingebaut (Zeile 41):
                   
                  if ($_SESSION['mgrRole']!=1){
                  	// get document groups for current user
                  	if($_SESSION['mgrDocgroups']) {
                  		$document_groups = $_SESSION['mgrDocgroups'];
                  	} else {
                  		$document_groups = $_POST['docgroups'];
                  	}
                  } else {
                  	$document_groups = $_POST['docgroups'];
                  }


                  In der "user_documents_permissions.class.php" habe ich folgende Änderungen vorgenommen:
                  Ich habe den auskommentierten Bereich von Zeile 40 bis 82 wieder einkommentiert. (Das hatte zwar sicherlich seinen berechtigten Grund)
                  Zusätzlich habe ich die Zeilen 97 bis 109 auskommentiert.

                  Hätt ich fast vergessen.....
                  Außerdem nutze ich eine angepasste "nodes.php" Datei, die ich hier im Forum gefunden habe. Diese zeigt nur die Teile des Manager Dokumenten Baums an, welche zu Dateien führen welche für den jeweiligen Admin zu beabeiten sind. Habe ich mal angehängt.

                  Wenn jemand Verbesserungsvorschläge hat, oder Konflikte erkennt, darf diese gerne posten.