Planet Drupal Italia
Drupal Services 3 - XML-RPC Session Autentication con Zend Framework
Questo piccolo esempio cerca di riassumere cosa deve fare un client XML-RPC per sfruttare le risorse esposte da un server XML-RPC creato con Services 3.x .
Il server in questione richiede l'autenticazione della sessione come metodo di accesso, pertanto il client dovrà effettuare un login con un utente di Drupal e poi sfruttare la sessione autenticata per utilizzare le risorse.
Il client per semplicità è stato creato utilizzando Zend Framework.
Upload progress
La libreria UploadProgress è una simpatica libreria che consente all'utente finale di poter visualizzare lo stato di caricamento (upload) di file verso il server.
La libreria è consiglaita per i server che ospitano installazioni di drupal (ma non solo) e di fatto il nostro CMS preferito ci ricorda di intallarla.
Per installarla ci sono 2 strade alternavive che come sempre sono da pacchetti (non è un vero pacchetto) e da sorgenti
Metodo A Consigliato (PECL)
apt-get install make
apt-get install php5-dev
apt-get install php-pear
pecl install uploadprogress
Netbeans: Drupal Coding Standards - lo stile non è acqua!
Al giorno d'oggi lo sviluppatore non ha più semplici editor di testo ma ben più complessi ecosistemi che lo aiutano a scrivere codice, ed è innegabile che alcune funzionalità siano estremamente comode.
Chi scrive codice per Drupal sa che gli sviluppatori di DO (drupal.org) sono molto attenti a come il codice è scritto; e già solo la sua formattazione è soggetta a numerose regole (http://drupal.org/coding-standards/) da rispettare.
VIews styler
Precedentemente avevo scritto una patch per views che pemetteva di andare ad indicare delle classi specifiche alle singole righe delle views. Considerato che modificare il codice di un modulo lo considero una delle cose più pericolose nonché sbagliate, e in considerazione del fatto dell'enorme modularità raggiunta da Drupal 7 con le funzioni di autoloading, ho deciso di separare la patch creando un modulo apposito. Attualmente questo modulo si trova in una sandbox, vediamo come ottenerlo e come usarlo (e perché!).
L'installazioneViews 3 e Grid system (patch)
Ultimamente, lavorando con Omega in diversi siti, mi è capitato di dover fare un pò di "magie" per riuscire ad ottenere il risultato desiderato. Il problema principale che ho riscontrato è che le views permettono di aggiungere classi ai singoli field, al wrapper della vista stessa, o una classe uguale per tutti le righe, ma non permette di inserire classi personalizzate per ogni riga. Questo, nelal versione per Drupal 6 e views 2, era risolvibile ricorrendo a Semantic Views, ma per Views 3 non abbiamo ancora uno strumento che ci permette di fare quanto richiesto. Per risolvere questo problema ho scritto una piccola patch (attenzione, non mi assumo responsabilità in merito :) ) che permette di definire per ogni singola riga, o per righe particolari (prima/ultima, pari/dispari) delle classi specifiche. Vediamo come applicare questa patch e come funziona.
Omega 3, aggiungiamo le nostre griglie
Chi avesse iniziato ad utilizzare Drupal 7 si sarà senz'altro d'accordo che stanno nascendo dei temi di partenza molto sofisticati da cui partire per la realizzazione di temi, in particolare sta emergendo sempre più Omega 3.
Questi temi, però possono avere necessità di essere estesi per aggiungere nuove funzonalità, in particolare potremmo avere necessità di usare una griglia differente da quelle che queesto tema di partenza ci mette a disposizione; vediamo quindi come aggiungere una griglia customizzata nel nostro sottotema di Omega 3.
Le sessioni secondo Drupal
Drupal per tenere traccia delle sessioni degl utenti salva le informazioni relative ai navigatori all'interno del suo database, infatti tutti dati relativi alle sessioni vengono salvate in una tabella chimata 'session'.
Il sistema reagisce all'ingesso di un visitatore sul sito creando una nuova riga nella tabella session. La riga creata inizialmente viene generata per l'utente anonimo (UID = 0) nel momento che l'utente effettua un login la riga verrà contrassegnata con l'UID dell'utente.
Migrare dati a Drupal
Nella realizzazione di portali o nella fase di migrazione da una piattaforma ad un altra spesso di riscontra la necessità di effettuare l'inserimento / trasferimento di dati. Fino a che le informazioni sono limitate è conveniente effettuare ua migrazione manuale, permettendo di trasferire le inforazioni in maniera pulita ed eventualmente procedendo ad effettuare tutte le modfiche di markup e struttura necessarie; ma cosa succede se le quantità di informazioni da trasferire sono in numero tale da non consentirci di procedere in maniera manuale?
Analizzeremo ora alcuni tool e tecniche che possono essere utilizzati per migrare grandi quantitativi di dati da una piattaforma X a Drupal, vedendo successivamente come estendere queste funzionalità per poter effettuare operazioni personalizzate sulla propria base dati.
Drupal e image optimizer
Se vi capita di utilizzare YSlow o PageSpeed per analizzare le performance del vostro front end, può capitare di vedere una voce che vi indica che le vostre immagini non sono ottimizzate. Cosa vuol dire, ma sopratutto, come possiamo ottimizzarle per ottenere dei risultati migliori? Questo è quello di cui parleremo ora, in particolare vedremo come integrare queste ottimizzazioni in Drupal.
DrupalCamp 2010
Il 2 ottobre 2010, per secondo anno consecutivo, si svolgerà l'evento italiano su Drupal aperto a tutti coloro che vogliono conoscere meglio il magico mondo della "goccia".
L'evento è completamente gratuito e si svolgerà presso i locali della cascina roccafranca di Torino.
Quest'evento è il primo organizzato ufficilmente dall' associazione drupal italia nata con il preciso intento di aiutare la diffusione di drupal sul territorio italiano.
In partenza per la drupalCON
Che dire,
sono in partenza per l'attesissima Drupalcon di Copenhagen, è la prima volta che partecipo ad un evento "maggiore" di drupal e sono contento di partire.
Per chi è gia la ... STO ARRIVANDO!
Chiamate cookieless in Drupal
Come visto negli articoli precedenti riguardanti le chiamate cookieless e le ottimizzazioni del front end di Drupal ci sono diversi modi per migliorare il modo in cui è possibile effettuare l'ottimizzazione del frontend. Ora vedremo come integrare alcune delle cose viste nei due articoli precedenti e come migliorare ulteriormente le performance con Drupal.
Drupal Gardens Beta
Il 2 settembre 2009 in occasione della DrupalCon Paris, Dries co-fondatore di Aquia lo aveva annunciato: Acquia per la fine del 2010 renderà diponibili due servizi nuovi per tutti gli amici della della goccia: un hosting professionale con supporto business ed piattaforma Drupal pronta all'uso in stile wordpress.com dove gli utenti potranno usare Drupal senza avere problemi di installazione configurazione e aggiornamento.
Devel: il Debug sotto Drupal
Scrivere applicazioni web con Drupal è ormai una realtà ed il CMF guadagna ogni giorno piu consensi sia tra gli sviluppatori, che tra gli utilizzatori.
Drupal come framework di sviluppo tende a nascondere bene cosa avviene al suo interno ed è quindi molto importante conoscere il modulo devel (un modulo non core) che è pensato per gli sviluppatori ed i themer che lavorano con Drupal.
Questa guida è pensata come una panoramica alle funzioni di debugging di Devel che rendono piu agevole lo sviluppo delle nostre applicazioni.
Sempre più Drupal per il Web
Qualche giorno fa qualcuno mi ha scritto chiedendomi, pur essendo io "schierato", perchè scegliere Drupal come CMS; io ero decisamente di fretta ed ho elencato alcuni punti di forza di Drupal senza volutamente sminuire gli altri CMS ma oggi ho visto questo bel grafico su http://trends.builtwith.com/cms e posso affermare che ormai scegliere Drupal è considerata una buona scelta.
Tabella paginata e ordinabile in Drupal
Nella realizzazione di interfaccie di report può capitare di dover creare delle tabelle che visualizziino una serie di informazioni. Spesso, se i dati sono molti, è necessario ricorrere alla creazione di tabelle paginate. In altri casi, o in aggiunta a questo, può essere necessario andare a realizzare dei sistemi che permettano di fvariare i criteri di ordinamento dei dati estratti, così da migliorare l'usabilità del sistema.
Queste operazioni spesso sono operazioni che porterebero via un pò di tempo per la realizzazione e sono decisamente poco divertenti da implmentare (ma servono e quindi devono essere fatte). Vediamo come possiamo velocizzarne la realizzazione con Drupal.
Uso di sottodomini per asset statici in Drupal
La volta scorsa, nel parlare di ottimizzazione del frontend di siti generici (e Drupal in particolare) avevamo
affrontato alcune delle problematiche principali, tra cui appunto la generazione di sottodomini per lo smistamento degli asset statici [1], così da parallelizzare il più possibile il caricamento della pagina.
Ora vedremo come ottimizzare e mettere in pratica i suggerimenti che YSlow (ma anche PageSpeed) ci danno.
NOTA: con il nome di assett intendendo con questo nome quelle informazioni che non variano o variano molto poco nel corso del tempo e che consideriamo opportuno far gestire su sottodomini differenti per ottimizzare le performance del frontend per gli utenti finali (ed eventualmente per suddividere la gestione di questo tipo di dati ai server).
Piu Utenti con la stessa Mail
La gestione degli utenti di drupal è un sitema completo e pronto all'uso che funziona bene nella maggiorparte delle installazioni ma il mondo è grande e complesso e non sempre tutto fila liscio.
Drupal di default si aspetta che ogni utente abbia un indirizzo email univoco che usa per discernere gli utenti e se qualcuno prova a registrare un secondo utente con una mail conosciuta restituisce un messaggio di errore.
Alterare lo schema di un modulo
Può capitare, a volte, di dover alterare lo schema di una tabella creata da un altro modulo, vedremo come effettuare questa operazione nella mianera corretta mantenendo l'integrità della struttura rappresentata dallo schema e quella effettivamente presente nel database.
Per aggiungere il tuo Feed XML riguardante Drupal, compila il form Planet.
