Sziasztok!
röviden: a tartalmak adminisztrációja jog nélkül kellene állítania egy bizonyos felhasználói csoportnak bizonyos tartalomtípusok közzétételi állapotát, van-e erre lehetőség drupal 5 alatt?
És kicsit részletesebben :)
A drupal 5 alapú portálon adot sok "authenticated user" (továbbiakban mezei user :) ) és
pár plusz jogokkal rendelkező user (továbbiakban adminoknak hívom őket, de nem tévesztendő össze az 1 uiddel rendelkező adminisztrátor userrel), akik engedélyezhetik a
mezei userek által feltöltött tartalmakat.
Tehát egy mezei user beküld egy tartalmat melynek állapota alapbeállításként
NEM közzétett (rejtett) ((közben megy email értesítés az adminoknak erről subscriptions modullal))
majd mikor valamelyik admin belép, átállíthatja a tartalmat közzétettre.
Ez tök jó, az adminoknak engedélyezve van a "tartalmak adminisztrációja jog" és emiatt ezt meg tudják csinálni.
De ez behoz nekik olyan menüpontokat a navigációba mint pl
Tartalmak beállításai, Tartalmak keresése, Tartalom.
Ezeket nem szeretném, hogy lássák.
Sőt, azt sem szeretném, hogy mindenféle tartalom típust tudjanak adminisztrálni, mert így pl. a page nodeokat is át tudják írni, stb.
De sanos a tartalmak adminisztrációja jog megadása nélkül
nem tudnák a feladatukat végezni. Tud valaki valamilyen megoldást erre a problémára?
köszönöm!
views + update node
drupal 6 alatt ugye konnyebb lenne mert ott mar van node tipus szerinti szerkeszthetoseg
de talan drupal 5 ben sem lehetetlen
en ugy csinalnam (ez lenne az elso otlet), hogy csinalnek egy view-t a nem kozzetett tartalomra, ugy tudom, hogy ez lehetseges.
a kozzetetelt meg ugy oldanam meg, hogy
UPDATE {node} SET status = 1 WHERE nid = %valami
szerkesztés
Az ötlet nem lenne rossz, ki is próbáltam.
Valóban meg tudják nézni a tartalmak adminisztrációja jog nélkül az adminok a tartalmakat ha van egy view létrehozva amin a full node módon vannak kilistázva a nem közzétett nodeok és lehet, hogy ezzel a paranccsal amit rítál, közzé tudnák tenni (ezt már nem próbáltam ki), de
esetemben előfordulhat, hogy a kis adminok módosítanák, kiegészítenék a tartalmat közzététel elött, (illetve van, ahol kötelező is nekik ezt megtenni) és ezzel a megoldással ez nem lehetséges mert valójában nincs hozzáférésük a tartalom szerkesztéséhez addig amíg nem közzétett. Persze közzétehetnék amivel jogot kapnak a szerkesztéshez és UTÁNA GYORSAN módosíthatnák, mielőtt mások is megnézik, de ez hát.. nem túl elegáns :)
Egyébként drupal 6 alatt tényleg könnyebb lenne, de annyi modul van amit használ az oldal és még nincs drupal6-ra, hogy ez esélytelen. :(
masodik otlet
fejlesztes elott azert kiprobalnam ezt a modult
http://drupal.org/project/modr8
sajnos nem jó ez sem
Ez ahogy nézem azt csinálja, hogy tartalom beküldésekor lesz egy plusz flag: moderálásra vár. Egy másik oldalon csinál egy listát a moderálásra váró dolgokról.
De -és mondjuk ezt a modul készítői is írják- nem szabályoz hozzáférést a modul.
Mindenesetre köszönöm az eddigi ötleteket, a kérdés továbbra is nyitott, ha valakinek egyéb megoldás eszébe jut, kérem írja meg.
külön típus
Létrehozol erre a célra egy külön tartalomtípust, alapértelmezettként nem közzétett, és megadod a kisadminoknak az "edit különtartalomtípus" jogosultságot.
a nem közzétett erősebb
szia! ez így van és volt eddig is, de ez kevés, mert ha egy node nem közzétett akkor mit sem ér az "edit különtartalomtípus" jog. Ez előfeltételezi, hogy publikált a node. A nem publikált tartalmakat -akármilyen joga van valakinek az adott típushoz - még megnézni sem tudja sem ő sem SENKI csak akinek tartalmak adminisztrációja joga van :(
valóban
Igen, csak fordítva működik, tehát megadod az 'administer content' jogosultságot mindenre, és aztán azoknál a tartalomtípusoknál, amelyeket nem akarsz engedni szerkeszteni, azoknál nem adod meg az 'edit tartalomtípus' jogosultságot.
(Ilyenkor ha megpróbálja a felhasználó elérni a node/123/edit oldalt, akkor a saját profiloldalára dobja a Drupal, és kiírja neki a csoportazonosítót – ez elég fura... lehet, hogy ez csak egy elvarratlan szál a rendszerben, és tulajdonképpen nem is így kellene működnie, hanem 'administer content'-re mindenhez kellene hozzáférést adnia.)
jaj jaj..
Hihetetlen...
Rájöttem az alapján amit írtál, hogy az a baj, hogy meg van zavarodva a drupalom jogosultságkezelése.
Van mondjuk 2 page típusú tartalmam, ugyúgy az uid 1 admin csinálta mindkettőt, és egy ilyen kis admin felhasználó az egyiket tudja szerkeszteni, a másikat nem.
És más tartalmak esetében is kb véletlenszerű, hogy ki mit tud szerkeszteni.
Ha elveszem a tartalmak adminisztrációja jogot IS akkor nem tud szerkeszteni semmit, de ha visszateszem, ugyanúgy ebbe a fura állapotba kerül.
elvettem minden "edit tartalomnév content " "edit own..." jogokat mindenkitől, nem segít, újrageneráltam a jogokat az admin/content/node-settings oldalon a jogosultságok frissítése gombbal, uninstalláltam a taxonomy access modult, hátha az zavar be, más ötletem nincs hogy mi lehet a baja, de nem jó... Mit lehet tenni ilyenkor?
LOL
Még ilyet...
lépésről lépésre összehasonlítva a fenti szempontból két ellentétesen működő de azonosnak látszó tartalmat rájöttem, hogy a beviteli forma beállításától függ, hogy van-e joga a kis admin usereknek szerkeszteni a tartalmat.
acces control by beviteli forma :) :)
ha filtered html-re állítom, akkor van joga szerkeszteni annak ellenére, hogy amúgy baromira lenne, és ha full html-re akkor jól működik.
Na most ez nooormáliiis? :)
normalis
szerintem normalis, mert a beviteli formahoz is vannak jogosultsag ellenorzesek, de ebben most konnyen lehet, hogy tevedek.. tudom, hogy a 6osban a php filterhez kulon jogosultsag kell..
beviteli forma jogosultságbeállításai
no de azok a jogosutságbeállítások csak azt állítanák, hogy az adott node tartalom mezejében milyen kódokat használhatsz, nem pedig azt, hogy az egész node megjelenik-e az usernek szerkesztésre vagy sem, nem???
ez így helyes
Van egy létező node, benne pl. PHP kóddal, akkor nem az a helyes működés, hogy csak olyan személy nyithassa meg szerkesztésre, aki rendelkezik PHP beviteli jogosultsággal?
de
Igazad van, ez logikusan hangzik. Megadtam a kis admin usereknek a jogot az összes beviteli formára így most ez nem zavar be, valószínűleg ez akkor tényleg helyesen működik.
De akkor az eredeti tekintetben nekem nem úgy működik a rendszerem mit az előbb írtál. Arra kérlek, hogy adj egy megerősítést, hogy a Te rendszereidben biztos így van:
"Igen, csak fordítva működik, tehát megadod az 'administer content' jogosultságot mindenre, és aztán azoknál a tartalomtípusoknál, amelyeket nem akarsz engedni szerkeszteni, azoknál nem adod meg az 'edit tartalomtípus' jogosultságot"
Mert az én rendszerem nem így működik, hanem így:
megköszönöm, ha adsz egy megerősítést vagy egy cáfolatot, mert akkor vagy a rendszerem működik rosszul vagy vissza kell térnem az eredeti témaindító probléma megoldásának kutatására.
a kérdés nyitott
Megnéztem egy másik drupal 5 telepítésen is, és ott sem úgy működik, ahogy írtad, Edit, tehát nem így:
"Igen, csak fordítva működik, tehát megadod az 'administer content' jogosultságot mindenre, és aztán azoknál a tartalomtípusoknál, amelyeket nem akarsz engedni szerkeszteni, azoknál nem adod meg az 'edit tartalomtípus' jogosultságot."
Ha meg van adva az administer content akkor hiába nincs megadva külön a tartalomtípusokra egyenként az edit jog, tudják szerkeszteni.
Tehát az eredeti kérdésem adott, ami pedig így hangzik (lásd témaindító bejegyzés):
"a tartalmak adminisztrációja jog nélkül kellene állítania egy bizonyos felhasználói csoportnak bizonyos tartalomtípusok közzétételi állapotát, van-e erre lehetőség drupal 5 alatt?"
Vagy máshogy megfogalmazva
"az átlag user által beküldött tartalmak ne jelenjenek meg az oldalon addig, amíg valaki jóvá nem hagyta őket egy bizonyos admin jellegű felhasználói csoport tagjai közül, de ezek a bizonyos admin jellegű felhasználók se legyenek korlátlan tartalommódosítási joggal megáldva a siteon"
van esetleg valakinek egyéb ötlete?
köszönöm mindenkinek az eddigi segítséget is.
beviteli forma
Közben rájöttem, hogy nálam is csak azért nem tudják szerkeszteni a kisadminok 'administer content' joggal az xyz tartalomtípust, mert a tartalomtípusba tartozó minden egyes node-ban van PHP kód (...pirul...), és ahhoz meg nincs jogosultságuk.
Tehát amit fent mondtam, azt sztornó, "access control by beviteli forma" az egyetlen megoldás. Létrehozol egy "főadmin beviteli formája" beviteli formát, és amihez nem akarsz a kisadminoknak hozzáférést adni, azt ezzel viszed be. Így nyugodtan meg lehet nekik adni az 'administer content' jogosultságot.
Ezt korábban én sem néztem meg rendesen, úgyhogy hasznos volt ez a szál.
modr8
Örülök, hogy Neked is hasznos volt a szál:)
Végül különböző plusz igények miatt nem volt jól használható az "access control by beviteli forma" , viszont a modr8 modullal sikerült egy szintén nem optimális, de legalább a kiindulási probléma kapcsán természetes megközelítést alkalmazó megoldást készítenem.