Page 17 of 19

User Interface Stack Exchange en beta pública

User Interface Stack Exchange es un sitio de preguntas y respuestas manejado por la comunidad, orientado a investigadores y expertos en el área de interfaz de usuario, uno de los tantos derivados de StackExchange.

En estos 7 días de beta privada el sitio contó con 185 usuarios, 78 preguntas y 280 respuestas, y ahora se lanza esta nueva etapa pública de la fase beta.

En esta primera etapa se preguntaron sobre todo cosas muy básicas, pero poco a poco se va llenando de recursos valiosos. Una de los que destaco es la lista de libros recomendados sobre interfaz de usuario: Must-read User Interface Books?.

Luego de abierta la fase pública se evaluará el sitio por parte de StackExchange para ver si pasa a formar parte permanente de su “stack”. Todo depende del esfuerzo de la comunidad.

#PlayaValley 2010

20/ 21/ 22 Agosto 2010. Internet, creatividad, negocios y… arena en el teclado.

20/ 21/ 22 Agosto 2010. Internet, creatividad, negocios y... arena en el teclado.

Agenda

Viernes 20

  • 20:30 – 24:00   Acreditaciones, fiesta de bienvenida

Sábado 21

  • 08:00 – 10:00   Desayuno
  • 10:00 – 10:30   Apertura
  • 10:30 – 11:30   Nicolás Jodal
  • 11:30 – 13:00   Mariano Sáenz + Mauro Suárez
  • 13:00 – 15:00   Almuerzo
  • 15:00 – 16:30   Cecilia Nuñez + Fabián Barros
  • 16:30 – 18:30   Break, actividades, Paint Ball
  • 18:30 – 20:00   Libre
  • 20:00 – 21:30   Cena
  • 21:30 – 24:00   Fiesta chill out

Domingo 22

  • 08:00 – 10:30   Desayuno
  • 10:30 – 11:30   Gonzalo Frasca
  • 11:30 – 13:00   José Gordin + AJE y JCI
  • 13:00 – 15:00   Almuerzo
  • 15:00 – 16:30   Equipo de Software Libre
  • 16:30 – 17:00   Break
  • 17:00 – 18:00   Panel de Intercambio
  • 18:00 – 18:30   Cierre

Más información en el sitio del evento: PlayaValley.com

Friday, August 20
8:30pm

Acreditaciones, fiesta de bienvenida.
Saturday, August 21
8:00am

Desayuno
10:00am

Apertura
10:30am

Nicolás Jodal
11:30am

Mariano Sáenz + Mauro Suárez
1:00pm

Almuerzo
3:00pm

Cecilia Nuñez + Fabián Barros
4:30pm

Break, actividades, Paint Ball
6:30pm

Libre
8:00pm

Cena
9:30pm

Fiesta chill out
Sunday, August 22
8:00am

Desayuno
10:30am

Gonzalo Frasca
11:30am

José Gordin + AJE y JCI
1:00pm

Almuerzo
3:00pm

Equipo de Software Libre
4:30pm

Break
5:00pm

Panel de Intercambio
6:00pm

Cierre

Detectar soporte HTML5 con Modernizr

Modernizr es una biblioteca de funciones que permite detectar el soporte nativo de nuevas y futuras tecnologías en los navegadores web. Dichas tecnologías son implementaciones de las especificaciones de HTML5 y CSS3.

El principal objetivo de Modernizr es proveer una forma confiable de detectar estas implementaciones, para poder sacar provecho de los navegadores o bien proveer una alternativa en caso de que el navegador no implemente la tecnología en cuestión.

Para usarlo simplemente basta con descargar el archivo Javascript y cargarlo desde una página. Automáticamente Modernizr realiza las pruebas correspondientes para detectar las capacidades del navegador y las almacena en forma de booleano en un objeto llamado “Modernizr”, al que podemos acceder dentro de nuestro Javascript.

Por ejemplo, para saber si el navegador soporta la etiqueta <video>, debemos chequear:

if(Modernizr.video){
//código HTML5
}
else{
//código alternativo
}

Al momento de la detección, Modernizr también agrega a la etiqueta <html> clases según las capacidades de nuestro navegador. Por ejemplo, si soporta video, audio y canvas, la etiqueta pasa a ser <html class="audio canvas video">.

Por lo tanto, otro método válido para chequear si el navegador soporta cierta implementación es ver si dicha etiqueta posee la clase correspondiente, acorde a la documentación de Modernizr.

En el ejemplo utilizo este último método para hacer la comprobación.

Demo: HTML5 Tester

Links

WordPress plugin: Undo Publish

Undo Publish es un un pequeño experimento de plugin, inspirado en la funcionalidad Undo Send de Gmail Labs, que ofrece la misma funcionalidad pero en el panel de WordPress. En pocas palabras permite cancelar la publicación de un post nuevo dentro de los 3 segundos posteriores a su publicación.

Configuración

El plugin no tiene opciones de configuración dentro del panel de administración de WordPress. Sin embargo, editando el archivo del plugin se puede configurar el tiempo de espera que permite antes de publicar el post. La variable a editar es define(TIME_LIMIT, 3000), en milisegundos.

Notas

  • El plugin se activa solamente para posts que sean nuevos. Es decir, no va a molestar cuando la acción sea Actualizar un post.
  • Se activa también para Custom Post Types (No se si es un bug o un feature, depende del Custom Post Type, creo yo.)

Instalación

  • Descomprimir en wp-plugins/
  • Activar.

Descarga

Pueden descargarlo del repositorio oficial de WordPress, incluyo el link aquí abajo.

Undo Publish – WordPress Plugin Directory

http://wordpress.org/extend/plugins/undo-publish/

http://wordpress.org/extend/plugins/undo-publish/

Custom Post Types en WordPress

Primero que nada, ¿Qué son Custom Post Types?

Los tipos  de datos que maneja WordPress nativamente son post, page, attachment, revision y nav menu. Los Custom Post Types son básicamente tipos de datos personalizados, algo así como los Content Types de Drupal. Son infelizmente llamados Post Types porque viven en la misma tabla que posts y pages (wp_posts), y son diferenciados por una columna post_type.

Definir nuevo custom post type

Para definir un tipo nuevo utilizamos la función create_post_type(). El siguiente código puede ser utilizado desde el archivo functions.php o aún mejor, desde un plugin.

add_action( 'init', 'create_post_type' );
function create_post_type() {
  register_post_type( 'libro',
	array(
		'public' => true,
		'labels' => array(
			'name' => __( 'Libros' ),
			'singular_name' => __( 'Libro' ),
			'add_new' => __( 'Añadir Libro' ),
			'add_new_item' => __( 'Añadir Nuevo Libro' ),
			'edit' => __( 'Editar' ),
			'edit_item' => __( 'Editar Libro' ),
			'new_item' => __( 'Nueva Libro' ),
			'view' => __( 'Ver Libro' ),
			'view_item' => __( 'Ver Libro' ),
			'search_items' => __( 'Buscar Libro' ),
			'not_found' => __( 'Libro No Encontrado' ),
			'not_found_in_trash' => __( 'Libro no encontrado en Papelera' )
		),
		'description' => __( 'Libros y revistas' ),
		'menu_position' => 20,
		'menu_icon' => get_stylesheet_directory_uri() . '/images/libros.png',
		'query_var' => true,
		'supports' => array(
			'title',
			'editor',
			'comments',
			'trackbacks',
			'page-attributes',
			'thumbnail' ),
		'rewrite' => array( 'slug' => 'biblioteca'), //->Ver Error 404
		'capability_type' => 'post'
	)
  );
}

La función create_post_type() recibe como primer parámetro el nombre del tipo de dato y en segundo lugar una lista de parámetros para configurarlo. Aquí se puede ver el detalle de esta función: Function reference: register_post_type.

Luego de añadir ese código deberíamos ver un menú lateral “Libros” que nos permite gestionar nuevos elementos de tipo libro, tal como manejamos posts o páginas. Con el parámetro rewrite especificamos que las urls serán del tipo http://sitio.com/biblioteca/nombre-libro.

Error 404

Al editar el nuevo tipo de dato es posible encontrarse con errores de página no encontrada, al hacer preview o al visitar un nuevo ítem publicado si utilizamos el parámetro rewrite para hacer uso de permalinks. Para corregir esto basta con visitar Settings/Permalinks o agregando flush_rewrite_rules() luego de llamar a register_post_type().

Definir campos para el nuevo tipo de datos

A través del array supports podemos definir los campos nativos que contiene nuestro tipo de datos, por ejemplo title, editor (contenido), comments, etc. Pero también podemos añadir nuevos campos. Supongamos que quiero agregar un nuevo campo Editorial al tipo Libro.

Para esto hay que agregar un meta_box (las cajitas con opciones dentro de post.php) en la administración para poder editar ese campo. Esto se hace mediante la función add_meta_box().

add_action("admin_init", "admin_init");

function admin_init(){
    add_meta_box("libro-meta", "Información Extra", "info", "libro", "side", "low");
}

function info(){
    global $post;
    $custom = get_post_custom($post->ID);
    $capacity = $custom["editorial"][0];
    ?>
        <label for="capacity">Editorial</label>
        <input name="capacity" id="capacity" value="<?php echo $capacity; ?>" />
    <?php
}

Por último, registramos una función para guardar los campos personalizados.

add_action('save_post', 'save_extra');
function save_extra(){
    global $post;
    update_post_meta($post->ID, 'editorial', $_POST['editorial']);
}

Listo. Ahora además de posts y pages podemos crear Libros. Cómo mostrarlos, eso es tema para otro post :)

Desgargar código fuente

[download id=”3″]

Probado en WordPress 3.0.

Fuentes

  • http://codex.wordpress.org/Custom_Post_Types
  • http://codex.wordpress.org/Function_Reference/register_post_type
  • http://thinkvitamin.com/dev/create-your-first-wordpress-custom-post-type/

© 2018 Ignacio Toledo

Theme by Anders NorénUp ↑