-
Notifications
You must be signed in to change notification settings - Fork 0
XMLUI
DSpace provee una interfaz de usuario conocida como manakin o XMLUI, basada en el framework Cocoon de Apache
Esta dividida en tres niveles
-
Style tier
- Crear themes simples
- XHTML + CSS
-
Theme tier
- Crear themes complejos
- XSL + Xhtml + CSS
-
Aspect tier
- Agregar nueva funcionalidad
- Cocoon + java
Cocoon esta diseñado alrededor del concepto de SOC (separación de preocupaciones), usando una arquitectura basada en componentes. Se concentra en la publicación de websites utilizando SAX (Simple API for XML)
El principio de SOC es realizado a través de COMPONENTES. Estos son operaciones que unidas forman los PIPELINES. Varios son los componentes utilizados (MATCHERS, GENERATORS, TRANSFORMERS, SERIALIZER, SELECTORS, VIEWS, READERS and ACTIONS). Dichos componentes no interactúan entre sí. Sin embargo su interacción es guiada por su contructor, el cual en la mayoría de los casos es el SITEMAP, el cual define más abajo
Pipeline es el concepto fundamental de Cocoon. Cuando un request ingresa en el pipeline, varios componentes transforman el contenido en cada nivel hasta que se alcanza el final del pipeline, donde el contenido es transmitido al usuario.
El sitemap es un conjunto de documentos XML que describen como los componentes de Cocoon se configuran. El sitemap se divide en dos grandes secciones: la sección de definición de componentes, la cual describe cada tipo de componente, y la seccion del pipeline, que define como estos componentes se organizan.
- Generators: crean un flujo de eventos SAX para ser procesados por otros componentes
- Transformers: Toman un flujo de eventos SAX y lo procesan, a este flujo se le puede añadir o quitar contenido del pipeline. El transformer mas comun es XSLT.
- Serializers: Son el punto final del pipeline. Transforman el evento SAX a binario o flujo de caracteres para ser transmitido al cliente.
- Matcher: Son usados para matchear el request contra alguna expresion regular. Basado en esos matches se puede decidir que componentes se incluyen al pipeline y cuales se excluyen
- Selectors: Similares a los matchers pero con mayor flexibilidad. Mientras que un matcher solo puede tomar decisiones binarias, por si o por no, un selector puede realizar multiples tomas de decisiones similares a un if-else
- Actions: No modifican el contenido del pipeline, ni toman decisiones sobre el flujo del mismo. En lugar de eso, realizan operaciones que podrian afectar la toma de futuras decisiones de los matchers
- Readers: Pueden ser tanto el comienzo como el final de un pipeline. Normalmente los pipelines comienzan con un generator y terminan con un serializer. Los readers combinan estas funcionalidades y son usados tipicamente para contenido binario como imagenes.
Al principio de los Pipelines, el generador crean un archivo XML base, el cual Cocoon denomina DRI (Digital Repository Interface). Este archivo tiene una estructura predefinida y se debe mantener a traves de todo el Pipeline. Los transformadores modifican el DRI dandole la estructura del requerimiento
Los themes estilizan el contenido del DRI para mostrarlo de forma que se ajuste al usuario. Los themes son implementados como planillas XSL aplicadas a multiples elementos del contenido del pipeline.
(dspace/target/[directorio build]/webapps/xmlui/themes/[tema])
Los aspects de Cocoon son un arreglo de componentes (transformers, actions, matchers, etc) que implementan un conjunto de la funcionalidad del sistema. estos aspects se combinan para generar toda la funcionalidad de Mankakin. Estos aspects son encadenados entre ellos para cada contenido dentro de la pagina que genera el sistema, cada aspecto tiene la posibilidad de agregar su propio contenido a la pagina.
Links utiles