Ankündigung

Einklappen
Keine Ankündigung bisher.

Struktur im Newssystem

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Struktur im Newssystem

    Hallo ihr,

    ich arbeite gerade an einem Newsverwaltungssystem und möchte gerne
    einige Dinge umsetzen, bei denen ich mir noch nicht sicher bin, wie ich
    das handhabe.

    Zunächst habe ich eine Struktur geschaffen, die die News in unterschiedliche
    "folder" gliedert. Soweit so gut. Nun möchte ich gerne den Nutzern verschiede
    Rechte zuteilen. Ich denke zunächst mal an lesen, eigene Texte bearbeiten,
    alle Texte bearbeiten, Texte veröffentlichen. Hierbei ist mir noch nicht klar,
    wie ich am besten eine Verknüpfung zwischen Usern, Foldern oder ggf. sogar
    Inhalten einrichten kann. Gibt es da ggf. vergleichbare Modelle, die genau
    so etwas machen?

    Ich denke da in Gruppenbildung oder sollte man für jeden User einzeln
    festlegen, was dieser für Rechte innerhalb des Systems hat? Für die
    jweiligen Kategorien, für die einzelnen News? Also es scheitert zunächst
    mal nicht an der Umsetzung, sondern an Struktur.

  • #2
    Hallo,
    du kannst dir dann noch zusätzlich Gedanken darüber machen, ob ein Benutzer auch Beiträge anderer Gruppen bearbeiten darf, anstatt nur den eigenen oder alle Beiträge verwalten zu dürfen.

    Je nach Anzahl der Beitragsschreiber lohnt es sich, Gruppen zu erstellen. Ich würde mal sagen, wenn sowieso nur eine ausgewählte Anzahl an Menschen Rechte bekommt (< 10-15), würde ich auf Gruppen verzichten.

    Mach doch einmal einen Vorschlag für MySQL-Tabellen, denn ansonsten hat sich dein Text ja schonmal gut angehört.

    Kommentar


    • #3
      Hallo tinchen,

      gibt es Anforderungen, dass einige Benutzer z.B. nur News schreiben, aber nicht veröffentlichen dürfen ist es an der Zeit unterschiedliche Rollen zusätzlich zu den Rechten einzuführen. Diese könnten dann sein:

      - News-Redakteur (News lesen und schreiben in den Ordnern, auf die der Red. Rechte hat)
      - News-Manager (onlinestellen/offlinestellen von News)
      - ...

      Rechte würde ich an dieser Stelle sowohl auf Ordner als auch auf Gruppen vergeben. MySQL-technisch zitiere ich das von mir üblicherweise eingesetzte teilnormalisierte Modell, in dem ein Objekt eine Tabelle repräsentiert und die Beziehungen (Rechte) über FK-Beziehungstabellen mit einander verknüpft sind. Damit lässt sich mit zwei drei JOINs sehr schnell herausfinden, wer (Gruppen, Benutzer) auf was (News, Ordner) Rechte hat.
      Viele Grüße,
      Dr.E.

      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      1. Think about software design [B]before[/B] you start to write code!
      2. Discuss and review it together with [B]experts[/B]!
      3. Choose [B]good[/B] tools (-> [URL="http://adventure-php-framework.org/Seite/088-Why-APF"]Adventure PHP Framework (APF)[/URL][URL="http://adventure-php-framework.org"][/URL])!
      4. Write [I][B]clean and reusable[/B][/I] software only!
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

      Kommentar


      • #4
        Ich denke derzeit so:
        Vielleicht ist es gut, keine Gruppen im eigentlichen Sinne, sondern Gruppen in der Art
        viewer, author, editor (own), editor (all), publisher zu erstellen. Die Gruppen lassen
        sich nicht bearbeiten oder löschen.
        Dabei erbt jeweils die nächste Gruppe die Rechte der vorherigen. Über "Plugins"
        könnte ich mir weitere Hauptgruppen vorstellen, so könnte es so etwas gegen wie
        commenter etc.
        Zu diesen Hauptgruppen kann der User weitere Subgruppen anlegen, die sich auf
        "Folder" oder gar auf einzelne Inhalte beziehen. Dann können die User
        diesen
        Gruppen zugeordnet werden. Dann habe ich ich eine 1 zu n Zuordnung, die ggf.
        sogar öfter vorkommt. Ist das ratsam oder sollte man das lieber nicht machen?
        Hier beginnt sozusagen mein Problem. Je nachdem wie ich anfange im Ende immer
        in dieser inkonsequenten Zuordnung, die mich zunächst mal stutzen lässt, da es
        schwierig, wenn sich diese Zuordnungen ggf. gegenseitig ausschließen. Irgendwie
        scheint da der Wurm drin.

        [Edit] Hatte den Text vom Dr. erst später gelesen. Rollen ist wohl das
        richtige Wort. Ich stelle mir das so vor, dass ein User im Newssystem
        gleichzeitig einen einzelnen Beitrag nicht sehen darf, einen ganzen
        "Ordner" rekursiv bearbeiten aber nichts veröffentlichen darf und
        wiederum in einen bestimmten Artikel in diesem Folder nicht bearbeiten
        darf, auch wenn er der Autor des Beitrags ist. Wie gesagt, ich habe mir
        das noch nicht aufgezeichnet, das hilft ja oft, aber das erste Gefühl, wenn
        ich das so mache wie oben beschrieben, dann klingt das nicht normalisiert.

        Kommentar


        • #5
          Hallo Tinchen,

          du musst ganz klar zwischen Rollen und Rechten unterscheiden, sonst kommst du in Teufels Küche. "Sehen" hat immer was mit Rechten zu tun, "veröffentlichen darf" immer etwas mit einer Rolle. Um eine Aktion (z.B. Artikel bearbeiten und onlinestellen) ausführen zu können muss sichergestellt sein, dass der Benutzer über Benutzer- oder Gruppen-Rechte Schreib-Zugriff auf das Objekt hat und zusätzlich muss die Aktion (bearbeiten + online stellen) zertifiziert sein.

          Wenn du zum Daten-Design noch Hilfe brauchst, sag Bescheid, dann mache ich dir ein Beispiel.
          Viele Grüße,
          Dr.E.

          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          1. Think about software design [B]before[/B] you start to write code!
          2. Discuss and review it together with [B]experts[/B]!
          3. Choose [B]good[/B] tools (-> [URL="http://adventure-php-framework.org/Seite/088-Why-APF"]Adventure PHP Framework (APF)[/URL][URL="http://adventure-php-framework.org"][/URL])!
          4. Write [I][B]clean and reusable[/B][/I] software only!
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

          Kommentar

          Lädt...
          X