¿Cómo hacer una copia de seguridad (backup) de WordPress?

Las copias de seguridad o backup  de todo tipo de sistemas e instalaciones son el medio de mantenimiento preventivo más popular en el mundo de la informática. De forma puntual o rutinaria, creamos una réplica que nos permitirá hacer funcionar un sistema en caso de fallo, recuperando los datos del estado anterior. WordPress no puede ser menos y aunque existen plugins y otros métodos para hacerlo voy a mostraros la mecánica básica.

WordPress copias de seguridad - backup

Cualquier instalación de WordPress tiene dos partes diferenciadas:

  • La común: el núcleo de WordPress
  • La propia de cada blog: la que hace que tu instalación de WordPress sea diferente a todas las demás

La parte propia consiste en:

  • El directorio /wp-content, en donde se encuentran los temas, las subidas y los plugins con los ficheros que generan
  • El fichero wp-config.php
  • Los datos dentro de MySQL

Leer más » 5 Comentarios

Desactivar autocompletado en formularios HTML

Cuando estamos trabajando con formularios en la web, es muy común que por comodidad del usuario, el navegador incorpore algunos datos que son repetitivos entre ellos: nombre, apellidos, dirección de correo electrónico, etc. La idea es facilitarle la vida al usuario y hacer más rápido el uso del formulario.

Sin embargo, en ocasiones, desearemos que no se produzca dicho autocompletado. Por ejemplo, la web de un banco, un nombre de usuario en una plataforma, o algo susceptible de ser usado de forma malintencionada.

Para desactivar el autocompletado, disponemos del atributo autocomplete. Veamos un ejemplo de uso, lo incorporamos directamente en el formulario:

<form autocomplete="off">

O más concretamente al input en cuestión si queremos afinar en cada entrada de texto:

<input autocomplete="off">

Sin embargo hay un problema: no valida en los test del W3C. Para solventarlo, tenemos varios métodos, el más sencillo es el siguiente que lo he implementado usando jQuery:

Leer más » 5 Comentarios

Personalizar el favicon en un blog WordPress

Un favicon (del inglés favorites icon, icono de favoritos) es una imagen que asociada a nuestro sitio web se muestra junto al título que se ve en la pestaña o en el menú de marcadores. Sin lugar a dudas, es uno de los elementos que más identifican a nuestra web y por lo tanto, hay que cuidarlo.

favicon

Si usáis un blog en WordPress y suponiendo que tenéis ya vuestro favicon (si no lo tenéis probad con esta herramienta) lo primero es subirlo a vuestro blog. Para ello con un cliente FTP (FileZilla por ejemplo) lo subís a la carpeta de vuestro tema activo (no es obligatorio  hacerlo ahí, pero sí es lo lógico) y os quedáis con la ruta. Será del tipo: http://tudominio.com/wp-content/themes/vuestro_tema/favicon.ico.

Leer más » Comentar

Manejo de listas select con jQuery (ComboBox/DropDownList)

jQuery es un framework cuyo uso se hace casi inevitable para todos aquellos que usamos de forma intensiva JavaScript. El manejo de las listas de elementos en un sitio web, con la etiqueta <select>, es algo básico en el manejo de datos presentados en formularios.

De cara a validar, gestionar, editar, insertar… es decir, hacer todo tipo de operaciones con los datos en el cliente, necesitamos de JavaScript pero su uso es tedioso. jQuery lo hace simple e inmediato. Veamos el caso concreto del manejo del <select>.

Veamos, tenemos el siguiente listado en un sitio, vemos el código directamente en HTML:

<select id="miselect">
 <option value="1">Ubuntu</option>
 <option value="2">Fedora</option>
 <option value="3">Red Hat</option>
 <option value="4">Debian</option>
</select>

Para cada elemento tenemos dos datos:

  • El texto que se muestra: suele ser algo visible para el humano, un nombre de distribución en este caso
  • El valor: suele ser un identificador único, en este caso es una referencia ficticia a una tabla de distribuciones

Comencemos a tratarlo.

Seleccionar el elemento

La sintaxis de los selectores de jQuery está basada en la de CSS. En este caso elegir el <select> dentro del DOM del documento sería como sigue:

$("#miselect")

Obtener el valor del ítem seleccionado

Sobre el selector aplicamos la función val():

Leer más » 35 Comentarios

DuckDuckGo en Chromium (Google Chrome)

A algunos no les dirá nada, a otros que porqué, y otros tantos no verán la necesidad. Ninguno me podrá negar que el buscador de Google sea independiente de nuestras búsquedas anteriores, de nuestro perfil y, sobretodo, de nuestro comportamiento en la red.

Como muchos sabréis, soy fan de los productos de Google, pero eso no quita que cuando quiero buscar algo no quiero que los resultados de las búsquedas y que “lo que hago en la red” afecte a los resultados. Es posible que exista alguna herramienta para evitar este desasosiego cuando navegamos, de hecho si desde Chromium / Google Chrome usamos el modo incógnito podremos conseguirlo, pero me gustaría comentaros otra opción más educada con nuestra privacidad en la red.

A lo que vamos, una alternativa más o menos real al archiconocido y valorado Google, puede estar en el joven DuckDuckGo, que con poco más de 3 años de edad, y como leo en TNW, ha experimentado recientemente un crecimento del 227% de uso. Sólo registra 1.5 M al día, lo cual es un valor bastante bajo comparado con el resto de buscadores. Me llamó la atención y decidí probarlo.

¿Cómo instalarlo en Chromium / Google Chrome? Simplemente hacemos click con el botón secundario del ratón sobre la barra de direcciones, y desde el menú que aparece en “Edit Search Engines…”. Bien, desde ahí podremos elegir el buscador que deseamos. Es posible que no os aparezca si nos habéis hecho una búsqueda antes.

Para añadirlo, nos dirigimos a “Search Engines”“Other Search Engines” y rellenamos los campos Nombre, Palabra Clave y URL con los siguientes valores:

  • Nombre: DuckDuckGo
  • Keyword: duckduckgo.com
  • URL: http://duckduckgo.com/?q=%s

Leer más » 3 Comentarios

¿Por qué montar un cluster en alta disponibilidad con servidores virtuales?

Cuando trabajas como administrador de sistemas, uno de los principales objetivos por no decir el más importante de todos ellos, es poner en marcha un cluster.

La idea es tener varios nodos, que de forma transparente al usuario y al servicio, sean los que ejecutan realmente la carga, monitorizando el estado de todos ellos para poder asumir tareas unos de otros en caso de caídas o falta de capacidad.

Yo mismo tengo una arquitectura formada por cuatro nodos, repartidos dos a dos en dos tipos de sistemas:

Leer más » 7 Comentarios

Comprobar si una variable u objeto es un entero en JavaScript

Probablemente hayas echado de menos alguna vez en JavaScript una función isInt(), es decir, que le pases una variable y te devuelva verdadero si es entero y falso en caso contrario. Esta comprobación es muy típica en el envío de formularios: edades, componentes de una fecha o cualquier otra cantidad que no puede tener decimales.

Acabo de tener esta necesidad y aquí os traigo la función que hace justo esto:

function esEntero(x){
	var y = parseInt(x);
	if (isNaN(y)) 
		return false;
	return x == y && x.toString() == y.toString();
}

Aquí tenéis la función y aquí os dejo su correspondiente explicación, odio copiar y pegar código de Internet si no sé perfectamente cuál es el por qué de cada sentencia.

Leer más » 9 Comentarios

Enviar múltiples parámetros a la vez con JavaScript

Cuando trabajamos con JavaScript haciendo uso o no de jQuery, es frecuente tener que enviar muchos parámetros a una función o enviar un número indeterminado de parámetros. El otro día explicábamos cómo manejar parámetros opcionales en JavaScript y hoy os traemos una pequeña nota relacionada, que seguro os resultará útil: enviar un múltiples parámetros a la vez usando una sola variable.

La idea es la siguiente, tengo una función de este estilo:

function nuevoCliente(nombre, apellidos, edad, ciudad, cp, web, email)
{

}

La llamada sería:

nuevoCliente("Javier", "Carazo", 26, "Córdoba", 14000, "linuxhispano.net",
 "mimail@correo.es");

Es posible, que haya veces que no quiera enviar todo o directamente son tantos los parámetros a enviar que no es funcional usar este método tradicional.

Sin embargo, podemos usar el siguiente modelo, que seguro os resulta mucho más cómodo:

var parametros = {
 parametro0 = valor0,
 parametro1 = valor1,
 ...
}

miFuncion(parametros);

Para nuestro caso sería:

Leer más » 3 Comentarios

Menú clásico de Gnome en Ubuntu 12.04

No se trata de un tutorial, sólo una noticia que para muchos puede representar un valor añadido en la instalación y uso de Ubuntu 12.04 (Precise Pangolin). Para mi lo es.

Y es que a golpe de click, ya sea desde el centro de software de Ubuntu o a través de este enlace APT podremos instalarlos el paquete gnome-panel.

A continuación os dejo un vídeo de esta interfaz, la que todos conocemos, a escasos días del lanzamiento oficial de Ubuntu 12.04:

read more

Leer más » 5 Comentarios

Exporta tus datos de Google Wave a Apache Wave y Walkaround

Hace ya más de un año que anunciamos que Google Wave no se desarrollará como un producto separado. Pues bien, ya ha llegado la hora, y ya tenemos fechas concretas para poner fin a ese “período de mantenimiento” y al cierre definitivo de Google Wave. Recordaros que ahora Google Wave se encuentra en modo de sólo lectura.

¿Y cuál es la fecha de cierre definitivo? 30 de abril de 2012. Si hay alguien que lo usara, no fue mi caso (más allá de una prueba inicial), puede utilizar la función de exportación a PDF o los pasos que os comento abajo para exportar el contenido a otras plataformas.

¿Podemos seguir utilizando Google Wave tras el cierre? Muchos podrán pensar que esto no es posible, pero a mi personalmente me ha parecido curioso que sea Google quien recomiende utilizar dos aplicaciones open source para seguir dándole uso (me llegó por correo): Apache Wave y Walkaround.

Leer más » 2 Comentarios