Drupal 6.8 (linux, apache, php, mysql ...)
Ciao, stavo ancora cercando di gestire un po' gli "accessi" all'area di amministrazione.
Loggato come User1 vado su Ruoli e voglio assegnare/negare dei permessi di accesso ad alcune cose al ruolo che sarà una specie di "sotto-amministratore" (solo io potrò gestire completamente tutto, non per manie di grandezza ma per non dare la possibilità di fare casino a chi mastica poco l'interfaccia).
Vorrei SOLO far comparire il link a "Informazioni sul sito"
Allora, dicevo, vado su Ruoli, scelgo il ruolo e clicco su Modifica Permessi. Mi compare la schermata con tutte le caselle di selezione.
Abilito
modulo system --> accede alle pagine di amministrazione
e
modulo system --> amministra la configurazione del sito
Poi vado a vedere l'area di admin di quell'amministratore e e trovo un sacco di cose (avviso di errore, data e ora, caricamenti file, temi, tema amministrazione etc etc...)
Trooooppa roba!!
Come fare?
Si può limitare?
Quei permessi non contengono delle definizioni "granulari" dei permessi. Ci sono alcuni moduli che attivano selettivamente alcune funzioni di amministrazione (senza il menu di amministrazione diviso per sezioni, però, la cosa risulta un po' confusa), altri no. Verifica che cosa vuoi lasciare a disposizione degli utenti.
Se hai bisogno di attivare permessi particolari, creare un modulo che li attivi e li metta in un menu dedicato ai redattori non è una cosa complicatissima. Non lo puoi fare però con la UI di Drupal, non a livello della singola funzione.
Come dicevo il mio scopo è dare in mano il sito ad un sotto-amministratore che non possa fare determinate azioni.
Non sono capace di creare moduli lato codice (o forse lo sarei... ma ho paura che il lume non valga la candela e il tempo che ci perdo potrebbe sembrare "sprecato").
Hai qualche nome di modulo già pronto?
Qualche escamotage?
Se c'è qualcosa che non ho spiegato bene dimmelo che ti allego il jpg col menu incriminato...
In sostanza, quali funzioni vorresti lasciare al sotto-amministratore?
Se vado io (User1) sulla pagina "admin" vedo il pannello di controllo per intero.
Vorrei che il sotto-amministratore lo vedesse limitato.
Sotto "Gestione dei Contenuti"
- Commenti
- Contenuti
- Tassonomia
Sotto "Struttura del Sito"
- Alias URL
- Modulo di Contatto
Sotto "Gestione utente"
- Utenti
Sotto "Configurazione del sito"
- Archives
- Informazioni sul sito
Sotto "Reports" tutto tranne Impostazioni e Aggiornamenti
I permessi standard impostati tramite l'interfaccia di Drupal non sono così granulari da permetterti di scegliere una voce per volta. Per esempio, "amministrare gli utenti" corrisponde sia a creare/modificare/cancellare utenti, ma anche a modificare le impostazioni per la registrazione.
D'altra parte, pur non avendolo mai fatto, io credo che sarebbe fattibile creare un modulo personalizzato che combini i permessi (e quindi la visibilità del menu) come vuoi tu. se qualcuno più ferrato di me su hook_perm vuol dire la sua...
Mamma mia!!
... quindi non ci sono moduli per gestire l'area di amministrazione!!??
Ma scusate,una soluzione nn potrebbe essere creare un menu ad hoc,visibile solo all'user che ricman desidera,e poi con taxonomy access andare a limitare gli accessi alle pagine/funzioni ?.. l'unico problema che mi viene in mente puo' essere quello di alcune tab che rimangono visibili,ma cosa nn difficile da modificare con un blocchettino tab creato ad arte.. Imho nn ho mai provato.. ma in teoriaaa ! :)
Ricman, quello che appare nell'area admin dipende dai singoli moduli, e la cosa mi sembra coerente con la struttura modulare di Drupal. Se vuoi dare accesso a un menu ridotto, puoi seguire il consiglio di Morxe, anche se questo non impedirà al tuo utente di arrivare in qualche modo a /admin ed alle altre funzioni che vuoi nascondere.
Guarda che comunque io non credo che sia così difficile modificare i permessi tramite un modulo.
Ho capito... ma non so proprio da dove partire...
C'è qualche guida in italiano?
Hai qualche dritta da darmi? ...un esempio?
Guarda, non conosco ogni angolo di Drupal Italia, quindi non ti so dire se esiste una guida introduttiva per fare moduli. In inglese ci sono 2-3 libri sullo sviluppo di moduli per Drupal e quello di Packt Publishing viene anche distribuito (a pagamento) in formato eBook.
Spero che qualcuno più esperto di me risponda in modo più centrato, io ti dico come farei. E' una descrizione lacunosa, però può essere un punto di partenza.
- Preparare lo "scheletro del modulo" con i file .module e .info seguendo uno dei tutorial disponibili
- Verificare qui http://drupal.org/node/132202 dove si trovano le funzioni che vuoi isolare e trovare nei moduli le relative istanze di hook_perm e hook_menu, in particolare quelle relative alle funzioni che ti interessa attivare
- Inserire nel tuo modulo l'istanza di hook_perm per creare nuovi permessi corrispondenti a quelli che vuoi attivare
A questo punto, dovresti avere tra i permessi disponibili un nuovo permesso che avrai chiamato come più ti piace e che, se attivato per il ruolo del tuo utente, gli darà accesso alle pagine di amministrazione da te scelte.
Il problema è che il sottomodulo poi dovrà occuparsi non solo di creare permessi, ma di andaread implemetnare anche ttuto quello che gli serve, a meno di andare ad implmentare questo facendo modifiche sul core vero e proprio (il modulo user) questo perchè i mermessi non sono sovrascrivibili (tramite override).
Ciao
Marco
--
My blog
Working at @agavee