"Surforce CMS": primer prototipo cerrado


Les comparto el siguiente correo que envié a la lista donde participamos todos los "teamleaders" del equipo de desarrollo del taller -piloto- on-line:

"Primer prototipo terminado

Bueno, se hicieron muchos cambios (están todos registrados en los comentarios del log de svn).

Revisión 76

Recomendación a todos:

Hacer un update del repositorio y volver a reconstruir la base de datos de cero a partir del archivo 6_TODO.sql (tiene la base de datos completa y ahora con soporte UTF8). También hay que configurar el proyecto en Eclipse para que soporte el mismo formato.

Felicitaciones a todos por su trabajo y dedicación, en especial a Julio Viana (mi mano derecha ;-)) que se quedó conmigo hasta las 3am para hacer los últimos arreglos y "cableados a fuego" para cumplir en tiempo y forma con las fechas de entrega.

El prototipo fue entregado al cliente para su evaluación. En base a las correcciones que sugieran seguimos con la segunda etapa que culmina con un segundo prototipo para el 31 de agosto.

Lo que hay que hacer mientras tanto es un fuerte refactoring para corregir todos los errores que cometimos y poder continuar limpiamente.


Nuevamente, felicitaciones a todos y adelante! ;-)"

Como había comentado en su momento este desarrollo es "real", para un cliente real, con exigencias reales. El proyecto lo estamos trabajando principalmente con mi colega Julio Viana, pero vamos asignando tareas para intentar compartir entre quienes quieran participar (solo hace falta ganas de aprender y dedicación) de la experiencia y así entre todos poder más fácilmente aprender herramientas nuevas, como en este caso, Zend Framework.

El sitio donde se encuentran los fuentes es en Google Code (alojado como un proyecto libre y de licencia GPL) y el sitio de pruebas está en Surforce.

Desde ya agradezco a todos los que se han mantenido activos hasta el momento, pues con la retroalimentación todos aprendemos.

Los teamleader's

De los cuatro grupos de desarrollo que participan hasta el momento (con desarrolladores a su cargo):


Y quiero hacer menciones especiales a:

El "Robin" que todo "Batman" necesita, el mano derecha que se encarga de encontrar soluciones mágicas para tratar de cumplir con las fechas propuestas ;-)

A los colaboradores que han levantado el guante y participaron enviando código con funcionalidades que necesitábamos: Rodrigo Muñoz (que de ahora en más va a participar con nosotros) más todos los aportes de gurús latinoamericanos como Pablo Rigazzi (Ar) y Christopher Valderrama (Mx) que siempre nos aportan una luz cuando el camino de nuestro aprendizaje se hace más oscuro y no sabemos hacia donde ir.

Nuevamente, gracias a todos (espero no olvidar a nadie) y seguimos adelante, quedan aún dos meses para concluir con el taller ;-)

Si quieres participar, ya sabes qué debes hacer.

PD: me queda pendiente saludar y agradecer a cada uno de los desarrolladores de cada uno de los cuatro grupos de desarrollo, a no desesperar, quiero armar un post aparte sobre el tema ;-)

Faltan 24 días - Curso "Desarrollo de Sistemas Web con PHP 5" (duración: 4 meses)


Existe abundante información en este blog de lo que trata el curso, los temas que abordaremos , la forma de darlo, mi filosofía con respecto al desarrollo de sistemas y en particular sobre el mundo "PHP Profesional". Todo lo que recorreremos durante 4 meses se puede desprender perfectamente desde el primero al último de los artículos que publico regularmente aquí.

¿Entonces, qué puedo decir de nuevo? ;-)

Bien, desde ya que no hay un curso igual, no solo porque siempre trato de adecuarme al público que tengo en frente y tratar de canalizar todas sus expectativas, sino porque yo también aprendo durante el proceso de cada dictado, obteniendo más experiencia, conocimientos, variando las herramientas... el mundo cambia rápidamente y nosotros no podemos estar ajenos a ello.

En la primera versión del curso de este año, que ya casi termina (20 de agosto entrega de obligatorios y defensas), la propuesta fue desarrollar un sistema similar a Twitter (aquí el mío), buscando con ello que no solo "programen"... que entiendan lo que involucra "desarrollar sistemas", conocer el mercado y casos de éxito, entender qué es "Web 2.0" y qué no, plantear un negocio, definir una estrategia, ser rentables, los riesgos que involucra, cómo dividir los problemas en pequeñas partes, o cómo trabajar en equipo apoyados con herramientas especializadas para ello, trabajo a distancia, conceptos de Ingeniería de Software, y un largo etcétera.

Para la segunda versión del curso -Setiembre 2007- estoy manejando varias actualizaciones, entre ellas agregar una introducción a Zend Framework que incluye abordar en la práctica el patrón MVC (para que se vayan con lo último que se está trabajando en el mercado mundial), y como obligatorio ya estoy evaluando solicitar la implementación de un sistema de "contactos personales" (del estilo Match.com o Yahoo.com) que involucra muchos puntos interesantes y desafiantes (además de los clásicos, mayor incorporación de Ajax para las interfaces, el desarrollo de chats entre usuarios, mayor trabajo en equipo tratando de emular un proyecto real con varios desarrolladores en paralelo, etc).

En los próximos días más novedades... pero ve reservando ya tu lugar en Universidad ORT ;-)

Surforce-CMS: están disponibles los requerimientos y las primeras tareas

Se encuentra disponible en el wiki del proyecto información sobre los requerimientos del sistema y ya se hizo el primer contacto con cada grupo de desarrollo que se armó durante el taller.

Aquí es la parte donde los que se quedaron por el camino o perdido la oportunidad de participar puedan incorporarse a través de una "demostrada valía" ;-)

Quienes puedan enviarme mejoras, correcciones, funcionalidades prontas de nuestra lista de pendientes serán integrados como miembros activos del proyecto.

Les hago copia del mail que les envié a todos los líderes con las asignaciones de tareas:

Primeras asignaciones que deben estar prontas antes del 15 de agosto.

Muchas de ellas son triviales y se hace siguiendo las pautas existentes en el proyecto actual.

La filosofía de los ABMs es lo más KISS que puedo sugerir ;-)

Como ejemplo, las noticias o los usuarios que están actualmente implementados: si eres un visitante anónimo puedes ver el listado de usuarios y las noticias existentes, no así el resto de operaciones. Si ingresas al sistema (iniciar sesión), inmediatamente después de ingresar aparecen las opciones de Altas, Bajas y Modificaciones (al clásico estilo RoR que podemos ver en cualquier ejemplo).

El primer prototipo del CMS (para el 15 de agosto) hará todas las operaciones necesarias siguiendo este camino, por lo que las tareas siguientes será seguir los ejemplos codificados (noticias y usuarios):

  • Grupo 1 - ABM de Contenidos
  • Grupo 2 - ABM de Secciones
  • Grupo 3 - ABM de Configuraciones
  • Grupo 4 - ABM de Menú

Por ejemplo: en el caso del ABM de Menús ya existe un menú (a la izquierda del todas las pantallas del CMS) pero en la actualidad es código estático en un template. Deberán crear toda la estructura para administrar dinámicamente un típico menú. Si el usuario está registrado le aparecerán las mismas opciones que en los demás ejemplos, alrededor del menú existente (Nueva opción, modificar opción, etc).

Toda la información base se encuentra en el Wiki: http://code.google.com/p/surforce-cms/wiki/CMSRequerimientos

Los detalles, dudas, diseños, directivas, restricciones, los discutiremos en este foro.

Como siempre, KISS, pragmáticos, traten de hacer la solución más simple, dividan el problema en pequeños problemas muy pequeños y repartan a sus integrantes pequeñas partes para luego integrarlas.

Tenemos una semana y media para terminar este prototipo y pasar a la segunda etapa ;-)

Si no aprendemos con esto, no aprendemos con nada.

Bienvenidos al mundo real ;-)

Perfectamente algún líder, desarrollador o equipo completo puede desertar o ser directamente descartado por su inacción. Por consiguiente, si quieres participar, es tu oportunidad de demostrar que puedes unirte colaborando con cualquiera de las necesidades del proyecto.

Espero vuestros comentarios ;-)

Final del TallerPHP5: Desarrollar un CMS usando PHP5 + Zend Framework

Como había anunciado en un post anterior, ya está toda la infraestructura base para empezar a trabajar en equipo sobre un mini-proyecto de CMS aplicando lo aprendido hasta el momento y agregando ahora un atractivo más: el famoso Zend Framework.

La idea es trabajar estos tres últimos meses (agosto, setiembre y octubre, aproximadamente) en un proyecto que ya está liberado como "Software Libre" (GPL) y que nos permitirá compartir conocimientos y experiencias sobre un tema que está siendo muy requerido por todos los desarrolladores, como es el uso del patrón de diseño MVC y un framework que nos ayude a ser cada vez más productivos evitando caer constantemente en la "programación artesanal".

En este momento ya existe un dominio para hacer pruebas y pueden ingresar al mismo con cualquier usuario de la lista y con la password "clave".

De ahora en más iré empezando a subir información de diseño en el sitio de hosting de Google (especialmente pensado para proyectos libres), armar la lista de pendientes por desarrollar, fechas para los entregables, deadlines, lista de bugs por corregir, etc, etc.

A pesar que existen 4 grupos de desarrollo (cada uno con un teamleader), mi idea es que de ahora en más cualquiera puede participar y ser dado de alta como un integrante del proyecto (con la posibilidad de hacer cambios en el SVN, participar en uno de los grupos existentes, integrar las listas de correo de coordinación, etc) lo podrá hacer simplemente demostrando interés y capacidad para trabajar en el proyecto.

¿Cómo participar?

Ahora cualquier usuario puede reconstruir localmente este proyecto. Si ese usuario me contacta con soluciones, mejoras, correcciones de bugs, funcionalidades que tenemos pendientes por desarrollar, haré una evaluación de las mismas y posteriormente será integrado a un grupo bajo la tutela de un teamleader.

Un buen lugar para empezar es la lista de tareas pendientes

Si quieres participar, esta es tu oportunidad de aprender con nosotros y ser famoso ;-)

Espero vuestros comentarios y/o sugerencias.

Entradas populares