Table of Contents

Drupal 7

Contenedor, en una sola pagina, para todos los articulos que tienen que ver con drupal 7 (algunos articulos seguramente se refieren a drupal 6)

http://drupal.org/node/133341

Idioma

Nos descargamos el idioma que queremos:

https://localize.drupal.org/translate/languages/

Lo ponemos en:

drupal-7.31/profiles/standard/translations

Por ejemplo castellano y catalán:

http://ftp.drupal.org/files/translations/7.x/drupal/drupal-7.29.es.po
http://ftp.drupal.org/files/translations/7.x/drupal/drupal-7.29.ca.po

Calendar

http://drupaltherapy.com/date_d7

Estructura/tipos de contenido
Añadir
Nombre: Evento
Grabar
Configurar Campos:
fecha / field_fecha / Date / Select list
guardar

Vista

Habilitar views y views_ui
Estructura / Views

Añadir campo:
contenido:fecha

Añadir Filtro:
Contenido:tipo=

Drush

Descargar sitio

* Una version determinada

sudo drush dl drupal-6 --destination=/var/www

Descargar modulos

Asumimos que la instalacion esta de drupal esta en '/var/www/drupal'

Si queremos elegir entre una lista de versiones, util cuando trabajamos (Feb/2013) todavia con Drupal 6:

cd /var/www/drupal; sudo drush dl storm --select

Y elegimos la que nos guste:

Choose one of the available releases:
 [0]  :  Cancel                                                            
 [1]  :  6.x-2.x-dev  -  2013-Feb-10  -  Development                       
 [2]  :  6.x-2.1      -  2012-Oct-15  -  Supported, Recommended, Installed 
 [3]  :  6.x-1.x-dev  -  2012-Jan-28  -  Development                       
 [4]  :  6.x-1.37     -  2012-Jan-03  -  Supported                         
 [5]  :  6.x-1.33     -  2010-May-19  -  Security                          

2
Project storm (6.x-2.1) downloaded to                                          [success]
/var/www/drupal_6/sites/all/modules/storm.
Project storm contains 11 modules: stormnote, stormteam, stormorganization, stormtask, stormproject, storminvoice, stormperson, stormtimetracking, stormexpense, stormticket, storm.

Descargar modulos (viejo)

Para instalar paquetes desde la linea de comandos

Descargar un módulo:

$ drush -r /var/www/drupal7 dl views
Project views (7.x-3.5) downloaded to /var/www/drupal7/sites/all/modules/views.          [success]
Project views contains 2 modules: views, views_ui.

A partir de un sitio construir un make. Desde el root del sitio drupal ejecutamos:

# drush make-generate sitio.make

Todavía no está implementado generar un profile a partir de una instalación:

# drush profile-generate

Definir alias para drush:

/etc/drush/aliases

Habilitar modulos

cd /var/www/drupal; sudo drush en storm

Deshabilitar modulos

cd /var/www/drupal; sudo drush dis storm

Idiomas

1. Habilitar modulo 'locale':

sudo drush en locale

2. Descargar y habilitar modulo 'drush_language'

sudo drush dl drush_language; sudo drush en drush_language

3. Anyadir el idioma, en este caso 'es':

sudo drush language-add es

Todavia no me funciona

Themes

* Deshabilitar

sudo drush pm-disable theme_name

* Habilitar:

sudo drush pm-enable theme_name

* Cambiar tema:

sudo drush vset theme_default theme_name

* Listar disponibles:

drush pm-list | grep Theme

Actualizar core

sudo drush vset --always-set maintenance_mode 1
sudo drush cache-clear all
sudo drush up drupal
sudo drush vset --always-set maintenance_mode 0
sudo drush cache-clear all

Actualizar modulo

sudo drush vset --always-set maintenance_mode 1
sudo drush cache-clear all
sudo drush up

Vemos los modulos que requieren actualizar:

 Name                                           Installed version  Proposed version  Status                                             
 AudioField (audiofield)                        7.x-1.0-beta8      7.x-1.0-beta8     Up to date                                         
 Drupal                                         7.31               7.31              Up to date                                         
 Bundle copy (bundle_copy)                      7.x-2.x-dev        7.x-2.x-dev       Up to date                                         
 Coder (coder)                                  7.x-2.2            7.x-2.2           Up to date                                         
 Chaos tools (ctools)                           7.x-1.4            7.x-1.4           Up to date                                         
 Custom Formatters (custom_formatters)          7.x-2.2            7.x-2.2           Up to date                                         
 Devel (devel)                                  7.x-1.5            7.x-1.5           Up to date                                         
 Features (features)                            7.x-2.0            7.x-2.2           Update available                                   
 Media (media)                                  7.x-1.4            7.x-1.4           Up to date                                         
 Fivestar (fivestar)                            7.x-2.1            7.x-2.1           Up to date                                         
 Flag (flag)                                    7.x-3.5            7.x-3.5           Up to date                                         
 Form builder (form_builder)                    7.x-1.5            7.x-1.5           Up to date                                         
 getID3() (getid3)                              7.x-1.0            7.x-1.0           Up to date                                         
 Libraries (libraries)                          7.x-2.2            7.x-2.2           Up to date                                         
 Link (link)                                    7.x-1.2            7.x-1.2           Up to date                                         
 MediaFront (mediafront)                        7.x-2.2            7.x-2.2           Up to date                                         
 Options element (options_element)              7.x-1.12           7.x-1.12          Up to date                                         
 Remote stream wrapper (remote_stream_wrapper)  7.x-1.0-rc1        7.x-1.0-rc1       Up to date                                         
 Token (token)                                  7.x-1.5            7.x-1.5           Up to date                                         
 Views (views)                                  7.x-3.8            7.x-3.8           Up to date                                         
 Views RSS (views_rss)                          7.x-2.0-rc3        7.x-2.0-rc3       Up to date                                         
 Views RSS: iTunes Elements (views_rss_itunes)  7.x-1.0-rc2        7.x-1.0-rc2       Up to date                                         
 Voting API (votingapi)                         7.x-2.11           7.x-2.12          Update available                                   
 Webform (webform)                              7.x-3.20           7.x-3.21          Update available                                   
 Premium Responsive (responsive)                7.x-1.7            7.x-1.7           Up to date 

Actualizamos el modulo Features:

sudo drush pm-update features votingapi webform
y

Comprobamos de nuevo:

sudo drush up

Terminamos:

sudo drush vset --always-set maintenance_mode 0
sudo drush cache-clear all

Ver configuración de drush

Útil para por ejemplo saber qué php.ini está usando:

drush status
exec() has been disabled for security reasons bootstrap.inc:636      [warning]
The following restricted PHP modes have non-empty values:                [error]
disable_functions. This configuration is incompatible with drush. 
Please check your configuration settings in /etc/php5/cli/php.ini or
in your drush.ini file; see examples/example.drush.ini for details.
exec() has been disabled for security reasons bootstrap.inc:441        [warning]
exec() has been disabled for security reasons bootstrap.inc:636        [warning]
exec() has been disabled for security reasons bootstrap.inc:636        [warning]
exec() has been disabled for security reasons bootstrap.inc:636        [warning]
 Drupal version                :  7.34                                          
 Site URI                      :  http://default                                
 Database driver               :  mysql                                         
 Database hostname             :  localhost                                     
 Database username             :  test_directa_cat                              
 Database name                 :  test_directa_cat                              
 Database                      :  Connected                                     
 Drupal bootstrap              :  Successful                                    
 Drupal user                   :  Anònim                                        
 Default theme                 :  directa                                       
 Administration theme          :  seven                                         
 PHP configuration             :  /etc/php5/cli/php.ini                         
 Drush version                 :  5.4                                           
 Drush configuration           :                                                
 Drupal root                   :  /home/virtualmin/test.directa.cat/public_html 
 Site path                     :  sites/default                                 
 File directory path           :  sites/default/files                           
 Private file directory path   :  sites/default/files/private                   
 temp                          :  /tmp                                          

Jquery

http://drupal.org/node/1078080

Descargar: http://jquery-ui.googlecode.com/files/jquery-ui-1.7.3.zip

Instalar módulo jquery: http://ftp.drupal.org/files/projects/jquery_ui-6.x-1.x-dev.tar.gz

Lentitud

www.acquia.com web del creador de Drupal, buscar blog

Drupal penaliza con usuarios autenticados, permisos y roles

Menús o bloques renderizados pero no mostrados, por ejemplo los borra un template

Módulo estadísticas o logs apache para mirar lo que tarda una página

Herramientas

Valores “normales” de una página. Empezamos a mirar las páginas mas sencillas, como por ejemplo un 404:

paginador views_large_pager así views no tiene que hacer un count(*)

Lo mejor de caché: Caché de blocks

Panels tiene un execelente sistema de cahcé aunque digan que va lento.

Migracion entornos

Módulo uid → guarda identificador único de contenidos

Módulo deploy → para migrar contenido entre entornos.

Multisite

Crear BBDD # mysql -u root -p

mysql> create database if not exists <base_de_dades> character set=“UTF8”;

mysql> grant usage on *.* to '<usuari>'@'%' identified by '<contrasenya>';

mysql> GRANT ALL PRIVILEGES ON <base_de_dades> . * TO '<usuari>'@'%' WITH GRANT OPTION ;

Crear carpeta en /sites/eloin.org

Copiar fitxer configuració: drupal/sites/default$ cp default.settings.php ../eloin.org/settings.php

@code
array(
  'driver' => 'mysql',
  'database' => '<base_de_dades>',
  'username' => '<usuari>',
  'password' => '<contrasenya>',
  'host' => 'localhost',
  'port' => 3306,
  'prefix' => 'd7_',
  'collation' => 'utf8_general_ci',
);
@endcode

Openlayers

http://drupal.org/node/627816

Instalar:

Crear tipo contenido con dos campos float * longitud * latitud

Añadimos nodos como puntos del mapa con coordenadas

Creamos vista de tipo nodo

Seleccionamos “open data layers” y pulsamos “add display”

En style seleccionamos “open layers data”

Seleccionamos los campos “content: latitu” y “content: longitut”

Falta:

Add a meaningful title to the new display as it will show up in the map preset information in the next step.

Ahora creamos preset

En admin/site building/openlayer/preset/add

Templates

http://demo.rockettheme.com/drupal/

Widgets

Twitter

Para añadir un timeline de twitter, creamos el código desde la web de twitter desde:
https://dev.twitter.com/docs/embedded-timelines

Y lo pegamos en un bloque. Vamos a

Themes

Infuse

Crear Menú:

Administer > Site Building > Menus

En primary links creamos los ítems y los ponemos como queramos.

El path es del tipo:

node/1

Añadir Stories (banner rotatorio con imagenes)

http://www.rockettheme.com/tutorial-files/drupal6/drokstories.php

Como tengo un multisite, la ruta de las imagenes la puesto en:

../../files/stories/demo/rokstories/

Y entonces queda:

drupal6/sites/misitio.com/files/stories/demo/rokstories

Hay que ponerlo en el block feature o showcase o scroller para que quede bien

Cambiar “Read the Full Story” del icono Cambiamos el texto del fichero:

rt_infuse_d6/drokstories.tpl.php

La línea donde pone “Read the Full Story”:

<div class="clr"></div>
<div class="readon-wrap1">
<div class="readon1-l"></div>
<a href="<?php echo $fullpath2; ?>" 
title="<?php echo $anode->title; ?>"
class="readon-main">
<span class="readon1-m">
<span class="readon1-r">Read the Full Story</span>
</span></a></div><div class="clr"></div>

rokscroller

http://113.20.7.57/~nhoj/index.php

Modulos interesantes

Mogul

Content types etc… para podcasts

Enlace interesante:

http://www.cmsquickstart.com/blog/build-podcast-archive-drupal-7

Bundle copy

En su version 7.x-2.x-dev permite clonar content types

https://www.drupal.org/project/bundle_copy

Errores

Congelado en la pantalla de base de datos durante la instalacion

Sintoma:

1. No hay forma de proseguir de la pagina:

install.php?profile=standard&locale=en&op=start&id=1

2. Solo ha creado 32 tablas

mysql -u root -p -e "use drupal; show tables;"

3. Error drush

Solucion:

1. Editar php.ini

sudo cp /etc/php5/apache2/php.ini /etc/php5/apache2/php.ini.bak
sudo vim /etc/php5/apache2/php.ini

2. Ajustar

session.cookies_secure=0

3. Reiniciar apache

sudo service apache2 restart

4. Borrar cache de navegador

5. Repetir el proceso de instalacion desde 0 (filesystem borrado/creado y lo mismo con la base de datos)