Sistema de Foros en PHP y MYSQL

En este tutorial crearemos un foro desde cero aprendiendo a separar la programación del diseño, y modularizando nuestra aplicación para que sea simple de configurar y de adaptar.
La Estructura
Primero y antes que nada, debemos preparar la tabla en la base de datos que contendrá todos los temas de nuestro foro. Lo que esta tabla tendrá, es la información de nuestros mensajes, el autor del mismo, y otros datos que servirán para identificar a que Tema pertenece un mensaje.

Pero mejor, veamos la estructura propuesta:
CREATE TABLE `foro` (
`id` int(7) NOT NULL auto_increment,
`autor` varchar(200) NOT NULL default '',
`titulo` varchar(200) NOT NULL default '',
`mensaje` text NOT NULL,
`fecha` datetime NOT NULL default '0000-00-00 00:00:00',
`respuestas` int(11) NOT NULL default '0',
`identificador` int(7) NOT NULL default '0',
`ult_respuesta` datetime default NULL,
KEY `id` (`id`)
) TYPE=MyISAM;
Si quieres aprender sobre Base de Datos y SQL

Veamos en detalle que campos tendrá nuestra tabla de Foros:
• id: Será el identificador principal de la tabla. Sirve para diferenciar cada uno de los mensajes.
• autor: El autor del mensaje.
• titulo: El titulo que tendrá el mensaje. Si este mensaje es el iniciador de un tema, será el que mostrará en el home del Foro.
• mensaje: El mensaje en si mismo.
• fecha: Un campo DATETIME que indicará en que fecha se ha publicado este mensaje.
• respuestas: Si este mensaje es el iniciador de un tema, aquí se acumularán la cantidad de respuestas que reciba.
• identificador: Este campo guarda el valor del id del mensaje que se está respondiendo. Si el mensaje es iniciador de un tema, entonces este campo valdrá cero.
• ult_respuesta: Si el mensaje es iniciador de tema, aquí se actualizará valor de acuerdo con la fecha de la última respuesta que haya recibido. Sirve para poder mantener un orden en los foros.
La sentencia SQL anterior, pueden guardarla en un archivo.sql y correrla en su base de datos desde el phpMyAdmin, o si lo prefieren, pueden ingresarla línea por línea en un cliente de texto de mySQL (como el mySQL monitor). Una vez que hayan creado la tabla en su base de datos, entonces podemos avanzar al siguiente paso.
Antes de ponernos a programar cualquier parte del foro, vamos a encargarnos de hacer un pequeño script que realice una tarea que vamos a repetir mucho, y que es conectarnos a la base de datos. Este script lo incluiremos en cada página en la que tengamos que acceder a la base de datos:
Ejemplo de la página de configuracion.php



Cómo vemos, no hay gran ciencia en este script, tan solo unas variables conteniendo la configuración de nuestra base de datos, y el código mínimo y necesario para conectarnos y guardar el recurso de conexión en una variable $con que luego utilizaremos cuando hagamos nuestras consultas.
Los Templates
Antes de dar un paso más en la explicación, quiero hacerles unos comentarios respecto al "simple" sistemita de templates que utilizaremos en el foro. Primero, para aquellos que no sepan que es un Template, les recomiendo que lean los artículos de Nok y de Luigi en nuestra sección de Templates de Zonaphp.com, por lo menos para que tomen una idea de que son y para qué sirven.
Ahora, mi idea al utilizar templates, fue la de que los usuarios, pudieran modificar a su gusto el aspecto del foro, sin por ello tener que tocar el código de la aplicación. Esto es algo que el tutorial anterior no tenía en cuenta e incluía todo el código HTML de salida dentro del código mismo del foro, lo cual no es siempre recomendable. Lo que haremos en este caso es utilizar archivos .html que dentro contendrán solo diseño (o sea, código HTML ) y en los lugares en los que deseemos colocar contenido "dinámico", utilizaremos el formato simple para mostrar el contenido de variables, esto es : .
Para "interpretar" un template, primero lo leemos en memoria utilizando la función file() y luego utilizaremos una simple función a la que le pasaremos como parámetro el template y las variables que hay que reemplazar. Para muestra, basta un botón:
Ejemplo de la página de ejemplo.html
Nombre:

Edad :

Domicilio :




Ejemplo de la página de ejemplo.php
".$tema." array("nombre"=>"Marcelo", "edad"=>"25", "domicilio"=>"VeraCRuz 342"),
"1" => array("nombre"=>"Alejandra", "edad"=>"18", "domicilio"=>"Los Olmos 67"),
"2" => array("nombre"=>"Micaela", "edad"=>"23", "domicilio"=>"Prof. Mariño 8")
);
$tpl = implode("", file("ejemplo.html"));
foreach($agenda as $registro)
{
mostrarTemplate($tpl, $registro);
}
?>


Aquí vemos como, partiendo de los datos que tenemos en un array, los mostramos basándonos en un simple template. La función mostrarTemplate toma como parámetros el contenido del template y un array asociativo con los valores a reemplazar. La función de PHP extract() se encarga de pasar estos valores al ámbito en el que se llama la función, en este caso, el ámbito de la función. Por lo que si tenemos un arreglo del tipo $a = array("clave" => "valor"), al ejecutar extract($a), entonces pasaremos a tener una variable disponible, de nombre $variable y con "valor" como contenido. Luego, la función eval() se encarga del resto, o sea, de ejecutar todo el código (el del Template) que se le pasa como parámetro.
Algunos se preguntarán, porqué no hacemos simplemente un "include" ? La respuesta es muy simple. Eficiencia. La función include implica un acceso a disco, lo cual la hace bastante "costosa" en términos de eficiencia. Así que leyendo el template 1 sola vez en memoria, y luego utilizándolo varias veces, hacemos un mejor uso de los recursos.
Teniendo estos temas en cuenta, es que podemos seguir ahora con el desarrollo el Foro.
Un Tema por vez
Ya teniendo las bases de nuestro foro, el diseño de la tabla en la base de datos y conociendo como funciona nuestro sistema de templates, podemos comenzar a crear la primera página, en la que mostraremos todos los temas del foro:
Ejemplo de la página de index.php
0)
{
// Leemos el contenido de la plantilla de temas
$template = implode("", file("temas.html"));
include('titulos.html');
while($row = mysql_fetch_assoc($rs))
{
$color=($color==""?"#5b69a6":"");
$row["color"] = $color;
mostrarTemplate($template, $row);
}
}
include('footer.html');
?>


¿Eso es todo? Si, eso es todo. Ahora revisemos paso a paso lo que hace el script. Primero tenemos una serie de requires e includes. El primero incluye el primer Script que hicimos, que realiza la conexión a la base de datos. El segundo, incluye un archivo.php que contiene funciones importantes del foro, como por ejemplo, mostrarTemplate. El tercero, incluye un header genérico que utilizaremos para darle a todas nuestras páginas, un diseño similar. Allí podremos colocar un logo del sitio, links importantes, banners, etc.

$sql = "SELECT id, autor, titulo, fecha, respuestas, ult_respuesta ";
$sql.= "FROM foro WHERE identificador=0 ORDER BY ult_respuesta DESC";
$rs = mysql_query($sql, $con);
if(mysql_num_rows($rs)>0)
{


Aquí lo que hacemos es ejecutar un query en la base de datos, que nos traerá todos los mensajes que son iniciadores de un tema, o sea, cuyo identificador esté en cero. El resto de los mensajes, que sean respuestas a un tema en particular, tendrán en el campo identificador el valor del mensaje al que responden. A estos temas, le pedimos a la base que los ordene por la fecha de última respuesta, de manera descendente, así en nuestro foro, tendremos los mensajes más recientes primero. También realizamos una decisión, solo mostraremos los temas de nuestro Foro si la cantidad de filas recuperadas desde la base, son mayores a 0.
Luego, dentro del While principal del programa, hacemos toda la "magia":
// Leemos el contenido de la plantilla de temas
$template = implode("", file("temas.html"));
include('titulos.html');
while($row = mysql_fetch_assoc($rs))
{
$color=($color==""?"#5b69a6":"");
$row["color"] = $color;
mostrarTemplate($template, $row);
}


Aquí comenzamos a trabajar por primera vez con los templates. Primero leemos el contenido del template en memoria y lo guardamos dentro de la variable $template. También incluimos un archivo, que contiene una fila de la tabla de Temas, con los títulos de las celdas. EL resto ya lo vimos anteriormente, llamando a la función mostrarTemplate mostramos los datos de cada tema.
Finalmente, solo agregamos otro archivo HTML, con el código para cerrar la página y mostrar algún que otro mensaje de Copyright (o lo que queramos poner). Con esto ya tenemos nuestra página inicial del Foro, mostrando los temas que haya. Ahora, vamos a crear el formulario necesario para ingresar nuevos temas o para responder algún tema existente.
Participar es la Base
El ahorro es la base de la fortuna, suelen decir, y esto se aplica a casi todo. Así que, haciendo caso al dicho, podemos utilizar el MISMO formulario para crear un nuevo tema y para contestar un tema en particular. Esto lo vamos a lograr, pasando una variable por el URL, indicando que estamos citando un mensaje anterior, sacando de la base de datos el mensaje que citaremos, y completando el formulario con esos datos. Si la variable no está presente, entonces no hacemos nada y mostramos el formulario.
Ejemplo de la página de respuesta.php
$id);
if($citar==1)
{
require('configuracion.php');
$sql = "SELECT titulo, mensaje, identificador AS id ";
$sql.= "FROM foro WHERE id='$id'";
$rs = mysql_query($sql, $con);
if(mysql_num_rows($rs)==1) $row = mysql_fetch_assoc($rs);
$row["titulo"] = "Re: ".$row["titulo"];
$row["mensaje"] = "[citar]".$row["mensaje"]."[/citar]";
if($row["id"]==0) $row["id"]=$id;
}
$template = implode("", file('formulario.html'));
include('header.html');
mostrarTemplate($template, $row);
include('footer.html');
?>

En el script vemos como primero capturamos de la URL, las variables $id y $citar, y si ésta última es igual a 1, entonces consultamos en la base de datos toda la información del tema que estamos citando, para agregarlo en el arreglo $row, que luego será pasado al template. Noten como al titulo del mensaje, le anteponemos la cadena "Re:", indicando que es una respuesta, y como al cuerpo del mensaje, si estamos citando, lo rodeamos por un tag [citar] y [/citar]. Esto lo veremos más adelante.
Ejemplo de la página de formulario.html


">
















Autor

Titulo
">
Mensaje




Aquí vemos como colocamos las variables dentro de los atributos "value" de los inputs y el textarea. También podemos ver como tenemos un campo escondido, llamado "identificador", que solo tendrá un valor asignado, cuando estemos respondiendo a un mensaje, pero que no existirá cuando sea un mensaje nuevo. Solo queda ver el script que se encarga de grabar el mensaje en la base de datos, agregar.php.
Ejemplo de la página de agregar.php


En este script, luego de tomar las variables desde el formulario (con el método POST), primero verificamos que exista un nombre de autor y el título del mensaje, caso contrario le asignamos un valor por defecto. También utilizamos la función de PHP htmlentities() para convertir todos los caracteres especiales ( >, <, ", &, etc ) en sus respectivas entidades HTML ( >, <, "e;, &). Con esto evitamos que un usuario ingrese código HTML en nuestro Foro (con la respectiva vulnerabilidad que este implica). A continuación, grabamos el mensaje en la base, y obtenemos, mediante la función mysql_insert_id(), el último id autoincremental que le corresponde a este registro. ¿Para qué? Simple. Si este mensaje que acabamos de grabar es el primero del tema, no necesitamos hacer nada, pero si es un mensaje en respuesta a otro ( esto lo averiguamos preguntando por el valor de $identificador), entonces tenemos que actualizar ese primer mensaje, indicando que tiene una respuesta más, y cambiando la fecha y hora del último mensaje. De esa manera, nos aseguramos que tenemos bien ordenado el foro, con los temas con nuevos mensajes primero. Finalmente, dependiendo del caso, redirigimos al usuario al home del foro, o a la respuesta que acaba de ingresar. Miles de posibilidades Ya solo nos queda un último paso, y es el de crear la página que mostrara un tema y todas las respuestas que haya en él. Para ello, vemos como en el home del foro, llamamos a un script foro.php y le pasamos el id del tema que queremos ver. Luego, solo tenemos que obtener de la base el o los temas, en los que el id sea igual al que pasamos, o que el identificador (el campo que indica que ese mensaje es en respuesta a cierto tema) sea igual al identificador, los ordenamos por fecha y listo, foro al dente. En este caso, el template que utilizaremos para mostrar cada uno de los mensajes, será una tabla con todos los datos necesarios: el autor del mensaje, el título, la fecha del mensaje, el mensaje en si mismo. Pero también agregaremos dos detalles. Primero, un link hacia el formulario que creamos antes, de modo que un usuario pueda citar un mensaje en particular, y segundo, un Anchor (o Ancla) para que al responder a un mensaje, se pueda acceder directamente al mismo por su id en la base de datos. Ejemplo de la página de post.html
">







">

Enviado el :








[ &citar=1">CITAR ]






Ahora, veamos el código PHP que utilizaremos para "parsear" este template:
Ejemplo de la página de foro.php
0)
{
include('titulos_post.html');
$template = implode("", file('post.html'));
while($row = mysql_fetch_assoc($rs))
{
$color=($color==""?"#5b69a6":"");
$row["color"] = $color;
//manipulamos el mensaje
$row["mensaje"] = nl2br($row["mensaje"]);
$row["mensaje"] = parsearTags($row["mensaje"]);
mostrarTemplate($template, $row);
}
}
include('footer.html');
?>

Como siempre, incluimos la conexión a la base de datos, el archivo de funciones y validamos de que exista la variable $id, ya que de lo contrario, nada podríamos hacer y nuestro foro fallaría en el Query. Hablando del Query, podemos ver como utilizamos la función de mySQL DATE_FORMAT() para convertir el formato por defecto del tipo datetime ('AAAA-MM-DD hh:mm:ss') en algo que sea más común para nuestro idioma ('DD/MM/AAAA hh:mm:ss'). Si quieren más información sobre esta función, pueden visitar y consultar el manual de mySQL.
Lo más destacado en este script que podemos ver, son dos transformaciones que le hacemos al mensaje, antes de enviarlo al template. Como vemos, primero utilizamos la función de PHP nl2br(), que convierte todos los saltos de linea, en tags
, de esa manera, los saltos que un usuario ingrese en el textarea, serán agregados correctamente al mostrar el mensaje. Luego, vemos como llamamos a la función parsearTags(). ¿Qué hace esta función? Veamos:
Ejemplo de la página de funciones.php

", $mensaje);
$mensaje = str_replace("[/citar]", "
", $mensaje);
return $mensaje;
}
?>

Dentro de esta función, podemos agregar todas las modificaciones que queremos realizarle al mensaje, antes de mostrarlo en el Foro. En el ejemplo, vemos como hemos implementado el uso de un tag propio, [citar]. El mismo, dentro de la función, será reemplazado por el código HTML necesario para destacar el citado de un mensaje, todo esto gracias a la función str_replace() de PHP (más info en el manual). Este es el tag [citar] que se agrega automáticamente, y que notamos cuando respondíamos un mensaje.
Esta función, pueden personalizarla de la manera que deseen, agregando todos los tags que quieran, para ofrecerles a sus usuarios la libertad de darle formato a sus mensajes. Podrían, por ejemplo, agregar un nuevo tag, para poner palabras en negritas, o quizás alguna expresión regular que convierta automáticamente cualquier URL presente en el mensaje, en un link. Los límites son los de su imaginación.
Misión Cumplida
Cómo intenté demostrarles en este pequeño artículo, realizar nuestro primer foro es algo completamente sencillo, si sabemos utilizar mínimamente mySQL y PHP (más bien, algunas funciones más que útil del PHP). En estas pocas líneas aprendimos:
• Crear una tabla en MySQL para que contenga los datos de nuestro foro.
• A conectarnos a MySQL desde nuestro script PHP.
• A utilizar un sistema de templates casero y simple.
• La utilización de funciones de PHP como: extract(); eval(); implode(); file(); nl2br(); mysql_insert_id(); str_replace();
• La utilización de la función DATE_FORMAT() de MySQL.
• Cómo trabajar de manera segura con la directiva Register_Globals en OFF, tomando uno a uno los contenidos de las variables, desde sus respectivos arrays $_POST y $_GET.
Y varios conceptos más a la hora de programar nuestros scripts. Ahora, este sistema es muy básico, como simple. Así que de ahora en más, es campo fértil para que Uds. mismos puedan agregarle todas las características y funcionalidades que deseen, personalizando el foro a su gusto. Como ideas, puedo mencionarles algunas:
• Agregar más tags para que sus usuarios puedan dar formato a sus mensajes.
• Incorporarle un sistema de usuarios.
• Contadores de visualizaciones de un tema, para hacer un Ranking de temas más vistos.
• La posibilidad de que los usuarios puedan utilizar firmas.
Y seguro que a uds. mismos se les deben estar ocurriendo otras muchas buenas ideas para mejorar el Foro. Por lo pronto, espero que hayan disfrutado este tutorial, y sigan programando simple, seguro, pero ante todo, bonito.



Por: Andrea González
Diseño de páginas Web Profesionales y Económicas http://www.loquequierasya.com

Este artículo viene de artículo.org.








Hosting Web Dedicado - Liquid Web

Uno de los problemas mayores al crecer nuestro sitio web es obtener un buen hosting, ya sea que necesitemos un Plan Grande, un VPS o un Servidor Dedicado.
Hay buenas opciones en el mercado, algunas mas seguras que otras.

Liquid Web
Es una empresa que brinda buenos dedicados administrados y es una de nuestras recomendaciones.


Si otras empresas de Hosting nos quieren mandar servicios para evalur con todo gusta las publciaremos

Planeacion de un Sitio Web: Etapa 1 Análisis

Planeacion de un Sitio Web: Etapa 1 Análisis

La creación de un Sitio Web es una labor delicada que requiere de una planeación detallada de todas las actividades que se llevarán a cabo, para esta labor se sugiere las siguientes etapas para la creación de un sitio web:

  1. Análisis
  2. Diseño
  3. Desarrollo
  4. Evaluación
  5. Implementación

La planeación te da la mejor garantía de que tu proyecto cumpla con su objetivo y esté listo en la fecha programada.

Primera etapa: "El análisis"

En la etapa de análisis el desarrollador debe involucrarse con la organización en la cual se trabaja y determinar con precisión los objetivos a lograr a través del sitio Web.

Esta etapa puede requerir de entrevistas y revisiones de sitios Web anteriores y/o relacionados con el tema. De acuerdo con las necesidades y recursos disponibles se forma el equipo de trabajo y se determina la estrategia a seguir.

Actividades a realizar

  • Identifica el perfil de tus clientes.
  • Selecciona el medio de entrega (Software).
  • Establece una estrategia.
  • Conforma el equipo de desarrollo.

Plan de trabajo

  • Etapas
  • Actividades
  • Responsables
  • Requerimientos
  • Fechas límite

Productos

  • Plan de trabajo
  • Reporte de avance

Una vez terminada la etapa de planeación tendrás practicamente el 20% de avance en la construcción de tu Sitio Web y podrás continuar con la siguiente etapa "El Diseño".

Escrito por: Joaquín Be-Mena. Director de http://www.asesordecomputo.com

ARTICULO.ORG

Alojamiento de archivos y pagan cada 1000 descargas

Alojamiento de archivos y pagan cada 1000 descargas
http://hostfil.es/
Alojamiento de archivos y pagan cada 1000 descargas

Downloads Payout
1000 $10
5000 $50
10,000 $100
100,000 $1000

($10 cada 1000 downloads)

No lo hemos probado aun dicen que pagan via PayPal a la semana


Web 2.0 Badges Galardones


Para hacer Web 2.0 Badges como el Boton OK! del costado. Los podes realizar gratis online
Web20Badges is a set of free and very cool Web 2.0 Badges.

http://www.web20badges.com/

Hosting Gratuito para paginas web

Listados de Hostin Gratuitos para hospedar sus paginas web y sus diseños

Hosting Gratuito

Lugar Upload Publicidad Espacio
www.125mb.com FTP Pop-Up 125 Mb
angelfire.lycos.com FTP Banner Sup - Inf 20 Mb
www.fortunecity.com FTP Banner, boton y pop-up 25 Mb
www.freeservers.com FTP Banner y pop-up 12 Mb
www1.websamba.com FTP Banner Sup e Inf 30 Mb
www.netfirms.com FTP Banner 25 Mb
www.bravenet.com Web Banner
www.geocities.com Web Barra Lateral 15 Mb
El color HTML (Tutorial de www.programacionweb.net)

Un color se suele definir con un número de 6 cifras precedidas por almoadilla (#), donde los grupos de 2 cifras son cada uno la intensidad del Rojo, Verde y Azul de 0 a 255 en hexadecimal (0-FF), utilizando el llamado modelo RGB 24 bits.

De esta manera, si tenemos #00FF00, obtendremos color verde, ya que contiene 00 de rojo, FF (255) de verde y 00 de azul.

Sabiendo esto y un poco de Formateo Básico, podríamos codificar un texto de color rojo en HTML de la siguiente manera:
000
Texto de color rojo

Para adaptarse a las pantallas que solo disponen 256 colores se recomienda utilizar los colores llamados web-safe que se obtienen usando combinaciones de 00, 33, 66, 99, CC y FF.


Vamos a ver los codigos HTML de alguno de estos colores web-safe:

#000000 #009900 #00FF00 #000099 #0000FF #009999 #00FFFF
#990000 #999900 #99FF00 #990099 #9900FF #999999 #99FFFF
#FF0000 #FF9900 #FFFF00 #FF0099 #FF00FF #FF9999 #FFFFFF


Es posible que muchos de vosotros esteis acostumbrados a usar otro tipo de formato de color, por ejemplo red en lugar de #FF0000, pero sin embargo es bueno acostumbrarse a esta nomenclatura, nos evita tener que aprender los nombres de los colores y nos permite crear cualquier color que deseemos.
Fuente: http://www.programacionweb.net/articulos/articulo/?num=169

CSS Diseño de 3 columnas

Vamos a intentar hacer la base de una página web en XHTML 1.0 Strict & CSS con 5 apartados, dos son los típicos: header y footer, pero los otros tres varían un poco, normalmente se suelen hacer las páginas con dos columnas, pero otras muchas veces es necesario usar 3, por ejemplo en algunas bitácoras, páginas de periodismo, o simplemente por cualquier cosa que creas que puede tener mayor navegabilidad con 3 columnas en vez de dos.

Tutorial completo muy bueno en Cristalab

Adobe Creative Suite

Fiel a su intención de ofrecer a creativos y desarrolladores un amplio espectro de opciones innovadoras para la realización de tareas de diseño, la compañía californiana lanzó un nuevo paquete de actualizaciones de software bautizado con el nombre de Creative Suite 3.

La nueva herramienta de Adobe integra seis configuraciones diferentes y 13 productos individuales destinados a satisfacer las distintas necesidades de los usuarios.

De esta forma, permite que los desarrolladores puedan producir impresos, así como también abocarse al diseño web, interactivo o móvil, de video y de cine.

Las aplicaciones en cuestión son: Adobe Creative Suite 3 Design Premium y Standard; Creative Suite 3 Web Premium y Standard; y Adobe Creative Suite 3 Production Premium.

Además, a ellas se suma Adobe Creative Suite Master Collection, que combina las flamantes aplicaciones de diseño y producción de Adobe.

Según la agencia de noticias Reuters, Adobe Creative Suite 3 representa el uso mas completo de la tecnología Flash realizado hasta ahora.

A partir de ahora, los usuarios de Flash podrán importar archivos nativos de Photoshop y de Illustrator en forma directa a los proyectos de una de las nuevas soluciones de Adobe: Flash CS3.

Asimismo, los flamantes productos de la firma también incluyen una versión de Dreamweaver.

Adobe Creative Suite 3 saldrá a la venta en abril y tendrá un costo que oscilará entre los 1.799 y los 2.499 dólares. Fuente USERS

Tags Technorati:

Tags Blogalaxia:

Tags Technorati:

Tags Blogalaxia:

Micorsoft reemplaza el Front Page

Ya está disponible la versión final de Microsoft Expression Web (herramienta que forma parte de la familia Expression Studio). Expression Web es una herramienta profesional apuntada a diseñadores web y que puede ser utilizada para crear sitios modernos y basados en estándares que otorgan calidad superior en la Web.

La herramienta, si bien está preparada para crear/editar sitios o aplicaciones desarrolladas con ASP.NET, permite trabajar también con sitios web basados en CSS y XHTML 1.0 entre otra opciones.

Aquí presentamos alguna de las “features” de Expression Web:

Sitios Web basados en estándares:
Cree sitios Web basados en CSS, XHTML 1.0 por defecto. Trabaje mejor a través de navegadores, simplificando el desarrollo y el mantenimiento. Configure parámetros de esquemas flexibles para soportar todas las combinaciones de HTML, XHTML, Strict, Transitional, Frameset y CSS 1.0, 2.0 y 2.1 más esquemas específicos de navegador. Valide su sitio con reportamiento de compatibilidad y accesibilidad y contra Section 508 y W3C Content Accessibility Guidelines (WCAG).

* Conformidad XHTML
* Soporte completo de esquema
* Validación de estándar en tiempo real
* Verificación de accesibilidad

Formateo y capa sofisticada basada en CSS:
Genere capas CSS modernas y elegantes con herramientas de diseño estado-de-la-superficie-de-arte. Maniobre directamente la posición, el tamaño, los márgenes y el relleno. Un sofisticado motor CSS adentro le da confianza para tomar decisiones de diseño sobre la marcha. Ponga en práctica los estilos CSS en la página con administración de estilo arrastre y suelte y transpórtelo a un depositario central. Escribiendo ayuda e IntelliSense® en Code View hace su proceso eficiente y rápido.

* Superficie de diseño profesional
* Creación de estilo CSS inteligente
* Motor de interpretación CSS de alta calidad
* Administración de estilo arrastrar y soltar
* Interpretación quirk o estándar
* Interpretación de estilo inteligente
* Plantillas de páginas y sitios
* Reportamiento CSS
* Grilla de propiedad de etiqueta
* Preferencias de tiempo de diseño CSS

Presentación rica de datos:
Construya y formatee datos XML de estándar de industria utilizando herramientas de arrastrar y soltar para una visualización rápida. Un XPath Expression Builder le permite crear preguntas complejas y el soporte XSL Transform (XSLT) le otorga flexibilidad para presentar datos donde usted desee. Los datos XML pueden ser recuperados y presentados mediante alimentos RSS que se ajustan al formateo de su sitio.

Curso de Microsoft Proyect

El Club de programadores - Asociacion Civil, invita a participar del curso de Microsoft Project con uso de PC que comenzara a dictarse el dia lunes 19 de marzo de 2007 de 14.30 a 17.30 hs. en el Laboratorio Congreso

1- Temario a desarrollar
2- Datos del instructor
3- Fechas, lugar y horario
4- Material a entregar, costo y certificado
5- Informes e inscripcion

Objetivos : hacer conocer al alumno las caracteristicas que posee esta poderosa herramienta bajo Windows para la planificacion, desarrollo, control y seguimiento de proyectos.

Si desea ser eliminado de esta lista de distribucion, responda este mensaje colocando "Baja" en el motivo (subject).

************************************************************************
1- Temario a desarrollar

Leccion 1: Introduccion a la gestion de proyectos
Definicion de un proyecto
El triangulo del proyecto: Vision de los proyectos en terminos de tiempo, coste y ambito
Tiempo
Coste
ambito
Tiempo, coste y ambito: Gestion de las delimitaciones del proyecto
Gestion de proyectos con Microsoft Project

Leccion 2. Como encontrar el mejor punto de partida en Microsoft Project
Introduccion a Microsoft Project
Trabajando con los menus y las barras de herramientas
Alternar entre las vistas y las tablas
Creacion de un archivo de proyecto
Introduccion de las propiedades de proyecto
Almacenamiento de un archivo de Microsoft Project

Leccion 3. Introduccion y organizacion de las tareas
Introduccion de tareas
Estimacion de la duracion
Vincular tareas
Comprobacion de la duracion del proyecto
Insercion de nuevas tareas
Eliminacion de tareas
Organizacion de las tareas en fases
Introduccion de un hito

Leccion 4. Configuracion de los recursos
Configuracion de los recursos humanos
Configuracion de los recursos de equipamiento
Configuracion de los recursos materiales
Introduccion de los costes del recurso
Organizacion de los recursos en grupos
Introduccion de informacion adicional del recurso en un campo de texto

Leccion 5. Asignacion de recursos a las tareas
Asignacion de un unico recurso a una tarea
La formula de programacion: Visualizacion de la duracion, las unidades y el trabajo
Asignacion de varios recursos a una tarea
Asignacion de recursos con la programacion condicionada por el esfuerzo inhabilitada
Eliminacion de una asignacion de recurso
Asignacion de recursos materiales a las tareas
Creacion de un nuevo recurso y su asignacion a una tarea

Leccion 6. Refinamiento de los detalles de la tarea
Ajuste del tiempo de trabajo del proyecto
Ajuste del periodo laborable para tareas individuales
Ajuste de las relaciones de tarea
Cambio de tipo de tarea
Interrupcion del trabajo en una tarea
Introduccion de costes fijos
Configuracion de una tarea repetitiva
Configuracion de delimitaciones de tarea
Reorganizacion de fases y tareas
Introduccion de fechas limite
Visualizacion de la ruta critica del proyecto
Documentacion de los detalles de una tarea con notas e hipervinculos

Leccion 7. Refinamiento de los detalles del recurso
Ajuste del periodo laborable de los recursos individuales
Configuracion de la disponibilidad del recurso a aplicar en diferentes horarios
Introduccion de varias tasas de coste para un unico recurso
Configuracion de las tasas de coste a aplicar en diferentes periodos de tiempo
Analisis de los costes de recurso
Analisis de las asignaciones de recurso
Redistribucion de los recursos sobreasignados
Documentacion de los detalles de recurso con notas de recurso

Leccion 8. Refinamiento de los detalles de la asignacion
Sustitucion de una asignacion de recurso
Aplicacion de diferentes tasas de coste a las asignaciones
Demora en el comienzo de las asignaciones
Aplicacion de perfiles a las asignaciones
Introduccion de la tasa de consumo de un recurso material
Documentacion de los detalles de asignacion con notas de asignacion

Leccion 9. Diseño de la apariencia de la informacion del proyecto
Ordenacion de los datos en una vista
Agrupamiento de los datos en una vista
Filtrado de los datos en una vista
Edicion y creacion de tablas
Definicion de vistas personales
Formato del Diagrama de Gantt
Formato del Diagrama de red
Formato de la vista Calendario

Leccion 10. Impresion de la informacion del proyecto
Representacion de objetos en un Diagrama de Gantt
Personalizacion e impresion de las vistas
Personalizacion e impresion de informes

Leccion 11. Publicacion de la informacion del proyecto en linea
Copia de la informacion del proyecto como una imagen GIF
Almacenamiento de la informacion de Project como una pagina Web
Cambio de la apariencia de una pagina Web de Project

Leccion 12. Compartir la informacion de un proyecto con otros programas
Copiar y pegar con Microsoft Project
Apertura de otros formatos de archivo en Microsoft Project
Almacenamiento en otros formatos de archivo desde Microsoft

Leccion 13. Compartir informacion entre varios proyectos
Creacion de un fondo de recursos
Visualizacion de los detalles de asignacion en un fondo de recursos
Actualizacion de las asignaciones en un archivo compartido
Actualizacion del periodo laborable de un recurso en un fondo de recursos
Actualizacion del periodo laborable de todos los proyectos en un fondo de recursos
Vinculacion de nuevos archivos a un fondo de recursos
Apertura de un archivo compartido y actualizacion de un fondo de recursos
Trabajando con proyectos consolidados
Creacion de dependencias entre proyectos

Leccion 14. Seguimiento del progreso del plan del proyecto
Almacenamiento de una linea de base del proyecto
Seguimiento de un proyecto segun lo previsto
Introduccion del porcentaje completado de las tareas
Introduccion de los valores reales de comienzo, finalizacion y duracion de las tareas
Seguimiento del trabajo por periodo de tiempo
Cambio del trabajo o duracion restante de las tareas
Almacenamiento de un plan provisional

Leccion 15. Visualizacion e informe del estado del proyecto
Identificacion de las tareas que han sido pospuestas
Comparacion de la linea de base, el plan provisional y el plan actual
Identificacion de las tareas y recursos que estan sobre presupuestados
Informe del estado del proyecto
Medida del rendimiento con un analisis de valor acumulado

Leccion 16. Identificacion y resolucion de problemas en un proyecto
Resolucion de problemas de programacion y tiempo
Resolucion de problemas de coste y recurso
Resolucion de problemas de ambito del trabajo

Repositorio de archivos Multimedia


Cuando realizamos diseño web uno de los principales problemas es el diseño o realizacion de archivos multimedia, imagenes, videos, animaciones.

La Wikipedia de los archivos Multimedia es libre: Agenda la Direccion

http://commons.wikimedia.org/wiki/Portada

Muchisimos archivos para compartir en licencia CC

Consejos para tu sitio Web

En Tepedia.com

leemos..
"Incluye una pagina “Acerca de”:
Las paginas con información acerca de la empresa son un buen sitio para los nuevos visitantes ya que aquí pueden saber quien eres antes de que ellos decidan comprar tu producto, en esta pagina das a conocer la trayectoria de tu empresa, quienes la conforman y la misión o cualquier dato que consideres que define a la persona o empresa que esta detrás de esa pagina.

Pagina de contacto:
Los visitantes, clientes, compradores o trafico en general siempre debe tener la posibilidad de ponerse en contacto contigo es por esto que debemos incluir una dirección de correo o un formulario de contacto, y en los casos que sea posible una dirección y teléfono, este tipo de datos da mucha seguridad al visitante cuando de comprar se trata ya que sienten que hay un sitio físico al cual puedan acudir en caso de algún inconveniente.

Noticias, notas de prensa, bitácoras o artículos:
Este tipo de información es muy valorada por los motores de búsqueda ya que ofrecen a la Web contenido fresco, de actualidad y que le puede ser muy útil a los visitantes, desde aquí les puedes informar de eventos, lanzamiento de nuevos productos o información que ayude a que los visitantes regresen a tu sitio a ver los cambios que hagas en estas paginas."

Articulo Completo

Aprender Diseño Web sube en el mundo

Aprender Diseño Web

hace su primera aparicion en el famoso Page Rank de Google con 3

Gracias google. Gracias a todos los sitios que nos enlazan y nombran en sus post

Herramientas de colores


Una herramiento para diseñar los colores de nuestra web simplemente arrastrando
http://www.colorblender.com/

Welcome to ColorBlender – your free online tool for color matching and palette design!

To get started, choose a preferred color using the color picker below, and a 6-color matching palette (a "blend") will be automatically calculated.

Using the radio buttons you may switch to Direct Edit mode to tweak or edit individual colors of your blend.