Aggregatore di feed

Assign a Role to new User with Website Polity acceptance. HowTo on Drupal

Fagioli.biz - 2 febbraio, 2013 - 15:23

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

Drush

Ganovelli.it - 11 dicembre, 2012 - 18:44

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;
Gestione core.
  • 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. 
Gestione utente.
  • 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

Fagioli.biz - 20 novembre, 2012 - 14:11

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);

read more

Se il tuo Drupal [o altro ...

Fagioli.biz - 19 marzo, 2012 - 11:44

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

Fagioli.biz - 20 gennaio, 2012 - 15:20

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 ]

read more

Drupal 7 jQuery (Popup e ui.dialog)

Ganovelli.it - 21 dicembre, 2011 - 11:55

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)

Ganovelli.it - 21 dicembre, 2011 - 11:55

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