Novedades de aries

62
Novedades de Aries 15 Noviembre 2010 (Desde Sep 2009)

Transcript of Novedades de aries

Page 1: Novedades de aries

Novedades de Aries

15 Noviembre 2010(Desde Sep 2009)

Page 2: Novedades de aries

Anotación de Entidades

• @Entidad(gestion=“xxx”, campoDescripcion=“yyy”)• campoDescripcion permite decidir qué propiedad hace de

descripción a diversos efectos:– HibernateSearch– Recientes globales– Títulos de pantallas

@Entidad(campoDescripcion=“resumen”)public class Pedido { … @Transient public String getResumen() { }}

// Para acceder a ello.RegistroUtil.getDescripcion(ciertoRegistro);

http://wiki.seresco.red/aries/index.php?title=Hibernate_Search

Page 3: Novedades de aries

Mapear Id Componentes• Al desarrollar componentes compuestos podemos mapear los

“ids” de los campos contenidos para facilitar la reutilización.

<Row> <TextField id="#{entidad}.nombre" etiqueta="Nombre"/> <TextField id="#{entidad}.apellidos" etiqueta="Apellidos"/> </Row>

• Al declarar el componente podemos mapear el trozo de id

<apli:NombreApellidos entidad="cliente"/>

http://wiki.seresco.red/aries/index.php?title=Desarrollar_un_componente#Mapeo_de_identificadores

Page 4: Novedades de aries

Nueva Interfaz Validable• Permite validar nuestros componentes propios dentro del componente.• Se validan aunque el componente no tenga id.

http://wiki.seresco.red/aries/index.php?title=Desarrollar_un_componente#Validable

public class DuoDeComponentes extends Composite implements Validable{ public DuoDeComponentes() { …} public ErrorValidacion validar(InfoValidacion info) { log.debug("Validando el componente DuoDeComponentes"); return null;}public ErrorValidacion validar(Component componente, InfoValidacion info) { if (componente.equals(campo)) { log.debug("Validando el campo"); } else if (componente.equals(selecfField)) { log.debug("Validando el selectField"); } return null;}

Page 5: Novedades de aries

Serializador• La clase Serializador se utiliza al guardar las preferencias,

criterios de búsqueda, etc.• Se guardan los datos en base64, excepto los tipos básicos

(String, Integer, …) que se guardan en cadenas sencillas para facilitar su lectura.

• Por ejemplo: La cadena "Hola mundo" serializada en base64 era: "rO0ABXQACkhvbGEgbXVuZG8" Ahora es: "<S:Hola mundo“.

• Se puede usar la clase Serializador para nuestros propósitos en la aplicación.

Page 6: Novedades de aries

Objetos recientes Globales• Sistema que permite colocar un componente visor de la lista

de objetos recientes en cualquier parte, por ejemplo en el menú general.

• Los objetos recientes son los registros últimamente consultados en gestiones , aunque por programa se pueden añadir.

• Se guardan por usuario.

http://wiki.seresco.red/aries/index.php?title=Objetos_recientes

Page 7: Novedades de aries

El nombre de las entidades• El método RegistroUtil.getNombreEntidad devuelve el

nombre (digamos la descripción) de una entidad en el idioma del usuario.

• El nombre de las entidades se pone como propiedad en algun .properties con el nombre lit.entidad.xxxx donde “xxxx” es el nombre completo de la entidad cambiado puntos por guiones bajos, por ejemplo:– lit.entidad.es_seresco_pruebas_datos_Cliente=Cliente

• De momento solo se usa en HibernateSearch, pero está ahí para que se pueda usar en otros contextos.

Page 8: Novedades de aries

La descripción de las propiedades• Nuevo método Introspector.getDescripcionPropiedad que

retorna la descripción en el idioma del usuario de una propiedad.

• La descripción se busca como literal con el nombre “entidad.propiedad”. Si no existe se busca con comodín en la entidad, es decir “*.propiedad”.

• De momento esto se usa para la utilidad de poder personalizar una búsqueda, pero está ahí para cualquier otro uso de manejo genérico de las propiedades.

• Asociado a esto existe el método Introspector.getPropiedadesAlcanzables

Page 9: Novedades de aries

Jbasica en procesos planificados• La librería Jbasica que permite conectar con modelo B, antes

no se podía ejecutar en procesos planificados porque no se conseguía una instancia de la conexión.

• Para que funcione bien hay que implementar un escuchador de fin de procesos planificados que se encargue de cerrar las conexiones usadas. Más detalles en la Wiki

http://bc.seresco.red/index.php?title=Jbasica#Liberaci.C3.B3n_de_la_conexi.C3.B3n_al_terminar_un_proceso_planificado_de_Aries

Page 10: Novedades de aries

Configuración de columnas• Todas las búsquedas permiten que el usuario pueda

configurar las columnas resultantes.• Si queremos evitarlo en una hay que sobrescribir el método

isConfigurable.

http://wiki.seresco.red/aries/index.php?title=B%C3%BAsquedas_con_columnas_din%C3%A1micas#Pantalla_de_configuraci.C3.B3n_de_columnas

Page 11: Novedades de aries

Subir,bajar y pasar filas• La clase ManejadorComponentes tiene dos nuevos métodos

de utilidad. SubirFilasSeleccionadas y BajarFilasSeleccionadas.

• Nuevos Componentes BotonesMoverFila , BotonesPasarFila.• Se usan en configuración de búsquedas:

Page 12: Novedades de aries

Guadar y recuperar criteros• Nuevo sistema para guardar y recuperar criterios.• Hay que activarlo para que aparezca: Usa nuevas tablas.

http://wiki.seresco.red/aries/index.php?title=Guardar/Recuperar_criterios_en_b%C3%BAsquedas

Page 13: Novedades de aries

Criterios automáticos• Los criterios automáticos ahora están ligados a la

funcionalidad de guardar y recuperar criterios.• Al guardar un criterio se puede marcar como automático.• Entonces en sucesivas ejecuciones se pasará directamente a

la pestaña de resultados.

http://wiki.seresco.red/aries/index.php?title=Criterios_autom%C3%A1ticos_en_b%C3%BAsquedas

Page 14: Novedades de aries

Anotación Componente• La anotación @Componente permite establecer el tipo de

componente a utilizar para renderizar una propiedad de forma dinámica.

• De momento solamente se utiliza para mostrar las columnas dinámicas en las búsquedas , cuando el usuario utiliza el configurador de columnas para añadir nuevas propiedades a mostrar.

• Permite establecer el tipo de componente a utilizar. De momento solamente se puede declarar un SelectField y el nombre de un lista de literales en su caso:

public class Producto { @Componente(value="SelectField", literales="lit.TipoIva") public Integer getTipoIva() { … }

Page 15: Novedades de aries

GestorTablaEnVentana en Pantalla• La gestión de líneas en ventana permite decidir qué forma de

presentación queremos (Pantalla ó Ventana)

<GrupoTablaGestion entidad="Pedidolin" ventana=“GestionLineasPedidos" modo="pantalla">

Page 16: Novedades de aries

Nuevo componente Div• Div es un Contenedor pensado para maquetar usando CSS.• Es como un ContentPane pero puede contener más de un

hijo. • Se renderiza exactamente como un “Div” de Html.• Permite evitar posicionamiento absoluto de Css.• Mediante las propiedades RenderId ó RenderClass podemos

establecer estilos CSS.

<Div renderClass="clase1" > ... Cosas ... </Div> <Div renderClass="clase2" > ... Más Cosas ... </Div>

.clase1 { background-color: red;}.clase2 { background-color: blue;}

Page 17: Novedades de aries

Componente Div: Ejemplo de uso<Div id="separadorCabecera">

<Div renderId="Cabecera"><Div renderId="BordeSuperior"/><Div renderId="CabeceraCentral">

<Div renderId="DivLogo"/><Div renderId="CabeceraDerecha">

<Div renderId="CabeceraAries" id="CabeceraAries"/><Div renderId="TituloFuncion" >

<Column><Label id="TituloFuncion"/>

</Column></Div>

</Div></Div><Div renderId="BordeInferior"/><Div renderId="MigaDepan" >

<Row id="MigaDePan" cellSpacing="4"/></Div>

</Div><Div renderId="Cuerpo">

<Div id="SeparadorMenu"><Div renderId="ZonaMenu">

<ContentPane id="menuContenedor"/></Div><Div renderId="ZonaPantalla">

<Div renderId="ZonaErrores"><apli:AreaMensajes />

</Div><ContentPane id="pantallaContenedor"/></Div>

</Div></Div><Div renderId="Pie"/>

</Div>

Page 18: Novedades de aries

Estilos en CSS• Relacionado con el asunto "Ancho fijo".• Los elementos "body" y "c_root" se pueden estilizar con css

para obtener ancho fijo.• Con renderId se pueden establecer estilos a cualquier

componente• Con renderClass se pueden establecer a los componentes de

una clase.• Los estilos se escriben en

WebContent/recursos/css/estilos.css y se declara en src/META-INF/nextapp/echo2/ForeignCssURLs.properties.

http://wiki.seresco.red/aries/index.php?title=CSS#Estilos_b.C3.A1sicos

Page 19: Novedades de aries

¿ Por qué usar Css ?• En el caso de necesitar más potencia.– Tipos de bordes,– Bordes redondeados,– Control de alineación, overflow , etc,...– Control de la cascada (Herencia).

Page 20: Novedades de aries

Estilo BLOG• Aplicación con un único

scroll a nivel de toda página.

• Necesario para dispositivos móviles.

• Más moderna, atractiva y usable.

• Implica Ancho fijo.

http://wiki.seresco.red/aries/index.php?title=Estilo_Blog

Page 21: Novedades de aries

Personalizar Documento Html• El Documento Html generado por Aries se puede personalizar,

por ejemplo para añadir un Favicon (El icono que aparece asociado a nuestra aplicación).

http://wiki.seresco.red/aries/index.php?title=Personalizar_el_documento_Html

Page 22: Novedades de aries

Atributos minHeight, maxHeight• Permiten establecer el alto mínimo y máximo para una tabla.• El alto de la tabla variará en función del tamaño de la pantalla

Page 23: Novedades de aries

MigaDePan practicable• Rehecho el componente MigaDePan• Ahora se puede pinchar en cualquier miga• Comienza por ">> Inicio"

<SplitPane orientation="vertical" separatorPosition="48"><ContentPane renderId="ZonaCabecera" id="cabeceraContenedor"/><Div renderId="ZonaMiga">

<Row id="MigaDePan" cellSpacing="4"/></Div>

</SplitPane>

Page 24: Novedades de aries

Servicio de imágenes adjuntas• Nos permite obtener una imagen guardada en un adjunto

mediante una URL y hacerlo directamente sin que suponga una descarga.

• Esto nos permite incrustrarla en noticias , textos Html, etc.• Existe dos formas de hacerlo, mediante servicio de Echo2

(Requiere sesión) o Servlet (No requiere sesión).• Ejemplo de URL de llamada mediante servicio Echo2:

http://wiki.seresco.red/aries/index.php?title=Servicio_de_im%C3%A1genes_adjuntas

http://servidor/miapli/?serviceId=Aries.ImagenAdjunto&entidad=noticia&claves=1%3b&nombre=imagen.png

Page 25: Novedades de aries

ManejadorComponentes• Nuevos métodos:– setObligatorio , isObligatorio– setErroneo, isErroneo

• Estos métodos se encargan de fijar también los estilos asociados a sus estados.

Page 26: Novedades de aries

Validación y mensajes• Cuando se valida una pantalla ahora se muestran todos los

errores de campos erróneos (No solamente uno).• Se puede configurar la aplicación para que muestre mensajes

en una zona de la pantalla en vez de hacerlo en una ventana.• Podemos configurar la aplicación para no tener que declarar

el área de mensajes,pero si queremos declarar el área de mensajes en el escritorio o en cada pantalla podemos hacerlo.

• Debemos usar MensajeUsuarioUtil para mostrar mensajes.

# Area de mensajes automáticaes.seresco.aries.AreaMensajesAuto=true

http://wiki.seresco.red/aries/index.php?title=Visualizar_mensajes

Page 27: Novedades de aries

AutoLogin• Podemos configurar la aplicación para que si un usuario ha

guardado usuario y contraseña, no la vuelva a pedir de nuevo.• Esto se desactiva si el usuario entra en sesión y pulsa cerrar

sesión.• Conviene en este caso mostrar claramente el usuario actual

en el escritorio.

http://wiki.seresco.red/aries/index.php?title=Seguridad#AutoLogin

es.seresco.aries.seguridad.AutoLogin=true

Page 28: Novedades de aries

GrupoTablaConsulta: Paginación• Nuevo componente

GrupoTablaConsulta que permite mostrar los registros de una entida débil con paginación (Igual que se puede hacer con gestiones de líneas o búsquedas).

Page 29: Novedades de aries

Componente TabbedPane• El componente TabbedPane de

EchoPointNG ahora puede ser utilizado en pantallas mediante el tag Tabbedpane.

• El texto de cada solapa se declara igual que TabPane.

• Internamente TabbedPane es muy diferente a TabPane, así que para poder funcionar se instancia un EnvoltorioTabbedPane.

• Ventajas : Puede estar dentro de un column, grid o row, permite añadir iconos, ¿más chulo?

• Inconvenientes: Aun no hay política de estilos, puede fallar en caso de renderización parcial ...

http://wiki.seresco.red/aries/index.php?title=TabbedPane

Page 30: Novedades de aries

Clases de utilidad variadas• Clase CriterioListModel (Aportación de Alejandro), igual que

EjemploListModel pero con un criterio.

Page 31: Novedades de aries

GestorEntityManagerHilo• Se eliminó error de memoria no liberada. Por culpa de la

estrategia antigua de tener un EntityManager por aplicación no se liberaban las instancias de Aplicación a pesar de que las sesiones caducaran.

• Nueva estrategia de EntityManager por Hilo que soluciona el problema además de que facilita la ejecución de procesos planificados o servicios web que no tienen aplicación.

http://wiki.seresco.red/aries/index.php?title=Estrategias_EntityManager#Estrategia_de_EntityManager_por_hilo_.3D

Page 32: Novedades de aries

Spring• Si no declaramos la pantalla como Bean, se declarará

automáticamente cuando se cargue. Esto permite aprovechar la inyección de dependencias automática. Ejemplo:

public class BusquedaArticulos extends Busqueda { .. @Autowired private ServicioActualizarPrecios servicioActualizarPrecios; }

http://wiki.seresco.red/aries/index.php?title=Spring_con_Anotaciones#Declarar_pantallas_como_beans_para_cablearlas

• Recordar también que se pueden usar Beans con anotaciones.

Page 33: Novedades de aries

Portlets: Prueba conceptual• Aries como Portlet

permitirá incluir una pantalla de Aries dentro de un portal como por ejemplo LifeRay.

• Es un trabajo iniciado y ha llegado a la fase de descubrir que es viable, pero habría que continuar trabajando antes de poder contar con él.

Page 34: Novedades de aries

Gráficos JFC,OFC,Amchart• AriesExt ofrece clases que facilitan la presentación de gráficos.• Ejemplo de Servicio de gráfico OFC:

public class ServicioOfcVentas implements Service { public void service(Connection conn) throws IOException { List<String> categorias = new ArrayList<String>(); List<Double> valoresSerie1 = new ArrayList<Double>(); for (int i = 1; i <= 4; i++) { categorias.add("Trimestre " + String.valueOf(i)); valoresSerie1.add(1500d*i); } GeneradorDatosGrafico generadorDatosOfc = new

GeneradorDatosGraficoBase(); generadorDatosOfc.setCategorias(categorias); generadorDatosOfc.setValores(valoresSerie1); generadorDatosOfc.generarGrafico(conn.getRequest(), conn.getResponse()); } }

http://wiki.seresco.red/aries/index.php?title=OpenFlashChart

Page 35: Novedades de aries

Cambios estéticos en Aries• Cambios disponibles en

aplicación plantilla. • Diseño tomado de aplicación

Fidel• Ventanas

– Borde mínimo– Se oscurece el resto

• Botones de Cabecera pasan a ser enlaces.

• Botón para anclar/desanclar menú.

• La Miga de Pan ocupa todo el ancho.

• Estilo AnchoFijo.• Banda del menú incluye zona

de información• Eliminados efectos relieve.

• Insets en los bloques• Combinación de colores basada en tres tonos.

Page 36: Novedades de aries

Cambios estéticos: Papel Pijama• Papel pijama.

http://wikiaries.seresco.es/aries/index.php?title=Papel_Pijama

<style name="FilaImpar" type="nextapp.echo2.app.Label"><properties>

<property name="background" value="#e0e0f0"/></properties>

</style> <style name="FilaPar" type="nextapp.echo2.app.Label">

<properties><property name="background" value="#f0f0e0"/>

</properties></style>

Page 37: Novedades de aries

Ancho de columnas en tablas• Si una tabla tiene width :• Y la suma del ancho de sus columnas es menor que él• Entonces se aumenta proporcionalmente cada columna para

aprovechar todo el ancho.

Page 38: Novedades de aries

Plantilla GrupoTablaGestion• Ahora GrupoTablaGestion usa una plantilla lo que permite

personalizarla, por ejemplo, ponerla en horizontal.

Page 39: Novedades de aries

Factorías de Renderers de Celdas• Para presentar información dentro de las tablas se utilizan los

renderers.• Mediante las factorías de Renderers se facilita la creación de

nuevos Renderers.• Un ejemplo de Renderer Personalizado, es una barra que

muestre un porcentaje.

http://wiki.seresco.red/aries/index.php?title=Desarrollar_Renderers_de_celdas

Page 40: Novedades de aries

Celdas botón• Podemos declarar un Button dentro de una tabla.• Se renderiza con el aspecto de un enlace.

<Tabla id="pedidolin" editionEnabled="false" width="690">

<Button id="pedidolin.id.linPedido" etiqueta="Línea"/><CampoConBusqueda id="pedidolin.articulo.codArticulo"

etiqueta="Artículo"/><TextField id="articulo.descripcion"

etiqueta="Descripción" enabled="false"/></Tabla>

Page 41: Novedades de aries

Lenguajes dinámicos• Se puede empotrar un lenguaje dinámico en nuestra

aplicación, por ejemplo, Jython.• Permite ofrecer al usuario final la posibilidad de introducir

desde fórmulas hasta algoritmos completos. • Muy sencillo de usar.

http://foros.seresco.red/desarrollo/viewtopic.php?f=5&t=111&p=197&hilit=Jython#p197

Page 42: Novedades de aries

Componente ArbolXML• Permite mostrar un árbol cargado a partir de un fichero XML y

un fichero de configuración que describe qué hay que mostrar para cada tipo de nodo.

• Se puede mostrar el detalle de cada nodo en la misma pantalla o en una ventana aparte.

http://wiki.seresco.red/aries/index.php?title=Arbol_XML

Page 43: Novedades de aries

SSO Sencillo• Permite hacer SSO entre varias aplicaciones de Aries o ir a

otras aplicaciones desde Aries.• La clase TicketManager nos permite generar y validar "tickets"

que tienen una duración determinada.

http://wiki.seresco.red/aries/index.php?title=SSO_sencillo

Page 44: Novedades de aries

Servicios Web con Apache CXF• Resulta muy sencillo desarrollar servicios web usando Apache

CXF.• También se pueden ofrecer Servicios Web REST mediante CXF

de forma muy sencilla.

http://wiki.seresco.red/aries/index.php?title=SSO_sencillo

@WebServicepublic interface CheckTicket {

boolean checkTicket(@WebParam(name="ticket") String ticket, @WebParam(name="nombre") String nombre);

}

Page 45: Novedades de aries

Multisesión• Se puede configurar Aries para permitir la multi sesión.• Esto permite a los usuarios tener abiertas varias pestañas

ejecutando funciones diferentes de la misma aplicación.• En realidad existe una única sesión de servlets pero puede

haber varias aplicaciones simultáneas.• No afecta a la programación. Cada instancia de Aplicacion

sigue aislada del resto, pero ahora una instancia de Session de servlets puede compartir varias sesiones de aplicación. Ojo al método guardarEnSesion.

http://wiki.seresco.red/aries/index.php?title=Varias_sesiones_con_el_mismo_navegador

Page 46: Novedades de aries

Cursor y Esperas• Ha sido imposible superar los problemas de cambio de cursor

al interactuar. Cada solución incluía un nuevo problema en diferentes navegadores.

• La decisión salomónica es evitar el cursor en modo espera.• Nueva propuesta de espera prolongada. Cuando la respuesta

supera los 750ms puede aparecer el icono • En la aplicación Plantilla ya están aplicados estos cambios• Se pueden aplicar copiando

recursos/aries/ServerDelayMessage.xml y estableciendo el estilo .ServerDelayMessage tal como hace la aplicación plantilla.

Page 47: Novedades de aries

Canales• Un canal es una forma de ejecutar la aplicación que

determina todos los detalles relacionados con la capa de presentación.

• Por ejemplo, para diferenciar dispositivos móviles.• Podemos determinar el canal usando URL's diferentes

mediante ServletParam• Podemos tener hojas de estilos diferentes en función del

canal.• Podemos tener pantallas diferentes en función del canal.

http://wiki.seresco.red/aries/index.php?title=Canales

Page 48: Novedades de aries

Exportar tablas con Plantilla

http://wikiaries.seresco.es/aries/index.php?title=Exportar_tabla_con_plantilla

Page 49: Novedades de aries

Exportar pantalla con Plantilla• Se puede exportar el contenido de una pantalla a Excel

usando una plantilla con muy poco esfuerzo de programación.• Por ejemplo, dada una pantalla de gestión de pedidos, se

puede incluir un botón que nos imprima el pedido en Excel.public void doExcel() {

Tabla t=getComponent("pedidolin");GrupoTablaGestion gt=(GrupoTablaGestion)t.getParent().getParent();

String nombreBoton="exportar" + gt.getSufijoBotones();

Button b=(Button)gt.getComponent(nombreBoton);b.fireActionPerformed(new ActionEvent(b, b.getActionCommand()));}

Page 50: Novedades de aries

CampoFechaPop• El nuevo CampoFechaPop

permite mostrar el selector de fecha justo debajo del campo.

• Se puede configurar la aplicación para que todo CampoFecha se instancie realmente mediante un CampoFechaPop añadiendo lo siguiente a config.properties.

http://wiki.seresco.red/aries/index.php?title=CampoFechaPop

CampoFecha=es.seresco.aries.aplicacion.componente.CampoFechaPop

Page 51: Novedades de aries

Refactorización de componentes• Nuevo componente SelectorFecha que permite seleccionar

una fecha de un calendario que incluye navegación entre meses. (Se utiliza dentro de CampoFechaPop).

• Nuevo interfaz CampoConEdicion que implementan todos los componentes que tengan una máscara de edición.

• Nuevo interfaz CampoConAditamentos que implementan los componentes que se compongan de un campo y más cosas. Por ejemplo CampoFechaPop.

• Nuevo interfaz WithText que marca los componentes de Echo2 o terceros que tienen el interfaz setText-getText.

• Gracias a estos interfaces, en las clases de Aries (ManejadorComponentes, Introspector , etc) se puede hacer una programación más genérica.

Page 52: Novedades de aries

Componente Combo• Nuevo componente Combo que se implementa mediante el

ComboBox de EchoPointNG.• Es una combinación de TextField con SelectField, o digamos,

un SelectField editable.• Permite especificar el ListModel.• No permite Clave-Valor. (De momento)• También permite un ListModel automático formado por los

últimos valores introducidos. (Atributo historial="true").

http://wikiaries.seresco.es/aries/index.php?title=Combo

<apli:Combo id="usuario" etiqueta="Usuario"/>

Page 53: Novedades de aries

Ventanas con tamaño automático• Si ponemos alto="0" y ancho="0" a una pantalla entonces su

tamaño es automático y se ajusta perfectamente a su contenido.

http://wiki.seresco.red/aries/index.php?title=Ventanas

Page 54: Novedades de aries

Título y miga de pan• Ahora las gestiones establecen como título la descripción del

registro activo (Obtenido mediante el atributo campoDescripcion de la anotación @Entidad del mismo).

Page 55: Novedades de aries

Atributo ColumnWidth• El componente Grid tiene un nuevo atributo columnWidth

que permite establecer el ancho de las columnas en pixeles o en porcentaje.

<Grid columnWidth="100px,25%, 300">

Page 56: Novedades de aries

Plugin• Nuevo asistente de creación de componente• El asistente de pantalla y búsqueda permite seleccionar los

campos a mostrar tomados de la entidad principal.• Al crear una pantalla se puede pedir que nos la incluya en el

menú y que nos internacionalice las etiquetas generadas.

Page 57: Novedades de aries

Componente HtmlEditor• Se ha integrado el CkEditor como componente de Aries, así

que se puede usar en cualquier pantalla.• Permite la edición WYSIWYG de campos con contenido rico

Html.• Es más potente que el que venía inicialmente con Echo2

http://wikiaries.seresco.es/aries/index.php?title=HtmlEditor

Page 58: Novedades de aries

Menús• Nuevo menú horizontal.• Refactorización de menús. (Nuevo MenuVertical,

MenuEscritorio deprecated).• El escritorio puede contener varios menús.

http://wiki.seresco.red/aries/index.php?title=Men%C3%BAs

Page 59: Novedades de aries

EntityManagerFactoryMultiple• Nuevo sistema para permitir dataSource diferente en función

del usuario que ha iniciado sesión.• Objetivo: Dar soporte de Outsourcing a múltiples clientes con

un único despliegue de aplicación.• Nueva clase EntityManagerFactoryMultiple que retorna un

EntityManagerFactory diferente en función de lo que devuelva el método a sobrescribir getNombre.

http://foros.seresco.red/desarrollo/viewtopic.php?f=5&t=182&p=302#p302

Page 60: Novedades de aries

Soporte a Navegadores• Se soporta Internet Explorer 9• Se soporta mejor Internet Explorer 6

Page 61: Novedades de aries

Drag & Drop

Page 62: Novedades de aries

Favoritos