Archivos en la categoría Desarrollo web

Error MySQL: LOCK TABLES WRITE al configurar Joomla 1.6

Cómo solucionar el error de MySQL LOCK TABLES WRITE de Joomla 1.6 al intentar configurar categorías, secciones o artículos del CMS.

Con el nuevo plan de actualizaciones el equipo de Joomla se ha comprometido a liberar una nueva versión del CMS cada semestre. Este artículo lo voy a escribir utilizando la versión 1.6, aunque desde hace unos pocos días se ha liberado la versión 1.7. Es muy probable que el error que voy a comentar pueda aparecer tanto en la 1.6, como en la 1.7 y en futuras versiones, ya que es un error sobre la BBDD, no del software de Joomla.

Una vez hemos instalado Joomla, configurado el servidor de BBDD y eliminado la carpeta de Installation podemos empezar a meter contenido en nuestra web, organizarlo por categorías y secciones, instalar componentes y módulos, modificar el theme, etc. La mayoría de estas tareas necesitan hacer operaciones con la base de datos, normalmente añadir objetos nuevos, añadir columnas, insertar registros, borrarlos, etc. En mi caso, a la hora de intentar crear una nueva categoría el sistema me arrojaba el siguiente error:

Save failed with the following error: Access denied for user ‘u_user’@’%’ to database ‘base_de_datos’ SQL=LOCK TABLES `jos_categories` WRITE

El error es fácil de detectar, hay problemas de permisos para el usuario u_user que nos impiden realizar la transacción requerida. En primera instancia tenemos que revisar los GRANTS que tiene el usuario ¿puede borrar, insertar y modificar?. Por si acaso, ejecutamos la siguiente query:

GRANT select, update, insert ON base_de_datos.* to u_user@servidor;

Si el error persiste, entonces la solución definitiva será ejecutar la siguiente query:

GRANT lock tables ON base_de_datos.* to u_user@servidor;

O bien:

UNLOCK TABLES;

El comando LOCK en MySQL permite bloquear una tabla con permisos de sólo lectura. Si a la sentencia le añadimos al final un WRITE, dejándola así, LOCK TABLES tabla WRITE; , estaremos otorgando al usuario que la ha bloqueado el permiso para leer y escribir sobre ella, impidiéndoselo al resto de usuarios. Para eliminar cualquier bloqueo de tablas se debe utilizar el comando UNLOCK TABLES;.

El GRANT LOCK permite a un usuario acceder a las tablas bloqueadas indicadas en la sentencia, siempre y cuando el usuario también tenga el permiso de lectura SELECT sobre éstas, por eso, al ejecutar esta query en el error mencionado de Joomla, lo que estaremos permitiendo es la ejecución de cualquier DML sobre la tabla jos_categories al usuario u_user. Para más información sobre el comando LOCK TABLES  de MySQL puedes ver la documentación oficial.

Sin Comentarios

Mejora la usabilidad y accesibilidad de los formularios en HTML 4.0

Acabo de descubrir varias etiquetas para formularios HTML 4.0 que no conocía y que nos permiten  mejorar la usabilidad y la accesibilidad de nuestros formularios considerablemente. Desde Eslomas nos ofrecen una  explicación de éstas y varios ejemplos donde comprobar el resultado. Tal y como nos indican, estas  etiquetas están admitidas por la W3C, por lo que no tendremos ningún problema al validar nuestro formulario.

Fieldset y Legend

Estas etiquetas nos permiten crear un área visible dentro del formulario agrupando varios controles que estén relacionados facilitando al usuario su comprensión y usabilidad, ya que permite desplazarse de un control a otro a través de la tecla TAB. La etiqueta Fieldset crea el recuadro que agrupa a los controles, mientras que Legend nos permite implementar el título del área.

<fieldset>

<legend>Datos personales:</legend>

Nombre: <input size=”20″ type=”text” />

Dirección: <input size=”20″ type=”text” />

Teléfono: <input size=”20″ type=”text” />

</fieldset>

Datos personales:

Nombre:

Dirección: 

Teléfono: 

Label

Aunque no es una etiqueta desconocida, puede que el uso que se la da no sea el apropiado o simplemente que no es explota todo su potencial. Esta etiqueta permite definir un título a un control del formulario. Cada etiqueta label sólo puede estar asignada a un control, y digo asignada porque aquí es donde está el verdadero uso de esta etiqueta. Mediante el atributo for (propio de la etiqueta label) podemos especificar el id del control de formulario al que queremos asignar el label, de esta forma el usuario podrá hacer click sobre el control o sobre el label al realizar las operaciones con el formulario. Donde realmente podemos ver su efecto es en controles radiobutton ó checkbox, ya que para seleccionarlos o chequearlos podremos hacer click sobre el label o sobre los propios controles. De esta forma se mejora considerablemente la usabilidad del formulario. Cabe mencionar que dentro de la etiqueta label podemos incluir tanto texto como imágenes.

Selecciona tu vehículo

<input id=”bmw” name=”coche” type=”radio” />

<label for=”bmw”>BMW

<input id=”audi” name=”coche” type=”radio” />

<label for=”audi”><img src=””/> Audi

Selecciona tu vehículo:

Optgroup

Esta etiqueta nos permite crear grupos dentro de desplegables select. Los grupos están definidos por un título que aparecerá en negrita y cursiva, y que no será seleccionable.

La utilidad de optgroup reside en facilitar al usuario la lectura y comprensión de la lista desplegable.

<select name=”Modelo”>

<option selected=”selected” value=”none”>Seleccione…</option>

<optgroup label=”BMW”>

<option value=”bmw120d”>BMW 116d

<option value=”bmw118d”>BMW 118d

<option value=”bmw120d”>BMW 120d

<option value=”bmw318d”>BMW 318d

<option value=”bmw320d”>BMW 320d

</optgroup>

<optgroup label=”AUDI”>

<option value=”A1″>A1

<option value=”A2″>A2

<option value=”A3″>A3

<option value=”A4″>A5

</optgroup>

</select>

Selecciona el modelo:

Más info | http://www.eslomas.com/campos-fieldset-legend-label-optgroup

1 Comentario

Descarga Adobe Flash Builder 4 (FLEX 4) gratis

Descarga Adobe Flash Builder 4 (FLEX 4) gratis

Adobe Flash Builder, antes conocido como Macromedia FLEX, es la evolución oficial de las aplicaciones Flash programadas con ActionScript en forma de nueva tecnología apadrinada por Macromedia en su día, y por Adobe en la actualidad. Adobe Flash Builder es un entorno de desarrollo creado para correr sobre la plataforma Eclipse con el que podemos desarrollar RIAs (Rich Internet Applications) y, desde la incorporación de Adobe AIR en esta tecnología, también podremos desarrollar aplicaciones de escritorio multiplataforma.

Ahora puedes descargar de forma gratuita, y lo más importante, legal, Adobe Flash Builder 4. Para ello, debes cumplir alguno de estos requisitos:

  • Ser estudiante o desempeñar alguna función dentro de una institución educativa (profesores)
  • Desarrolladores de software que estén acusando gravemente la crisis y actualmente se encuentren en condición de desempleo.
  • En caso de participar en algún evento podrías recibir un código de activación especial.

Para poder tener acceso a nuestra copia gratuita tendremos que rellenar un formulario en el que debemos indicar nuestros datos personales, condiciones laborables, institución educativa en la que estamos matriculados si se diese el caso, y además, escanear cualquier documento que nos acredite en alguna de las tres opciones antes comentadas. Por ejemplo, si somos estudiantes, podríamos escanear la factura de la matrícula, o la nota de alguna asignatura con la fecha incluida; en caso de estar desempleados, podríamos escanear la cartilla del INEM (en España, Instituto Nacional de Empleo). Una vez enviado, podremos proceder a la descarga de Adobe Flash Builder 4.

Si estás interesado en aprender algo más sobre esta nueva tecnología, puedes echar un vistazo a los siguientes manuales:

Muy buena iniciativa por parte de Adobe, que se suma al carro de otras grandes empresas, como Microsoft, ofreciendo sus suites de desarrollo a usuarios en proceso de aprendizaje para que conozcan y se acostumbren a crear aplicaciones utilizando sus tecnologías, promoviendo y extendiendo de esta forma su uso en el futuro.

Más info | www.adobe.com/devnet-archive/flex/free/

2 Comentarios

Cómo configurar un proyecto en Symfony con Netbeans 6.9

Estos días estoy trasteando con Symfony, uno de los frameworks de PHP con más éxito en la actualidad. Detrás de Symfony hay una comunidad muy activa que proporciona muchísima documentación sobre cómo utilizarlo, incluso tenemos a nuestra disposición el manual oficial traducido al castellano. Otra de las ventajas que ofrece Symfony es que ha sido probado y testado por muchos de sus usuarios, por lo que han podido resolver gran cantidad de errores de código.

Symfony se basa en el patrón MVC (Modelo Vista Controlador). La estructura lógica de nuestros proyectos se divide en Aplicaciones > Clases > Módulos, donde la Aplicación seria nuestro proyecto, las clases los tipos de funcionalidades de las que consta nuestra aplicación (gestión de usuarios, gestión de noticias, gestión de comentarios, etc.) y los módulos, que es donde se detalla cómo hacer cada funcionalidad de la clase a la que están asignados (alta, borrado y edición de usuarios, etc.).

Como cualquier framework, al principio cuesta conocer la sintaxis y la metodología para programar las operaciones, pero como todo es cuestión de práctica y experiencia, poco a poco se van adquiriendo los conocimientos suficientes como para poder realizar nuestros proyectos con soltura y lo más importante: con rapidez.

Si has decidido utilizar Symfony para tu proyecto web, habrás llegado a otra cuestión ¿qué programa o IDE utilizo?. Yo he elegido NetBeans 6.9 (la última versión hasta la fecha). NetBeans, además de ser opensource y totalmente gratuito, en su última versión nos ofrece un asistente para crear un proyecto PHP utilizando el Symfony e incluso tenemos a nuestra disposición una consola UNIX para configurarlo.

Configurar proyecto Symfony en NetBeans 6.9

  1. En primer lugar debemos tener un LAMP instalado en nuestro equipo.Yo utilizo XAMPP en Windows y MAMP en MAC OS X.
  2. Descargamos la última versión estable de Symfony desde su web.
  3. Descomprimimos el fichero descargado en el directorio de nuestra web. Debería quedar algo así.

    C:\dev\MiProyecto\symfony-1.4.6

  4. Abrimos NetBeans y creamos un nuevo proyecto PHP. Seguimos todos los pasos hasta el último, PHP Frameworks, donde seleccionaremos Symfony. Al seleccionarlo nos aparecerán varias opciones de configuración. Tendremos que pulsar sobre Options, a la derecha de la ventana.
  5. Cómo configurar un proyecto en Symfony con Netbeans 6.9

  6. Se nos abrirá el panel de configuración de PHP. En la pestaña de PHP indicaremos la ruta donde se encuentra el ejecutable de PHP del LAMP que hayamos instalado:

    C:\Archivos de programa\Xampp\xampp\php\php.exe

    Además, tendremos que indicar la ruta de instalación de Symfony pulsando el botón Add Folder, que será la carpeta que hemos descomprimido en el directorio de nuestro proyecto

    C:\dev\MiProyecto\symfony-1.4.6

  7. Cómo configurar un proyecto en Symfony con Netbeans 6.9

  8. En la pestaña Symfony tendremos que indicar la ruta del fichero binario del framework que se encuentra en:

    C:\dev\MiProyecto\symfony-1.4.6\data\bin\symfony

  9. Cómo configurar un proyecto en Symfony con Netbeans 6.9

  10. Le damos a Aceptar y antes de pulsarle en Terminar seleccionamos el checkbox de backend.
  11. Cómo configurar un proyecto en Symfony con Netbeans 6.9

  12. Ya tendremos configurado e instalado nuestro proyecto de Symfony en NetBeans.
24 Comentarios

Texto con sombra en tu web con CSS: text-shadow

Otra de las propiedades que implementa CSS3 es text-shadow, gracias a la cual podremos aplicar un efecto de sombra a cualquier texto. Esta propiedad, que se propuso para las CSS2, no ha sido incorporada hasta ahora. La sombra del texto podrá ser difuminada (como el drop-shadow de Photoshop) o nítida, como si hubiésemos duplicado el texto y el que está detrás, un poco desplazado, sería la sombra.

Además de un bonito efecto visual, esta propiedad nos permite incluir más texto en la página web, evitando así tener que recurrir a Photoshop para editar las imágenes necesarias. Con esto logramos incluir más texto en la página y así disponer de más lugares donde incluir keywords para mejorar el posicionamiento web.

El problema de esta propiedad es que algunos navegadores no la soportan. Sólamente las últimas versiones son capaces de reconocerla. Sin embargo, existen varias alternativas cross-browsing para simular el text-shadow en navegadores antiguos. La propiedad text-shadow es soportada por Firefox 3.5+, Chrome, Internet Explorer 7+, Opera 9.5 y Safari 3+.

La sintaxis de esta propiedad es la siguiente:

text-shadow: color ejeX ejeY RadioSombra;

Ejemplo:

p.shadow {
color: #333333;
text-shadow: #1486D6 1px 1px 2px;
}

Prueba de texto con fondo difuminado

Podemos poner varias sombras a un mismo texto separadas por comas. En Firefox 3.5+ se pueden poner infinidad de ellas, en Opera están limitadas y en Safari sólo se puede poner una.

p.shadow {
color: #333333;
text-shadow: #1486D6 3px 3px 15px, red -3px -3px 15px;
}

Prueba de texto con fondo difuminado con dos colores

La alternativa para Internet Explorer 7+ no ofrece el mismo efecto, pero es lo único que hay por el momento. Desde mi punto de vista, lo mejor es no utilizar este efecto en IE, simplemente ponemos el texto en negrita u otro color.

p.shadow {
display:block;
with: 100%;
filter: dropshadow(color=#FFFFFF,offX=1,offY=1);
}

Prueba de texto con fondo difuminado sólo para Internet Explorer 7+

Texto con sombra en tu web con CSS: text-shadow
2 Comentarios

The Smashing Book, libro de diseño gráfico, desarrollo y marketing web

Smashing magazine es uno de los blogs de diseño y desarrollo web más importantes en el panorama internacional. En él participan numerosos profesionales del sector que escriben tutoriales, guías, tips, recursos, etc.

A finales de septiembre van a publicar The Smashing Book, libro impreso que trata sobre las mejores prácticas del diseño web actual. En el libro podemos encontrar diversas técnicas, trucos y prácticas de programación, usabilidad y optimización, y nos mostrarán cómo crear interfaces de usuario de éxito utilizando principios de marketing para aumentar el ratio de conversión. Podremos saber qué tipografías y colores debemos elegir para lograr diseñar páginas web intuitivas y efectivas.

El libro está a todo color con cerca de 300 páginas. Estará disponible para todo el mundo (gastos de envío gratis a EEUU y Alemania) y nos ofrecen una garantía de devolución del dinero de 30 días. Puedes hacer un pre-order antes de que se publique a finales de septimebre, beneficiándote de un 20% de descuento. Por aproximadamente 23€ (gastos de envío incluídos) he comprado mi ejemplar, ya os diré qué tal está.

The Smashing Book, libro de diseño gráfico, desarrollo y marketing web

El libro se divide en varios capítulos:

  • El arte y ciencia de las CSS
  • Diseño de interfaces de usuario en aplicaciones modernas
  • Tipografías en la web: reglas, guías y errores comunes.
  • Principios de usabilidad para webs modernas
  • Guía del uso del color en diseños web y usabilidad<
  • Procedimientos de optimización para páginas web
  • Diseñar para vender: incrementa el ratio de conversión
  • Cómo convertir una página web en una marca notable
  • Aprendiendo de expertos: entrevistas y análisis
  • La historia de Smashing

Más info | http://www.smashingmagazine.com

Sin Comentarios