dotCMS
un Web CMS Open Source de perfil empresarial

               Jorge Urdaneta
           6to Refresh Maracaibo
¿Qué es un CMS?

   Creación/Edición colaborativa de contenidos
   Definición de permisos
   Facilita almacenamiento y recuperación de
    datos
   En el caso Web
       Facilita edición páginas Web
       Controla la visualización de las páginas
       Menús, Categorías, Tags, Búsquedas, etc.
Proyecto dotCMS

   Inicia en 2005 como un fork de Liferay
   Plataforma Java
   Bases de datos
       Postgres
       MySQL
       SQL Server
       Oracle
   Backend adminstración vía Web
   Múltiples dominios
Backend Administración
       vía Web
Backend Administración
       vía Web
Múltiples dominios

   Una instalación puede manejar varios dominios
   Misma(s) IP(s) compartida por dichos dominios
   HTTP 1.1 hace el resto ;)
   Todos los dominios en el mismo backend
Objetos principales

             Template


             Containers




             Content
Template (Plantillas)

   Código HTML usado como base para páginas
    Web
   Utilizan contenedores para indicar dónde
    estará el contenido
   Al crear una página Web se debe elegir una
    plantilla
Containers
                           (Contenedores)
   Definen cómo se despliega el contenido
   Indican cuántos contenidos máximo se puede
    agregar
   Ejemplo. Si queremos una lista ordenada
       Inicia con <ol> en pre-loop
       Contenido entre <li> → <li>$!{BODY}</li>
       Finaliza con </ol> en post-loop
Content (contenido)

   Unidad de datos principal de dotCMS
   Estructurados: se define una estructura con los
    campos que puede almacenar
   Indizados: su recuperación es rápida (lucene)
   Consultas Lucene: = < > not
   Ejemplo: contenido evento
       event.date > 20111101 AND event.active=1
Un pequeño ejemplo
Un pequeño ejemplo
Un pequeño ejemplo
Un pequeño ejemplo
Un pequeño ejemplo
Un pequeño ejemplo
Un pequeño ejemplo
Un pequeño ejemplo
Un pequeño ejemplo
Un pequeño ejemplo
Un pequeño ejemplo
Versiones dotCMS

   Community: CMS completo y funcional código
    abierto
   Enterprise: Community + extensiones
    propietarias
       Soporte DBs: Oracle & SQL Server
       Editor de imágenes en línea
       Editor de Formularios integrado
       Autenticación LDAP & Active Directory
       Host Dashboard (estadísticas visitas, clicks, etc)
Versiones dotCMS

   Otras extensiones propietarias
       Soporte/asistencia servidores de aplicaciones
        JBoss, Weblogic, Glassfish, Websphere
       Multinode Clustering
       Caché de páginas
       Ver actividades de usuarios
       Con la adquisición Enterprise se incluye soporte
        profesional 24/7
       (Hay más)
Versiones dotCMS

   1.7 – fuera de soporte. Aún con instalaciones
    funcionando por ahí en la internet
   1.9 – Estable (última 1.9.4) y soportada
   2.0 – En desarrollo. Posible primer release
    enero 2012
Infraestructura

   Motor de plantillas Velocity
       http://velocity.apache.org/
       Integrado en plantillas, containers y páginas HTML
       Muy sencillo de usar (manual de 2 páginas)
       dotCMS expone en éstas objetos (view tools) que
        permiten acceder a datos de la página, consultar
        contenidos, usuarios, estructuras, páginas,
        contenedores, carpetas, tags, configuraciones, etc
Infraestructura

   JBoss Cache
       http://www.jboss.org/jbosscache
       Permite almacenar objetos en memoria RAM para
        evitar consultarlos de la base de datos si se le
        necesita de nuevo
       dotCMS maneja el ”instance size” (small, medium,
        large) según la memoria RAM disponible para
        definir cuánta memoria usar para cache
       Casi todos los objetos de la BD usan cache
Infraestructura

   Apache Lucene
       http://lucene.apache.org
       El motor de indización y búsqueda más usado de la
        industria
       Los contenidos (Content) son indizados con Lucene
        para acelerar las búsquedas
       En dotCMS los contenidos se consultan usando
        querys Lucene directamente
       Las consultas se les añade los permisos del
        usuario
Infraestructura

   ElasticSearch
       http://www.elasticsearch.org/
       Servidor de búsquedas sobre Lucene
       Ofrece API Rest y permite tener los índices en
        servidores diferentes a donde se ejecuta dotCMS
       Maneja la distribución del índice. No es necesario
        indizar en cada nodo (importante)
       Integrado en dotCMS 2.0 (aún en desarrollo)
¿Quién usa dotCMS?
¿Quién usa dotCMS?
¿Quién usa dotCMS?
¿Quién usa dotCMS?
¿Quién usa dotCMS?
¿Preguntas?

dotCMS: un Web CMS Open Source de perfil empresarial

  • 1.
    dotCMS un Web CMSOpen Source de perfil empresarial Jorge Urdaneta 6to Refresh Maracaibo
  • 2.
    ¿Qué es unCMS?  Creación/Edición colaborativa de contenidos  Definición de permisos  Facilita almacenamiento y recuperación de datos  En el caso Web  Facilita edición páginas Web  Controla la visualización de las páginas  Menús, Categorías, Tags, Búsquedas, etc.
  • 3.
    Proyecto dotCMS  Inicia en 2005 como un fork de Liferay  Plataforma Java  Bases de datos  Postgres  MySQL  SQL Server  Oracle  Backend adminstración vía Web  Múltiples dominios
  • 4.
  • 5.
  • 6.
    Múltiples dominios  Una instalación puede manejar varios dominios  Misma(s) IP(s) compartida por dichos dominios  HTTP 1.1 hace el resto ;)  Todos los dominios en el mismo backend
  • 7.
    Objetos principales Template Containers Content
  • 8.
    Template (Plantillas)  Código HTML usado como base para páginas Web  Utilizan contenedores para indicar dónde estará el contenido  Al crear una página Web se debe elegir una plantilla
  • 9.
    Containers (Contenedores)  Definen cómo se despliega el contenido  Indican cuántos contenidos máximo se puede agregar  Ejemplo. Si queremos una lista ordenada  Inicia con <ol> en pre-loop  Contenido entre <li> → <li>$!{BODY}</li>  Finaliza con </ol> en post-loop
  • 10.
    Content (contenido)  Unidad de datos principal de dotCMS  Estructurados: se define una estructura con los campos que puede almacenar  Indizados: su recuperación es rápida (lucene)  Consultas Lucene: = < > not  Ejemplo: contenido evento  event.date > 20111101 AND event.active=1
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
    Versiones dotCMS  Community: CMS completo y funcional código abierto  Enterprise: Community + extensiones propietarias  Soporte DBs: Oracle & SQL Server  Editor de imágenes en línea  Editor de Formularios integrado  Autenticación LDAP & Active Directory  Host Dashboard (estadísticas visitas, clicks, etc)
  • 23.
    Versiones dotCMS  Otras extensiones propietarias  Soporte/asistencia servidores de aplicaciones JBoss, Weblogic, Glassfish, Websphere  Multinode Clustering  Caché de páginas  Ver actividades de usuarios  Con la adquisición Enterprise se incluye soporte profesional 24/7  (Hay más)
  • 24.
    Versiones dotCMS  1.7 – fuera de soporte. Aún con instalaciones funcionando por ahí en la internet  1.9 – Estable (última 1.9.4) y soportada  2.0 – En desarrollo. Posible primer release enero 2012
  • 25.
    Infraestructura  Motor de plantillas Velocity  http://velocity.apache.org/  Integrado en plantillas, containers y páginas HTML  Muy sencillo de usar (manual de 2 páginas)  dotCMS expone en éstas objetos (view tools) que permiten acceder a datos de la página, consultar contenidos, usuarios, estructuras, páginas, contenedores, carpetas, tags, configuraciones, etc
  • 26.
    Infraestructura  JBoss Cache  http://www.jboss.org/jbosscache  Permite almacenar objetos en memoria RAM para evitar consultarlos de la base de datos si se le necesita de nuevo  dotCMS maneja el ”instance size” (small, medium, large) según la memoria RAM disponible para definir cuánta memoria usar para cache  Casi todos los objetos de la BD usan cache
  • 27.
    Infraestructura  Apache Lucene  http://lucene.apache.org  El motor de indización y búsqueda más usado de la industria  Los contenidos (Content) son indizados con Lucene para acelerar las búsquedas  En dotCMS los contenidos se consultan usando querys Lucene directamente  Las consultas se les añade los permisos del usuario
  • 28.
    Infraestructura  ElasticSearch  http://www.elasticsearch.org/  Servidor de búsquedas sobre Lucene  Ofrece API Rest y permite tener los índices en servidores diferentes a donde se ejecuta dotCMS  Maneja la distribución del índice. No es necesario indizar en cada nodo (importante)  Integrado en dotCMS 2.0 (aún en desarrollo)
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.