links for 2006-10-03

Descargas seguras mediante PHP

Interesante script que te ayudará si no quieres que la gente acceda directamente a tus ficheros para bajárselos. Para ello lo que hará será recoger un parámetro con el fichero que se quiere bajar, añadirle el path donde se encuentra y mediante la cabecera de la respuesta (header) devolver el fichero.

<?
$dir="/path/directorio/";
if (isset($_REQUEST["fichero"])) {
$fichero=$dir.$_REQUEST["fichero"];
header("Content-type: application/force-download");
header("Content-Transfer-Encoding: Binary");
header("Content-length: ".filesize($fichero));
header("Content-disposition: attachment; filename=\"".basename($fichero)."\"");
readfile("$fichero");
} else {
echo "Fichero seleccionado";
}
?>

Si avanzáis en el artículo, veréis un caso más práctico con la base de datos.

File Download Security

Vía / Good PHP Tutorials

Consejos para el diseño de tu blog

En BlogMundi nos ofrecen dos interesantes artículos que nos ayudarán en el diseño de nuestro blog. En un primer artículo nos comentan que tipo de letra usar, ya que no debería ser una elección a la ligera, ya que se deben basar en tres características:

Que se ajusten al carácter de tu sitio.
Facilidad de lectura en la pantalla del ordenador.
Estén disponibles en diversos navegadores y sistemas operativos.

En el siguiente artículo nos hablan entre otras cosas sobre los colores y el contraste que deben tener, el formato del texto, la sencillez del diseño y el formato de los enlaces.

Y ya metidos en el tema, cuando hayamos pensado en el diseño y nos pongamos a crear nuestra estructura XHTML y CSS, podemos usar esta herramienta que nos recomienda aNieto2K, para crearlas automáticamente.

¿Qué tipo de fuente usar?

Colores, formato y contenido del blog

Markup Maker

links for 2006-09-30

  • This tutorial will teach you how to create a simple flash website that has three sections. We are not going to use any advanced ActionScript and will rely only on the GotoAndPlay method to control our movie clip. You can view an example of what we’re goin
    (tags: flash tutorial)
  • El formato GIF viene siendo depreciado hace muchisimos años, principalmente motivado por los juicios absurdos que Unisys intento llevar a cabo despues que el formato haya pasado a ser uno de los mas usados en internet. El 1 Octubre este formato legalment

Puntos a favor de Flash

Ayer comentaba con amigo la entrada sobre las páginas realizadas totalmente en Flash y debo reconocer que a veces se critica mucho el Flash y las páginas hechas en Flash, cuando no siempre es totalmente cierto lo que se dice. Por eso, aquí va unos puntos a favor de Flash de mi propia cosecha.

  • No le eches la culpa al mensajero. Si una página hecha en Flash no te gusta, lo más probable es que el Flash no tenga nada que ver, sino el mal uso que ha hecho el diseñador. Si un logo no te gusta, no le echamos la culpa al Photoshop, si una pagina tiene un diseño horrible, no le echamos la culpa al HTML, ¿por qué si lo hacemos con el Flash?.
  • Los pequeños detalles sí importan. Como en el matrimonio, tener pequeños detalles es algo a tener en cuenta. Las opciones que nos ofrece Flash, nos permite añadir pequeños detalles en el diseño que pueden pasar desapercibidos, pero que sin ellos, el diseño podría no gustarnos tanto como nos gusta. Por ejemplo en este diseño sobre golf el que al principio el “golfista” golpee la bola o el que las nubes estén en movimiento continuo, es algo que quizás no nos demos cuenta, pero que completan mucho el diseño. Sí, se podría hacer algo parecido con HTML, pero no creo que sea lo mismo, hacerlo con Flash es mucho más sencillo e incluso eficiente.
  • Videos sin problemas. Los videos tipo YouTube o Google Video es uno de los mejores inventos que existen, estoy cansado tener que abrir un trailer de una película con IE desde mi Firefox, porque si abro un mov se me cierra el Firefox. Con los videos en Flash no tengo ese problema, a parte de que los navegadores te traen instalado el plugin de Flash y no tienes que instalar plugins adicionales para ver otro tipo de videos.
  • Reutilizar es fácil. La posibilidad de crearnos componentes hace que nos podamos ahorrar mucho tiempo de trabajo cuando ya hemos desarrollado nuestra pequeña librería.
  • No me toques. Una de las cosas que más me molestan de Flash es que no puedo guardar las fotos de la página ni copiar el texto con facilidad, sí, si lo quiero conseguir, lo puedo hacer, pero no sin que me lleve un tiempo. Como me comentaban ayer, si no quieren poner el texto que sea seleccionable en una página en Flash, será por algo, a mí me podrá fastidiar, pero el autor estará de lo más contento.
  • No solo de Arial vive la web. La posibilidad de incrustar fuentes de letra totalmente diferentes a las que nos ofrece normalmente un navegador, es algo fundamental para el diseño.
  • Cualquiera puede usarlo. Aunque también existen editores para HTML que hacen que no sea necesario conocer HTML, el hecho de que Flash sea como un programa de dibujo (y que me perdonen por lo que acabo de decir), hace que cualquiera pueda hacer una página en Flash que sea decente, claro, que si le quieres añadir ActionScript, vas a tener el mismo problema que con el HTML.
  • Libertad y facilidad en el diseño. A veces no es necesario el contenido, porque el diseño se vende solo. Un anuncio en una revista de un coche te puede vender el coche sin decirte ninguna de las prestaciones, lo mismo puede pasar gracias a Flash, aunque en HTML lo podríamos conseguir, gracias a Flash lo podemos hacer de forma más espectacular.

Habrá gente que esté a favor del Flash, los habrá en contra, pero creo que lo mejor es poner a cada uno en su sitio y saber cuando usarlos.

Diseña tus CSS

Paso a resumir un artículo que nos podrá ayudar a la hora de diseñar nuestras CSS, porque como bien dicen, el poner todos los estilos en un solo fichero ya pasó a la historia.

Algo tan importante como la estructura de nuestro sitio es la organización de las CSS en ficheros, claro que no hay una solución perfecta ya que depende de cada situación.

Una posible solución es la que está basada páginas-modelo, es decir, que existe un diseño diferente para distintos modelos de páginas, por ejemplo un diseño para la página principal, otro para las subpáginas, otro para el portfolio, … Este modelo es útil cuando se trata de pocos tipos de diseño, aunque nos podemos encontrar con estilos comunes entre los distintos diseños, lo que complica la solución. Claro, que este problemilla se puede solucionar de distintas formas:

  • Usar un archivo css que agrupe los estilos comunes, aunque ayuda a tener estructurados los ficheros de estilos, si se trata de un sitio grande, puede que este archivo aumente demasiado.
  • Duplicar estilos en CSS independientes, tiene el problema de tener código redundante y tener que corregir cambios en distintos sitios en vez de en un único sitio.
  • Crear un fichero nuevo que puede ser usado por otros, no hay redundancia en este caso.
  • Crear un nuevo CSS que agrupe estos pequeños casos.

Otra solución es diferenciar los estilos por elementos de la página, con esto se quiere decir que si nuestra página se crea dinámicamente y hay un fichero para la cabecera, otro para el cuerpo, otro para la navegacion, puede haber perfectamente sus correspondientes estilos, por lo que solo se incluyen los estilos para cada parte que se use.

Parecido a lo anterior es clasificarlo por etiquetas, por ejemplo, si se usan tablas o formularios, unos estilos para estos elementos y solo incluirlas en las páginas que los contengan.

Otros consejos útiles es separar los estilos para print, handheld and screen y usar @import para incluir estilos en un fichero CSS principal.

A parte de la organización física de los ficheros, tampoco hay que olvidar lo que ya hemos comentado en otras ocasiones que las clases e identificaciones deben tener un significado por su funcionalidad y no por lo que muestran (ej: no usar una clase que sea “rojo”, sino una que sea “error”, el que sea rojo o verde no es significaquivo). Agrupa estilos por contexto y usa comentarios para una mejor localización.

Architecting CSS

Vía / Digg

Lista de aplicaciones para gestión de errores

Se quiera o no, en todo proyecto hay errores y deben ser solucionados, en casi todos los proyectos en los que he estado, el control de los errores (o nuevas funcionalidades) se ha realizado mediante emails, documentos Word, hojas Excel o el famoso “oye, mírame esto que no funciona”. Las pocas veces que he trabajado con alguna aplicación de gestión de errores, me he encontrado con que se trata de algo muy útil y efectivo, recomiendo su uso, sobre todo para los jefes de proyectos, que son quienes deciden si se usan o no (sobre todo por no querer gastar en una herramienta y no fiarse del software open source).

Bugzilla

No creo equivocarme al decir que es el más conocido de todos. Creado por Mozilla, nos permite tener un seguimiento de errores y cambios, comunicación entre los miembros del proyecto, enviar y revisar parches y manejar la garantía de calidad. Además, entre otras características, nos permite llevar un control de tiempo, distintas formas de autenticación, gráficos y multilenguaje. Requiere Perl, MySQL o PostgreSQL, servidor web (Apache recomendado), módulos Perl específicos y Mail Transfer Agent.
bugs1.png

Bugzilla

BUGS – the Bug Genie

Desarrollado por Ruffdogs, fácil de usar, opensource, seguro, con historial sobre los errores, mensajería privada, temas y multilenguaje, entre otras características.
bugs2.png

BUGS – the Bug Genie

GNATS

Proyecto GNU, soporta distintas bases de datos, además existe una comunidad que desarrolla nuevas extensiones.

GNATS
bugs3.png

CodeTrack

Como caracterísitica principal es que no necesita ni base de datos ni servidor de correo (algo que puede ser una ventaja dependiendo de los recursos que podemos obtener en un proyecto). La información la guarda en XMLs y tan solo es necesario tener instalado Apache y PHP. De fácil instalación, funciona en navegadores antiguos, seguro y otras características que hacen que sea una aplicación sencilla y útil.bugs4.png

CodeTrack

Mantis

Desarrollado en PHP, siendo necesario MySQL y un servidor web (Apache a ser posible), este bug tracker tiene entre sus características el ser fácil de instalar, permitir varios proyectos, varios lenguajes, emails, búsquedas y filtros.
bugs5.png

Mantis

Bug-a-Boo

Aunque el nombre suene a risa, esta aplicación parece bastante seria. Solo para Linux, permite temas y está disponible en inglés y alemán.
bugs6.png

Bug-a-Boo

Zentrack

También diseñado para ayuda de helpdesk, con una interfaz bastante configurable, permite controlar el flujo de trabajo y el manejo de los datos, control de los tiempos y de las funcionalidades para los usuarios y lista de contactos.
bugs7.png

Zentrack

Hipergate

Una herramienta muy completa que ofrece un módulo de Gestión de Proyectos (seguimiento de tareas y control de incidencias). Todo esto además de herramientas colaborativas, gestión de contactos, etc. Con una licencia basada en GPL y desarrollado en Java (necesita un servidor de aplicaciones J2EE, al menos un contenedor servlets/jsp) y admite varias BBDD: postgresql, oracle, y sql server.
bugs8.png

Hipergate

Gracias Mondelo

Trac

Se integra con SVN y permite navegar por el código, abrir tickets y hacer una gestión del proyecto decente. Escrito en Python, admite las bases de datos SQLite, PostgreSQL y MySQL.
bugs9.png

Trac

Gracias Albert

Esperamos que os sean útiles y que si conocéis alguna más, nos lo hagáis saber para aumentar la lista.

10 cosas que debe tener tu web

Lo mejor de la experiencia es que vamos aprendiendo de ella, y vamos mejorando, aunque no siempre es así y siempre nos vienen bien unos cuantos consejos sobre el desarrollo web.

  • Hazlo sencillo, las características que añadas, que sean para mejorar, no para distraer. Cuánto más fácil mejor para el usuario, mejor para tí.
  • Tu diseño y contenido son realmente importantes. Empieza con el diseño, maquétalo, desarróllalo y luego intenta que tu contenido sea lo que más haga que la gente se quede, pero con un buen diseño.
  • Ábrete lo máximo, comparte tus contenidos, crea una API para que otros puedan usarte, usa feeds.
  • Testea. Si, es lo más aburrido, lo de “beta” que está tan de moda ahora, no es solo algo de diseño, es una necesidad.
  • Empieza con lo básico y ve añadiendo funcionalidades de forma rápida y constante.
  • Persevera, no te dejes convencer de que no se puede hacer, si crees en el proyecto, sigue adelante.
  • No reinventes la rueda, sigue estándares, reutiliza herramientas y código en tus proyectos.
  • Planifica tu aplicación web para que admita escalabilidad y para que pueda crecer.
  • No pierdas de vista los microformatos, Adobe Apollo para la creación de aplicaciones de internet, Whobar para manejar identidades digitales y Akismet para luchar contra el spam.
  • Fíjate en la tendencia del contenido y el software social generado por los usuarios.

10 Things That Will Make Or Break Your Website

links for 2006-09-28