drupal
El Rediseño de Drupal.org
Carlos — Mar, 05/08/2008 - 09:42
Dries está estudiando la empresa que hará el rediseño de Drupal.org de entre todas las que se presentaron para realizar el trabajo ya que la Asociación de Drupal la escogerá en breve (si no lo ha hecho ya). El rediseño era una de las mejoras que la gente había pedido en la última encuesta.
Además Dries también comenta que el proceso de migrar drupal.org a Drupal 6 está en marcha y por buen camino y que fue un error publicar Drupal 6 sin haber migrado antes Drupal.org.
Son dos buenas noticias ya que desde hace tiempo que drupal.org necesita un rediseño y un nuevo enfoque (por ejemplo tener subdominios por temáticas: downloads.drupal.org. developers.drupal.org.. y que la portada sea menos técnica y explique de manera fácil que es Drupal para usuarios inexpertos)
Drupal 5.9: actualización de seguridad de Drupal 5
Carlos — Jue, 24/07/2008 - 22:37
Si actualizaste tu Drupal 5 a la 5.8 tendrás que volver a hacerlo por que se olvidaron de un agujero de seguridad en la 5.8.
Más info en la página de Drupal.org
Release Candidate de Views 2, CCK 2 y Organic Groups
Carlos — Dom, 06/07/2008 - 21:02
Anuncian en Drupal.org que acaban de publicar las "release candidates" de los módulos más esperados para Drupal 6, CCK, Views y Organic Groups (aunque esté último no tanto).
A continuación traduzco las principales novedades de cada uno:
Views 2
Nuevas características para usuarios finales
- Multiples bloques, páginas y feeds por vista
- Con Ajax para los paginadores, filtros expuestos y "argument drill-down clicks" (esto no sé todavía que es)
- Feed de RSS para los comentarios
- Mayor control sobre los filtros expuestos, cinluyendo la posibilidad de incluir sólo los términos de una taxonomia que selecciones.
- Puedes tener múltiples "displays" en una vista con el mismo "path" que tengan diferentes caracteristicas según los privilegios de los usuarios.
Nuevas características para "themes"
Todo el código html que "escupen" las vistas se hace a través de plantillas mejorando dramáticamente la facilidad de personalización del código; ya no es necesario el viejo wizard de las vistas para los temas.
La información para personalizar las vistas a través de plantillas se muestra directamente en la interfaz de usuario
Nuevas funcionalidades para los administradores
- Interfaz de usuario (UI) completamente renovado para crear y mantener las vistas. Algunas características nuevas del UI:
- Las opciones se presentan de manera contextual; así, cuando creas o editas una vista sólo se muestra las opciones que necesitas.
- Si dos personas editan la misma vista esta se bloquea; sólo una persona puede editar una vista al mismo tiempo.
- Previsualización en vivo! Haz un cambio y mira cómo se ve la vista sin cambiar de página.
- Opciones de rendimiento que indican cuanto tiempo llevará construir, consultar y renderizar la vista.
- Las vistas pueden obtener datos desde diferentes tablas del core: usuarios, comentarios, estadísticas, ficheros más otras cosas que se pueden añadir.
- Se pueden tener vistas dentro de vistas llamadas ahora adjuntos. Estos adjuntos pueden ser usados para mostrar vistas múltiples o relacionadas en el mismo lugar.
- Tipo de vista (view type) es ahora llamado estilo (style) y se ha dividido entre Estilo y estilo de Fila para permitir una mayor flexibilidad en cómo se muestran los resultados de la vista. También han añadido estilos muy útiles como grupos y rejillas.
- Un montón de ayuda "inline" con la ayuda del modulo "Advanced Help".
- Las nuevas "relaciones" permiten tener todos los campos desde "referenced nodes"
- Un nuevo estilo de glosario hace fácil paginar los resultados alfabéticamente.
- Mecanismo "pluggable" para encontrar valores para argumentos en los bloques -- crea fácilmente vistas para un nodo o página de usuario sin usar PHP "snippets"
- Las vistas tienen ahora tags adicionales además del nombre; esto te permite ordenar la lista de vistas y encontrar y editar la vista que buscabas.
- Exportación de múltiples búsquedas a la vez
- Herramienta para analizar una vista para encontrar errores comunes (puede ser mejorado a través de pluggins)
Nuevas características para desarrolladores
- API rehecha orientada a objetos. Cada componente de Views está implementando como un objetos y manejadores "plugin". Los desarrolladores de Views tienen ahora una gran libertad extendiendo y personalizando Views con sus propias tablas, "display types" y plugins de vistas y estilos de filas.
- Validación de argumentos "pluggable" (se puede usar código PHP) te da un mayor control sobre que argumentos una vista puede usar.
- El SQL usados en cada vista se muestran en la previsualización.
CCK 2
Nuevas funcionalidades
- Nuevo botón "añadir más" en ajax que el usuario puede usar las veces que quiera para añadir el número de valores para los campos múltiples.
- La pantalla de administración de los campos ahora usar "arrastrar y soltar" para hacer más fácil organizar campos y grupos de campos.
- La pantalla de administración de los campos deja ahora ordenar los campos que no son CCK, como el título y el cuerpo, igual que con los campos CCK. Hay un hook disponible para los módulos que quieran tener su propio formulario de nodo.
- Numerosas mejoras de usabilidad han sido incorporadas en base al test de usabilidad hecho en la Universidad de Minnesota
- Una nueva API ha sido añadida para hcer más fácil crear y rellenar los campos desde módulos personalizados.
- Un nuevo módulo de Permisos de Contenido (Content Permissions) ha sido incluido en el módulo CCK que te permite definir los permisos de usuario de cada campo individualmente.
- CCK ahora se integra con el módulo Devel Generate. Los campos core de CCK y cualquier otro campo CCK implementado con el hook content_generate() podrá ser rellenado con valores aleatorios al generar los nodos (para hacer pruebas)
- Ahora los formateadores pueden formatear desde un sólo valor de un campo hasta múltiples valores de un campo. Módulos personalizados podrán usar esto para mostrar los valores de un campo en un mapa o en una gráfica.
Integración entre CCK y Views 2
Como siempre, CCK tiene una integración automática para todos los campos CCK. Hay dos nuevas características en Views 2:
- Añade una relacion en una vista que se use un campo nodereference o userreference y luego añade cualquier campo, orden, filtro o argumento del nodo o usuario referenciado en la vista (tan sólo indica que viene de la relación en lugar del nodo original).
- Los filtros de las vistas ahora incluyen opciones "vacío/no vacío".
Organic Groups
Comparado con Views y CCK, Organic groups ha recibido menos adelantos para Drupal 6. La mayoría de los campos son mejoras que obtienen de las nuevas características en el core y en Views. Las más destacables son:
- Listado de miembros de un grupo usando Views. En cualquier momento en que quieras listas los miembros de un grupo puedes usar los listados estándar de Views para hacerlo. Además puedes listas miembros que tengan determinado perfil.
- Más campos de Views cómo el número de miembros o entradas en un grupo dado.
- El grupo actual (si hay alguno) está "expuesto" a código javascript. Esto significa que puedes segmentar anuncios o "rastrear" estadísticas según el grupo.
- Personalizar el tema de los grupos resulta ahora más fácil ya que ahora viene con una plantilla por defecto para todos los temas. No necesitas moverla al directorio de tu tema a no ser que quieras hacer más cambios.
- Los desarrolladores que usen el módulo "Devel Generate" pueden hacer junto con OG generar nodos de grupos.
- Los grupos ahora tiene un bloque opcional de ficheros de grupo que lista todos los ficheros subidos en el grupo.
Aviso, está mal traducido además de que hay cosas que todavía no las conozco lo que hacía más complicado su traducción, a los que sepáis inglés es mejor que lo leáis sin traducir.
Autocomplete en Drupal con sólo un enter
Carlos — Dom, 06/07/2008 - 12:50
Existe en Drupal un tipo de input tipo texto que mientras escribes te sugiere "coincidencias". Por ejemplo, si usas tags en un tipo de contenido mientras escribes te va sugiriendo coincidencias; si escribo dru me sugiere drupal ya que es uno de los tags que ya existen que empiezan con dru. Usando los cursores puedo seleccionar las sugerencias y con el enter las pongo en el input. Podéis ver un ejemplo en la API de Drupal.
El problema viene cuando lo normal es sólo introducir un término y sólo hay un input ya que has de apretar dos veces el enter, una vez para seleccionar el término sugerido y otra vez para hacer el submit del formulario. Esto no pasa en el primer ejemplo que he puesto (en los tags de un contenido) pero sí que pasa en el API de Drupal y lo mismo ocurre si tenemos una búsqueda con autocomplete. Es más usable si sólo es necesario un enter, dos confunde a la gente, lo sé por experiencia propia y ajena.
Pero existe una solución, bueno, seguro que existen muchas soluciones pero yo pondré una que hemos usando en uno de nuestros últimos proyectos, una tienda online que tiene un buscador con autocomplete (si me dejan pondré el enlace para que la veáis aunque está en beta).
Creamos un archivo .js y lo ponemos en nuestro tema. En mi caso lo he llamado mod_autocomplete.js y lo he puesto en el directorio js dentro de mi tema. En ese archivo ponemos lo siguiente:
if (Drupal.jsEnabled) {
$(document).ready(function() {
/** Prueba para el return del buscar **/
$('#block-search-0 input.form-autocomplete').bind('keyup',function(e){
if (!e) {
e = window.event;
}
//alert(e.keyCode);
switch (e.keyCode) {
case 13: // enter
this.form.submit();
return true;
}
});
});
}
Has de tener en cuenta que #block-search-0 input.form-autocomplete es el input que se comporta como autocomplete. Cómo en mi caso era el de la búsqueda he añadido #block-search-0 para que sólo se comporte así ahí. Si quieres que se comporte con sólo un enter en todos los sitio pon sólo .input.form-autocomplete aunque no creo que sea lo normal.
El código que he puesto es en realidad en parte copia del código del autocomplete.js de Drupal pero al modificarlo desde un archivo externo no modificamos el Core.
Por último hay que incluir el js y para eso pondremos el siguiente código en el template.php de nuestro tema (siempre en caso de usar phptemplate como engine de templates)
<?php
drupal_add_js(path_to_theme() . '/js/mod_autocomplete.js','theme','header');
?>
Así, si usamos la opción de optimizar javascript Drupal podrá incluir este archivo. Por cierto, todo esto está probado sólo para Drupa 5.
Cómo poner un bloque entre el contenido y sus comentarios
Carlos — Sáb, 28/06/2008 - 17:28
A veces queremos poner un bloque justo después de un nodo es la versión de página pero antes de los comentarios. Por defecto Drupal pone siempre los comentarios después del contenido y no permite poner ningún bloque entre ambos.
He encontrado una solución de Drupal.org pero se ha de modificar Core, lo cual, está en casi todos los casos desaconsejado.
Una solución más práctica y rápida es definir una nueva región, meter los bloques que necesitemos en esa región y luego imprimir esa región en el node-tpl.php (o en el template que te interese)
Por ejemplo, en mi caso quiero poner el bloque de contenido relacionado justo después del contenido y antes que los comentarios.
Primero defino las regiones añadiendo una nueva que la llamaré 'just_after_content' (el nombre es lo de menos, puedes poner el que quieras pero es recomendable que sea identificativo). En drupal 5 esto se hace poniendo en el template.php de tu theme lo siguiente:
<?php
function mytheme_regions() {
return array(
'right' => t('right sidebar'),
'content' => t('content'),
'header' => t('header'),
'footer' => t('footer'),
'floater' => t('floater'),
'just_after_content' => t('Justo depués del contenido'),
);
}
?>
y el Drupal 6 se pone en el .info de tu theme
<?php
regions[sidebar_right] = Right sidebar
regions[sidebar_left] = Left sidebar
regions[sidebar_right_sec] = Secondary right sidebar
regions[pre_content] = Before content
regions[content] = Content
regions[featured] = Featured
regions[content_bottom] = Bottom content
regions[header] = Header
regions[footer_region] = Footer
regions[just_after_content] = Justo después del contenido
?>
Una vez definida la región abrimos node.tpl.php y ponemos al final:
<?php
print theme('blocks','just_after_content');
?>
O para ser más limpios ponerlo en una función de preprocess (actualizado)
<?php
function themeName_preprocess_node(&$vars, $hook) {
$vars['just_after_content'] = theme('blocks','just_after_content');
}
?>
y sólo queda asignar el bloque a la región "just_after_content" desde la página de administración de bloques (/admin/build/block). Por cierto, en mi blog ahora mismo no me va con el block cache activado, tendré que mirarmelo mejor. Si has hecho todo esto y no te sale la región que has definido intenta limpiando la cache (admin/settings/performance)
Comentarios recientes
hace 3 años 6 semanas
hace 3 años 39 semanas
hace 3 años 47 semanas
hace 4 años 3 días
hace 4 años 8 semanas
hace 4 años 8 semanas
hace 4 años 9 semanas
hace 4 años 10 semanas
hace 4 años 10 semanas
hace 4 años 11 semanas