Mostrando entradas con la etiqueta codigo fuente. Mostrar todas las entradas
Mostrando entradas con la etiqueta codigo fuente. Mostrar todas las entradas

miércoles, 25 de enero de 2012

Liberamos Yupp CMS v0.2

El proyecto va tomando forma con nuevas funcionalidades, mejoras y código más limpio. Todavía falta mucho camino por recorrer, pero vamos bien. Espero que en poco tiempo más gente se sume al proyecto y puedan aportar módulos y skins.

El CMS puede ser descargado desde:



Les recuerdo algunos posts anteriores sobre el CMS:


Algunos comentarios:
  • Funciona con la versión trunk de Yupp Framework: http://yupp.googlecode.com/svn/trunk/YuppPHPFramework/
  • Para instalar es solo:
    • copiar el directorio en yupp/apps
    • crear la base de datos yupp_cms (corregir datos de conexión a la base si es necesario)
    • correr el bootstrap del cms (creará algunas páginas y módulos de ejemplo)

lunes, 20 de junio de 2011

Google code search una herramienta excelente

Google code search es una herramienta de Google para buscar código fuente dentro de los proyectos alojados en Google code. Por ejemplo, Yupp Framework es un proyecto de código abierto alojado en Google code.

Ingresando al buscador de código, podemos ingresar el siguiente texto: "helper ajax_link package:http://yupp\.googlecode\.com". Al buscar, vamos a obtener una lista de resultados. Haciendo clic en alguno de los resultados de esa lista, podemos acceder al código fuente:

Luego podemos recorrer el código fuente de uno o más archivos donde se dieron resultados para nuestra búsqueda, o también podemos realizar otras búsquedas.

Esta es una excelente herramienta para encontrar en pocos segundos el código fuente exacto que estamos buscando.

viernes, 10 de junio de 2011

Nuevo Yupp PHP Framework v0.4

Estamos muy contentos de anunciar la liberación de la nueva versión de Yupp PHP Framework.


En esta versión se incluyen varias mejoras y correcciones que hacen al framework más simple de usar y más completo en cuanto a su funcionalidad de base. Además hemos actualizado la documentación de referencia para facilitar la tarea de quienes están comenzando a usar el framework.

Como siempre, el framework podrá ser descargado desde nuestro sitio en Google Code:
http://code.google.com/p/yupp/

Aquí podrás encontrar los detalles de los cambios y mejoras hechos en esta nueva versión:
http://code.google.com/p/yupp/wiki/Hoja_de_ruta#v0.4:_codename_Genesis_3_%28liberado%29

Las notas de la versión con detalles de las pruebas realizadas, de la instalación del framework y mucha información útil para comenzar a usar el framework, las puedes encontrar aquí:
http://code.google.com/p/yupp/wiki/YuppPHPFrameworkv04

La documentación actualizada la puedes encontrar aquí:
http://www.simplewebportal.net/yupp_framework_php_doc/

Pronto estaremos actualizando las aplicaciones en nuestro sitio de Yupp Apps para aprovechar al máximo las novedades de esta versión del framework:
http://code.google.com/p/yupp-apps/

Como siempre, todas las consultas y comentarios serán recibidas en nuestro sitio de Google Groups:
http://groups.google.com/group/yuppframeworkphp

martes, 1 de marzo de 2011

Nuevo Yupp PHP Framework v0.3

Estamos muy contentos de anunciar la liberación de la nueva versión de Yupp PHP Framework.


En esta versión se incluyen varias mejoras y correcciones que hacen al framework más simple de usar y más completo en cuanto a su funcionalidad de base. Además hemos actualizado la documentación de referencia para facilitar la tarea de quienes están comenzando a usar el framework.

Como siempre, el framework podrá ser descargado desde nuestro sitio en Google Code:
http://code.google.com/p/yupp/

Aquí podrás encontrar los detalles de los cambios y mejoras hechos en esta nueva versión:
http://code.google.com/p/yupp/wiki/Hoja_de_ruta#v0.3:_codename_Genesis_2_%28liberado%29

Las notas de la versión con detalles de las pruebas realizadas, de la instalación del framework y mucha información útil para comenzar a usar el framework, las puedes encontrar aquí:
http://code.google.com/p/yupp/wiki/YuppPHPFrameworkv03

La documentación actualizada la puedes encontrar aquí:
http://www.simplewebportal.net/yupp_framework_php_doc/

Pronto estaremos actualizando las aplicaciones en nuestro sitio de Yupp Apps para aprovechar al máximo las novedades de esta versión del framework:
http://code.google.com/p/yupp-apps/

Como siempre, todas las consultas y comentarios serán recibidas en nuestro sitio de Google Groups:
http://groups.google.com/group/yuppframeworkphp


¡Hasta pronto!

lunes, 20 de diciembre de 2010

Yupp Genesis v0.2.5

Estamos contentos de anunciar la liberación de Yupp Framework v0.2.5 (versión Genesis).

Con motivo de esta liberación, se compatibilizaron todas las aplicaciones de Yupp Apps. Las nuevas versiones pueden descargarse aquí: http://code.google.com/p/yupp-apps/

Los cambios hechos desde la liberación anterior pueden verse en la hoja de ruta: http://code.google.com/p/yupp/wiki/Hoja_de_ruta

Notas de la versión: http://code.google.com/p/yupp/wiki/YuppPHPFrameworkv025

Documentación actualizada: http://simplewebportal.net/yupp_framework_php_doc

Descargas: http://code.google.com/p/yupp/downloads/list

Dudas o comentarios: http://groups.google.com/group/yuppframeworkphp


Agradecemos desde ya a toda la comunidad que nos apoya, y a quienes prueban el framework, nos envían consejos y mejoras, y lo usan para sus proyectos.

Para todos, gracias por seguir el desarrollo de este pequeño framework PHP en español, y por apoyarnos. Felices fiestas y un muy feliz año.

miércoles, 13 de octubre de 2010

Liberamos Yupp Portal v03

Estamos muy contentos de anunciar la nueva liberación de Yupp Portal, la aplicación para gestión de portales de Yupp Framework.

La nueva versión incluye nuevas características y la corrección de varios bugs:

Soporte para comentarios en las páginas: http://code.google.com/p/yupp-portal/issues/detail?id=16
Corrección de inclusión de clase en Bootstrap: http://code.google.com/p/yupp-portal/issues/detail?id=24
Corrección de problema al volver del registro de un nuevo usuario: http://code.google.com/p/yupp-portal/issues/detail?id=27
Corrección del paginador en el listado de usuarios pendientes: http://code.google.com/p/yupp-portal/issues/detail?id=21

Esta versión de Yupp Portal funciona desde Yupp PHP Framework v0.2.2.

Descarga ahora: http://code.google.com/p/yupp-portal/downloads/list

También puedes descargar desde el sitio de Yupp Apps: http://code.google.com/p/yupp-apps/downloads/list

martes, 12 de octubre de 2010

Nuevo Yupp PHP Framework 022

Estamos muy contentos de anunciar la liberación de una nueva versión de Yupp PHP Framework.

Esta versión 0.2.2 marca un antes y un después en el desarrollo de aplicaciones con Yupp.

La principal mejora es la del fortalecimiento del concepto de "aplicación web", frente al concepto previo de "componente", en donde las aplicaciones eran desarrolladas como plugins al framework. Ahora lo importante son las aplicaciones web, donde:
  • Cada aplicación web tiene una estructura definida pero flexible.
  • Cada aplicación web puede tener sus propios iconos.
  • Cada aplicación web puede usar sus propias librerías Javascript o usar las del framework.
  • Cada aplicación web puede usar su propia configuración de base de datos o usar la del framework (si, cada aplicación puede tener su propio servidor de bases de datos, separado del resto de las aplicaciones)
  • Cada aplicación web tiene su propio descriptor, que contiene información útil para integrar las aplicaciones al framework y para actualizar automáticamente las versiones de las aplicaciones que se tengan instaladas.
  • Cada aplicación web puede tener su propio conjunto de tests, para facilitar su testeo automático.
  • Una sola instancia del framework puede alojar un número ilimitado de aplicaciones web.

Descarga el framework ahora: http://code.google.com/p/yupp/downloads/list


En breve crearemos un conjunto de videos para explicar mejor los temas relacionados con la instalación y configuración del framework, y también el desarrollo de distintas aplicaciones web y cómo obtener mejores resultados utilizando Yupp PHP Framework.

También estaremos actualizando la documentación: http://www.simplewebportal.net/yupp_framework_php_doc/

domingo, 25 de julio de 2010

Nueva liberacion de Yupp PHP Framework

Estamos muy contentos de anunciar la nueva liberación del framework, Yupp PHP Frameowrk v0.2.1.

Cambios con respecto a la versión anterior:

  • Se creó el generador de aplicaciones.
  • Se corrigieron los mensajes de errores de validación para que sean internacionalizables.
  • Se creó la primer versión de Yupp Desktop, desde donde ser permite el acceso a las aplicaciones, la generación de tablas y la creación de nuevas aplicaciones de forma simple.
  • Nuevo paquete de testing para crear y ejecutar casos de prueba de forma automática.
  • Correcciones al paquete http.
  • Se agregan descriptores de aplicación para simplificar la gestión de las aplicaciones Yupp.

Le cambiamos la cara al framework, nuevo Yupp Desktop v0.1.0


Esta es la primer versión de Yupp Desktop, una interfaz simple desde donde acceder a las aplicaciones instaladas en el framework, poder generar tablas para las aplicaciones, poder generar nuevas aplicaciones, ejecutar pruebas y más. Así comenzamos a mejorar la interfaz con el usuario y a simplificar la interacción con el framework, además de dar un aspecto más amigable.


Notas de la versión:

Documentación de referencia (en actualización)

Descarga:

Colabora con el framework:

viernes, 18 de junio de 2010

Liberamos Yupp PHP Framework v0.2.0

Ha pasado algún tiempo desde la última liberación, por eso estamos muy contentos de anunciar la nueva versión de Yupp PHP Framework v0.2.0.


Esta nueva versión es más estable ya que se corrigieron varios problemas encontrados en la versión anterior, y cuenta con varios ejemplos de componentes y uso de helpers para hacer más fácil el aprendizaje.

Las notas de la versión con descripción de la instalación del framework:
    Descargas:
    Documentación:
    La lista detallada de los cambios y las correcciones se encuentra aquí:
    Colabora con el desarrollo del framework:

    En breve haremos algunos videos para explicar el funcionamiento del framework y mostrar cómo crea aplicaciones web desde cero. También mejoraremos la documentación, agregando más ejemplos.

    domingo, 11 de abril de 2010

    Liberamos nueva version de Yupp PHP Framework

    Estamos muy contentos de anunciar la nueva liberación del Yupp PHP Framework v0.1.9.

    Para esta nueva versión se incorporación correcciones a varios bugs encontrados desde la versión anterior,  además tendrá un nuevo paquete HTTP que servirá para enviar pedidos HTTP a otros sistemas y procesar su respuesta (gracias a Magdalena que implementó este paquete). También incluirá un mecanismo de conversión
    automática de instancias del modelo a XML, incluso de estructuras de datos complejas.

    Esta nueva versión es muy estable y tiene muchas funcionalidades y cuenta con nuevos ejemplos de uso para hacer más fácil la adopción por parte de los programadores, mejorando su curva de aprendizaje.

    Las notas de la versión con descripción de la instalación del framework:
      Descargas:
      Documentación:
      La lista detallada de los cambios y las correcciones se encuentra aquí:
      Colabora con el desarrollo del framework:

      martes, 16 de febrero de 2010

      Liberamos Yupp Portal v0.2

      ¡Yupp Portal v0.2 liberado!
      Yupp Portal es el componente para crear portales de Yupp PHP Framework.

      Descargas:
      http://code.google.com/p/yupp-portal/

      Hoja de ruta del proyecto:
      http://groups.google.com/group/yuppframeworkphp/web/yupp-portal---hoja-de-ruta


      ¿Para qué sirve Yupp Portal?

      Es una herramienta de alta productividad que permite crear un portal web completo en pocos minutos, sin necesidad de programación extra, solamente es necesario configurar la conexión con la base de datos.

      Este componente permite:


      Administrar páginas:


      1. Crear páginas con un clic
      2. Editar contenido con editor visual desde la web
      3. Estados de páginas: Normal, Borrador, Deshabilitada, Oculta
      4. Edición visual de items del menú principal
      5. Edición visual de contenido fijo (por ejemplo banners que se muestran en todas las páginas)

      Administración de usuarios:


      1. Administración de roles
      2. Crear/Editar/Eliminar/Aprobar usuarios
      3. Registro de usuarios y aprobación con email en un clic
      4. Login/Logout

      Tres roles disponibles:


      1. Administrador: crea/edita páginas, modifica el menú, crea/edita usuarios
      2. Editor: crea/edita páginas, modifica el menú
      3. Usuario: ve páginas ocultas

      martes, 9 de febrero de 2010

      Nueva liberación de Yupp PHP Framework

      Estamos muy contentos de anunciar la nueva liberación del framework, Yupp PHP Frameowrk v0.1.8.

      Esta liberación es la primera que incluye un juego de tests para detectar problemas en el YORM, el modulo de ORM de Yupp Framework.

      Para esta liberación hemos corregido los siguientes tickets:
      También hemos corregido y mejorado la documentación de referencia:
       Para descargar la nueva versión, accede a nuestro sitio en google code:
      Nos interesa que nos cuentes si has probado el framework, qué cosas buenas le encontraste y qué cosas le mejorarías, tu opinión cuenta!

      Si quieres colaborar con el framework y no sabes como, accede a la guía de colaboración:
      Las notas de la versión están en nuestra wiki:

      ¡Esperamos tus comentarios!
      -
      -

      martes, 19 de enero de 2010

      Testing del ORM

      En la línea de acción que estamos siguiendo para estabilizar el framework, estamos implementando un set de pruebas para YORM, el componente de ORM de Yupp Framework. Los tests se centran en la generación de las tablas en la base de datos, guardar correctamente estructuras complejas de datos, obtener estructuras complejas de datos desde la base, y verificar restricciones sobre los datos que se intentan guardar en la base.

      Con esto lograremos encontrar las debilidades del YORM, al mismo tiempo que demostramos las fortalezas que tiene actualmente.

      Los juegos de tests pueden ser descargados del SVN en nuestro sitio en Google Codehttp://code.google.com/p/yupp/source/checkout

      De esta forma nos acercamos a una versión estable de Yupp Framework, garantizando su poder para crear proyectos web de forma ágil y sencilla, ordenando el desarrollo y evitando las tareas repetitivas.


      Actualización:
      Uno de los tests que estoy desarrollando es el de probar estructuras de árboles en la base de datos. La prueba consiste en implementar una clase persistente en YORM, la cual es una página web, que a su vez puede tener subpáginas. Aquí está la implementación de la clase:

      class Pagina extends PersistentObject
      {
         function __construct($args = array (), $isSimpleInstance = false)
         {
            $this->setWithTable("test_a004_pagina");
      
            $this->addAttribute("titulo",  Datatypes :: TEXT);
            $this->addAttribute("contenido", Datatypes :: TEXT);
      
            // Pagina padre
            $this->addHasOne('owner', 'Pagina');
      
            // Paginas hijas
            $this->addHasMany('subpages', 'Pagina');
      
            $this->addConstraints(
               "titulo",
               array (
                  Constraint :: maxLength(255)
               )
            );
            $this->addConstraints(
               "contenido",
               array (
                  Constraint :: maxLength(100000)
               )
            );
            $this->addConstraints(
               "owner",
               array (
                  Constraint :: nullable(true) // Las paginas del primer nivel no tienen padre.
               )
            );
      
            parent :: __construct($args, $isSimpleInstance);
         }
      
         // Mas codigo ...
      }
      

      Y ahora la prueba de cómo generar una estructura de árbol y guardarla en la base. Lo que vamos a hacer son 4 instancias de la clase Pagina, la primera es la página raíz, la segunda es hija de la página raíz y las dos restantes son a su vez hijas de esta última. Con el siguiente código no solo creamos la estructura de árbol de páginas, si no que vamos a ver que toda la estructura se guarda automáticamente en la base con una única línea de código por parte del programador!!!

      $p1 = new Pagina(
              array(
                "titulo" => "Pagina raiz",
                "contenido" => "This step is usually done transparently as most compilers perform it and then invoke the assembler..."
              )
            );
            $p11 = new Pagina(
              array(
                "titulo" => "Subpagina de raiz 1",
                "contenido" => "This step is usually done transparently as most compilers perform it and then invoke the assembler...",
                "owner" => $p1
              )
            );
            $p111 = new Pagina(
              array(
                "titulo" => "Sub subpagina de raiz 1",
                "contenido" => "This step is usually done transparently as most compilers perform it and then invoke the assembler...",
                "owner" => $p11
              )
            );
            $p112 = new Pagina(
              array(
                "titulo" => "Sub subpagina de raiz 2",
                "contenido" => "This step is usually done transparently as most compilers perform it and then invoke the assembler...",
                "owner" => $p11
              )
            );
            
            
            // subpaginas de p11
            $p11->addToSubpages($p111);
            $p11->addToSubpages($p112);
            
            // subpaginas de p1
            $p1->addToSubpages($p11);
            
            // Guarda toda la estructura con esta única línea de código!
            if (!$p1->save())
            {
               Logger::struct( $p1->getErrors(), "Falla test A004.2 1" );
            }
            else
            {
               echo "Guarda Ok";
            }
      

      martes, 1 de diciembre de 2009

      Liberamos Yupp PHP Framework v0.1.7

      -
      Luego de largas horas de trabajo estamos muy contentos de liberar la nueva versión de Yupp PHP Framework.


      Las diferencias con la versión 0.1.6.7 son:
      1. Se corrije un bug que se liberó con Yupp 0.1.6.7 en la clase routing.Executer, pasaba cuando se retornaba null de una accion de un controller.

      2. Corrección de DatabaseMySQL en consultas que buscan por strings numéricos.

      3. Se eliminaron las clases Filter y Mapping, y se creó una clase Router que cumple las tareas de las elminadas y es mucho mas simple de usar. (http://code.google.com/p/yupp/issues/detail?id=10)

      4. YuppContext se quitan pasajes por referencia.

      5. Se agregan pruebas de generacion de controles complejos en formularios: html y calendar. html usa TinyMCE y calendar usa YUI Calendar. Se agregan ambas librerias al framework.

      6. Primer integración de PostgreSQL a Yupp. Nueva clase DatabasePosgreSQL.

      7. Correcciones a DAL, PersistentObject y PersistentManager.


      Descargas:
      http://code.google.com/p/yupp/downloads/list
      http://www.simplewebportal.net/host/1022.htm

      TAG SVN:
      http://code.google.com/p/yupp/source/browse/#svn/tags/v017

      Cualquier duda, consulta o reporte de error pueden hacerla en el grupo google (opción "debates > nueva entrada"):
      http://groups.google.com/group/yuppframeworkphp


      Hasta pronto!

      Pablo Pazos Gutiérrez
      Líder de proyecto
      Yupp PHP Framework

      -
      -

      domingo, 25 de octubre de 2009

      Liberamos Yupp PHP Framework v0.1.6.7

      Amigos, estamos muy contentos de anunciar la liberación de la nueva versión de Yupp PHP Framework.


      Las diferencias con respecto a la versión 0.1.6.4 son:

      1. Correccion a YuppForm en el campo date.

      2. Se agrega el método YuppController.componentControllersAction() que sirve para mostrar los controladores de un componente dado.

      3. Se agrega la restricción "inList" que permite verificar si un valor está en una lista de valores dados.

      4. Se agrega el metodo PersistentObject.hasFieldErrors( $attr ) para preguntar si existen errores en el valor de un atributo particular.

      5. Se agrega el metodo PersistentObject.attributeDeclaredOnThisClass() para saber si un determinado atributo fue declarado en una clase. Sirve para derivar los nombres de las tablas intermedias en relaciones multiples.

      6. Se agrega el helper DisplayHelper.yupp_select para crear selects html de forma sencilla.

      7. Se corrije el metodo PersistentObject.validate() para que priorice la validacion de nulos y vacios sobre el resto de las validaciones. Ahora si un valor es nullable(true) y tambien debe ser email(), la validacion de un valor vacío devuelve true, antes fallaba en la validacion de email.

      8. Correcciones menores en la clase Contraints.

      9. El método PersistentObject.setProperties() ahora hace trim de los valores antes de asginarlos a los campos, esto es para evitar el llenado accidental de datos con espacios en blanco delante o detrás del valor ingresado.

      10. Agregamos soporte para varios subdirectorios dentro del directorio de clases de modelo, para ordenar las clases cuando son muchas.
      - Se corrige el metodo ModelUtils.getModelClasses() para poder crear subdirectorios en el directorio del modelo de un componente.
      - Correccion al metodo YuppConventions::getModelPath().
      - Correccion en PackageNames a una expresion regular para poder poner subdirectorios en el modelo.
      - Correcciones en YuppLoader, en el cargado del modelo para permitir definir clases en subdirectorios.

      11. Corrección en el método YuppConventions::relTableName(..) donde se creaba mal el nombre de la tabla intermedia para relaciones hasMany si se trataba de salvar una subclase y el atributo estaba declarado en su superclase.

      12. Se corrige el helper Helpers.template() para mejorar el pasaje de parametros.

      13. Correccion en el mapeo de herencia de tabla multiple para soportar modelos de relaciones y herencia complejos (PersistentManager, PersistentObject, MultipleTableInheritanceSupport).

      14. Se corrije el metodo YuppController::getFlash() y se hace limpieza.

      15. Corrección de la comparación de strings para generar consultas MySQL (donde el "=" no considera mayúsculas y minúsculas)
      - Se reescribió completamente la evaluación de QUery que genera las consultas SQL, para que considera las particularidades de cada DBMS (MySQL, SQLite, PostgreSQL, etc)


      Descargas:
      http://code.google.com/p/yupp/downloads/list
      http://www.simplewebportal.net/host/1022.htm

      TAG SVN:
      http://code.google.com/p/yupp/source/browse/#svn/tags/v0167

      Cualquier duda, consulta o reporte de error pueden hacerla en el grupo google (opción "debates > nueva entrada"):
      http://groups.google.com/group/yuppframeworkphp


      Hasta pronto!

      Pablo Pazos Gutiérrez
      Líder de proyecto
      Yupp PHP Framework

      martes, 2 de junio de 2009

      Liberamos la nueva versión de Yupp! v0.1.6.4

      Estamos muy contentos de anunciar la liberación de la nueva versión de Yupp PHP Framework.

      Estaos agradecidos con los usuarios que últimamente se han interesado en el proyecto, enviándonos sus comentarios, dudas y reportando errores, y es gracias a ellos que podemos seguir mejorando.

      Hemos corregido y mejorado muchas cosas desde la versión anterior, entre ellas:

      1. Se corrigió y mejoró el web flow.
      2. Se agrego el metodo 'validateOnly' a la clase PersistentObject.
      3. Correcciones para CRUD y vistas dinamicas.
      4. Cambia el nombre de la clase ControllerFilter2 por YuppControllerFilter.
      5. Se agregó addslashes en los métodos insert_query y update_query de DAL y stripslashes en PersistentManager, para resolver problemas con caracteres de control de MySQL.
      6. Se agregó el helper "pager" para crear links de paginación de registros para los listados.
      7. Se agrego el helper orderBy para crear columnas ordenables en los listados.
      8. Corrección de restricción de email.
      9. Ya no es necesario pasarle $this->params al método "render" de YuppController:
      - Antes: return $this->render("show", &$this->params);
      - Ahora: return $this->render("show");
      10. Corrección del helper "locale_chooser" que generaba XHTML inválido.
      11. Se agrega al paginador los params de ordenamiento por columnas en los listados (helper "orderBy") si los hay.


      Descargas:

      http://code.google.com/p/yupp/downloads/list
      http://www.simplewebportal.net/host/1022.htm

      TAG SVN:
      http://code.google.com/p/yupp/source/browse/#svn/tags/v0164

      Cualquier duda, consulta, crítica o reporte de error pueden hacerla en el grupo google (opción "debates > nueva entrada"):
      http://groups.google.com/group/yuppframeworkphp


      Hasta pronto!

      Pablo Pazos Gutiérrez
      Líder de proyecto
      Yupp PHP Framework

      jueves, 2 de abril de 2009

      Nueva versión de Yupp PHP Framework v0.1.6.3

      En esta nueva versión estabilizamos aún más el framework, probándolo con distintas versiones de PHP. Además se corrigieron bugs y se mejoraron algunas características.

      Este es el detalle del trabajo realizado:
      1. Corregido que si se crean urls con parametros llamados param_1, param_2, etc, esos se pongan en la propia url sin ?param_1&...

      2. Correccion de clase Filter, el metodo que procesa los params dependía de la cantidad de directorios en la ruta a donde está instalado Yupp Framework, ahora es independiente de donde se instale el framework.

      3. Se quitó devolver la referencia (&) en YuppSession::get porque da error cuando se devuelve NULL.

      4. Correción en clase Helpers: correccion de compatibilidad con PHP 5.2.8.

      5. Corregido el flash que se perdía cuando se hace redirect, los valores se mandan en la url.

      6. Resuelto un pequeño bug en la clase Logger.

      7. Se integró la funcionalidad de submit de forms via ajax, utiliza el plugin forms de jQuery.

      8. YuppDateTime: Se agrega operacion para manipular fechas.

      9. Nueva clase YuppForm2 que suplanta a YuppForm y acepta submit por ajax. Se deja YuppForm hasta la próxima liberación. Se agregó el campo "select" y la forma de pasarle los parámetros a los campos ahora es mediante un array asociativo, y los parámetros desconocidos son ingresados en la tag HTML generada como atributo de la misma.

      10. Se hicieron grandes modificaciones en cómo se definen y ejecutan los filtros de controladores, estos filtros sirven para definir acciones que se ejecutan antes o después de las acciones de los controladores según ciertas reglas (se pueden definir filtros por componente, por controlador, por accion, todas las acciones menos una, etc).

      11. Correccion de metodo PersistentObject.hasErrors, tenia un error en la condicion.

      12. Renombrado de archivo de arranque a components.{componente}.Bootstrap.script.php

      13. Correccion de bug en PersistentManager::generateAll(), se agregaban las restricciones para atributos que todavía no se habían agregado.


      Notas de versión completas: http://code.google.com/p/yupp/wiki/YuppPHPFrameworkv0163

      Para descargar esta versión se puede hacer directamente desde el sitio de google code o mediante el SVN:

      Cualquier duda o sugerencia será bienvenida en nuestro grupo:

      Para acceder a la última documentación:


      A/C Pablo Pazos Gutierrez
      Líder de Proyecto
      Yupp PHP Framework

      martes, 10 de marzo de 2009

      Transformar errores y warnings de PHP en excepciones

      Hoy estuve probando la funcionalidad de envío de email de PHP y como tenía el servidor de mail mal configurado en el PHP.INI, mi aplicación me mostraba un WARNING. El problema es que el WARNING no se tira como una excepción, o sea que no se le puede hacer TRY/CATCH, por lo tanto tuve que buscar como hacer para que estas WARNINGS se pudieran atrapar como cualquier excepción, el resultado es el siguiente:

      En PHP existe una función llamada set_error_handler, la cual me permite establecer una función mía para manejar los errores de PHP (PHP tiene distintos tipos de errores y puedo definir distintos manejadores para cada tipo de error).

      Entonces, para que todos los errores de PHP (incluyendo WARNINGS) sean enviados a mi manejador (para arrojar una excepción en su lugar) es implementado con el siguiente código:

      set_error_handler("my_warning_handler", E_ALL);

      function my_warning_handler($errno, $errstr, $errfile, $errline, $errcontext) {
      throw new Exception( $errstr );
      }

      Seleccionando E_ALL, cualquier tipo de error es enviado a mi función para arrojar una excepción.

      Los distintos tipos de errores que tiene PHP son:
      • E_ALL
      • E_WARNING
      • E_ERROR
      • E_PARSE
      • E_CORE_ERROR
      • E_CORE_WARNING
      • E_COMPILE_ERROR
      • E_COMPILE_WARNING
      • E_STRICT
      Por más información sobre set_error_handler y manejo de errores en PHP:

      Espero que les sirva.

      viernes, 6 de marzo de 2009

      Liberación de PHP v5.2.9

      Aquí el link a la página oficial del anuncio:
      http://www.php.net/releases/5_2_9.php

      Aquí la página con los cambios por versión:
      http://www.php.net/ChangeLog-5.php#5.2.9

      sábado, 28 de febrero de 2009

      Nueva versión de Yupp PHP Framework v0.1.6.2

      Como anunciábamos ayer, hoy liberamos la versión 0.1.6.2 de Yupp PHP Framework.

      Esta es una versión de estabilización, donde se corrigieron muchos bugs y se mejoraron algunas características. Este es el detalle del trabajo realizado:
      • Correccion en PersistentManager.generate() para que genere todas las tablas intermedias con la columna "ord" que se utiliza cuando el atributo hasMany es de tipo LIST, cuando es de tipo SET o COLLECTION, no se toma en cuenta.
      • Se agregó soporte para incluir CSS o imagenes desde un componente. Para esto se modificó el helper "css" y se agregó el helper "img".
      • Corrección al helper "errors", lanzaba un error si el elemento no tenía errores.
      • Correcciön al método "hasErrors" de PersistentObject, que no verificaba que el campo errors fuera NULL.
      • Se agrega el constructor para la condicion Not Equal a la clase Condition.
      • Correccion del metodo addOrder de la clase Criteria2.
      • Hay un problema con la extraccion de los parametro de la url: http://localhost:8081/YuppPHPFramework/portal/page/display/mi_pagina_bbb/sdfda/asdf?as=sdfg
        • El tema fue que al intriducir el tema del ruteo, UlrProcessing, quien antes hacia el trabajo de crear los params de la url, no se llama mas, y ahora el ruteo solo toma params de POST y GET y no considera la url.
      • Varias correcciones para compatibilizar Yupp con versiones anteriores de PHP (PHP 5.2.0 y 5.2.1).
      • Se agregó el método firstToUpper a core.basic.String.
      • Se agregaron los siguientes campos a la configuración de Yupp (clase YuppConfig):
        • currentMode: indica el modo de ejecucion de la aplicacion (development, production o testing).
        • modeDefaultMapping: indica que accion debe ejecutarse por defecto, dependiendo del modo actual, al acceder a la aplicación.
      • Se agregó el método addCustomParams en la clase routing.Filter

      Notas de versión completas: http://code.google.com/p/yupp/wiki/YuppLiberacionV0162

      Para descargar esta versión se puede hacer directamente desde el sitio de google code o mediante el SVN:

      Cualquier duda o sugerencia será bienvenida en nuestro grupo:

      Para acceder a la última documentación:


      A/C Pablo Pazos Gutierrez
      Líder de Proyecto
      Yupp PHP Framework