**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 =====
* newrelic.com analizador de webs
* google analytics
* Profiles: Xhprof y Xhprofcli. Extensión php
* Módulo devel
* funciones: timer_start() y timer_read() para ver cuanto tardan bloques, etc... en ser renderizados.
Valores "normales" de una página. Empezamos a mirar las páginas mas sencillas, como por ejemplo un 404:
* 1-1.5 sec
* 40-60 mb
* 100-300 queries
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 character set="UTF8";
mysql> grant usage on *.* to ''@'%' identified by '';
mysql> GRANT ALL PRIVILEGES ON . * TO ''@'%' 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' => '',
'username' => '',
'password' => '',
'host' => 'localhost',
'port' => 3306,
'prefix' => 'd7_',
'collation' => 'utf8_general_ci',
);
@endcode
====== Openlayers ======
http://drupal.org/node/627816
Instalar:
* openlayers
* ctools
* cck
* views
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":
===== 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)