Curso de desarrollo de módulos con Drupal 7 (II): Instalación y Desinstalación

En esta entrega generaremos el fichero module.install en el que colocaremos los hooks de instalación y desinstalación. Para ello crearemos un nuevo fichero en el módulo, en nuestro caso el ejemplo.install y lo colocaremos en la carpeta principal del módulo. Como todo fichero de php del módulo deberemos colocar la cabecera apropiada e incluirlo en el fichero .info. Dentro del fichero ejemplo.info incluiremos una línea con el siguiente código:
files[] = ejemplo.install
De esta manera el módulo configura la inclusión del fichero ejemplo.install para que Drupal sepa que dispone de él.
Por otra parte, dentro del fichero ejemplo.install incluiremos el siguiente código:
<?php
/**
* @file
* Fichero del módulo de ejemplo para drupal
*
* Descripción larga del fichero que netra dentro del módulo de ejemplo de Drupal
*/
/**
 * implements hook_install
 */

function ejemplo_install() {
}

/**
 * implements hook_uninstall
 */
function ejemplo_uninstall() { 

}
Como puede verse incluimos dos funciones nuevas en el fichero: ejemplo_install() y ejemplo_uninstall(). En este caso están vacías, pero dichas funciones va a ejecutarse cuando se realice la instalación y desinstalación del módulo respectivamente.
La instalación del módulo, cuando se está haciendo el desarrollo, se realiza la primera vez que entramos en Drupal  y existe la carpeta del módulo.
Por lo que puede llegar a ser necesario realizar manualmente la desinstalación del módulo para que aplique los cambios de la instalación al volver a entrar. Para realizar la desinstalación deberemos acceder al listado de módulos, y desactivar el módulo.
Después en el listado de módulos deberemos pulsar en la pestaña «Desinstalar»…

Como puede verse esa pestaña aparece en la parte superior derecha de la página. Pulsamos en ella y nos aparecerá un formulario de desinstalación de módulos similar al siguiente…

com puede verse aparecerá todos aquellos módulos desactivados, en los cuales esté permitida su desinstalación. Pulsaremos la checkbox la lado del módulo que queremos desinstalar y pulsaremos en el botón «Desinstalar». Nos aparecerá una confirmación de la desinstalación del módulo, similar a la siguiente…

pulsaremos en el botón «Desinstalar». Y nos aparecerá el resultado de la desinstalación, si todo ha ido correctamente, veremos una pantalla indicando que el módulo se ha desinstalado correctamente, similar a la siguiente…

De esta manera se ejecutará el hook_uninstall, en nuestro caso la función ejemplo_uninstall() del ejemplo.module.
Después podemos volver al listado de módulos y volver a activar el módulo, por lo que se ejecutará el hook_install, en nuestro caso la función ejemplo_uninstall().
La idea fundamental de estas dos funciones es que deberían ser totalmente atómicas en su concepto. Es decir, todo aquello que haga el hook_install, debería ser deshecho por el hook_uninstall.

Planificando el módulo

Es hora de decidir qué es lo que queremos que haga el nuevo módulo. En nuesto ejemplo, intentaremos añadir un campo nuevo a Drupal para luego poder usarlo desde los contenidos. Por lo que necesitaremos usar ese campo dentro del módulo.

Desde la instalación deberemos decirle a Drupal que queremos usar un nuevo campo.
Desde la administración del módulo podremos elegir que tipos de contenido tendrán disponible este nuevo campo.
Desde la desinstalación, deberemos mirar todos los tipos de contenido para ver cuales de ellos disponen de ese campo, después borrar el campo de aquellos tipos de contenido que lo tengan y luego borrar el campo para que drupal no lo use.

hook_install()

Desde el hook_install() deberemos decir que debe ejecutar drupal cuando el módulo se instala.
En nuestro caso, debemos usar el propio API de Drupal para retocar los campos disponible para los tipos de datos, por lo que no es necesario cambiar el modelo de la base de datos, y no tenemos que hacer uso del hook_schema(). En el caso de que tuviesemos que generar nuevas tablas y campos de tabla en el modelo de la base de datos, sí tendríamos quehacer uso de hook_schema().
Para incluir el campo deberemos incluir el códufo en el hook_install(), en nuestro caso, en la función ejemplo_install(), con el siguiente código:
function ejemplo_install() {

  // comprueba si existe el código
  $field = field_info_field(‘annotation’);

  // if the annotation field does not exist then create it
  if (empty($field)) {
    $field = array(
      ‘field_name’ => ‘annotation’,
      ‘type’ => ‘text_with_summary’,
      ‘entity_types’ => array(‘node’),
      ‘translatable’ => TRUE,
    );
    $field = field_create_field($field);
  }

}
Com puede verse en este código fundamentalmente estamos usando las funciones del API de Field, cuyos nombres siempre empiezan por «field_».
Las dos primeras líneas intenta averiguar mediante la función «field_info_field()» si el campo para las anotaciones ‘annotation’ existe ya en el Drupal donde queremos instalar el módulo.
Si es así no hace nada, si no es así, intenta crear el campo mediante la llamada a la función «field_create_field()» donde le pasa como parámetro un array con los metadatos principales del campo que quiere crear, en nuestro caso:

  • field_name: nombre del campo que queremos crear.
  • type: tipo de campo, responde a los distintos tipos redefinidos dentro de drupal
  • entity_types: tipo de entidad sobre el cual queremos hacer uso del campo
  • translatable: boolean que representa si el campo es traducible o no.

hook_uninstall()

Como se ha explicado anteriormente será necesario deshacer las acciones realizadas desde la administración y desde la instalación del módulo, por lo que el código de nuestro ejemplo_uninstall() será el siguiente…
/**
 * implements hook_uninstall
 */
function ejemplo_uninstall() {

   watchdog(«Annotate Module», «Uninstalling module and deleting fields»);
  
   $types = node_type_get_types();  
  
   foreach($types as $type) {
      delete_annotation($type);  
   }
  
   $field = field_info_field(‘annotation’);

   if ($field) {
      field_delete_field(‘annotation’);
   }
  
}

 Como podemos observar lo primero que hacemos es sacar un mensaje a través de la función watchdog, donde pasamos dos parámetros, el nombre del módulo que genera el mensaje y el mensaje en sí mismo. Para informar de lo que estamos haciendo.
Posteriormente cogemos el listado de tipos de contenidos como un array mediante la función node_type_get_types().
Después recorremos el array de tipos para ir borrando uno a uno el campo ‘annotation’ en todos y cada uno de ellos, a través de una función creada por nosotros que incluiremos más adelante.
Finalmente, miramos a ver si existe el campo ‘annotation’ en el Drupal y si es así lo eliminamos mediante la función field_delete_field(), donde le pasamos como parámetro el nombre del campo ‘annotation’.
De esta manera toda la información que gestiona el módulo será borrada, tanto los campos que hayamos utilizado en los distintos tipos de datos, como el campo en sí mismo.
Por lo que podemos decir que hemos conseguido mantener esa atomicidad en el comportamiento entre install, admin y uninstall, como explicamos anteriormente.

Para que funcione correctamente el hook_uninstall(), agregamos también la función delete_annotation() al fichero ejemplo.install..
/**
 * Function:  delete_annotation($type)
 * Purpose :  deletes instances of the annotation field from content types
 */
function delete_annotation($type) {

  $instance = field_info_instance(‘node’, ‘annotation’, $type->type);

  if ($instance) {
     field_delete_instance($instance);
  }

}
Como puede verse, según el tipo de contenido que pasamos, intentamos saber si dicho tipo tiene asociado el campo ‘annotation’, mediante la llamada a la función field_info_instance. Como primer parámetro pasamos el tipo de contenido que queremos comprobar ‘node’, los contenidos. Como segundo parámetro pasamos el nombre del campo ‘annotation’ y como tercer parámetro pasamos el nombre del tipo de contenido que estamos comprobando.
Si dicho campo está relacionado con el tipo de contenido la variable $instance tendrá un valor distinto a false, por lo que ejecutaremos el método field_delete_instance(), pasándole como parámetro la variable $instance, que eliminará dicha relación con el tipo de contenido.

Referencias: 

Licencia Creative Commons

Curso de Drupal 7 (XI): Vistas, Vistas y más Vistas

Módulos de generación automática de contenidos

 Una de las tareas básicas en el diseño de sitios web es la generación de contenidos que nos permitan visualizar cómo podría quedar el sitio web una vez se hayan introducido los contenidos.
Para ello será necesario la instalación de un conjunto de módulos:

  • Devel: módulo base de generación
  • Devel image provider: módulo que permite la introducción de fotografías en los contenidos generados
  • Drupal Ipsum: módulo de generación de lorem ipsum para los textos de los contenidos
  • Variable: módulo de pedendencia del módulo Lorem Ipsum

Una vez instalados y activados los módulos dispondremos de un nuevo apartado en la Configuración, llamado «Desarrollo»…

como puede verse en la captura disponemos de una serie de enlaces que nos vana permitir la generación de contenidos, menús, taxonomías, términos, usuarios, etc…
La parte más interesante es la generación de contenidos, si pulsamos en el enlace veremos lo siguiente…



como puede observarse, nos salen disponibles todos los tipos de contenido que disponemos, apra poder selccionar los que queremos generar y las siguientes ocpiones:

  • Drupal Ipsum Settings: donde podemos configurar si deseamos usar el drupal ipsum para generar los textos y los comentarios.
  • Delete all content: si queremos borrar todo el contenido disponible en el sitio. Esta opción es sólo recomendable si estamos maquetando Views o si el sitio realmente está vacío de contenido.
  • How many nodes would you like to generate? indicamos en número de nodos (contenido) que queremos generar.
  • How far back in time should the nodes be dated? indicamos la fecha en la que los nodos deberían ser generados.
  • Maximun number of coments por node. Número de comentarios maximos de comenarios por nodo.
  • Max word length of titles. Número máximo de palabras para el título.
  • Add url alias  for each node. Añadir una alias de URL para cada nodo.
  • Set Language on nodes. Seleccionar el idioma o idiomas del contenido generado.

Una vez configurado el formulario pulsamos en el botón «Generate».Nos indicará los nodos que haya añadido y eliminado. Si vamos al listado de contenidos nos aparecerán los nuevos contenidos…

Y ya podremos usarlos como ejemplos en a configuración de las Views.

Integración Panels con Views

una de las cuestiones principales en la generación de los paneles es la posibilidad de integrar Views (en adelante Vistas) con los paneles.
Para ello deberemos realizar la activación de módulos de integración: page manager, views content panes
A continuación, veremos un ejemplo de inetgración de una vista en un panel y la asignación de nodos a paneles. Como vimos en la anterior entrega tendremos que generar una vista y un nuevo panel.
Con los módulos activamos deberíamos poder integrar ambos contenidos en una misma página.
Desde el menú de administración->Estructura->Paneles llegaremos al menú principal de gestión de paneles…

como puede observarse disponemos de los siguientes elementos en pantalla:

  • En la parte de la superior izquierda está un listado de acciones principales:
    • Añadir una nueva página de panel.
    • Añadir un mini panel: un bloque con contenidos
    • Añadir un panel con contenido (nodo)
    • Construir un nuevo Layout: una nueva manera de estructurar los contenidos en paneles
    • Construir un estilo nuevo para paneles.
  • En la parte inferior izquierda aparecen los listados de minipaneles y estilos
  • En la parte superior derecha aparece el asistente de creación de «Landing page» páginas con url , entradas a menú, etc…
  • En la parte inferior derecha aparece el listado de páginas con paneles.

 Para la práctica utilizaremos el panel que hemos contruido en la anterior entrega y que deberíamos ver en listado de páginas de panel de la derecha. Como puede verse podemos elegir un conjunto de acciones la lado de cada página. Aquellas páginas que hemos generado nosotros, la operación por defecto es la edición, pero si pulsamos sobre el triángulo que tiene la lado al botón nos aparecerán las otras opciones disponibles para ese elemento. De esta manera podremos cambiar la selección y luego pulsar sobre el botón una vez cambiado.
En este caso pulsamos sobre el botón «edición» del panel y llegaremos a la configuración del panel…

Como puede observarse en un formulario bastante complejo y está organizado en pestañas que facilitan su configuración:

  • Opciones:
    • Resumen de los datos de la página generada con el panel
    • Básico: donde podemos configurar su nombre, su URL de acceso, hacerla página principal, etc..
    • Access: nos permite cambiar varios criterios dependiendo del contexto en el que nos movamos, tales como el tema presente en ese momento, si estamos en la página principal, etc…
    • Menú: nos permite configurar la entra al panel desde los menús.
  • Panel:
    • Resumen
    • General: donde podemos configurar los ID’s y estilos visuales asignados al panel.
    • Selection Rules: configuración similar a la de access de las opciones, pero esta vez específicas del panel que estamos editando.
    • Contexts: contexto en el que nos encontramos, tales como si estamos presentado un determinado nodo, o si estamos en un determiando término de una taxonomía.
    • Layout: configuración de la forma del panel, con sus elementos, nos ofrecen plantillas de paneles a elegir.
    • Content: elección del contenido a integrar en los paneles.
    • Vista previa: previsualización del panel.

Cuando termiamos de configurar el panel pulsamos en el botón «Guardar».
En este caso nos centraremos en la introducción de contenido en los paneles, para ello pulsaremos en la opción Contenido del Panel…

como puede observarse, podemos gestionar las distintas zonas visuales que tenemos en el panel, en este caso sólo hay dos zonas, la izquierda y la derecha. Para agregar un contenido a una de estas zonas existen en cada zona menús contextuales con el icono de una rueda dentada, si los pulsamos se nos despliega el menú y nos aparece la opción de agregar contenido…

si pulsamos sobre el enlace de «Agregar contenido» nos aparecerá una nueva ventana sobre la que podremos selccionar el contenido que queremos agregar…

En nuestro caso seleccionaremos primero la opción existing node y nos aparecerá la pantalla de búsqueda de nodo…

En ella buscaremos en la caja principal de texto por título o número de nodo la página que buscamos, al ser un autocompletado nos irá mostrando las distintas páginas que cumplen con la búsqueda, selccionaremos una, configuramos el resto de campos a nuestro gusto y pulsamos en «Finish». Y volveremos a la configuración de zonas visuales donde nos aparecerá el contenido que hemos seleccionado en la zona en la que lo agregamos.
De la misma manera que intentamos agregar un nodo, intentaremos agregar una vista. Salvo que después de «agregar contenido» seleccionaremos «Views» y debería aparecer un listado similar al siguiente…

seleccionamos la Vista pulsando en ella y pulsamos en continuar. Nos aparecerá la pantalla de configuración de la vista en el panel…

configuramos los parámetros y pulsamos en «Finish» y veremos la vista en la zona definida.

Como puede verse tanto el módulos Views com Panels son muy complejos, pero con estos pequeños consejos podemos hacer un uso sencillo y práctico de ellos para construir vistas complejas y listados de tipos de contenidos, incluso mini paneles para usar como bloques en los temas visuales.

Gestión de Eventos y Calendarios 

Módulo: Calendar
Dependencias: Date
Una vez instalador y activados los módulos, incluido el Date Views, para su integración con Views. podemos añadir un nuevos nuevos tipos de campos a los tipos de contenido de Drupal 7.
A modo de ejemplo crearemos un nuevo tipo de contenido denominado Eventos al que agregaremos un campo de tipo «Date(Iso Format)» al tipo de contenido tal como vimos en anteriores entregas…

Después de añadir el campo y seleccionar el control como campo de texto, pulsaremos en «Guardar».
De esta manera ya dispondremos de un tipo de contenido con un campo por el que podremos filtar por fecha.
Desde el módulo Views podremos gestionar una vista de calendario, así desde el listado de Vistas…

pulsamos sobre el enlace «Add view from template» y llegaremos a la selcción de plantilla…

de esta manera podremos selccionar una plantilla de View conforme al tipo del contenido y el campo por el que queremos filtrar, en este caso por la plantilla de «A calendar view of the ‘field_nombredelcampoquehayamospuestoenloseventos’ in the node base table» y pulsamos en el enlace «add» que hay al lado derecho de dicha pantilla de vista.
Rellenamos el nombre de la vista, por ejemplo con «Calendario de Eventos» y pulsamos en «Continuar». Y nos lleva a la pantalla de configuración de la vista del Calendario…

donde podemos gestionar el resto de campos de friltrado que consideremos necesarios y después pulsaremos en «Guardar».
De esta manera dispondremos de una vista con el calendario configurado que podremos usar como página, bloque o parte de un panel.

Mejoras de Views 

Los módulos que podeís echarle un vistacillo, son aquellos que complementan las Vistas:

  • Views slideshow (para hacer sliders y similares), Libraries (dependencia de views slideshow) 
  • Advanced help (ayuda para views y panels)
Licencia Creative Commons

Curso de Drupal 7 (X): Módulos: Views, Wysiwyg y Panels

Views

URL: http://drupal.org/project/views 
Dependencias: ctools
Views es un módulo de drupal que permite generar vistas de contenido a través del propio interfaz de drupal.
Para empezar a funcionar será necesario acceder al menú de administración al enlace de estructura…

como puede verse después de la instalación del módulo y sus dependencias y su posterior activación, nos ha colocado un nuevo enlace en «Estructura» llamado «Views». Pulsamos en él y accedemos al listado de vistas disponibles…

como puede observarse en la captura nos presentala el listado de vistas así como varios enlaces:

  • Add new View: Añadir nueva Vista
  • Add new view from template: añadir nueva vista desde plantilla
  • Importar.

En esta entrega veremos las bases de este módulo, pero es un móduloq ue ofrece multitud de posibilidades, no descarto hacer una entrega sólo para explicar las opciones avanzadas que ofrece.
Para empezar plsamos sobre el enlace «Add new View» y así accedemos al formulario de alta de una nueva vista…

como puede verse en la captura en este formulario rellenarse los siguientes campos:

  • Título: nos genera a su vez un machine name único, para su referencia interna.
  • Descripción.
  • Show: Este apartado trata de filtar entre todos los datos dados de alta en el sitio web, cuales son aquellos que nos interesa mostrar en la vista. Según vamos seleccionando en los distintos selectores, sus campos van modificándose y adantándose a los datos, para permitir su filtrado, por defecto aparece selccionado contenido.
    • Selector de tipo de Origen de datos: Por defecto, el contenido del sitio web.
    • Selector del tipo de contenido: los distintos tipos de contenido.
    • Tagged by: etiquetas de selección para filtrar los resultados.
    • Sorted by: manera de ordenar los resultados.
  • Create a page: creación de una página asociada a la vista para su posterior referencia.
    • Título de la página
    • Ruta
    • Display Format: para elegir cóm presentar los resultados de la búsqueda.
    • Items to display: número de elementos a presentar por página.
    • Use a pager: utilizar un paginados para los resultados o no.
    • Create a menu link: crear un enlace en un menú.
    • Include a RSS feed: para crear un RSS de los contenidos que se vaya publicando en la vista y se pueda sindicar.
  • Create a Block: por si queremos crear un bloque de contenido para después colocarlo en la apariencia del tema principal.

Cuando terminemos de rellenar los datos pulsaremos en el botón «Continue and edit» y veremos la configuración de la visualización de la vista…

donde podemos llegar a configurar:

  • El formato de salida
  • Los campos a presentar
  • Los criterios de filtrado
  • La manera de ordenar los resultados
  • Las configuraciones de la página
  • El encabezado y pie de página
  • El paginador

cuando hayamos termiando de configurar la vista, pulsamos en el botón «guardar» y ya podremos enlazar dicha vista desde cualquier menu.

Wysiwyg

URL: http://drupal.org/project/wysiwyg
Dependencias: ninguna
Wysiwyg es un módulo de drupal que permite la introducción de contenido mediante varios wysiwyg que están presentes en el mercado.
Tras la instalación del módulo pasaremos a la configuración del mismo a través de configuración del módulo, desde el listado de módulos, en la fila de Wysiwyg, pulsamos en el enlace «Configuración», tal como aparece en la siguienet captura…

así accedemos a la configuración del modulo, como puede observase, en la captura…

De esta manera podemos ver que no hay ningún editor wysiwyg instalado en el drupal, así que deberemos descargarlo e instalarlo manualmente, según nos indican los textos. Inicialmente nos decantaremos por descarga e instalar el CKEditor. Lo descargarmos desde la url: http://ckeditor.com/download exactamente la útlima versión disponible, en el momento de la redacción de esta entrega es la siguiente: http://download.cksource.com/CKEditor/CKEditor/CKEditor%203.6.3/ckeditor_3.6.3.zip
antes de nada debemos generar un directorio llamado «libraries» dentro del directorio «sites/all» dentro de la instalación de drupal. entonces desacargamos el fichero del CKEditor.
Una vez descargado, descomprimimos el fichero directamente dentro del directorio «sites/all/libraries», por lo que deberíamos disponer de un directorio llamado «ckeditor» dentro de la carpeta «sites/all/libraries».
Una vez copiada la carpeta a su sitio, volvemos a entrar en la configuración de Wysiwyg y nos encontraremos con un formulario similar al siguiente…

como puede observarse, podemos elegir de todos los wysiwyg instalados cual es elq ue queremos utilizar para los distintos tipos de formatos de entrada. Seleccionaremos el CKeditor en lso selctores de Filtered HTML y Full HTML y pulsaremos en el botón «Guardar» y aparecerá otra vez el formulario pero con el CKeditor ya seleccionado, en ambos casos y un enlace llamado «editar» y otro llamado «eliminar».
Con el enlace «eliminar», conseguiremos de-selecccionar el editor y poder elegir otro para ese formato de entrada.
Con el enlace «editar» podremos selccionar a través de el siguiente formulario…

Las distintas opciones para el editor. fundamentalmente resultan interesantes las de «Buttons and Plugins» donde podemos marcar los botones que queremos que aparezcan en ese formato de entrada en concreto. Una vez configurado el Wysiwyg, pulsaremos en el botón «Guardar». Apareceremos de nuevo en el formulario de selección de editor.
si todo ha ido correctamente ahora al introducir un contenido que disponga de algún tipo de formato de entrada, como el body de los artículos, dispondremos de este editor si seleccionamos este tipo de formato de entrada…

Panels

URL: http://drupal.org/project/panels
Dependencias: ctools
Panels es un módulo que permite la genración de zonas visuales en una página.

Después de instalarlo, para acceder a la configuración de panels, entraremos a través del menú de Configuración-> Estructura, donde aparecerá un nuevo enlace llamado «Panels»…

 donde accedemos al apartado de dar de alta un nuevo panel…

como puede verse nor ofrecen distintas posibilidades de dar de alta un panel:

  • Mini Panel
  • Panel node:
  • Custom Layout

En esta entrega, elegiremos  «Panel Node» y veremos la configuración del panel…

dependiendo del diseño que elijamos a través del selector, nos presentará unas plantilla u otras distintas para elegir…

En el ejemplo, elegiremos «2 columnas» y «2 Column Bricks» y nos presentará el siguiente formulario…

Con los siguientes campos:

  • Título
  • Id CSS
  • Renderer:
    • Standard: ve normalmente la página.
    • In place editor: permite a usurios privilegiados (con permisos suficientes) para cambiar o actualizar lso contenidos de los paneles.
  • Las opciones típicas de un contenido.

Después de seleccionar las opciones deseadas, pulsaremos sobre el botón «Guardar», entonces veremos la vista de dicho panel y podremos configurar su visualización y su contenido…

Curso de Drupal 7 (IX): Módulos

Los módulos en Drupal tienen variadas funciones, tales como añadir nuevos tipos de datos, nuevos tipos de contenido y en general añadir nuevas funcionalidades al sitio web.
Los módulos principales de Drupal se agrupan en una categoría denominada Núcleo (Core), que son aquellos módulos incluidos con la distribución principal de Drupal.

Dependencias

 Las dependecias son una manera de plantear los requisitos de los módulos. Como toda pieza de software, los módulos tienen requisitos, o dicho de otro modo, dependen de la existencia de otras piezas de software, en el caso de los módulos, otros módulos que estén instalados y activados para permitir su correcto funcionamiento.
En la mayor parte de las descripciones de los módulos podemos encontrar debajo del texto descriptivo de la funcionalidad del módulo, un conjunto de listados de módulos que antuan bajo el sistema de dependencias de Drupal.
De esta manera podemos ver de una manera bastante sencilla, que módulos son necesarios para que un módulo pueda activarse y usarse con normalidad, estos módulos se presentarán en la etiqueta «Necesita».
Por otra parte puede pasar que un módulo sea dependencia de otros módulos, es decir, que sea necesario que esté activado y configurado para poder activar otros módulos. Estos módulos dependientes del nuestro se presentarán bajo la etiqueta «Necesitado por».
Por ejemplo en el listado inicial de módulos, después de realizar la instalación Standard, puede observarse que el módulo «Comment», que es el que se encarga de gestionar los comentarios sobre los contenidos del sitio web, «Necesita» para poder funcionar de que los módulos «Text», «Field» y «Field SQL Storage» estén instalados y activados. Mientras que los módulos «Forum» y Tracker dependen de que el módulo «Comment»esté instalado y configurado.

Listado de módulos

Para ver aquellos módulos instalados en nuestro sitio web debemos pulsar en el enlace «Módulos» dentro de la configuración o en la barra de tareas,así veremos un lisado similar al siguiente…


Como puede observarse accedemos directamente al listado de módulos instalador en nuestro sitio web. Los módulos están estructurados por categorías principales, en este caso en concreto, sólo existe una categoría que es la de Núcleo (Core).
En cada categoría pueden observarse los siguientes campos:

  • Activado: Checkbox que nos permite activar o desactivar un determinado módulo. si se activa podrán usarse las funcionalidades que añade dicho módulo, sino no.
  • Nombre.
  • Versión.
  • Descripción:
  • Operaciones.

Las operaciones disponibles a través de este listado son las siguientes:

  • Activar Desactivar un módulo.
  •  Instalar nuevo módulo.
  • Ayuda.
  • Permisos: así podremos configurar los permisos del sitio web respecto a los roles dados de alta. Ver el punto VII del curso.
  • Configurar: enlace a la configuración del módulo.Como cada módulo es una funcionalidad distinta las capacidades configurables de cada módulo varían de uno a otro. la mayor parte de los módulos Núcleo de Drupal, con configurables, de una u otra manera a través de la barra de tareas.

Activar/desactivar módulos

Se realiza mediante la checkbox presente en cada fila de la tabla del lisatdo de módulos, luego pulsamos en «Guardar configuración», cuando hayamos terminado de  activar o desactivar módulos. Hay determinadas checkbox que no pueden activarse o desactivarse dentro de en Nucleo. normalmente suele pasar que dichos módulos son los mínimos para el funcionamiento de Drupal.
La activación de módulos instalados requerirá que los módulos de los que depende el módulo que vayamos a activar, estén instalados y activados.

Localización de Módulos

Una de las tareas fundamentales en la generación de un sitio web con drupal es la localización de módulos que cubran los requisitos que tenemos de construcción para el sitio web. La fuente principal para localizar los módulos escritos para drupal es la propia web de Drupal: http://drupal.org/project/modules tal y como se observa en la siguiente captura…

como puede verse, la localización de los módulos en muy similar a la de la localización de los Temas (o Themes).
Disponemos de un buscador donde podemos filtrar por:

  • Categoría del módulo: donde indicamos la funcionalidad principal que buscamos para el módulo.
  • Filtar por compatibilidad: así podemos selccionar la versión de drupal para la que queremos encontrar un módulo.
  • Estado del proyecto: dependiendo del estado actual de madurez del proyecto
  • Cuadro de texto: para buscar por el nombre o la descripción del módulo.
  • Ordenar: de esta manera podemos ordenar los resultados dependiendo de su relevancia, número de instalaciones, etc…

De esta manera podemos observar muy fácilmente cuales son los 10 módulos más usados para la versión 7 de drupal:

  • Views: permite hacer búsquedas sobre contenidos y modificar la presentación de los mismos.
  • Token: permite colocar códigos en los contenidos que tengan una representación de un dato.
  • Pathauto: permite  generar automáticamente los paths para los contenidos principales de drupal.
  • Chaos tool suite: conjunto de apis que permiten la gestión de páginas como paneles.
  • CCK: permite añadir campos personalizados a contenidos.
  • Administration Menu: mejora del menú de administración.
  • Wysiwyg: permite integrar fácilmente un editor visual de código HTML.
  • Date: permite manejar campos de fecha en los contenidos.
  • Google Analytics: sistema de integración de google analytics en Drupal.

Página de un módulo

Usando como ejemplo la página del módulo «IMCE» explicaremos las información relevantes presentes en cualquier página de un módulo…

Como puede observarse a parte del nombre del módulo, su descripciín y el enlace al código fuente. en la página pueden mostrarse más informaciones del módulo, tales como:

  • Capturas
  • Información del proyecto (Project Information): donde pueden verse informacioens importantes, como por ejemplo: El estado del mantenimiento, o el estado del desarrollo, sus categorías, etc..
  • Descargas (Downloads): donde pueden descargarse los ficheros (uno por versión y estado del desarrollo) comprimidos que permiten la instalación del proyecto.
  • Recursos (Resources): aquí normalmente se encuentra el enlace a la documentación.

Cómo elegir una versión del módulo

En este caso, IMCE, al ser un módulo desarrollado desde hace bastante tiempo, dispone de versión para Drupal 6 y para Drupal 7 en su versión «Recommended» o estable. El número de versión de los ficheros permite saber para que versión de Drupal está disponible la descarga, es decir cual descargar para nuestra versión de Drupal.
De esta manera, la versión 7.x-1.5, significa que esta versión está desarrollada para las versiones de Drupal 7.x (siendo x cualquier valor, inicialmente) y se trata de la versión 1.5 del módulo.
Por lo que si queremos instalar el módulo para Drupal 7 deberíamos descargarnos o copiar la URL de esa versión.
Si deseamos descargar el módulo o copiar la URL de instalación, será necesario decidir que con qué versión hacemos, si la versión en Zip o en TGZ. Usualmente los ordenadores windows manejarán más facilmente la versión en Zip, los ordenadores en Linux soportan perfectamente la versión TGZ.
En nuestro caso al estar en un windows elegiremos la versión en Zip para Drupal 7, versión estable, lease: http://ftp.drupal.org/files/projects/imce-7.x-1.5.zip

Instalar un módulo

Desde el listado de módulos tenemos disponible un enlace denominado «Instalar nuevo módulo», cuando lo pulsamos aparece una pantalla similar a la siguiente…

Como puede observarse, nos ofrecen dos posibilidades para la instalación del módulo: mediante una ruta URL o subiendo el fichero comprimido a través del formulario.
una vez relelnado el campo con la URL o selccionado el fichero comprimido del módulo a través del botón examinar, pulsamos en el botón «Instalar».
Entonces se verá una barra de progreso de la instalación del módulo y posteriormente, si todo ha ido bien, saldrá una pantalla similar a la siguiente…

Después pulsaremos en el enlace «enable newly added modules» ó «activar los módulos recientemente instalados» y volveremos al listado de módulos, donde podremos ver nuestro módulo instalado…

Licencia Creative Commons

Categorías de Cursos

RSS Cursos de Desarrollo

  • Introducción a las PWA (Progressive Web Apps) 21/02/2020
    Las PWA se han convertido es una alternativa a las aplicaciones web para colonizar de una manera más eficiente los móviles debido a que pueden funcionar de manera offline y optimizar el rendimiento de la aplicación desde el móvil. Si quieres enterarte de cómo crearlas, de los pros y contras no te pierdas el último […]
  • Introducción al Testing Web 10/02/2020
    Hemos publicado en nuestro canal de Youtube un vídeo grabado durante las clases de un curso de Python Avanzado. El tema es el de Testing Opensource hablado sobre la teoría de Testing, indicando los distintos tipos de pruebas e identificando las herramientas que se usan a la hora de probar una web.
  • Entrevista a Alejandro López CEO de Slimbook 10/02/2020
    Esta semana hemos entrevistado en República Web, a Alejandro López, CEO de Slimbook. Hablamos de sus productos y sobre equipos para desarrolladores, diseñadores web, fotógrafos, editores de vídeo y data scientist. Te lo vas a perder?
  • Gadgets para el formador itinerante: Router Wifi de Viaje 08/02/2020
    Muchas veces los formadores y profesionales itinerantes tenemos el problema de tener que conectarnos a Internet desde hoteles o cafeterías para seguir haciendo nuestro trabajo, en esta entrada veremos un router wifi de viaje muy interesante que he estado utilizando desde hace un tiempo y que me ha dado muy buenos resultados. Como todo en […]
  • Balanceadores de Carga 27/01/2020
    Dentro de la arquitectura web necesitamos cumplir con dos condiciones si queremos que nuestra arquitectura sea suficientemente sólida: Alta Disponibilidad y Alto Rendimiento, en esta entrada veremos cómo cumplir con estos dos principios. La alta disponibilidad trata de conseguir que un servicio tenga el máximo posible de tiempo de disponibilidad, es decir, que el servicio […]
  • Serie de Artículos de Docker 13/01/2020
    En esta entrada veremos cómo manejar Docker, en una serie de artículos explicativos. No te los pierdas He instalado Docker, ¿Y ahora qué? Docker Compose, para cuando quieres arrancar varios contenedores de manera coordinada
  • ¿Que Frameworks de Frontend son los más utilizados en el millón de páginas del Top de Alexa? 09/01/2020
    Partiendo de la idea del blog de de Andros, y del post sobre su estudio del uso de WordPress con un ejemplo de Clojure. He iniciado un proyecto secundario sobre el uso de las tecnologías usadas en las, más de 1.000.000 principales webs de Internet según Alexa. La idea, es la de ampliar la publicación […]
  • Artículos de administración de Servidores 08/01/2020
    Esta serie de artículos nos permiten saber cómo se instala y se configura un servidor desde cero: Nuevo Servidor NAS reciclado Acceso a servidor de la oficina desde fuera gracias a dinaip Configuración de un firewall de manera sencilla en Debian/Ubuntu
  • ¿Cuál es el uso de WordPress en los principales sitios de Internet según Alexa? 14/12/2019
    Empezamos con nuestra serie de publicaciones sobre tecnologías concretas que más se usan en Internet, en este caso con WordPress. ¿Quieres saber cómo es de importante y cuánto se utiliza? No te pierdas esta entrada.
  • Estudio de Uso de Tecnologías en el millón de páginas más vistas según Alexa 13/12/2019
    Partiendo de la idea del blog de de Andros, y del post sobre su estudio del uso de WordPress con un ejemplo de Clojure. He iniciado un proyecto secundario sobre el uso de las tecnologías usadas en las, más de 1.000.000 principales webs de Internet según Alexa. La idea, es la de ampliar la publicación […]

Si estás interesado en seguir formándote tenemos una serie de cursos gratuitos: http://cursosdedesarrollo.com/cursos/

También disponemos de algunos cursos de pago por si son de tu interés: https://cursosdedesarrollo.com/tienda/

Curso de Angular: https://cursosdedesarrollo.com/tienda/angular/

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información. ACEPTAR

Aviso de cookies