Drupal ha delle caratteristiche completamente differenti rispetto agli altri CMS concorrenti. Una delle tante caratteristiche che lo differenziano rispetto ai sui competitor è la creazione di “contenuti” collegati al “tipo di contenuto” relativo.Spiegare in questo modo la differenza tra “tipo di contenuto” e “contenuto” non ha molto senso e dunque vedremo di capire facilmente e sinteticamente questi due importanti elementi di Drupal. Iniziamo dalla seguente immagine: L’immagine è molto chiara e ci descrive cosa avviene nella realtà; abbiamo diversi tipi di contenuto o contenitori e ad ognuno di essi associamo il relativo contenuto (che sono sostanze diverse tra di loro). Questo concetto che troviamo nella realtà possiamo trasportarlo di pari passo anche nella spiegazione tra “tipi di contenuto” e “contenuto” in Drupal.Dunque anche in Drupal possiamo associare ad ogni Tipo di contenuto il relativo Contenuto. L’unica differenza con la realtà è che in Drupal, dopo la sua installazione, esistono solo 2 tipi di contenuto standard “Articolo” e “Pagina base” per cui occorre costruire materialmente dei “content Type” adatti al nostro scopo. Per esempio:Costruiamo il nostro Tipo di contenuto personalizzatoIpotizziamo di costruire un sito per un’agenzia immobiliare. A tale scopo non possiamo utilizzare i content type già forniti con l’installazione di Drupal ma dobbiamo provvedere alla creazione di un tipo di contenuto per l’inserimento dei dati (cioè del contenuto) personalizzato secondo le esigenze dell’agenzia. Ecco un esempio pratico del risultato finale: Dunque dobbiamo creare un tipo di contenuto adatto all’Agenzia immobiliare per l’inserimento dei contenuti (i dati) cioè degli annunci immobiliari. Come si traduce tutto questo nel linguaggio di Drupal? Cioè come si fa a creare praticamente un Tipo di Contenuto per l’inserimento dei dati all’interno del CMS?In questi semplici passaggi vediamo come costruire il nostro tipo di contenuto personalizzato per l’inserimento di annunci immobiliari. Sarà dunque una spiegazione molto pratica. Dal menu principale di Drupal occorre seguire i passaggi mostrati dalle immagini successive: Cliccare sul pulsante “Aggiungi un tipo di contenuto”
Blog
In questo Tutorial spiegherò come aggiornare Drupal 8 all’ultima versione stabile rilasciata dalla community. A tale scopo ci serviremo di una vecchia versione di Drupal 8 e di un web server locale come Xampp. La procedura è comunque replicabile su qualsiasi spazio hosting in rete.Entriamo all’interno del pannello di controllo di Drupal 8 e clicchiamo sulla voce di menu “Resoconti” all’interno della quale cliccando su “Aggiornamenti disponibili” avremo il quadro della situazione sulla versione di Drupal 8 da aggiornare e anche sui moduli e temi installati all’interno del nostro cms. Questa è la situazione che appare dentro “Aggiornamenti disponibili” del mio Drupal 8:E’ evidente che il sistema richiede un doveroso aggiornamento prima di tutto per motivi di sicurezza e poi anche perchè con le versioni successive di Drupal 8 sono state inserite molte utility che completano la funzionalità del software. Adesso è necessario prelevare l’ultima versione di Drupal 8 e procedere secondo i passi che vedremo successivamente. Possiamo effettuare il download di Drupal 8 dal sito web ufficiale ma anche dalla pagina in cui ci troviamo adesso (aggiornamenti disponibili) cliccando sulla voce “Scarica” a destra dell’ultima versione consigliata. La versione di Drupal prelevata è compattata in un file compresso è dunque necessario decomprimere tale pacchetto per poter fruire dei file e cartelle al suo interno per questo lavoro utilizzo spesso il software “WinRar” grazie alla sua flessibilità nel riconoscere molte estensioni in questo campo.Dentro il pacchetto di Drupal troveremo la cartella “core” che è una novità sopraggiunta con la nuova versione rispetto alle precedenti ed è stata introdotta per separare il cuore di Drupal 8 da tutti gli altri file di sistema.Inoltre prima di procedere è consigliabile eseguire un backup del sito e soprattutto del database mysqlE’ consigliabile anche portare il sito in modalità manutenzione dalla voce di menu “Configurazione”, “Sviluppo”La procedura non è molto dissimile dall’aggiornamento di Drupal 7 che ho già trattato nei precedenti articoli. Anche in Drupal 8 occorre procedere alla conservazione di alcuni file che potrebbero essere stati modificati precedentemente e dunque con il nuovo aggiornamento perderebbero le modifiche effettuate. Questi file sono:.htaccess (nella directory principale)settings.php (directory “sites” → “default”)Robots.txt (nella directory principale)composer.json (directory “core”)Cancellare all’interno dello spazio hosting le seguenti cartelle e incollare le nuove prelevando le directory dal nuovo pacchetto di Drupal 8 appena scaricato e scompattato:corevendorA questo punto torniamo ad applicare eventualmente i file che abbiamo copiato e procediamo con il nostro “Update” digitando il seguente indirizzo:http://localhost/drupal8/update.php (sostituire http://localhost/drupal8/ con l’indirizzo url del proprio sito) Sostituire i nostri file se sono stati personalizzati come indicati sopra. A questo punto il sistema è aggiornato all’ultima versione di Drupal 8.Prima di concludere due concetti da approfondire:Il primo: Xampp (ma anche altri web server in locale come ad esempio EasyPhP) richiedono risorse hardware ottimizzate. Questo significa che in molti computer dotati di memoria RAM non elevata tutto il processo di aggiornamento di drupal 8 richiede tempi abbastanza lunghi.Il secondo: in molti computer PC con Windows 10 si potrebbe verificare un errore durante lo start dei servizi del web server di XAMPP. Questo errore spesso indica la mancanza di un file all’interno dell’installazione di Windows che è: “VCRUNTIME140.DLL”. Questo è un bug che si risolve facilmente seguendo le informazioni all’indirizzo: www.dllme.com/get/23824
Layout Builder Drupal 8 è una novità inserita nelle ultime versioni del CMS. Continua dunque la grande trasformazione di Drupal che si evolve ancora di più verso soluzioni user friendly ma con tutta la professionalità di alto livello che contraddistingue questo CMS rispetto ai concorrenti!Layout Builder Drupal 8 consente di creare rapidamente layout per la visualizzazione di contenuti. Gli utenti possono personalizzare il modo in cui i contenuti sono disposti su una singola pagina o tra diversi tipi di contenuto o creare pagine personalizzate con un’interfaccia utilizzando il metodo del trascinamento (drag and drop).In questo articolo presentiamo un video in inglese per la costruzione di Layout…ma è in pubblicazione sul portale di Progettimultimediali.com un nuovo Video Ebook (e libro in formato tradizionale su Amazon) in italiano che integra elementi di Layout Builder Drupal 8.All’interno del portale di Progettimultimediali.com troverete già un video Ebook in PDF (con libro cartaceo in vendita su Amazon) relativo a Drupal 7 che rappresenta ancora una buona soluzione per la produzione di siti web. Inoltre troverete anche il video corso relativo a Drupal 8 (in aggiornamento, come già detto) e il video corso per la creazione di un Tema con Bootstrap sempre per Drupa 8.Drupal rappresenta una valida alternativa per la costruzione di cms open source. Rispetto ai suoi concorrenti, come ad esempio Joomla o WordPress, ha il vantaggio di essere solido, sicuro e supportato da una vasta comunità internazionale di programmatori. Ha lo svantaggio di essere didatticamente più difficile da apprendere ma questo lo rende anche più unico, professionale e diverso. Chi impara Drupal fa effettivamente un salto di qualità a differenza dei cms concorrenti, forse più blasonati, ormai alla portata di tutti.Successivamente un riepilogo dei corsi Drupal presenti su questo portale:In basso il video su youtube
Un Approfondimento del modulo VIEWS riguarda il concetto di Relazioni e Filtri Contestuali. Stiamo parlando della terza colonna del modulo VIEWS. La spiegazione seguente è parte della lezione di questo argomento…Aggiungiamo una Relazione (Relationships) nella nostra vista “Elenco” tra i dati dell’annuncio e l’Autore che ha inserito quel determinato annuncio immobiliare. In pratica quindi vogliamo identificare (e alla fine visualizzare nella nostra vista finale) la relazione che esiste tra l’annuncio e il suo autore.Clicchiamo su “Aggiungi” corrispondente a “Relationships” e settiamo l’opzione “Contenuto Autore”, applichiamo… e nella schermata successiva selezioniamo ancora su applica lasciando impostato allo stesso modo.Adesso portiamoci sulla prima colonna della nostra vista, ed aggiungiamo il campo “Utente: Nome”Esponiamo il filtro relativo al nuovo campo: “Filter Criteria” “Aggiungi” “Utente nome” (ricordiamo di esporre il filtro altrimenti non verrà visualizzato). Salviamo il tutto, torniamo sul Frontend del sito e in corrispondenza della nostra vista elenco…
Drupal dispone di un sistema ACL dei più avanzati in circolazione. Per mezzo di questo importante sistema è possibile regolare minuziosamente l’accesso degli utenti all’interno dell’area riservata del cms. Dal menu “Persone” è possibile aggiungere Utenti, Ruoli e Permessi:Ruolo – I Ruoli definiscono gruppi di utenti che possiedono determinati privilegi definiti nella pagina dei permessi. Drupal al momento dell’installazione crea automaticamente i seguenti ruoli:– utente anonimo (Utenti che non hanno un profilo. Visitatori del sito)– utente autenticato (Utenti registrati, hanno un profilo ed effettuano il Login)– amministratore (Ha tutti i diritti e i privilegi sul sito) Aggiungiamo un nuovo ruolo (prova corso drupal) cliccando sul pulsante “Aggiungi ruolo” ed assegniamo dei permessi cliccando nell’opzione “modifica permessi” che troviamo a destra del ruolo inserito.Abbiamo la possibilità di modificare i permessi relativi al nuovo Ruolo “prova corso drupal”Da questa posizione possiamo permettere la visualizzazione, creazione e modifica di articoli ed altri aspetti di gestione di parti del nostro CMS. Da notare che questi permessi, al contrario del ruolo di amministratore e degli utenti registrati, sono in origine tutti deselezionati. Noi possiamo decidere l’assegnazione di questi permessi in basealle necessità del nuovo Ruolo creato. In questo modo riusciamo a gestire in modo minuzioso ciò che un utente può fare o non fare nel nostro sito web.Per decidere a quale ruolo inserire un utente bisogna procedere nel seguente modo:– Creazione di un nuovo utente “Persone”, “”Aggiungi nuovo utente”– Assegnare un nome, una email ed una password al nuovo utente– Nella parte inferiore della pagina decidere a quale ruolo (Gruppo) far partecipareil nuovo utente. Come è possibile notare dall’immagine sottostante un aspetto importante di questa opzione è che il quadratino relativo agli “utenti autenticati” è già selezionato di default. Questo significa che qualsiasi autorizzazioneassegnata agli utenti autenticati, ricadranno anche nei permessi dei nuovi ruoli. In relazione al “Nodo” (sempre nella pagina dei permessi) possiamo ad esempio decidere se un utente appartenente ad un determinato ruolo può solo visualizzare o anche modificare ed eliminare il nodo corrispondente. Anche i Blocchi e quindi i menu possono essere regolati in questo modo.
Dopo aver inserito i dati all’interno del cms per mezzo del CCK (dalla versione 7 integrata all’interno del core), parliamo del secondo aspetto importante che differenzia Drupal rispetto agli altri software simili:La ricerca e l’elaborazione dei dati inseriti nel database MYSQL per mezzo del modulo VIEWS. Nella versione di Drupal 7 il modulo deve essere prelevato da internet, installato e configurato opportunamente prima del suo utilizzo (nella versione 8 di Drupal anche il modulo VIEWS è compreso nel core). A tale scopo rechiamoci sul seguente indirizzo url e preleviamo il file di estensione tar.gz relativo alla versione 7 di drupal:https://drupal.org/project/viewsIstalliamo il modulo attraverso la procedura automatica dal pannello di controllo:Menu “Moduli”, “installa nuovo modulo” Entrando nella lista dei moduli notiamo che per attivare VIEWS occorre un ulteriore modulo complementare (caratteristica molto comune in Drupal). Per questo motivo rechiamoci al seguente indirizzo url per prelevare il modulo: “Ctools” (estensione tar.gz) ed istalliamo l’oggetto con la procedura ormai conosciuta:https://drupal.org/project/ctoolsA questo punto nella lista dei moduli possiamo attivare il modulo Ctools e clicchiamo su “salva la configurazione” e successivamente attiviamo il modulo VIEWS e VIEWS UI.Dopo l’installazione dei moduli di supporto a Views possiamo passare alla creazione della nostra prima vista con Drupal. Prima di continuare solo una nota: nella nuova versione di Drupal 8 il modulo Views è già integrato dalla prima installazione del cms come già avviene per il modulo CCK.Cliccando sul menu struttura adesso possiamo visualizzare la nuova opzione per creare le nostre “Viste”Il modulo “VIEWS” è fondamentale per il funzionamento di Drupal e lo rende unico rispetto alla platea dei cms come ad esempio WordPress o Joomla.Poter estrarre dal database Mysql i dati inseriti per mezzo del CCK è una caratteristica che porta Drupal sul gradino più alto dei software per la creazione di portali web, solidi e professionali.All’interno della struttura VIEWS troviamo già delle viste pronte all’uso (come mostrato nella figura sottostante), ma il nostro scopo è creare una nuova Vista che ci consente di capire il funzionamento e dunque l’utilizzo di questo modulo.Ricordiamo che tramite VIEWS eseguiamo sostanzialmente delle “Query” per estrarre i dati dal database senza inserire complicate righe di codice SQL.
In questo Video Tutorial viene mostrato il concetto di Tassonomia applicato ad un caso concreto…un sito web di annunci immobiliari. Naturalmente il concetto una volta appreso può essere perfettamente replicato ad altri esempi analoghi.Vedremo che la Tassonomia si integrerà perfettamente con il CCK di Drupal all’interno del Tipo di contenuto Annunci immobiliari utile a popolare il database Mysql con i dati di inserimento. (Gli stessi dati che poi saranno elaborati nella fase di ricerca delle informazioni con il modulo VIEWS)A tale scopo procediamo alla creazione di due Vocabolari:Categoria immobiliare con i Termini: Affitti, VenditeTipo immobile con i Termini: Appartamenti, Attività commerciali, Capannoni industriali, Casali, Case indipendenti, Locali commerciali, Nuove costruzioni, Terreni, Ville.Menu “Struttura” “Tassonomia” e iniziamo con il Primo Vocabolario “Categoria immobiliare” con i Termini collegati e successivamente creiamo anche il Vocabolario “Tipo immobile”.
La versione 7 di Drupal, ha portato innovative rivoluzioni tecniche in seno a questo CMS. Il Core di Drupal nelle versioni precedenti era povero e da integrare con l’installazione dei moduli più importanti nella fase di configurazione del CMS.Dalla versione 7 si segnalano due importanti novità: L’installazione automatica dei moduli dal pannello di amministrazione (Prima era necessario caricare via FTP tutti i moduli fondamentali per il funzionamento di Drupal.Il modulo CCK (Content Construction Kit) già integrato con il core di Drupal, come tanti altri moduli nelle precedenti versioni doveva essere installato via FTP.Ricordiamo infatti che Drupal è estremamente semplice e potente. Sintetizzando al massimo il suo funzionamento si può dire che esistono due fasi:Immissione dei dati attraverso Form altamente personalizzabili, creati con ilCCK di Drupal. (il nome del modulo adesso già integrato nel sistema)Ricerca, elaborazione e presentazione dei dati (in base alle proprie necessità)con il modulo VIEWS.Lo scopo di questa lezione è quella di creare un contenuto con il CCK dove introdurre:TitoloImmagineDescrizioneFile allegatoPer eseguire la nostra esercitazione realizziamo un tipo di contenuto personalizzato.Per tipo di contenuto si intende ciò che andrà a costituire una pagina del nostro sito, pronta per ricevere determinati dati, quindi con tutti i campi predisposti per inserire ad esempio testo, numeri immagini ed altri contenuti. In questo modo con Drupal si riescono a creare vari tipi di contenuto ognuno adatto per scopi diversi. Ad esempio: un tipo di contenuto per l’immissione della scheda prodotto, un tipo di contenuto per l’immissione degli immobili, un tipo di contenuto per l’immissione dei dati anagrafici etc…
Voglio condividere con gli utenti del portale di Progettimultimediali.com un fatto concreto, un’esperienza personale scaturita durante il lavoro quotidiano. Può essere considerata come una possibile risposta all’articolo precedente del 24 novembre 2018 dal titolo: “Sito web e social network a confronto“.Forse ci stiamo abituando troppo ai like al consenso “compiaciuto” che i follower ci inviano sulle nostre pagine Facebook o social in generale…e rischiamo di assuefarci ai tanti “mi piace” e commenti positivi che riceviamo. Di conseguenza al primo commento negativo ci sentiamo colpiti come una freccia al cuore…perchè non siamo più abituati alle obiezioni negative degli utenti. Il gioco magico dei social è come se si rompesse e veniamo richiamati immediatamente alla vera realtà…”che cosa sta succedendo?”La domanda che si genera nella mente potrebbe essere proprio questa: “Cosa sta succedendo? “dove abbiamo sbagliato?”…poi nei casi più gravi dove i social hanno intaccato irrimediabilmente il nostro “EGO” rischiamo di rispondere anche pubblicamente in modo brusco e aggressivo…povero utente impaurito che sicuramente fuggirà dalla platea degli degli “Yes man” dei nostri follower!Ma torniamo al caso concreto…un nostro cliente la cui pagina Facebook è seguita da oltre 15000 Follower, con commenti di ostentato ossequio, slogan patinati, immagini emozionanti, atmosfera angelica, riceve dalla scheda “Google My Business” che troviamo sul noto motore durante le nostre ricerche un commento, spontaneo e negativo. L’utente si sfoga e ne dice di tutti i colori…tanto il commento non potrà essere eliminato dal proprietario della scheda Google, come potrebbe succedere invece per Facebook e altri social. Qui su “Google my Business” le regole sono molto più rigide…e questo può essere un bene o uno svantaggio a seconda dei punti di vista.In questo caso specifico, colpiti dalla cruda realtà del messaggio, il proprietario della scheda comincia ad indagare. Risponde pubblicamente e diplomaticamente al follower (che comunque era stato un suo reale cliente) e fa prezioso tesoro del commento negativo iniziando a valutare eventuali provvedimenti correttivi.Cosa è successo però? che un solo messaggio negativo proveniente da canali web (come è appunto Google my Business) differenti dai social ha pesato più di 100 messaggi positivi regalati sulla pagina Facebook?Il peso e il valore dei social si sta forse riducendo? Ci sono troppe informazioni e spesso si riesce a generare facilmente traffico diciamo “Positivo” verso la propria pagina Facebook. E’ un fatto che si registra anche con altri social network “Instagram” in particolare. Ho osservato infatti che basta mettere anche una semplice immagine “Emozionante” che immediatamente riceviamo una grande quantità di “Cuoricini” e nuovi “Seguaci”…a volte mi domando “Ma cosa ho fatto per ricevere tutte questo consenso gratuito?”. I social sono capaci di generare sempre più questo consenso compiaciuto…e noi alla fine ci sentiamo sempre più appagati e felici.Ma come dimostrato dall’esempio di poco fa, a volte questa magia si interrompe e torniamo velocemente alle realtà quotidiana.La rivincita del web sui social, ho intitolato questo articolo. Sul web e in questo caso su “Google my Business”, l’utente NON VIENE “accompagnato per mano” a cliccare sui “mi piace” o “cuoricini” vari, ma tutto avviene in modo più spontaneo e scaturisce dalla volontà dell’utente. Certo anche in questo modo potrebbero generarsi delle deviazioni…ma i feedback potrebbe essere considerati alla pari di quelli che si ricevono su Amazon, Ebay, TripAdvisor o la Guida Micheline.Vi lascio con un video tratto da Youtube…forse ci servirà a tutti per riflettere.
La riflessione nasce da alcune domande: ma i social hanno battuto i siti web? Cosa ha funzionato sui social e non sui siti web? I siti web hanno ancora un ruolo istituzionale nella realtà aziendale e lavorativa? Oppure il web sta diventando sempre più social?Indubbiamente i social con Facebook e Instagram in prima linea hanno reso la comunicazione tra gli utenti più facile e immediata. Le interazioni sono state semplificate dalla facilità di utilizzo delle applicazioni per dispositivi mobile come smartphone e tablet, sempre più diffusi tra la massa. Essere presenti sui social network è dunque molto importante perché si riesce a comunicare contemporaneamente con un pubblico sempre più vasto e connesso.L’immediatezza nella pubblicazione dei contenuti, facilitata dalla diffusione dei dispositivi mobile è dunque, secondo noi, il primo fattore che ha determinato una sostanziale differenza tra siti web e social tutto a vantaggio di questi ultimi. Per cercare delle risposte alle domande sopra esposte occorre fermarsi e guardarsi indietro richiamando anche aspetti e vicende legate alla propria esperienza lavorativa.Da ciò emerge un fattore costante in tutti i casi passati sotto la lente di ingrandimento ed è stato quello della mancanza di aggiornamento dei contenuti da parte dei clienti, prima di tutto, e poi dei loro webmaster. Se questo aspetto è stato più pronunciato in passato quando i siti web erano realizzati in HTML è comunque continuato successivamente, con l’avvento dei CMS come Joomla, all’inizio, WordPress attualmente e Drupal riservato a settori più professionali.Il sito web è stato considerato da molti come qualcosa di alieno, poco controllabile, difficilmente hanno avuto un buon rapporto con il proprio sito web tutte quelle persone che per mancanza di tempo, conoscenze informatiche adeguate o un approccio poco confidenziale con il computer non hanno saputo coltivare la risorsa “siti web”… e questo problema si è accentuato soprattutto nei siti web vetrina.Non tutti i settori sono però uguali e in quei casi in cui l’utente ha avuto la necessità di lavorare attivamente con il prorio sito web quest’ultimo ha sempre rivestito il ruolo di attore principale. Un riferimento a questo aspetto, dettato anche dalla nostra esperienza, è quello del settore delle agenzie immobiliari o E-commerce dove i nostri clienti hanno sempre avuto la necessitá di lavorare prima di tutto con il sito web e successivamente con il supporto dei social.Dunque sono questi gli elementi che hanno determinato, da alcuni punti di vista, un avanzare dei social network a dispetto dei siti web e che qui riassumiamo:– mancanza di aggiornamento dei siti web da parte del cliente finale o dei loro webmaster.– mancanza di tempo o di conoscenze adeguate da parte del cliente nella gestione dei siti web…anche dopo l’avvento dei CMS.– problema più pronunciato nei siti web vetrina dove la necessità di lavorare attivamente con il web è più ridotta.Con la massificazione dei social avvenuta di pari passo con la diffusione dei dispositivi mobile l’azione di sorpasso sui siti web sembra compiuta.Sembra… perché dipende da settore a settore dal tipo di sito web e dalla disponibilità dei clienti finali in termini di tempo e conoscenze informatiche adeguate, come detto precedentemente.Indubbiamente però i social network come Facebook, Twitter o Instagram, che sta avanzando sempre più rapidamente, rappresentano una opportunità per diffondere ad un vasto numero di utenti le proprie informazioni e interagire facilmente con essi (aspetto mancante nei siti web soprattutto se privi di blog).Quello che contestiamo è invece chi crede che i social siano diventati il totem assoluto e il web tradizionale ormai sarebbe inutile. Tutti gli elementi in gioco, social e web, devono collaborate in modo sinergico per sfruttare al massimo i vantaggi che la rete offre.…E dunque occorre prestare attenzione a questi soggetti perché ci potremmo trovare di fronte a persone con scarsa cultura del web e delle sue reali potenzialità…ma non vorremmo adesso aprire una nuova porta che evidenzierebbe tutte le carenze del sistema Italia a partire dalla scuola e dalla diffusione della cultura informatica e del web nella società.
In questo breve video Tutorial descriveremo l’installazione di Drupal 8 su server del provider Tophost che abbiamo trovato particolarmente prestante e ottimizzato per questo cms.Da segnalare anche i progressi raggiunti a seguito delle varie versioni di Drupal 8 in fase di installazione già notevolmente migliorata rispetto alle precedenti release.La novità principale è rappresentata dall’installazione automatica della lingua italiana che facilita notevolmente il compito del webmaster durante il processo di configurazione sul server.Un’ultima nota da segnalare è la difficoltà che abbiamo trovato durante l’installazione di Drupal 8 su altri server diversi dal provider Tophost e l’ottimo rapporto qualità prezzo che Tophost riserva verso un software cms che richiede risorse hardware superiori a quelle di un hosting condiviso.
Il protocollo di sicurezza https (crittografia dei dati) è essenziale oggi per ogni sito web. Richiesto da Google come uno dei tanti fattori che può riflettere la sua importanza anche in termini SEO è un elemento da quale non si può più prescindere durante la costruzione di nuovi siti web (e naturalmente occorre aggiornare anche quelli esistenti che utilizzano ancora il vecchio protocollo http).Per questo motivo quasi tutti i provider offrono nei propri pacchetti di spazio hosting la configurazione, spesso gratuita, del protocollo https all’interno dei loro pannelli di controllo.Tratteremo in questo articolo della configurazione del protocollo https applicato al cms DRUPAL 8 utilizzando il provider Tophost come servizio esclusivo di spazio hosting. Abbiamo infatti osservato negli ultimi mesi un ottimo salto di qualità di Tophost che resta il più importante Provider lowcost italiano. Soprattutto con lo sguardo rivolto al cms Drupal 8 segnaliamo un’ottima compatibilità dei servizi hosting con il nuovo cms; compatibilità che ancora non è stata raggiunta da molti altri provider.Per configurare il protocollo https all’interno del cms Drupal e facilissimo, basta procedere nel seguente modo:Come prima cosa occorre attivare il protocollo https all’interno del pannello di controllo del proprio Provider. Noi, come già detto, utilizzeremo Tophost che offre spazio hosting compatibile con Drupal 8 e protocollo https gratuito nei vari servizi di spazio web. Per attivare https occorre selezionare la casella corrispondente al protocollo di sicurezza e attendere un pò di tempo per la configurazione automatica dei servizi: Tophost ad esempio consiglia di attendere circa 3 o 4 ore dall’attivazione del servizio: Dopo aver selezionato a “On” l’opzione HTTPS e HTTP/2 clicchiamo sul pulsante “imposta” e attendiamo il tempo consigliato da Tophost. Successivamente sarebbe necessario selezionare “Redirect automatico da HTTP a HTTPS” ma questa procedura non funziona con tutti i cms e dunque occorre, nel caso di Drupal 8 (la stessa cosa è valida anche per Drupal 7), nel seguente modo:Aprire con il proprio editor preferito (es: Notepad++) il file .htaccess e inserire dopo l’istruzione “RewriteEngine on” il seguente codice:RewriteCond %{HTTPS} offRewriteCond %{HTTP:X-Forwarded-Proto} !httpsRewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]Salvare il file e caricarlo nuovamente all’interno dello spazio. Questo è tutto, il protocollo https per Drupal 8 sarà configurato perfettamente e a sinistra dell’indirizzo url del sito comparirà un lucchetto verde (sicuro).
La protezione dei contenuti in Drupal è un aspetto fondamentale durante la progettazione di siti web con all’interno aree riservate. Per caratteristiche strutturali Drupal è perfetto per la creazione e la gestione di gruppi di utenti all’interno del database del cms ed ha sicuramente una marcia in più rispetto agli altri software concorrenti in campo di realizzazione dei siti web. Occorre tuttavia prestare particolare attenzione alla sicurezza dei dati che inseriremo al suo interno attraverso i form del CCK. Iniziamo dall’inizio e cerchiamo di rispondere a questa richiesta dell’utente che ha perfettamente centrato il problema: Cosa chiede l’utente? Ha inserito all’interno del cms dei dati riservati attraverso un Tipo di contenuto creato appositamente a tale scopo. Ora per le caratteristiche di Drupal la visualizzazione delle informazioni è regolata all’interno del cms da una sola opzione comune per tutti i contenuti anche se è possibile scegliere il ruolo che potrà o non potrà visualizzare i dati inseriti nel sito. Dall’immagine successiva vediamo di spiegare meglio il problema proposto, ricordando che questa caratteristica è comune a tutte le versioni di Drupal (versione 7 e 8):L’opzione “Visualizza contenuti pubblicati” che troveremo nella sezione dei permessi regola in modo semplice la visualizzazione di tutti i contenuti di Drupal. Se inseriamo dei dati riservati la logica ci porterebbe ad escludere dalla visualizzazione gli “utenti anonimi” che sono il grado più basso dei ruoli a cui l’esclusione dai dati riservati è una necessità fondamentale ma così facendo abbiamo la contropartita di nascondere tutti i contenuti del nostro sito rischiando di renderlo praticamente inutile.Diverso invece è il discorso della modifica dei contenuti inseriti nel database che con Drupal si riesce a personalizzare magnificamente in base ai ruoli già di default e dunque senza l’ausilio di moduli aggiuntivi.Possiamo decidere di nascondere i contenuti dalla visualizzazione principale del sito evitando il link nelle voci di menu nel frontend pubblico e magari collegando i contenuti con menu accessibili solo dall’area riservata e dopo aver inserito dati di login (che poi è la soluzione adottata inizialmente dal nostro utente). Così facendo però si commette un gravissimo errore in termini di sicurezza dei dati e cioè:I contenuti saranno visibili conoscendo l’indirizzo URL diretto per tutti gli Utenti del sito!Non si sfugge all’indicizzazione dei motori di ricerca che nel loro naturale lavoro di scanner della rete prima o poi raggiungeranno le pagine riservate e immancabilmente le inseriranno all’interno dei loro indici rendendole pubbliche a chiunque…immaginate il danno che si manifesterà nel rendere pubblici dati in origine riservatissimi!Come ovviare a questo problema?Dobbiamo necessariamente ricorre all’installazione di alcuni moduli che serviranno a mettere in sicurezza i dati riservati del nostro sito web.Occorre prima di tutto installare il seguente modulo:https://www.drupal.org/project/acl è il modulo ACL (Access Control List) che consente appunto di assegnare in modo preciso la visualizzazione di determinati contenuti a specifici gruppi di utenti all’interno del nostro sito web. Per cui se ad esempio abbiamo la necessità di nascondere agli Utenti anonimi particolari contenuti riservati possiamo procedere facilmente a settare queste impostazioni.https://www.drupal.org/project/metatag è il famoso modulo Metatag con il quale è possibile regolare molti aspetti dei contenuti di drupal. Ad esempio possiamo assegnare ad alcuni contenuti la proprietà “noindex” e “nofollow” per evitare l’indicizzazione delle URL negli indici dei motori di ricerca.In ultima analisi è possibile servirsi anche della Google Search Console per settare altre impostazioni SEO come ad esempio chiedere a Google la rimozione di specifiche pagine URL se queste accidentalmente sono state già indicizzate.In sintesi occorre dunque prestare una severa attenzione durante la progettazione di aree riservate del sito web con Drupal (e in generale con tutti i cms) per evitare di commettere gravi errori in materia di diffusione dei dati riservati.Daniele Venditti
è il tutorial che vedremo in questo articolo del Blog. In particolare parleremo di Bootstrap per Drupal 8, anche se la versione 7 di Drupal (non dimentichiamolo) ha raggiunto un buon grado di solidità e utilizzo e molti concetti qui descritti sono del tutto simili.Ricordiamo che Bootstrap è un Framework che trova applicazione in diversi settori del web ed è molto utilizzato in HTML, WordPress, Joomla, e appunto Drupal. Molti temi e template in circolazione sono creati con questo famoso Framework per le doti di flessibilità e praticità che si riesce a raggiungere. Partendo da un Tema base (come faremo anche noi con Drupal 8) si riescono a creare temi sofisticati e adatti ad ogni esigenza grazie agli strumenti di cui il Framework Bootstrap dispone.Nel tutorial parleremo di Bootstrap 3 che attualmente è la versione stabile del framework in attesa della versione 4 ancora in sviluppo e dunque in modalità beta (al momento in cui scriviamo questo tutorial).Il Framework con il tema di base è prelevabile dal seguente link:https://www.drupal.org/project/bootstrapNaturalmente la versione che ci riguarda è quella compatibile con la versione 8 di drupal:Installiamo il Tema utilizzando la procedura standard di Drupal 8 dalla voce di menu Aspetto (apparence in inglese):Una volta installato il tema e impostato come predefinito troveremo la versione base pronta per essere utilizzata e modificata secondo le nostre necessità. Bootstrap dispone di un Tema base con diverse regioni per blocchi che possono essere ulteriormente modificate. Il tema installato ha tutte le caratteristiche e gli strumenti di Bootstrap ed è perfettamente responsive e personalizzabile.A questo punto non basta e per esigenze pratiche nasce la necessità di creare un sotto tema (SubTheme) per mezzo del quale effettuare tutte le nostre modifiche, che andranno ad incidere soprattutto sul file css di base del tema, senza intaccare i file originali del Framework. Infatti se si lavorasse sui file originali del tema che abbiamo appena installato tutte le modifiche apportare risulterebbero azzerate ad un futuro aggiornamento del Framework (lo stesso problema esiste ad esempio in WordPress e può essere risolto con la creazione di un Tema Child).Raggiungiamo adesso la cartella Bootstrap all’interno dei temi Drupal (via FTP e dunque con Filezilla) e apriamo la cartella “Starterkits” che troveremo al suo interno.All’interno troveremo alcune cartelle, tra cui “cdn” e “less“. Copiamo la cartella “cdn” e portiamola allo stesso livello della cartella “Bootstrap” del tema installato precedentemente:Rinominiamo la cartella “cdn” con un nome appropriato (ad esempio come indicato nell’immagine successiva):Entriamo all’interno di questa cartella e portiamoci sul file selezionato (immagine successiva):Rinominiamo questo file con lo stesso nome che abbiamo assegnato al subtheme di bootstrap seguito da info (immagine successiva).Allo stesso modo rinominiamo i File “THEMENAME” in “bootstrap_subtheme” e “THEMENAME.libraries” in “bootstrap_subtheme.libraries.yml”Con il nostro editor preferito apriamo il file “bootstrap_subtheme.info.yml” e nella parte inferiore di questo file andiamo a modificare la parola “THEMENAME” con il nome assegnato al nostro subtheme (immagine successiva):In questo file si trova lo schema del tema installato con le regioni dove configurare i blocchi che andremo ad inserire. E’ un file molto importante che può essere ulteriormente modificato per aggiungere o cancellare le regioni del nostro layout. Possiamo modificare eventualmente altri parametri come ad esempio la descrizione (ma non è obbligatorio).Inoltre occorre entrare nella cartella Config del subtheme e modificare i due file che troveremo nelle sottocartelle install e schema con il nome attribuito al nostro subtheme. Quindi:config/install/THEMENAME.settings.yml in config/install/bootstrap_subtheme.settings.ymlconfig/schema/THEMENAME.schema.yml in config/schema/bootstrap_subtheme.schema.ymlA questo punto nella parte inferiore della voce “Aspetto” troveremo il nostro subtheme che dobbiamo attivare come predefinito.Possiamo adesso procedere a personalizzare il nostro tema e aggiornare contemporaneamente le versioni future del Framework Bootstrap per Drupal.