Aggregatore di feed
Drush
Drush (http://drupal.org/project/drush) è un tool utilizzabile da linea di comando per interagire con una (o più in caso di multisite) installazione di Drupal.
I comandi che si possono eseguire sono veramente tanti e alcuni hanno varie opzioni e flag, è possibile vederli tutti eseguendo un "drush help" e ottenere un aiuto su una specifico comando eseguendo "drush help [nome_comando]" (es. drush help dl).
Qui parlerò della versione 5 del modulo. Il comando "drush version" mostra a schermo la versione correntemente utilizzata.
Ogni comando ha un alias per abbreviarlo, es. drush dl alias di drush pm-download. Gli alias di seguito compaiono tra parentesi.
Vediamo alcuni comandi suddivisi per area di gestione.
Gestione moduli/temi.- drush pm-download (dl) [modulo] (es. drush dl views): scarica il modulo [modulo] (N.B. http://drupal.org/project/[modulo]);
- drush pm-enable (en) [modulo] (es. drush en views): abilita il modulo [modulo];
- drush pm-disable (dis) [modulo] (es. drush dis views): disabilita il modulo [modulo];
- drush pm-uninstall [modulo] (es. drush pm-uninstall views): disinstalla il modulo [modulo] (N.B. il nome del modulo è facoltativo, se eseguito senza verranno disinstallati tutti i moduli disattivati e ma ancora installati);
- drush pm-update (up) [modulo] (es. drush up views): esegue l'update del modulo e l'aggiornamento del database (N.B. il nome del modulo è facoltativo, se eseguito senza verranno aggiornati tutti i moduli e temi e poi eventualmente anche il core);
- drush pm-updatecode (upc) [modulo] (es. drush upc views): esegue l'update del modulo senza l'aggiornamento del database -- solo codice (N.B. il nome del modulo è facoltativo, se eseguito senza verranno aggiornati tutti i moduli e temi e poi eventualmente anche il core);
- drush pm-info (pmi) [modulo] (es. drush pmi views): mostra informazioni estese sul modulo (N.B. il nome del modulo è facoltativo, se eseguito senza verranno visualizzati tutti i moduli e temi);
- drush pm-list (pml): visualizza tutti i moduli installati (comodo per avere un lista all'interno di un file di testo "drush pml > moduli_installazione.txt");
- drush pm-refresh (rf): ricarica le informazioni sugli aggiornamenti dal server;
- drush pm-releasenotes (rln) [modulo]: visualizza le note di rilascio di un progetto;
- drush pm-releases (rl) [modulo]: visualizza le informazioni di rilascio di un determinato progetto;
- drush cc (cache-clear): pulisce le cache, è possibile selezionare quale tipo di cache pulire (registro temi, cache drush etc..) o eseguire la pulizia completa;
- drush core-cron (cron): esegue il cron di sistema;
- drush archive-dump (arb): effettua il backup del codice, del db e dei files dell'installazione. Ha molte opzioni un esempio drush arb default --destination=ganovelli.it.tar.gz crea nella directory corrente un archivio tar/gzip del sito di default dell'installazione (se non è un multisite è l'installazione base di default);
- drush archive-restore (arr): operazioni inversa al comando precedente, ripristina un backup. Esempio drush arr ./ganovelli.it.tar.gz ripristina l'installazione presente nel file creato nell'esempio precedente;
- drush cache-get (cg): ritrova un oggetto dalla cache e lo visualizza;
- drush cache-set (cs): inserisce un oggetto in cache espresso in formato JSON o var_export();
- drush core-config (conf): modifica i file di configurazione di Drupal, lanciando un editor esterno (ad esempio settings.php).
- drush updatedb (updb): lancia lo script di aggiornamento del database.
- drush user-password (upwd): reimposta la password per il nome utente specificato;
- drush user-add-role (urol): (es drush urol "editor" --uid=3,4) aggiunge un ruolo agli account specificati;
- drush user-remove-role (urrol): rimuove i ruoli specificati agli utenti specificati;
- drush user-block (ublk): (es drush urol "editor" --uid=3,4) blocca gli utenti specificati;
- drush user-unblock (uublk): sblocca gli utenti specificati.
- drush user-cancel (ucan): (es drush ucan "pippo") elimina l'account con il nome specificato;
- drush user-create (ucrt): (es drush ucrt "pippo") crea un account con il nome specificato;
- drush user-information (uinf): (es drush uinf 1,5) mostra informazioni sugli utenti specificati;
- drush user-login (uli): (es drush uli mg)crea e mostra il link per il recupero della password per l'utente specificato;
Ogni modulo o tema aggiuntivo che viene installato nel sistema può ulteriormente estendere la lista di comandi a disposizione. Ad esempio installando il tema Omega avremo a disposizione il comando "drush omega-subtheme [nome_nuovo_tema]" utile per creare un tema utilizzando come base Omega (sub-theming).
Molti dei comandi devono essere eseguiti da una posizione in cui drush possa trovare tutti i file di cui necessita per l'installazione Drupal: solitamente è sufficiente portarsi dentro la directory /sites/. E' anche possibile eseguire drush da una qualsiasi locazione facendo sapere al programma quale "root" utilizzare attraverso il parametro "-r": questo è indispensabile per eseguire ad esempio drush da crontab. Con l'ulteriore parametro "-l" è possibile specificare l'url del dominio del sito su cui eseguire il comando (necessario solo per installazioni multisite). Un esempio completo:
drush core-cron -r /var/www/drupal/production/drupal-7/ -l http://www.ganovelli.it
Argomenti: DrupalLinux
Mysql slow query due to Drupal multilanguage? Set up your custom envoriment
I have a large website, with thousands of pages, with interface and part of content to be translated in several languages.
While monitorin slow query mysql log, I realized Drupal core table structure is lacking in performance, when you have to deal with many strings (90k)
This took me awhile to find a proper solution, which in my case was to clone both drupal core locales tables (locales_source joined queried with locales_target ) and the t() function.
Once mysql locales table where cloned
CREATE TABLE my_locales_source AS (SELECT * FROM locales_source);
Se il tuo Drupal [o altro ...
Se il tuo Drupal [o altro sito web che faccia uso di DB ] ha problemi di slow queries, dovresti considerare di passare a Sphinx [http://sphinx.com], che puo' migliorare in maniera significativa i tempi del tuo sito
Custom mail delivery for Drupal 6
here's the summary Conversation with that Customer asking to replace Drupal mail system with a custom one:
Request: Please, replace Drupal mail system with another mail delivery system [php code] Verifing requisites:- Do you have your custom sendmail php function?: Yes [in this case, we have a php function named "my_custom_send_mail" using the Amazon SES Web Service ]
Drupal 7 jQuery (Popup e ui.dialog)
Drupal 7 ha supporto nativo per le librerie jQuery UI. Per ottenere una lista delle librerie disponibili allo sviluppatore è possibile usare la funzione drupal_get_library:
print_r(drupal_get_library('system'));
Per ottenere un semplice popup in una pagina, inserite questo codice nel corpo della stessa, utilizzando un filtro "PHP Code":
<?php drupal_add_library('system', 'ui.dialog'); drupal_add_js('jQuery(document).ready(function () { jQuery( "#popup" ).dialog(); });', 'inline'); ?> <div id="popup" title="Solo un semplice popup"> <p>Questa finestra è creata tramite la libreria jQuery UI Dialog. Può essere ridimensionata, spostata e chiusa cliccando sulla X.</p> </div>L'esempio è molto semplice, ma può essere utile per mostrare informazioni all'utente.
Qui potete vedere un esempio funzionante del codice: http://ganovelli.it/popup-test-jquery-dialog.
Argomenti: Drupal
Drupal 7 jQuery (Popup e ui.dialog)
Drupal 7 ha supporto nativo per le librerie jQuery UI. Per ottenere una lista delle librerie disponibili allo sviluppatore è possibile usare la funzione drupal_get_library:
print_r(drupal_get_library('system'));
Per ottenere un semplice popup in una pagina, inserite questo codice nel corpo della stessa, utilizzando un filtro "PHP Code":
<?php drupal_add_library('system', 'ui.dialog'); drupal_add_js('jQuery(document).ready(function () { jQuery( "#popup" ).dialog(); });', 'inline'); ?> <div id="popup" title="Solo un semplice popup"> <p>Questa finestra è creata tramite la libreria jQuery UI Dialog. Può essere ridimensionata, spostata e chiusa cliccando sulla X.</p> </div>L'esempio è molto semplice, ma può essere utile per mostrare informazioni all'utente.
Qui potete vedere un esempio funzionante del codice: http://ganovelli.it/popup-test-jquery-dialog.
Argomenti: Drupal

MGI di Ganovelli Maurizio
Assign a Role to new User with Website Polity acceptance. HowTo on Drupal
I have this Drupal 6.x scenario where I need new user to apply for a certain role (path based) with a policy text to be accepted at registration
I spent a few time googling around for a ready-to-go solution, which - unfortunatly - was not found.
Best fit modules I've found for this feature are http://drupal.org/project/legal (policy text handler) and http://drupal.org/project/autoassignrole (give new user a role)
Both of them are very powerfull, with have high quality design and pretty easy configuration.
read more