# Umbraco

Umbraco es una plataforma de gestión de contenidos (CMS) open source utilizado para publicar contenido en la World Wide Web e intranets. Está desarrollado con C# y funciona sobre infraestructura Microsoft. El motor de código abierto se distribuye bajo MIT License mientras que la interfaz de usuario está bajo licencia Umbraco.
Umbraco fue desarrollado por Niels Hartvig en el año 2000 y fue liberado como software open source en 2004. En 2009, CMS Wire lo describió como uno de los principales sistemas CMS de código abierto basado en .NET. En 2010, con 1000 descargas al día, Umbraco era una de las descargas más populares en el Top 5 de Microsoft Web Platform Installer, dos puestos atrás de su principal rival DotNetNuke y fue una de las 12 aplicaciones más descargadas en Codeplex, seis puestos por detrás de DotNetNuke y 13 puestos por delante de mojoPortal.

## Tecnología

Umbraco está totalmente escrito en C#, guarda los datos en bases de datos relacionales (frecuentemente Microsoft SQL Server) y funciona sobre Microsoft IIS.

### Nivel de base de datos

En 2008, el desarrollador Ruben Verbough presentó la capa de abstracción de datos, haciendo posible que Umbraco soportara otras bases de datos que no fueran SQL Server. En la versión 4 de Umbraco, se soporta MySQL, SQL Server y VistaDB.

### Implementación

La versión estándar de Umbraco está implementada sobre IIS en un entorno soportado por Full Trust. Mientras que es obligatorio la instalación de Full Trust para operar con la versión estándar, el código base se ha ramificado, con modificaciones, para producir una versión del framework e interfaz de usuario que soporte Medium Trust.
La investigación también se ha llevado a cabo para el funcionamiento de una web Umbraco con Mono sobre Linux.
Umbraco puede ser implementado en un único servidor físico que ejecute la base de datos y la capa web, siendo apropiado este modelo de implementación para websites de bajo coste. Las web Umbraco que sirven contenido con un alto tráfico, también puede implementarse en un cluster con carga balanceada. La instalación de Umbraco para cargas balanceadas pueden usar software o hardware especial como SAN, NAS o un cluster file system, o usar un servicio de replicación de archivos entre nodos en un cluster.

### Versiones

La versión 4.1 Beta II fue lanzada el 16 de febrero de 2010, la cual refactoriza un número de componentes del framework, incluyendo el árbol de control en la interfaz de usuario para mejorar el rendimiento y la experiencia de usuario, así como partes de la capa de acceso a datos para reducir el número de llamadas a la base de datos.
La versión 5 ha reescrito el framework con el fin de sacar la versión a finales de 2010. Será una versión casi idéntica que la 4.1, aunque será construida con ASP.NET MVC 2.0.

## Filosofía de diseño

Umbraco se basa en Microsoft .NET Framework, Microsoft SQL Server, y XSLT, un lenguaje basado en XML y usado para la transformación de documentos XML. Se ha diseñado para ser unas herramientas de creación de software personalizado; integra tecnologías existentes en lugar de incluir lenguajes creados por ellos mismos. Por ejemplo, Umbraco soporta ASP.NET "master pages" y XSLT en vez de sus propias plantillas.

## Comunidad

La compañía Umbraco cuenta con una plantilla de cuatro y está apoyada por un equipo de desarrollo de 15 voluntarios que trabajan en la plataforma de open source. El sitio de la comunidad de Umbraco, "Our Umbraco", tiene más de 55.000 usuarios y desarrolladores registrados. Desde 2005, se realiza una conferencia de desarrolladores anual la cual se celebra en Copenhague, excepto en 2007 que se celebró en Londres. En 2009 se citaron a 170 asistentes.

## Recepción

En agosto de 2009, Umbraco fue incluida en la lista de los 10 sistemas CMS recomendados por el magazine Version2 danés. Entre estos tres sistemas de desarrollo, inicialmente desarrollado por Dinamarca: Sitecore, TYPO3, y Umbraco.
Umbraco ha sido criticado por su documentación.
Otra crítica es que la versión estándar de Umbraco requiere Full Trust, ya que la mayoría de proveedores de ASP.NET no lo proporcionan.