Drupal: una critica aperta
Mi dispiace di fare la parte dell'avvocato del diavolo, visto anche che sto partecipando ai lavori di traduzioni, ma fino ad ora Drupal mi e' parso una grossa palla piena di aria calda e puzzolente.
E' ora di fare un po' di autocritica e tra qualche giorno andrò a muovere critica anche sul sito centrale, perchè stiamo rasentando delle punte di demenzialià da far invidia al Drive-in dei tempi d'oro.
Da dove deriva questo astio, vi chiederete...
Partiamo dall'antefatto: dovrei sviluppare per dei miei amici un sito dedicato ad una community di Ultima Online.
Il sito deve avere alcune caratteristiche salienti:
- Diversi livelli di utilizzo (Admin che amministra, Game master che accede a funzioni particolari, Collaboratore che inserisce contenuti, utente semplice che accede a funzioni
a lui riservate, e infine anonimo che consulta e basta).
- Editor html integrato con supporto di upload di immagini.
- Possibilita' di nascondere "elementi" del sito (blocchi o nodi).
Dopo diversi giorni, grazie alla disponibilita' di Luca (che ringrazio) sono finalmente riuscito a capirci un po' di piu' (conosco dhtml e php, ma non ho mai provato a configurare un CMS).
Ecco che e' spuntato fuori l'editor html.
Dopo TANTE prove, sono arrivato ad un modulo chiamato "Menu-on-the-fly" che agisce in maniera perfetta: crea dei menu' (blocks) e consente di assegnare dei nodi (es: pagine).
"Ok e' quasi fatta" penso io "non rimane che filtrare l'accesso in base al ruolo dell'utente!".
Mi sbagliavo.
Non c'e' un controllo del genere!!! Il controllo di accesso e' esclusivamente limitato ai moduli standard di drupal!
Ok, mi armo di pazienza (e ne ho parecchia) e comincio a cercare sul sito.
Ovviamente il sito di drupal usa la search di drupal. Una delle merde peggiori che io abbia mai visto. Sarebbe il caso che qualcuno implementasse una ricerca seria tramite le API di google, perche' cosi' com'e' fa schifo.
Non capisce le ricerche con piu' keyword, non da la possibilita' di ordinare per data (anzi tira fuori i dati a caso), insomma un disastro totale.
Non desisto, sono ostinato. L'informatica e' per il 90% traspirazione.
Provo vari moduli che dovrebbero limitare gli accessi per ruolo. Il risultato migliore che riesco ad ottenere e' un "accesso negato" quando provo a cliccarci sopra.
Non mi basta, io non voglio che vengano visualizzati questi stupidi blocchi!!! Non devono
esserci nemmeno se uno guarda il sorgente html statico!
Dopo aver lottato nuovamente con la search desisto, apro drupal.it e scrivo questa lettera aperta.
La mia impressione e' che drupal e' ben lungi dall'essere una versione una 4.6.3. Anzi manca uno zero. Prima. Insomma 0.4.6.3.
Ecco, cosi' ci siamo, piu' o meno una beta semifunzionante.
Insomma la documentazione e' inefficace e difficile da reperire.
Non ci sono delle FAQ serie.
Ognuno attua soluzioni "Personalizzate" alla "Pimp my Car". Con il risultato che non esiste uno standard comune e la risposta piu' frequente e' "io ho fatto cosi'...".
E non sto parlando del sito italiano che ovviamente e' neonato quindi innocente. Parlo del sito inglese che e' online da 4 anni.
Possibile che in 4 anni nessuno si sia mai posto il problema di nascondere dei blocchi alla visualizzazione ?
Demoralizzato ?
Si, decisamente.
A voi la parola.

Risposte
caro garethjax, uso drupal e
caro garethjax, uso drupal e bazzico il sito uffuciale da qualche mese e sfoghi come il tuo ne ho visti diversi. Non so il tuo livello di esperienza tecnica e di partecipazione alla comunità del software libero ma voglio dirti che probabilmente se postassi una critica dal tono così negativo su drupal.org qualche veterano ti farebbe sentire ancora peggio dicendoti di rispettare tutto il lavoro di sviluppo e di supporto tecnico fatto a titolo gratuito e volontario dalla comunità e ti inviterebbe a sbatterti a leggere i manuali e i forum e a contribuire con codice, idee e dcumentazione ecc.. Quindi se posterai su drupal.org ti consiglio, senza moralismo ma nel tuo interesse, di essere molto rispettoso e specifico sui tuoi problemi.
Detto questo secondo me drupal è uno dei cms più flessibili, potenti e con una comunità tra le più generose, attive e intelligenti. Ma cerco di andare nel merito dei tuoi problemi se è possibile.
I controlli di accesso ci sono per tutti i moduli del core e non. Avrai notato che il funzionamento dei moduli per aggiungere modalità di accesso in base ai nodi e alle tassonomie dipendono dalle configurazioni di base che fai e possono andare in conflitto con altri moduli e impostazioni. Questo vale per i moduli non compresi nel core che spesso sono sviluppati da contributori esterni al team principale e possono essere non aggiornati e/o testati per l'ultima versione o anche buggati e questo si somma il fatto che per raggiungere un risultato con Drupal ci sono molte vie possbili e tutto ciò vuol dire complessità ma anche flessibilità.
Non ho ben capito che problema hai coi blocchi di cui tra l'altro c'è una ricca documentazione nel caso anche ti andasse di tradurla per drupal.it
Per quanto riguarda la funzione cerca su drupal ti do invece più che ragione ma so che hanno intenzione di migliorarla e nel frattempo magari usa la ricerca avanzata di google restringendo la ricerca a drupal.org
Cmq se formuli i tuoi problemi in modo più preciso riesco a essere più preciso anchio
Su col morale!
Ammetto di essere un
Ammetto di essere un cattivaccio.
Inizio dicendo che detesto i forum di Drupal :-P, tra le tante mancanze manca il quoting e la segnalazione via mail delle risposte.
D'altra parte se inizia uno a "Urlare nel deserto" magari qualcuno prima o poi si unisce al coro.
Continuiamo dunque questa disccusione.
qualche veterano ti farebbe sentire ancora peggio dicendoti di rispettare tutto il lavoro di sviluppo e di supporto tecnico fatto a titolo gratuito e volontario dalla comunità e ti inviterebbe a sbatterti a leggere i manuali e i forum e a contribuire con codice, idee e dcumentazione ecc..
Sentire peggio ? Peggio di cosi' non credo ;)
Comunque la documentazione piu' astratta di cosi' non dovrebbe essere. Sai cosa serve ? Una "case history" e/o un esempio passo-passo, di come farsi un portale, minimale ma completo delle cose piu' utili e frequenti.
Non e' una cosa che posso fare io, la deve fare chi lo sa gia' usare. E non c'e' scritto sui manuali.
Detto questo secondo me drupal è uno dei cms più flessibili, potenti e con una comunità tra le più generose, attive e intelligenti
In generale puo' essere. Nel mio caso non e' ancora capitato sul sito inglese.
http://drupal.org/node/35626
La mia domanda e' chiara, ma nessuno ha risposto.E se non era chiara, non e' stato detto di dare piu' dettagli.
Cmq se formuli i tuoi problemi in modo più preciso riesco a essere più preciso anchio
Speravo di essere stato chiaro. Riformulo di nuovo.
Creo 4 pagine statiche. Le chiamo torta margherita,crostata alle more, pizza margherita e pizza alle acciughe, all'interno scrivo del testo che parla delle ricette relative alla pagina.
Inoltre aggiungoo due "ruoli" per l'utenza: pizzaioli e pasticceri.
Problema 1: voglio creare due blocchi. Uno lo chiamo pizze, l'altro lo chiamo torte.
Dentro ad ogni blocco, ci devono andare le ricette relative.
Problema 2: quando un utente della categoria pizzazioli si collega, NON deve poter vedere il blocco delle torte. E viceversa.
Tutto qua, semplice no ?
Allora io risolverei il
Allora io risolverei il problema in questo modo:
1) organizzi i contenuti in modo gerarchico grazie alle tassonomie
2) utilizzi il modulo Taxonomy Access Control per controllare l'accesso alle varie tassonomie in base ai ruoli
3) a questo punto non rimane che creare un blocco che in base a che ruolo l'utente appartiene mostra il link alle giuste tassonomie. Per far questo devi creare un nuovo blocco con codice php, e dovrai scrivere questo codice, quindi serve di conoscere un minimo di linguaggio php. Come al solito la documentazione Drupal viene in aiuto, guarda questo esempio.
Come vedi è semplice dire al blocco se solo gli utenti appartenenti a quel gruppo possono vedere quel contenuto. Espandendo un po' il codice ad esempio utilizzando uno switch e a seconda del gruppo a cui l'utente appartiene mostrare link diversi, hai la soluzione al tuo problema. O almeno spero.
L'esempio non va bene se usi
L'esempio non va bene se usi i block creati da "Menu on the fly": non mi da la possibilita' di inserire codice php.
Per quanto riguarda il Taxonomy access control, prima vorrei capire come associare ad un "elemento" della tassonomia una specifica pagina di contenuto, possibilmente un esempio pratica e non teorico.
Infatti nell'esempio non ho
Infatti nell'esempio non ho nominato "menù on the fly", io dicevo semplicemente di creare un blocco nuovo con codice php, ma naturalmente ha senso solamente se le pagine statiche sono un numero esiguo, se hai moltissime pagine statiche allora non fa la caso tuo.
Non capisco cosa vuoi dire con "associare ad un elemento della tassonomia una specifica pagina di contenuto"...
In generali le tassonomie le puoi vedere come categorie, le crei poi quando crei un contenuto scegli in quale tassonomia inserirlo. Quindi puoi mettere quante pagine vuoi dentro una tassonomia e poi col taxonomy access control permetterne la visione solo a chi vuoi.
Io non vedo come fare...
Premessa: ho creato due categorie con tre sotto-categorie ciascuna.
Faccio il "create page".
Guarda questo mock-up fatto catturando pezzi dello schermo
http://img366.imageshack.us/img366/3286/drupal1xi.jpg
Non c'e' modo di associare una pagina creata alla categoria.
Nel listbox che vedi, le mie categorie non appaiono.
Cosa mi manca ?
hai associato il vocabolario
hai associato il vocabolario al tipo di contenuto?
Se no, vai in amministra -> categorie, poi in modifica vocabolario e vedrai delle check boxes per associare il vocablario al tipo di contenuto
Drupal non fa per te...
Rispondo alla tua critica con un'altra critica..... di cms ne esistono molti, drupal non fa per te. Personalmente uso drupal per sia come cms che come framework e non ho ancora trovato ciò che non si possa fare con Drupal. Se hai voglia di investire tempo per comprendere il funzionamento di Drupal a livello di programmazione (api, hook, temizzazione ecc...), otterrai ottimi personalizzazioni estreme ma create con semplicità (a differenza di phpnuke, mambo, xoops e affini). La documentazione è splendida, la migliore a mio avviso. Creare vere e proprie applicazioni su drupal è semplice..... insomma, drupal è il cms più flessibile e semplice che io conosca, ma necessita una discreta conoscenza di come funziona, di programmazione php e di come scrivere moduli ed espanderlo.
Detto tutto ciò, se vuoi il pacchettino pronto ma difficile da personalizzare, ti devi rivolgere ad altri cms.
Adesso veniamo ai tuoi problemi:
1) per quanto riguarda i permessi la soluzione la trovi impostando correttamente i ruoli
2) L'editor htlm integrato con upload è TinyMCE
3) E' possibile nascondere i blocchi sia per ruolo che per singolo utente, per pagina o quello che tu vuoi (anche incrociare le cose tra loro tipo: visibile solo ai ruoli "scrittori" escluso l'utente pippo). Ovviamente il tutto si fa via php (e si ritorna al solito problema..... se non conosci bene drupal, la sua struttura, le api e php, non puoi pretendere molto). Tra le altre cose la soluzione è nella manualistica:
http://drupal.org/node/13266
http://drupal.org/node/27690
4) per far vedere certe pagine solo ad alcuni utenti, puoi scriverti un nuovo modulo derivato dal modulo story (come fare lo trovi scritto sul manuale nella parte dedicata allo sviluppo dei moduli).
Rispondo anche ad alcune tue considerazioni....:
1) "la documentazione e' inefficace e difficile da reperire."
- nulla di più falso: http://drupal.org/handbooks
2) "Non ci sono delle FAQ serie"
- falso, le faq si limitano a rispondere alle domande più macroscopiche. Quello che tu cerchi lo trovi nella manualistica (comprese domande tipo "come visualizzo solo x categorie? come visualizzo 10 foto random? ecc... ecc....)
3) "Ognuno attua soluzioni "Personalizzate" alla "Pimp my Car". Con il risultato che non esiste uno standard comune e la risposta piu' frequente e' "io ho fatto cosi'..."."
- Questo sopra fa capire perfettamente che non hai capito come funziona. Non c'è nulla di più standard dei moduli di Drupal proprio per com'è costruito, informati meglio.
4) "Possibile che in 4 anni nessuno si sia mai posto il problema di nascondere dei blocchi alla visualizzazione ?"
- E' stato chiesto decine e decine di volte e tutte le volte la soluzione è sempre stata data. Il forum di Drupal è fenomenale, basta saperlo usare: http://drupal.org/search/node/block?page=1
5) "Ecco, cosi' ci siamo, piu' o meno una beta semifunzionante."
- Bravo, allora cambia cms.
Io sono nuovo
Io sono nuovo e vengo dalla generazione di phpnuke.... detto questo premetto che a parer mio gianni ha al 100% ragione. Gia il fatto che in esattamente 10 secondi ho messo su questo CMS mi fa pensare, oltretutto non ho trovato alcuna difficoltà nel cercare documentazione. Certo che come dice gianni si deve anche pensare a quello di cui ognuno ha bisogno e le conoscienze per implementarlo... Siamo tutti buoni a trovarci la pappa pronta! Sinceramente io ho apprezzato nuke (senza entrare in discussioni di sicurezza perchè so gia che mi smerdereste in partenza ;-) ) in quanto non sono praticissimo di php e dato che nuke è una "tecnologia" oramai cementata trovi tutto quello che ti serve gia fatto. La differenza è che se vuoi e se puoi farti qualcosa da solo con nuke ci metti 2 settiamne con drupal 1. Questo è il bello della flessibilita!
Quello che mi dispiace è che con nuke le cose sono molto piu user friendly ed anche chi non sa come si dichiara una variabile in php sarebbe capace di mettere su un portale con questo CMS! Con drupal è diverso ed in partenza richiede dei requisiti che il 10% di chi apre portali hanno, cioè mi spiego...
1) Drupal ti offre proprio il minimo indispensabile quando lo metti su
2) Forse per colpa dell'eta di drupal ancora non si trovano componenti gia fatti come l'acqua nel mare
A questo punto quai sono i vantaggi?
Bhe ,parlo sempre da inesperto, drupal offre possibilita che per nuke non sono nemmeno immaginabili!
Rimangono quindi sempre 2 scelte...
1) Non hai voglia di imparare e capire come funziona e come si implementa un CMS allora ti affidi a strumenti come nuke e ti tieni quello che ce
2) Oppure ti dai un po da fare e fai la differenza! fate voi
Ciao
PS: Ripeto io sono nuovo quindi se volete smontare tutte le mie teorie e magari inserirci in mezzo anche qualche consiglio :-) ne saro piu che felice
Senza essere geni del php....
La pagina degli snippet di Drupal, rende bene l'idea della flessibilità di Drupal. Ovviamente l'elenco visualizza le richieste più comuni, ma tutto si può ottenere da Drupal, basta capire e studiare il suo funzionamento..... certo, necessita di un po di tempo e pazienza (nessuno è nato imparato), ma poi i risultati arrivano e ciò che crei non ha più limiti:
http://drupal.org/node/23220
Ciao
Gianni
Drupal: una critica aperta
Detto questo secondo me drupal è uno dei cms più flessibili, potenti e con una comunità tra le più generose, attive e intelligenti. Ma cerco di andare nel merito dei tuoi problemi se è possibile.
I controlli di accesso ci sono per tutti i moduli del core e non motorcycle insurance. Avrai notato che il funzionamento dei moduli per aggiungere modalità di accesso in base ai nodi e alle tassonomie dipendono dalle configurazioni di base che fai e possono andare in conflitto con altri moduli e impostazioni. Questo vale per i moduli non compresi nel core che spesso sono sviluppati da contributori esterni al team principale e possono essere non aggiornati e/o testati dallas investment property per l'ultima versione o anche buggati e questo si somma il fatto che per raggiungere un risultato con Drupal ci sono molte vie possbili e tutto ciò vuol dire complessità ma anche flessibilità.
Non ho ben capito che problema hai coi blocchi di cui las vegas homes for sale tra l'altro c'è una ricca documentazione nel caso anche ti andasse di tradurla per drupal.it Wink