CITRUS es un sistema de edición de contenido (CMS) creado para ser simple. A diferencia de distintas alternativas en el mercado para la época, CITRUS buscaba ser muy simple de usar para los usuarios no técnicos.
El diseño de las interfaces de administración permite la edición de contenidos directamente sobre las páginas, sin necesidad de diligenciar formularios de contenidos ni entender conceptos abstractos como "tipos de contenido", "campos" o "vistas" presentes en otros sistemas de contenidos.
En la superficie, CITRUS fue inicialmente desarrollado con la primera versión de YUI, una librería JavaScript gratuita desarrollada inicialmente por Yahoo! en una época en la que comenzaron a florecer distintas herramientas para resolver problemas similares. La aparición de dichas librerías permitió a CITRUS contar con interfaces "Drag & Drop" para insertar bloques pre-formateados de contenido e imágenes. Permitió ademas utilizar llamadas asíncronas contra una API RPC, que registraba rápidamente los cambios realizados sobre la página.
Los servicios permitían intercambiar datos en formato JSON / HTML para luego realizar una cadena de transformaciones XSL para generar archivos HTML estáticos, los cuales podían ser servidos de forma muy eficiente por cualquier servidor HTTP. Esta característica permitió que CITRUS sirviera desde una infraestructura relativamente modesta, varios clientes con tráfico significativo.
CITRUS exploró una arquitectura basada en nodos a distintos niveles, desde la estructura de archivos y directorios bajo la cual se almacenaban los contenidos producidos por los propietarios de las páginas, hasta los nodos de contenidos que consistían en formatos pre-determinados que se transformaban mediante procesos XML/XSL, generando al final contenido HTML.
Hoy en día existen alternativas mucho mejores para implementar cada una de las distintas capas de un CMS. Los sitios web han evolucionado a plataformas que no solamente publican contenidos, sino interactúan con distintos servicios externos, como redes sociales y APIs de distintos tipos. Las arquitecturas que separan totalmente las capas de servicios de datos con APIs REST y la presentación de dichos datos con aplicaciones HTML5/JS/CSS independientes se vuelven cada vez más populares.
La generación siguiente de CITRUS explora distintas tecnologías mucho más modernas como Web Components, frameworks como Polymer y AngularJS 2, junto arquitecturas de backend más sofisticadas con capacidades para escalár automáticamente, como Amazon OpsWorks y Google App Engine.