Kategorie nur Anzeigen wenn User in der Gruppe ist

Hier können Probleme und alles andere in Deutscher Sprache gelöst werden.
Post Reply
micha06de
Regular
Posts: 21
Joined: Thu Dec 05, 2013 5:25 pm

Kategorie nur Anzeigen wenn User in der Gruppe ist

Post by micha06de »

Ich verwende sy9 für die firmeninterne Sammlung von Informationen. Im wesentlichen für die Sammlung z.B. IT Knowhow. Nachdem sich das bewährt hat, soll das System auch für andere Informationskategorien genutzt werden. Dafür habe ich entsprechende Benutzer und Benutzergruppen angelegt. Die anderen Nutzergruppe interessieren die 20 Kategorien aus dem IT Bereich nicht und Anzeige macht die Navigation nur unübersichtlich. Nun kann man ja den Kategorien Gruppen zuweisen und damit auch die Sichtbarkeit der Artikel steuern, dass scheint aber nicht auf die Anzeige in der Kategorienübersicht zuzutreffen - dort sieht bei mir jeder User alles.

Kann man das irgendwo ändern? D.h. der User sieht die Kategorien nur, wenn er in der entsprechenden Gruppe ist.

Michael
Timbalu
Regular
Posts: 4598
Joined: Sun May 02, 2004 3:04 pm

Re: Kategorie nur Anzeigen wenn User in der Gruppe ist

Post by Timbalu »

In der index.tpl des Backends sieht ein permission check auf smarty zb folgendermaßen aus:

Code: Select all

    {if 'adminEntries'|checkPermission OR 'adminEntriesPlugins'|checkPermission}
    zeige an
    {/if}
Ich kann gerade nicht sagen, ob diese 'Modifier'-Variablen für Gruppen und Gruppenrechte auch im Frontend zur Verfügung stehen, aber das ließe sich ja durch eine kleinen Test schnell prüfen.

Nun müsste man in der plugin_categories.tpl (in manchen Templates bereits enthalten, sonst unter dem 'default' (fallback) template) im foreach $categories eine Abfrage mit Smarty einbauen, die genau solches für die zugelassenen Kategorien macht.
Regards,
Ian

Serendipity Styx Edition and additional_plugins @ https://ophian.github.io/ @ https://github.com/ophian
micha06de
Regular
Posts: 21
Joined: Thu Dec 05, 2013 5:25 pm

Re: Kategorie nur Anzeigen wenn User in der Gruppe ist

Post by micha06de »

Danke!
Ich wollte egtl. nicht unbedingt Änderungen im Backend vornehmen.

Nach einigem Recherieren dachte ich, man kann das Plugin serendipity_event_categorytemplates dafür verwenden.
Aus der Beschreibung:
"This plugin provides additional properties for categories and their entries, including custom templates, sort order, display limit, password protection, and RSS hiding."

Ich habe es in den Plugin Ordner kopiert - ich sehe es aber nicht in der Plugin Verwaltung.
Ist dieses Plugin für meinen Zweck überhaupt geeignet und wenn ja, wo wird es verwaltet (wie gesagt, im Plugin Manager ist es nicht sichtbar).
Timbalu
Regular
Posts: 4598
Joined: Sun May 02, 2004 3:04 pm

Re: Kategorie nur Anzeigen wenn User in der Gruppe ist

Post by Timbalu »

Es geht aber noch einfacher. Ich zitiere mal aus Garvins Buch: :)
Leserechte auf Kategorien anwenden
Serendipity unterstützt die Möglichkeit, Artikel in Kategorien mit einem Leseschutz zu versehen. So können Sie einer Kategorie Leserechte nur für bestimmte Benutzergruppen zuweisen, und alle anderen Benutzergruppen (insbesondere anonyme Besucher des Frontends) können dann Artikel in dieser Kategorie nicht lesen. Dies ermöglicht es, Serendipity auch als CMS einzusetzen.
In vielen Blogs ist ein derartiger Zugriffsschutz jedoch nicht notwendig, da alle Artikel von allen Besuchern gelesen werden sollen. Ist dies der Fall, können Sie die Option Leserechte auf Kategorien anwenden gerne auf Nein setzen. Dies wird die Geschwindigkeit der Darstellung im Frontend positiv beinflussen, da weitaus weniger Datenbankabfragen ausgeführt werden müssen, um die Artikelübersicht zu erzeugen.
(Seiten 170 ff)
micha06de wrote:Ich wollte egtl. nicht unbedingt Änderungen im Backend vornehmen.
Solltest du auch gar nicht.
micha06de wrote:Nach einigem Recherieren dachte ich, man kann das Plugin serendipity_event_categorytemplates dafür verwenden.
Aus der Beschreibung:
"This plugin provides additional properties for categories and their entries, including custom templates, sort order, display limit, password protection, and RSS hiding."

Ich habe es in den Plugin Ordner kopiert - ich sehe es aber nicht in der Plugin Verwaltung.
Ist dieses Plugin für meinen Zweck überhaupt geeignet und wenn ja, wo wird es verwaltet (wie gesagt, im Plugin Manager ist es nicht sichtbar).
Ich glaube nicht. Bessser ist der Hint aus dem Buch.
Regards,
Ian

Serendipity Styx Edition and additional_plugins @ https://ophian.github.io/ @ https://github.com/ophian
micha06de
Regular
Posts: 21
Joined: Thu Dec 05, 2013 5:25 pm

Re: Kategorie nur Anzeigen wenn User in der Gruppe ist

Post by micha06de »

Danke!
Das mit den Leserechten auf die Artikel in den Kategegorien funktioniert auch, aber nicht bei der Kategorienanzeige in der Seitenleiste, dort sind die angelegten Kategorien für alle sichtbar. Das ist etwas blöd, wenn für alle eine (scheinbar leere) Kategorie zu sehen ist, die nur für eine bestimmte Gruppe gedacht ist.

Ist das generell so, oder habe ich bei der Konfiguration nicht an alles gedacht?
Timbalu
Regular
Posts: 4598
Joined: Sun May 02, 2004 3:04 pm

Re: Kategorie nur Anzeigen wenn User in der Gruppe ist

Post by Timbalu »

Was gibt denn ein {$category|print_r} am Anfang der plugin_categories.tpl für solch "leere" Kategorien? Könnte man da irgendetwas Gruppen- oder Entryartiges auslesen?
(Die Smarty Version muss man im Sidebar Categories Plugin erst anstellen.)
Regards,
Ian

Serendipity Styx Edition and additional_plugins @ https://ophian.github.io/ @ https://github.com/ophian
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Re: Kategorie nur Anzeigen wenn User in der Gruppe ist

Post by garvinhicking »

Hi!

Warum nicht ggf. die Kategorien in zwei Hauptebenen untergliedern:

IT
Thema 1
Thema 2
...
Anderer Hauptbereich
Thema 1
Thema 2
...

Dann könnten die Besucher einfach auch die entsprechenden Kategorien leichter ignorieren. Auch könnte man die plugin_categories.tpl ggf. so wie Timbalu es vorschlägt anpassen und z.b. Teiltrees ausschließen, abhängig davon welcher Usergruppe der aktuelle User angehört.

Man könnte auch superclever sein, und dann für die Kategorie "IT" udn "Anderer Hauptbereich" jeweils ein eigenes Template festlegen (mittels des categorytemplates plugins) und dann kombiniert mit dem serendipity_event_sidebarhider verschiedene Kategorie-Seitenliestenplugins anlegen, die dann jeweils nur in dem Template bzw. der Hauptkategorie ausgegeben werden.

Denkbar wäre natürlich auch das Kategorieplugin so aufzubohren, dass der Rechtecheck der Kategorien da auch schon mit ausgewertet wird. Daran könnte ich mich auch einmal begeben wenn Du mich nächste Woche nochmal dran erinnerst :)

Grüße,
GArvin
Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
Timbalu
Regular
Posts: 4598
Joined: Sun May 02, 2004 3:04 pm

Re: Kategorie nur Anzeigen wenn User in der Gruppe ist

Post by Timbalu »

Lies mal diese beiden Posts von Garvin
http://board.s9y.org/viewtopic.php?f=10 ... ien#p76593
http://board.s9y.org/viewtopic.php?f=10 ... ien#p59508
Laut dessen sollte es reichen die richtigen Leserechte für diese Kategorien zu setzen und diese dann mittels des entryproperties Plugin zu verstecken... ob das dann auch für das sidebar categories plugin gilt, kann ich gerade nicht sagen. Vielleicht müsste man dazu einfach das DB query im inbound core plugin patchen, dass es bei der Auswahl der Kategorien diese Gruppenrechte berücksichtigt (wenn es das nicht bereits macht).

Ups. Garvin war schneller und kennt sich da bestimmt besser aus als ich! :)
Regards,
Ian

Serendipity Styx Edition and additional_plugins @ https://ophian.github.io/ @ https://github.com/ophian
micha06de
Regular
Posts: 21
Joined: Thu Dec 05, 2013 5:25 pm

Re: Kategorie nur Anzeigen wenn User in der Gruppe ist

Post by micha06de »

Danke, für die vielen Antworten, mir schwirrt erstmal der Kopf :o und ich muss das erstmal sortieren. Eigentlich wollte ich nur mal schnell ein neues "Unterblog" einrichten...

Wenn Garvin in nächster Zeit das Kategorie Plugin aufbohren würde, wäre das ganz toll!

Bei der Verwaltung der Gruppenrechte ist mir noch aufgefallen, dass das "Alle Autoren" eigentlich für alle (auch die nicht eingeloggten Leser) steht, sehe ich das richtig? (Wäre da nicht "Leser und Autoren" o.ä. allgemeinverständlicher?)

Weiterhin wundere ich mich, dass bei den Pluginrechten (Pluginverweltung selbst und innerhalb des Kategorie Plugins z.B. bei Quelle der Kategorien) nur User auswählbar sind, und keine Gruppen. Ist das noch eine Altlast ;-) oder hat das Gründe?

Zu guter letzt noch eine Frage zur Gruppenrecht Option "Hidden group / Non-Author" darüber habe ich nichts in der Doku bzw. Garvins Buch finden können - was kann man damit machen?

Gruß
Michael
Timbalu
Regular
Posts: 4598
Joined: Sun May 02, 2004 3:04 pm

Re: Kategorie nur Anzeigen wenn User in der Gruppe ist

Post by Timbalu »

micha06de wrote:Zu guter letzt noch eine Frage zur Gruppenrecht Option "Hidden group / Non-Author" darüber habe ich nichts in der Doku bzw. Garvins Buch finden können - was kann man damit machen?
Ich glaube das bezieht sich auf:
http://board.s9y.org/viewtopic.php?f=11 ... hor#p92938
It simply allows to use the serendipity_fetchAuthors() function, if the second option is "hidden", then those authors from hidden groups will be excluded.
:idea: Übrigens Grischa hat mal eine sehr schöne Abhandlung über Serendipity für geschlossene Gesellschaften geschrieben. Sehr lesenswert! http://blog.brockha.us/archives/93-Grup ... ipity.html
Regards,
Ian

Serendipity Styx Edition and additional_plugins @ https://ophian.github.io/ @ https://github.com/ophian
micha06de
Regular
Posts: 21
Joined: Thu Dec 05, 2013 5:25 pm

Re: Kategorie nur Anzeigen wenn User in der Gruppe ist

Post by micha06de »

garvinhicking wrote:[…]
Denkbar wäre natürlich auch das Kategorieplugin so aufzubohren, dass der Rechtecheck der Kategorien da auch schon mit ausgewertet wird. Daran könnte ich mich auch einmal begeben wenn Du mich nächste Woche nochmal dran erinnerst :)
Hallo Garvin,
wie sieht es aus wäre das machbar in absehbarer Zeit?

Gruß
Michael
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Re: Kategorie nur Anzeigen wenn User in der Gruppe ist

Post by garvinhicking »

Hi!

Ha, gerade gesehen. Check mal im Kategorienplugin die Option "Quelle der Kategorien". Da kannst du den Wert "Derzeitiger Autor" aktivieren, und das heißt dann, dass die Kategorieliste sich bei den eingeloggten Usern an ihren Zugriffsrechten ausrichtet. Hatte ich selbst vergessen, dass es das gibt. Serendipity ;)

Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Re: Kategorie nur Anzeigen wenn User in der Gruppe ist

Post by garvinhicking »

Hi!

Ah, hab deine vorigen Antworten nicht gesehen, daher noch etwas Feedback:
Bei der Verwaltung der Gruppenrechte ist mir noch aufgefallen, dass das "Alle Autoren" eigentlich für alle (auch die nicht eingeloggten Leser) steht, sehe ich das richtig? (Wäre da nicht "Leser und Autoren" o.ä. allgemeinverständlicher?)
Wir hatten damals schon eine Sprachkonstante für "Alle Autoren", die wir hier einfach weiterverwendet haben. So konnten wir alle paar dutzend Übersetzungen anderer Sprachen schon nutzen, ohne eine neue Konstante einzufügen die erst mühsam wieder für alles übersetzt werden müsste. Ich stimme zwar zu dass es nicht 100% genau ist, aber finde das nach wie vor noch besser was lokalisiertes zu haben anstelle etwas 100% genaues, dass es dann nur auf deutsch und englsich gibt ;)
Weiterhin wundere ich mich, dass bei den Pluginrechten (Pluginverweltung selbst und innerhalb des Kategorie Plugins z.B. bei Quelle der Kategorien) nur User auswählbar sind, und keine Gruppen. Ist das noch eine Altlast ;-) oder hat das Gründe?
Korrekt, das ist noch etwas Altlast, und vor allem auch weil das Kategorienplugin meist eher Sinn macht auf gewisse Personen zu filtern statt pauschal auf Gruppen. Es wäre vermutlich nett eine zusätzliche Option für Benutzergruppen statt nur Redakteure zu haben, das wäre auch ggf. mal eine gute Fingerübung für interessierte Entwickler, die sich gerne mal an einem kleinen Teilstück von Plugins befassen möchten... :)

VG,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
micha06de
Regular
Posts: 21
Joined: Thu Dec 05, 2013 5:25 pm

Re: Kategorie nur Anzeigen wenn User in der Gruppe ist

Post by micha06de »

garvinhicking wrote:Hi!

Ha, gerade gesehen. Check mal im Kategorienplugin die Option "Quelle der Kategorien". Da kannst du den Wert "Derzeitiger Autor" aktivieren, und das heißt dann, dass die Kategorieliste sich bei den eingeloggten Usern an ihren Zugriffsrechten ausrichtet. Hatte ich selbst vergessen, dass es das gibt. Serendipity ;)

Grüße,
Garvin
Danke, ich habe damit schon gespielt. Das bewirkt leider auch nicht unbedingt das was ich möchte, da man ja nur einen Autor auswählen kann. "Sauberer" wäre es m.E., wenn die Sichtbarkeit der Kategorien im Kategorien-Plugin über die Kategorienrechte geregelt werden könnte. (Wenn es schon möglich ist z.B. Artikel einer Kategorie "Geheim" auszublenden, weckt es nur Begehrlichkeiten, wenn "Geheim" in der Kategorienliste steht) :) .
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Re: Kategorie nur Anzeigen wenn User in der Gruppe ist

Post by garvinhicking »

Hi!

Dadurch, dass Du in der Option "Current Author" auswählst, wird die Abfrage der Kategorien beschränkt auf die, auf die der aktuell eingeloggte User Lesezugriff hat. Wenn man also "Geheim" nicht lesen darf, erscheint es dann auch nicht im Kategorienplugin, wenn man als ein User eingeloggt ist, der dazu keine Rechte hat. Eigentlich sollte das also tun, was Du willst.

Wenn nicht bräuchte ich mal ein konkretes Beispiel wie Du es mit welchen Kategorien und Userrechten testest, was das konkrete Ergebnis ist, und was das erwartete...
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
Post Reply