2. 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
3. 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
4. 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;
}
5. 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.
6. 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
7. 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.
8. 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
9. 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
10. 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
11. 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:
12. 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
13. 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
14. 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() { …
}
15. 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">
16. 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;
}
18. 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
19. ¿ 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).
21. 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
22. 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
23. 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
24. 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>
25. 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=ima
gen.png
26. ManejadorComponentes
• Nuevos métodos:
– setObligatorio , isObligatorio
– setErroneo, isErroneo
• Estos métodos se encargan de fijar también los estilos
asociados a sus estados.
27. 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ática
es.seresco.aries.AreaMensajesAuto=true
http://wiki.seresco.red/aries/index.php?title=Visualizar_mensajes
28. 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
29. 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).
30. 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
31. Clases de utilidad variadas
• Clase CriterioListModel (Aportación de Alejandro), igual que
EjemploListModel pero con un criterio.
32. 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_d
e_EntityManager_por_hilo_.3D
33. 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.
34. 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.
35. 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
36. 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.
38. 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.
40. 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
41. 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>
42. 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
43. 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
44. 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
45. 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
@WebService
public interface CheckTicket {
boolean checkTicket(
@WebParam(name="ticket") String ticket,
@WebParam(name="nombre") String nombre);
}
46. 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
47. 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.
48. 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
49. Exportar tablas con Plantilla
• Partimos de que toda cuadrícula se puede exportar a XLS.
• Ahora se puede tener una plantilla para personalizar la
exportación, lo cual nos permite por ejemplo:
– Ofrecer una tabla dinámica ya diseñada.
– Gráficos prediseñados
– Campos calculados y totalizaciones.
– Dar formato estético (Tipos de letra, colores, etc).
http://wikiaries.seresco.es/aries/index.php?title=Exportar_tabla_con_plantilla
50. 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()));
}
51. 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
52. 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.
53. 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"/>
54. 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
55. 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).
56. 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">
57. 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.
58. 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
59. 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
60. 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
61. Soporte a Navegadores
• Se soporta Internet Explorer 9
• Se soporta mejor Internet Explorer 6
62. Drag & Drop
• Los botones pueden ser origen de drag and drop
• Cualquier componente puede ser destino de drag and drop.
• Los árboles que renderizan usando botones pueden ser origen
y destino de drag and drop.
http://wiki.seresco.red/aries/index.php?title=Drag_and_Drop
Button origen=getComponent("origen");
Tabla destino=getComponent("destino");
origen.addDropTarget(destino);
origen.addDropListener(new DropListener() {
public void dropPerformed(DropEvent evento) {
GestionTableModel
model=(GestionTableModel)tabla.getModel();
Component destino=(Component)event.getTarget();
String texto=((Button)event.getSource()).getText();
Elemento elemento=new Elemento();
elemento.setValor(texto);
model.insertarFila(0, elemento );
}
});
63. Favoritos
• Menú con las opciones favoritas del
usuario.
• Las puede alimentar arrastrando
opciones.
• Tiene gestión de favoritos para editar
su propia estructura.
http://wiki.seresco.red/aries/index.php?title=Favoritos
64. Adjuntos de tipo enlace
• El componente de gestión
de adjuntos permite
adjuntar un enlace.
• Se puede adjuntar un enlace
de tipo file, ó http.
• Al pinchar sobre él se
iniciará una descarga.
• El enlace se resuelve en el
servidor.
http://wiki.seresco.red/aries/index.php?title=Gesti%C3%B3n_de_adjuntos#Adjuntos_
de_tipo_enlace
65. Acceso anónimo
• Se puede dedicir qué funciones son públicas.
• Al utilizar una URL amigable que apunte a función pública se
evita el login.
• Al utilizar una URL amigable de función privada se para en el
login.
• Si ya estaba autentificado no se vuelve al login.
• Se puede establecer el usuario que ejerce de usuario
anónimo, el grupo al que pertenece y sus permisos para que
le aparezca un menú apropiado.
http://wiki.seresco.red/aries/index.php?title=Entrada_an%C3%B3nima
66. Mejoras AriesExt
• Integrados gráficos Amchart.
• Mejoras estéticas (Velocímetro, barras, etc).
• Varias series
• Indicadores históricos