EBD COMMUNITY
Bienvenido
ESPAÑOL
ENGLISH

EBD 3.5.2

Esta nueva release representa un nuevo avance en las funcionalidades de distribución y reutilización de código, ampliando el abanico de elementos que se pueden empaquetar y redistribuir a prácticamente todos los objetos que forman parte de una aplicación EBD. Las nuevas Consultas mejoran la estructuración del modelo de datos, facilitando la separación entre los datos y la presentación.
25/02/2010

De todas la mejoras y nuevas funcionalidades de esta versión queremos destacar las siguientes:

  • Nuevo objeto “Consulta”
El nuevo objeto “Consulta” permite crear consultas predefinidas sobre una o varias tablas, y utilizarlas posteriormente como orígenes de datos en las secciones de tipo “Consulta”, en los widgets o mediante la instrucción EBDML “execdatasource”.
Los objetos consulta disponen de toda la flexibilidad de la sección de tipo “Tabla”, como los campos extra o campos calculados con código EBDML, y además permiten personalizar los alias de las Tablas y los campos seleccionados para facilitar el acceso a los datos una vez ejecutada la consulta.

  • Distribución de Aplicaciones en Paquetes
A partir de la versión 3.5, los Paquetes generados con EBD pueden incluir prácticamente todos los objetos que forman una aplicación:
Tablas, Páginas, Secciones, Zonas, WebServices, etc...
Gracias a esta ampliación, se pueden usar los paquetes no sólo para distribuir recursos reutilizables como widgets o Librerías, sino también para distribuir una aplicación  completa.
El nuevo sistema de instalación de paquetes verifica las dependencias de todos los objetos instalados, permitiendo separar una aplicación en diferentes paquetes para facilitar la instalación y las actualizaciones de los diferentes objetos.

A continuación mostramos una relación de todos los cambios que han sido:


EBD versión 3.5.2 - 23/2/2010

  • [Req912] La función Section.show usa el doctype de la zona actual si no se especifica por parámetro.

  • [Req] Nueva instruccion eBD:SYNCRONIZE que permite sincronizar el acceso a variables globales entre requests concurrentes de la misma sesión.
  • [Packages] Actualización del instalador para que ejecute los callbacks de post-install al final de la instalación del paquete. El callback de una seccion widget depende de que se hayan instalado otros objetos (eventos de widget) que puede que vayan despues dentro del paquete. Por eso hay que ejecutar el callback tras haber instalado todos los objetos.
  • [Req] Nueva funcion #[eBDDate.CurrentMilis], que proporciona la fecha (epoch) en milisegundos.

  • [eBDML] Nuevo tipo de parser XML "RECORDSET" (en eBD:XMLPARSE) para parsear estructuras XML simples que devuelve un array de hashes.

  • [eBDML] Se optimiza el rendimiento en eBD:LINKTO.

  • [Bug] Ahora se puede acceder a “:filepath” desde código eBDML de campos en objetos Consulta.

  • [Bug] Solucionado el problema que daba al guardar código eBDML de campo, y por el que no se refrescaba correctamente (habia que compilar 2 veces).

  • [Bug] Resuelto, en Oracle, el error del objeto consulta que no estaba generando la query con los alias de los campos correctamente.

  • [Bug] Solucionado el error producido en Oracle cuando la vista previa de una Consulta fallaba (no se estaba filtrando la query SQL para quotear los nombres).

  • [Bug715] Resuelto el problema en eBD:UPDATE que no actualizaba el campo publicado en todos los registros, sino solo en el primero.

  • [Bug711] Solucionado el error que duplicaba los objetos de los paquetes al actualizarlos.

  • [Bug716] Se añade la posibilidad de añadir todos los campos en una sección Consulta, en lugar de uno a uno.

  • [Bug713] Ahora aparece un mensaje de error si se crea mal una sección Consulta.

  • [Bug714] Resuelto el problema de la sección Consulta que daba Internal Server Error al utilizar una consulta predefinida.

  • [Bug524] Solucionado el error en eBDServer por el que no estaba haciendo el timeout (60 segundos por defecto) correctamente en Win32.

EBD versión 3.5.1 - 22/1/2010

  • [Req837] Nuevo parámetro "AllowSessionFrom" en ebd.xml (por instancia) que permite declarar una lista de IP desde las que se puede abrir una sesion sin validar la IP de origen.

  • [Req911] Se añade la posibilidad de usar código eBDML en campos de consultas.

  • [eBDSections.setDOMContent] Se añade una '\ al inicio.

  • [Req910] Se ha mejorado la pantalla de edición de parámetros de la sección widget.

  • [Req909] Se ha añadido el parámetro doctype en Section.show con fullpage=1.

  • [Req] Solucionado el error 500 que daba la instrucción DESERIALIZE si fallaba el modulo JSON, ahora genera un error en el log.

  • [Req] Se ha modificado el fichero ebd.xml para permitir configurar el número de registros a mantener por usuario en la tabla "LoginCorrectos" mediante el tag: MaxLoginRecords.

  • [Req] Nueva función #[eBDResponse.add_style(url)]  (equivalente a "add_script" pero para ficheros css).

  • [Req] Se ha añadido el parámetro ENCODING en la instrucción eBD:XMLPARSE, para indicar la codificación y que no lo parsee automáticamente de la primera línea del XML.

  • [Req] Se ha añadido soporte para Usuarios Remotos para el servicio Sun LDAP. También se ha solucionado algunos errores pequeños en el parámetro de validación en el formulario de usuario.

  • [Bug] Solucionado el problema que no dejaba ver la ayuda de eBDML en el editor.

  • [Bug] Se resuelve el error en eBD:EXECDATASOURCE que se producía si no existía la consulta, apareciendo un error en el log.

  • [Bug707] Se modifica el Buscador de literales para que pueda buscar literales dentro de carpetas.

  • [Bug706] Solucionado el problema con el Campo Extra en Consultas.

Por el que al crear un campo extra en una consulta e intentar introducir la función de BD, el popup se cerraba automáticamente, sin permitir entrar la función de BD.

  • [Bug705] Se soluciona el error en los Widgets que borraba la consulta global al restablecer valores en los orígenes de datos. También se ha modificado para impedir que se edite la consulta global desde otro objeto.

  • [Bug703] Se resuelve el error por el que el Datasource es ignorado al hacer un eBD:INSERT.

  • [Bug704] Solucionado el error de eBD:UPDATE por el que al hacerlo sobre una tabla donde tenemos una fecha como campo clave, no convierte la fecha al hacer la comprobación de si el registro existe, y siempre dice que no.

  • [Bug] eBD:INCLUDE pasa los parámetros adicionales de forma Case-sentitive !!!!!

*** ATENCIÓN: Esto puede provocar problemas de compatibilidad con códigos existentes que no pasen parámetros adicionales en mayúsculas y los recojan con eBD:ARGS en minúsculas.

EBD version 3.5.02 - 24/12/2009

  • [Req] Se modifica eBD:FOREACH y eBD:FETCHROW para que el parámetro QUERY sea evaluable.

  • [Req] Nueva función #[eBDResponse.add_script(url)] que permite añadir un fichero Javascript a la cabecera de la respuesta controlando que no se repita.

  • [Bug] Se soluciona el Error 503 que daba al intentar descargar el fichero de código de una función (en Librerías).

  • [Bug] Se añade el atributo XMLNS en el "method" de las llamadas SOAP a Web Services .NET, para identificar totalmente el NS de los parámetros.

EBD version 3.5.01 - 17/12/2009

  • [Bug] Se resuelve el problema en los objetos Consulta por el cual arrastraban las relaciones al compilarse el paquete.

  • [Req] Se crean atributos propios del widget. Cada sección puede definir su propia lista de atributos (en la pantalla Parámetros), y usar la funcion #[eBDWidget.getAttribute(nombre)] para recuperarlo en cualquier sitio (datasources, eventos, ...)

Los atributos se arrastran cifradas con la URL del evento generada con #[eBDWidget.eventsURL]

  • Nueva función #[eBDSection.UniqueID], que devuelve un identificador numérico único para la ejecución de la sección actual

Los Widgets envían automáticamente este valor en la URL de sus eventos, por lo que al ejecutar #[eBDSection.UniqueID] en un evento de widget recibiremos el mismo valor que tenia en la ejecución del código principal.

  • [Bug] Se soluciona el error 403 al intentar crear un servicio de mensajería instantánea.

  • Se ha modificado en InstantMessenger para usar el _idRegistro en lugar del “username” para identificar los contactos.

  • Nuevo parámetro "section_containers" para las URLs cifradas de Section.show que fuerza la inserción de los elementos contenedores

    • Nueva funcion eBDSection.setDOMContent(dom_node, html)

    • setDOMContent carga todos los SCRIPT en el head, comprobando que no estén ya cargados

    • Los STYLE los carga en el propio DOM node

    • eBDSection.show usa setDOMContent para incrustar el html recibido.

    • Ahora los parámetros de eBDSection.show son (en la URL cifrada):

idsection -> id de la sección (ya existia)
section -> nombre de la sección

idpage -> id de la pagina
page -> nombre de la pagina

idzone -> id de la zona
zone -> nombre de la zona

full_page [1|0] -> booleano que indica si se debe generar el contenido HTML completo (para poder usar esa url directamente en un IFRAME)

** Si se usa "section" pero no se especifica pagina ni zona, se entiende que es una sección global


EBD versión 3.5.0 - 26/11/2009

  • Redirección automática a '/' después de un logout (del tipo "?logout=1")

  • [Packages] Se empaquetan los valores de los literales. Las localizaciones solo están referenciadas. Deben existir en la instancia de destino todas las localizaciones usadas en el paquete (se identifican por 'language').

  • [Packages] Se muestra la información sobre el objeto original si no se encuentra ningún objeto compatible para la referencia.

  • [Packages] Se puede empaquetar carpetas de Archivos Estáticos.

  • [Widgets] Solo se avisa de error al usar Consultas SQL en Datasources si no se pueden obtener los campos seleccionados.

  • [Widgets] Se puede seleccionar objetos de tipo Consulta desde los Datasources de un Widget.

  • [Consulta] Se ha añadido los campos extra en el objeto Consulta.

  • [eBDML] Nuevo parámetro COUNT en EXECDATASOURCE para recoger en una variable el valor de select count(*)

(solo se ejecuta la query select_count si esta definido el limit, pero en cualquier caso siempre se devuelve el valor).

  • [Req720] Se pueden usar funciones para valores de parámetros booleanos de widgets.

  • [Req735] Se pueden definir datasources "abiertos" en un widget, no requieren una estructura de campos especifica.

  • [Widget] Nuevo flag en los parámetros de la sección widget que permite sobre-escribirlos desde eBD:INCLUDE.

  • [Req829] Los nombres de las funciones Java (y .NET) ya no dependen del ID. Se actualiza automáticamente el código fuente (cambiando el classname) al compilar la clase si todavía está en formato 3.4.

  • [Req714] Nuevo parámetro EVENT en eBD:CALL para poder ejecutar eventos de un widget desde el propio código eBDML del widget.

  • A partir de la versión 3.5, los Paquetes generados con EBD pueden incluir prácticamente todos los objetos que forman una aplicación:

Tablas, Páginas, Secciones, Zonas, Web Services, etc...
Gracias a esta ampliación, se pueden usar los paquetes no sólo para distribuir recursos reutilizables como widgets o Librerías, sino también para distribuir una aplicación completa.
El nuevo sistema de instalación de paquetes verifica las dependencias de todos los objetos instalados, permitiendo separar una aplicación en diferentes paquetes para facilitar la instalación y las actualizaciones de los diferentes objetos.

  • [Req844] Se puede utilizar un HASHREF como ROW en FILEPATH.

  • [Req843] Se puede empaquetar Tareas Programadas.

  • [Req836] Se puede añadir Procesos en los paquetes.

  • [Packages] Se crean automáticamente las tablas SQL al instalarlas desde un paquete (Solo si son tablas de tipo eBD, no tabla vinculadas).

  • [Req822] La instrucción EXECDATASOURCE pueda ahora ejecutar consultas predefinidas (con filtros, order by y limit).

  • [Packages] Resolución automática de objetos reverenciados desde un paquete (pero no incluidos en el).

  • [Packages] Se puede empaquetar los objetos Consulta.

  • [Req782] Se puede añadir secciones en los paquetes.

  • [Req839] Nuevo objeto “Consulta Predefinida” que permite generar las consultas como un objeto.

  • [Packages] Se puede empaquetar las secciones globales.

  • [Req] Se puede empaquetar los Web Services.

  • [Req806] Se puede empaquetar las Zonas.

  • Nueva funcion #[eBDResponse.get_head_content()] que devuelve el contenido de head generado automáticamente al ejecutar secciones (tags styles y scripts).

  • [eBDML] Se puede usar eBD:INCLUDE desde archivos dinámicos y Web Services para ejecutar secciones.

  • [eBDML] Nuevos parámetros PAGE y ZONE en eBD:INCLUDE que permite incluir secciones de otras paginas o zonas (identificándolas por nombre).

  • [XMLTable] Ahora se puede mostrar todo el contenido del resultado de un Web Service aunque el WSDL no indique ningún parámetro.

  • [Req769] Se puede añadir paginas en los paquetes.

  • [Req738] Nueva opción para poder definir que página queremos mostrar al detectar un error 403.

  • [Req734] Se puede añadir objetos de servidor en los paquetes.

  • [Req679] Se puede añadir tablas en los paquetes.

  • [Bug685] Resuelto el problema por el que en una vista, que contenga un campo de tipo fecha, si le damos un valor por defecto y marcamos la opción read-only, no podemos modificar el valor; pero, si pulsamos el botón de calendario y cambiamos la fecha, el valor del formulario se cambia.

  • [Bug696] Se soluciona el problema de tabla anidada incorrectamente en la Sección Tabla, al usar un template eBDML.

Si la sección Tabla tiene activado el checkbox de "incluir tabla html", el eBDML de inicio y fin del template se ejecutan antes y después de esta tabla, respectivamente. En este caso, si en el eBDML de inicio queremos abrir una tabla con headers y rellenarla en el eBDML de registro no funciona bien, porque se estará rellenando la tabla incluida automáticamente. En EBDv3.3, el eBDML de inicio y fin del template se ejecutaban dentro de esa tabla_html, por lo que el problema no se producía.

  • [Bug698] Mejorada la instrucción eBD:IMAPGet para que no dé error si no se envía el parámetro “search”.

  • [Bug691] Mejora de la Sección Gráfica de tipo SVG, que incluía dentro del HEAD de la página el script de creación de la imagen con lo que el gráfico salia fuera de la página.

  • [Bug689] Solucionado el error en eBDSync que excluía cualquier carpeta que se llamara "files".

  • [Bug688] Solucionado el problema, al llamar a un WebApp por GET, por el que daba un error 403.

  • [Bug675] Resuelto el problema por el cual al crear un archivo temporal y utilizar ebd:infofile, el archivo temporal desaparece.

  • [Bug] Solucionado el error por el que no se filtraban los literales en la raíz de la pantalla "Literales", donde idCarpeta = 0.

  • [Bug687] Se mejora el campo Email para aceptar email “.info”

  • [Bug686] Resuelto el problema de la función Sendmail, que mostraba de forma visible los bcc de los mensajes.

  • [Bug684] Se ha corregido el valor por defecto en los parámetros para que acepten “0” como valor.

  • [Bug694] Resuelto el problema por el que no se podía designar una variable (de una librería) con el mismo nombre nombre que la librería.

  • [Bug656] Solucionado el problema por el cual el número de procesos "ebd_worker" crecía de forma anormal, pese al valor establecido en “/app/conf/ebd_config.xml” , al ejecutar ebd_server graceful o restart.

  • [Bug] Resuelto el error por el que no se enviaban las cookies de afinidad en el eBDClient.

  • [Bug699] Corregida la función de edición de literales por la que no permitía guardar los valores.

  • [Bug] Solucionado el error al acceder al cuerpo de un mensaje multipart en instrucciones IMAP.

  • [Bug] Resuelto el error que se generaba al recibir los headers de una WebApp Java si estaban vacías.

  • [Bug] Mejorado el generador de números aleatorios.

  • [Bug] Solucionado el error por el cual ebd_top no recogía datos del TServer.