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