eTemplate es un motor de renderizado utilizado en versiones anteriores de EGroupware para generar la interfaz de usuario de la mayorĂa de las aplicaciones. Toma el contenido de una aplicaciĂłn más una plantilla y lo renderiza en el servidor como HTML. Cuando el usuario envĂa ese formulario HTML en su navegador, el motor de eTemplate lo recibe de nuevo en el servidor, valida la entrada y la devuelve a la aplicaciĂłn.
Todo esto se hacĂa en el servidor y la reacciĂłn a la entrada del usuario requerĂa en la mayorĂa de los casos un viaje de ida y vuelta al servidor. No habĂa ninguna API para manipular una plantilla ya renderizada en el lado del cliente o del navegador.
Todo esto cambia con eTemplate2 en 14.1:
utilizan una API prácticamente idéntica en el lado del servidor, por lo que son fáciles de portar a la versión 14.1
que la API eT2 envĂa el contenido como JSON (JavaScript Object Notation) incl. una url a una descripciĂłn de plantilla XML para el navegador
El motor de eTemplate2 en el navegador carga la plantilla y renderiza la interfaz de usuario (UI)
La parte del lado del cliente de la aplicaciĂłn interactĂşa directamente con eTemplate: por ejemplo. mostrar u ocultar un elemento / widget de la interfaz de usuario o cambiar su apariencia
eTemplate y la aplicaciĂłn utilizan la API de EGroupware del lado del cliente, por ejemplo. para consultar una preferencia de usuario, un detalle de la cuenta o el tĂtulo de un enlace
si se utiliza una nueva plantilla con pestañas, por ejemplo, la plantilla 14.1 Pixelegg, la API persiste en el cliente y almacena en caché los datos solicitados al servidor
Te preguntarás: todo eso es muy teórico, ¿qué tengo yo de ello? Describiré un par de nuevos widgets, para ilustrar las grandes mejoras de usabilidad en 14.1 y las nuevas posibilidades disponibles:
MenĂşs contextuales y barras de herramientas
Las listas, los árboles en hechos todos los elementos de la UI pueden tener ahora un menĂş contextual que muestra las acciones disponibles en una fila o en un elemento del árbol. Esto sustituye a veces el enorme nĂşmero de iconos que tenĂamos antes en las listas. Algunas aplicaciones, por ejemplo El nuevo correo utiliza ahora barras de herramientas para mostrar las acciones disponibles. El usuario puede reordenar estos iconos segĂşn sus necesidades e incluso ocultar los menos utilizados en un desplegable «más…».
Arrastrar y soltar dentro de EGroupware y hacia y desde el escritorio
Los archivos se pueden cargar arrastrándolos desde el escritorio a una ventana emergente que edita una entrada, por ejemplo. un InfoLog o un correo compuesto. También puede arrastrar un archivo en una fila de una lista.
El archivo puede ser arrastrado, por ejemplo. de la aplicaciĂłn Filemanager en su escritorio, si su navegador lo soporta, actualmente sĂłlo Chrome lo hace.
Carga de archivos
ya no están limitados por el lĂmite de memoria de PHP, gracias a nuestro soporte de la API de archivos html5.
La aplicaciĂłn Filemanager es ahora un ciudadano de primera clase y los archivos almacenados en ella están disponibles en todas partes para ser adjuntados o enlazados, mientras que las versiones anteriores de EGroupware requerĂan que uno descargara y volviera a cargar dicho archivo.
Las entradas de EGroupware también pueden vincularse arrastrándolas sobre otra entrada.
Desplazamiento interminable en las listas
Antes de EGroupware 14.1 todas las aplicaciones web tenĂan que implementar algo llamado paginaciĂłn para sus listas. La aplicaciĂłn sĂłlo mostraba un nĂşmero limitado de filas en una lista y flechas para cargar el conjunto de filas siguiente o anterior. Los usuarios siempre tenĂan que elegir entre una lista rápida y corta o una larga y lenta.
Las listas de eTemplate2 muestran ahora una barra de desplazamiento para toda la lista y cargan más entradas a petición mientras se desplaza hacia arriba o hacia abajo.
Las listas de eTemplate2 ahora también permiten redimensionar sus columnas y tienen navegación por teclado. Permiten seleccionar varias filas y ejecutar acciones sobre ellas.
Carga de las piezas de la interfaz de usuario bajo demanda
eTemplate2 puede posponer el renderizado e incluso la carga de elementos no visibles de la UI. Por ejemplo. una pestaña del historial no carga su contenido antes de que un usuario cambie en ella. Entonces emplea la lista de desplazamiento interminable descrita anteriormente para mostrar todo el historial de una entrada, pero sĂłlo carga un par de lĂneas del servidor.
Los conjuntos de plantillas enmarcadas, como el nuevo Pixelegg, sólo cargan la aplicación activa, posponiendo la carga de todas las demás abiertas hasta que el usuario decida verlas.
Esto es sĂłlo un extracto de los nuevos elementos de la interfaz de usuario y las mejoras de usabilidad que ofrece eTemplate2 y su enfoque en la representaciĂłn e interacciĂłn con el usuario en el cliente. lado del navegador.
Con la 14.1 nos centramos principalmente en el desarrollo del motor de eTemplate2 y en la portabilidad de las aplicaciones a Ă©l con las caracterĂsticas que ya tenĂan. Las prĂłximas versiones verán un uso aĂşn mayor de estas nuevas posibilidades y la reescritura completa de las aplicaciones como lo hicimos en la 14.1 con el correo y parcialmente con el admin. En mis prĂłximos artĂculos hablarĂ© de ellos.
Ralf Becker
Director de Desarrollo de Software