Gmail Calendar Documents Reader Web more »
Recently Visited Groups | Help | Sign in
Google Groups Home
Group info
Recent pages and files
Hoja de Ruta Hacia v0.2.0    

En esta página se definirán los pasos a seguir hasta la versión 0.2.0 de Yupp Framework PHP.

 

En el momento tenemos un framework básico bastante funcional, con componentes de ORM (Mapeo Objeto-Relacional) y MVC (Model-View-Controller). Igualmente todavía queda mucho para mejorar el framework, para arreglar arreglar, testear y documentar. Si te interesa participar en alguna de estas áreas puedes hacérnoslo saber publicando un nuevo debate, son todos bienvenidos!

 

Aquí listaremos ideas y tareas pendientes  las iremos acomodando en las sucesivas liberaciones, intentando liberar una versión cada 2 o 3 semanas aproximadamente, y cada paso no tendrá mas de 4 o 5 tareas a realizar, para poder hacerlas en tiempo y forma, esto claro que depende de la complejidad de las tareas.


Para los problemas y errores que vayamos encontrando empezaremos a utilizar: http://code.google.com/p/yupp/ que tiene un sistema de tickets incorporado. Voy a estar migrando los tickets que tengo en un repositorio local para ahi, asi todo el mundo tiene acceso y quien quiera puede realizar alguna tarea y ayudar a avanzar. Luego definiremos un proceso de contribuyentes asi gente que esté interesada en el proyecto pueda mandar código corregido (patch).

 

v0.1.3:
- Soporte para layouts (basico, basado en una tag)

- Implementar soporte para serializacion de modelo a JSON (basico, para mejorar y completar mas adelante)

- Soporte para SQLite


v0.1.4:

- Integración con Prototype JS 

- TICKET #29: corregir las consultas SQL para hacer listados, de forma de disminuir la cantidad de datos cargada. 

- Se hicieron multiples mejoras tanto al componente MVC como al compoente de persistencia ver lista de cambios: http://www.simplewebportal.net/host/1022.htm 


v0.1.5:

- Implementar el mapeo de herencia sobre multiples tablas (ahora se usa la estrategia de herencia por tabla) [AHORA ESTOY TRABAJANDO EN ESTO!]


v0.1.6:

- Agregar tipos a los atributos hasMany (colection, set, list).

- Agregar interfaz para generar las tablas de la base de datos.
- Implementar custom validators para validación automática de información.


v0.1.6-1:

- Agregar el chequeo de que si la vista que referencia el retorno "render" de una acción de un controller no existe, que intente buscar en las vistas de scaffolding dinámico una vista con el mismo nombre de la acción y le pase como parámetro la clase del modelo. Esto sirve para que no sea necesario generar las vistas "list", "show", "create" y "edit" mientras se está desarrollando. Sería bueno mostrar un pequeño warning en la página cuando se detectó que la vista no existe y se encontró una vista en scaffolding. Si ni siquiera se encuentra una vista en scaffolding dinámico, ahí se muestra diréctamente un error (debería lanzar una excepción).



v0.1.6-2:


- 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.

- Corrección de problema con la extracción de los parámetro de la urls del estilo:
  - http://localhost:8081/YuppPHPFramework/portal/page/display/mi_pagina_bbb/sdfda/asdf?as=sdfg

- 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



v0.1.6-3:

- Implementacion de helpers para formularios y formularios ajax, utiliza el plugin forms de jQuery.

- Helpers: Correccion de compatibilidad con PHP 5.2.8

- Corregido que si se crean urls con parametros llamados _param_1, _param_2, etc, esos se pongan en la propia url sin ?_param_1&...
- 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.

- Modificacion a la forma que se verifican los filtros de controllers.

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



v0.1.6-4:

- Se corrigió y mejoró el web flow.
- Se agrego el metodo 'validateOnly' a la clase PersistentObject.
- Correcciones para DRUD y vistas dinamicas.
- Cambia el nombre de la clase ControllerFilter2 por YuppControllerFilter.
- 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.
- Se agregó el helper "pager" para crear links de paginación de registros para los listados.
- Se agrego el helper orderBy para crear columnas ordenables en los listados.
- Corrección de restricción de email.



v0.1.6-5:

- Corregir la comparación de strings para generar consultas MySQL (donde el "=" no considera mayúsculas y minúsculas)

  - Para esto se va a reescribir completamente el componente que genera las consultas SQL, para que considera las particularidades de cada DBMS (MySQL, SQLite, PostgreSQL, etc)


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

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

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

- 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.

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

- 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 vacio da true, antes fallaba en la validacion de email.


v0.1.6-6:
- Correcciones menores en la clase Contraints.

- 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.

- 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.

- Se corrige el helper Helpers.template() para mejorar el pasaje de parámetros.

- Correccion en el mapeo de herencia de tabla múltiple para soportar modelos de relaciones y herencia complejos (PersistentManager, PersistentObject, MultipleTableInheritanceSupport).



v0.1.6-7:
- Agregamos que se permita tener varios subdirectorios dentro del directorio de clases de modelo, permitiendo ordenar las clases del modelo cuando son muchas.
  - Se corrige el método ModelUtils.getModelClasses() para poder crear subdirectorios en el directorio del modelo de un componente y asi mejorar la organización de las clases del modelo.
  - Corrección al método YuppConventions::getModelPath().
  - Corrección en PackageNames a una expresión regular para poder poner subdirectorios en el modelo.
  - Correcciones en YuppLoader, en el cargado del modelo para permitir definir clases en subdirectorios.
- Se corrije el metodo YuppController::getFlash() y se hace limpieza.


***** ESTAMOS AQUI *****


v0.1.7:

- Agregar el tipo de hasMany "ORDERED_SET", que se comporta como un SET y como una LIST (no permite repetidos y conserva el orden).

- Poder hacer otros campos complejos de forms por fuera de YuppForms, p.e. fecha, HTML, etc.

- Corregir información duplicada de ObjectReference en PersistentManager.generate, cuando se generan las tablas intermedias de relaciones hasMany.

- Corregir generación de FKs en SQLite.



v0.1.8:

- TICKET #38: terminar las funcionalidades para inspeccionar la base de datos.
- Quitar las referencias que hayan en PM y DAL a palabras clave de SQL que puedan depender de un motor específico y ponerlos en las respectivas clases DatabaseXXXX.
- Soporte para PostgreSQL. - Generación automática del modelo a partir de una base de datos existente.
- TICKET #40:hacer que los mensajes de error de validación sean i18n.
- Completar la definicion de componentes para que sean auto-contenidos (modelo, controllers, vistas, filtros, mappings, i18n, etc)



v0.1.9:

- Scaffolding dinamico para vistas y acciones.

- Soporte para fuentes de datos JSON
- Soporte para fuentes de datos XML



v0.2.0:

- Integracion de modos de desarrollo, produccion y testing, y definición del comportamiento del sistema en cada modo.

- Verificación de errores y comportamiento robusto (soporte de mal pasaje de urls y parámetros)

- Integración con otras librerías JS/FX/AJAX 

- @TODO...



Algunos temas importantes a organizar:

- Soporte para servidor WS (exponer WS mediante SOAP, Yupp ya es REST)

- Soporte para controles de GUI complejos (desde helpers, integrados con alguna lib javascript y posiblemente con ajax y fx)

- @TODO...



Algunos temas que se irán haciendo a medida que se pueda:

- Escribir tests automaticos para el módulo persistent. 

- PHPDoc de los paquetes core y db
- PHPDoc del módulo persistent
- PHPDoc del módulo mvc
- TICKET #53: agregar tipos de datos para representar strings chicos y muy grandes.

 

Ideas y nuevas características:

-  I18nImage e I18nResource:imágenes y otros recursos que dependan del locale seleccionado.



Version: 
Latest 3 messages about this page (13 total) - view full discussion
Oct 16 2009 by pablo.swp@gmail.com
Modificación a la hoja de ruta, en breve liberaremos Yupp PHP
Framework v0.1.6-7.

Haz clic en http://groups.google.com/group/yuppframeworkphp/web/hoja-de-ruta-hacia-v0-2-0.
Si haciendo clic no se activa, copia el enlace y pégalo en la barra de
direcciones de tu navegador.
May 29 2009 by pablo.swp@gmail.com
Actualizamos la hoja de ruta con los cambios que van a salir con la
versión 0.1.6.4 de Yupp Framework.

Haz clic en http://groups.google.com/group/yuppframeworkphp/web/hoja-de-ruta-hacia-v0-2-0.
Si haciendo clic no se activa, copia el enlace y pégalo en la barra de
direcciones de tu navegador.
May 5 2009 by pablo.swp@gmail.com
Haz clic en http://groups.google.com/group/yuppframeworkphp/web/hoja-de-ruta-hacia-v0-2-0.
Si haciendo clic no se activa, copia el enlace y pégalo en la barra de
direcciones de tu navegador.
10 more messages »
Create a group - Google Groups - Google Home - Terms of Service - Privacy Policy
©2009 Google