Proceso de desarrollo en proyecto con Drupal II. (Diseño y maquetación del theme)

Después de unos meses de trabajo y coincidiendo con el aniversario de Gestiweb, el mes pasado lanzamos la nueva versión de gestiweb.com

Describí en un post anterior el análisis del proyecto, el proceso de estructurado de la información, tipos de contenidos, relaciones en drupal, etc…
Continue reading

Proceso de desarrollo en proyecto con Drupal ( I. análisis )

Estoy empezando con un nuevo proyecto en el trabajo: Con motivo de su 10º aniversario, se ha decidido darle un lavado de cara a la web de Gestiweb S.L.

La web que hay actualmente en http://www.gestiweb.com data de 2006 – 2007 aprox. y se quiere volver a estructurar los distintos contenidos así como su aspecto.

Se requiere una estructura más optima de contenidos además de una imagen más amigable, adaptada a los tiempos que corren. Pues muchos proyectos y contenidos  realizados en gestiweb, no aparecen en la web ( o no todo lo destacados que deberían ).

¡ Así pues, vamos a intentarlo ! :-)

Se ha decidido contemplar ( a grandes rasgos ) las siguientes secciones:

  • Proyectos
  • Soluciones
  • Tecnologías
  • Servicios
  • Clientes
  • Laboratorio
  • Noticias
  • Artículos

Continue reading

Utilidades para desarrollo web en Linux

Llevo mucho tiempo (prácticamente desde que utilizo twitter) leyendo a diario titulares del tipo “5 herramientas de desarrollo web en MacOS”. Así que he decidido escribir “la alternativa”Desarrollo web desde Linux.

En la oficina donde trabajo actualmente, todos los equipos utilizan herramientas por lo general Open Source. Aunque cada uno utilice la distribución que más se adapta a sus necesidades (Debian, Ubuntu,Open Suse…) todos utilizamos linux. Hasta el momento, este sistema ha cumplido muy bien su cometido.

Dependiendo del escritorio que utilicéis ( Gnome o KDE ) utilizareis unas herramientas u otras por defecto. Personalmente utilizo el escritorio KDE4.

Las herarmientas que utilizo a diario para el desarrollo/diseño web son las siguientes:

  • Editor de textos: Bien Kate (en KDE), o Gedit (en Gnome)  Personalmente recomiendo Kate, si queréis saber un poco más sobre este editor y algunas de sus virtudes, aquí tenéis información: http://kate-editor.org/about-kate/. Variadas opciones de resaltado, opción de dividir ventana y un largo etcétera. Además, el uso de este editor, junto con el cliente FTP de Konqueror, es una potente combinación que agiliza mucho el trabajo. Edita directamente el archivo que tienes en la nube, y visualiza los cambios en tiempo real. Combinando Konqueror y Kate, conseguís un funcionamiento similar al de Notepad++, que integra también un plugin de FTP.
  • Cliente FTP: Dependiendo para qué, puedes utilizar Konqueror o Filezilla. Ambas muy buenas opciones. (Konqueror es realmente un navegador, forma parte de KDE y podéis encontrar más información, junto con la descarga en: http://www.konqueror.org/). En cuanto a FIlezilla, es la opción más famosa y extendida. Filezilla es el cliente FTP por excelencia, lo podéis descargar desde: http://filezilla-project.org/
  • Editor de imagen: Para realizar los bocetos, suelo utilizar “The gimp” ( la alternativa libre de Photoshop). En caso de tener que maquetar desde un “.psd” The Gimp también cumple perfectamente su función, pues soporta este tipo de archivos. Si lo que necesitas es una herramienta de dibujo vectorial, cuentas con “Inkscape” un programa potente y sencillo de utilizar. Puedes encontrar más información sobre Inkscape en: http://inkscape.org/ En cuanto a “The GImp”, puedes descargarlo desde: http://www.gimp.org/ También podéis ver un par de dibujos hechos por mi con Inkscape: http://algargar.com/blog/?cat=5

 

 

 

¿Utilizas Linux para el desarrollo web? ¿Qué herramientas utilizas tu? :-)

¡Un saludo!

 

HTML5 “El presente de la web”

Desde hace un tiempo hacia aquí ( sobre todo de mitad a final del 2011 ) se viene hablando mucho sobre todo el tema del HTML5. Bien, pues como dicen en la “Guia de HTML5“:

“HTML5 es el presente de la web y si no estás asimilando lo que está pasando ya eres parte de la vieja generación de desarrolladores. Eso tendría que tenerte preocupado.”

 

En Gestiweb llevamos un tiempo implementándolo, hemos desarrollado varios proyectos en HTML5. Una tienda online http://km42.es , la web de un restaurante http://restauranterufino.com ( diseñados y desarrollados íntegramente aquí en Gestiweb ). Así como varios themes Drupal en HTML5 ( http://eltratadodemaripaz.com , http://blog.eltratadodemaripaz.com, http://www.cuartopensante.com y http://blog.cuartopensante.com diseñados por  “El tratado de maripaz” y desarrollados por Gestiweb).

Logo HTML5

 

 

Ya son bastantes los proyectos que hemos realizados utilizando HTML5, pero este post no es para hacernos propaganda ( :P ) , sino para aportar el enlace a un material que me resulta interesante a modo de introducción en el ”cambio” en la web que es el HTML5, sin morir en el intento.

 

 

El libro se llama: “Guia HTML5. El presente de la web“. Está escrito por @freddier y @cvander, podéis encontrarlo junto con muchísima más información en “mejorando.la

También está en “OpenLibra” (La biblioteca de etnassoft) o en Google Docs

Espero que os sirva de ayuda :-)

¡ Un saludo ! ;-)

Google +1, la nueva forma de puntuar webs de Google

Google ha dado una vuelta de rosca a su forma de posicionar webs, ahora mediante el sistema llamado “Google+1″, lo que se quiere conseguir es dar fiabilidad a los sitios web, pues Google jugará con cierto ranking dependiendo si los usuarios han hecho click en el botón +1 de un sitio web, para que este salga mejor posicionado cuando realizen una busqueda. Por lo tanto, cuantos más “+1″ tenga tu sitio, mayor confianza y popularidad transmitirá a los usuarios.

Según el sitio de google:

El botón +1 es una forma rápida de indicar que algo es muy interesante o merece la pena que otras personas lo vean.

Haz clic en el botón +1 para decir públicamente que te gusta algo. Tus +1 pueden ayudar a tus amigos y contactos, o a otros usuarios, a encontrar los mejores resultados cuando buscan en Internet.

Aquí un video de ejemplo:

Más info en la web de Google:

Google +1

Interceptar y validar formularios en Drupal

¿ No se os ha dado el caso de necesitar validar cierto campo de algún formulario en Drupal y no habeis podido hacerlo, o habeis recurrido a algún tipo de parche ?

Ej: Cuando un usuario intente comprar en mi tienda desde los países “A”,”B” o “C” quiero que le deje seleccionar su país, pero que no le deje comprar. En lugar de eso que le salga un mensaje a modo informativo, para que entren en contacto conmigo y hablar de precios.

Bueno, pues voy a explicar una forma lograr esto, trabajando de forma interna con Drupal.

La idea consiste en desarrollar un módulo de Drupal, cuya única tarea sea en el formulario “X” realizar una tarea cuando se cumplan ciertas condiciones.

Un módulo básico de Drupal, consta de 2 archivos:

  1. nombremodulo.info
  2. nombremodulo.module

El archivo nombremodulo.info contendrá lo siguiente:

; $Id: nombremodulo.info,v 1.4 2007/06/08 05:50:56 dries Exp $
name = Modulo Algargar
description = "Modulo para validar el formulario antes de realizar el pedido."
package = "Paquetes Algargar"
version = "6.x-1.0"
core = 6.x
php = 5.0

; Information added by drupal.org packaging script on 2010-12-17
version = "6.x-1.0"
core = "6.x"

Básicamente es información para el drupal.

El archivo nombremodulo.module , que es el que realmente interesa, es quien se encargará de interceptar nuestro formulario. Incluiría lo siguiente:

<?php
// $Id: nombremodulo.module,v 1.414.2.16 2010/08/06 11:10:57 goba Exp $
function algargar_form_alter($form_id, &$form) {
//interceptamos el formulario de revision del pedido
if ($form_id['#id'] == 'nombre-formulario') {
//En caso de haber elegido un país de envío
if($form[post][panes][envio][pais_envio]){
//en caso de que sea A
if($form[post][panes][envio][pais_envio]==620){
$pais='A';
}
//en caso de que sea B
if($form[post][panes][envio][pais_envio]==250){
$pais='B';
}
//en caso de que sea C
if($form[post][panes][envio][pais_envio]==250){
$pais='C';
}
form_set_error('pais_envio', t('Lo sentimos, usted está intentando comprar desde '.$pais.'.
Para compras desde '.$pais.', consulte nuestra tabla de precios '));
}
}
}
?>

Con esto, al intentar comprar desde “A”,”B” o “C”, Drupal nos sacaría un error similar al siguiente:

¡ Si lees esto, y crees que el código es mejorable, o tienes una idea mejor de como hacerlo, no dudes en decirlo ! ;-)

¡Un saludo!

Dibujos vectoriales con inkscape

En mis ratos de aburrimiento ( que no son muchos ) hago algún que otro dibujo, y si aún me aburro más, lo vectorizo :P

Aquí una muestra de ello, realizado 1º a lápiz y después vectorizado mediante el programa de Software libre inkscape.

detective vectorizado

 

( Este dibujo fue realizado en el año 2010 )

Reducir tamaño del PDF con linux (ubuntu,debian…)

Si necesitas reducir un pdf por que te ocupa demasiado espacio, y necesitas subirlo a una web, no necesitas ningún programa de pago, puedes reducirlo con un simple comando en linux:

Desde GNU/Linux comprobamos que tenemos instalado Ghotscript y Gsfonts. Podemos instalarlos desde Debian, Ubuntu o derivados, con el siguiente comando:

$ sudo apt-get install ghostscript gsfonts

Una vez hecho esto, reducimos el pdf con el siguiente comando:

$ gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH -sOutputFile=PDFREDUCIDO.pdf PDFORIGINAL.pdf

Donde “PDFREDUCIDO.pdf” será sustituido por el nombre que quieras darle al fichero resultante, y “PDFORIGINAL.pdf” será el nombre del archivo de origen.

Un saludo!

 

Web dinámica: Protección Civil Enguera

En el año 2009 desarrollé el portal web para la Asociación de voluntarios “Protección Civil Enguera”, se hizo bajo el CMS Drupal ( Mi CMS favorito  ).

Utilizando:

PHP, CSS, HTML,  Mysql y Javascript.

El proyecto consta de:

-Diseño Web

-Programación PHP

-Gestión estructura web dinámica ( Bajo Drupal )

-Galerías de imágenes

-Blog

-Sincronización de alertas y emergencias con 112

-Organigrama de la asociación

-Calendario dinámico con asignación de eventos ( y calendario interno para eventos privados de la asociación, tales como reuniones y demás… )

-Secciones con explicación de servicios.

El portal web se ha desarrollado con posibilidades de ampliación, teniendo en cuenta el posicionamiento y respetando los estándares impuestos por el “W3C”

URL:  http://www.pcenguera.com

 

Sistema resumen para “if” [Programación]

Para los programadores PHP que se inician en la labor, presentamos un sistema que os puede ahorrar mucho tiempo y trabajo.

Este sistema es una forma muy sencilla de resumir un “if” mediante los símbolos “?” y “:”.

Por ejemplo: vamos a coger el siguiente código.

 

if($encendido == 1){

$sala = “iluminada”;

}else{

$sala = “oscura”;

}

Este código nos dice que si la variable encendido es 1 la sala estará iluminada, por lo contrario si es 0 estará oscurecida. Este código lo podríamos resumir en lo siguiente.

$sala ($encendido == “1″) ? “iluminada” : “oscura”;

Y con esto nos ahorraríamos tiempo, trabajo y código.

También nos puede servir si queremos imprimir algo mediante un “echo”.

echo ($semaforo == 1) ? “verde” : “rojo”;

Si la variable semáforo fuera 1 imprimiría verde, sino imprimiría rojo.

 

También le podemos asignar 3 condiciones:

echo ($semaforo == 1) ? “verde” : (($semaforo == 2) ? “ambar” : “rojo”);

O las que queramos:

echo ($nivel == 1) ? “Muy Fácil” : (($nivel == 2) ? “Fácil” : (($nivel == 3) ? “Normal” : (($nivel == 4) ? “Difícil” : (($nivel == 5) ? “Muy Dificil” : “Inexistente”))));

 

A partir de aquí ya podeis usar vuestra imaginación.

Espero que os haya servido el tutorial.

Saludos!

 

Este post… realmente lo escribió mi buen amigo: (DannyTM) ;-)