Permissions: mehere Komponenten Sections

  • Hallo,

    ich habe eine etwas spezielle Frage bzgl. einer Component und der ACL. Nach meinen bisherigen Recherchen habe ich die Erkenntnis, dass eine Komponente nur einen Bereich für die permissions hat. Entwickelt wird unter Joomla 3.x

    Code
    <fieldset name="permissions" label="JCONFIG_PERMISSIONS_LABEL" description="JCONFIG_PERMISSIONS_DESC">
            <field name="rules" type="rules" label="JCONFIG_PERMISSIONS_LABEL" class="inputbox" validate="rules" filter="rules" component="com_component" section="component"  />

    Nun habe ich eine recht komplexe Komponente, die ausschließlich im Front-End verwendet wird. Durch die Komplexität habe ich die Komponente in Tabs unterteilt. Jeder Tab hat mehrere Views (default, edit, ...)

    Dem zu folge soll es für jeden Tab eine eigene Section in den Permissions geben. Ähnlich wie folgt:

    Code
    <fieldset name="permissions" label="JCONFIG_PERMISSIONS_LABEL" description="JCONFIG_PERMISSIONS_DESC">
            <field name="rules" type="rules" label="JCONFIG_PERMISSIONS_LABEL" class="inputbox" validate="rules" filter="rules" component="com_component" section="component"  />
            <field name="rules" type="rules" label="JCONFIG_PERMISSIONS_LABEL" class="inputbox" validate="rules" filter="rules" component="com_component" section="tabA"  />
            <field name="rules" type="rules" label="JCONFIG_PERMISSIONS_LABEL" class="inputbox" validate="rules" filter="rules" component="com_component" section="tabB"  />

    Füge ich das so in der config.xml ein, bekomme ich mehere Tabs im Backend, wo ich die ACL konfigurieren kann. Allerdings habe ich dann das Problem, dass wenn ich bei einer Gruppe die Rechte setzte, die Rechte dann für alle vorhandenen Gruppen gesetzt werden, hier liegt leider der Wurm drinnen. Hat jemand eine Idee, was ich tun / ändern muss, damit ich für die weiteren Permission Tabs die Rechte richtige behandelt / gespeichert werden?

    Ich weis, dass das nicht der von Joomla vorgegebene Weg ist, ist es dennoch möglich?


    Vielen Dank

  • Danke für die Antwort.

    Die access.xml von der Komponente com_users hatte ich mir bereits angeschaut, allerdings nicht vollständig durchdrungen. Es gibt mehrere Sections: component, category, fieldgroup, field.

    In der config.xml wird nur ein Permission field angegeben und zwar der component. Diese Rechte kann ich unter Global Configuration / Users im Tab Permissions setzen.

    Ich würde davon ausgehen, dass die Section category die Berechtigung unter Articles erweitert. Hat jemand eine Idee wo ich die Rechte der Sections fieldgroup und field sehen / modifizieren kann?


    Meine Zielvorstellung habe ich kurz in einer zusammengebauten Ansicht dargestellt. .


    Ich möchte nicht für jeden Datensatz eine asset Verlinkung haben, so wie es im ausführlichen und sehr guten Beispiel Joomla 3 Component developing beschrieben wird.

    Meine Komponente hat bereits einiges an Historie durch gemacht, angefangen bei Joomla 1.5 und hat einfach recht viele Berechtigungen.


    Vielen Dank