SlideShare ist ein Scribd-Unternehmen logo
1 von 22
Downloaden Sie, um offline zu lesen
Documentando con Maven
                                  28 de Abril de 2011
                                  JUGAR Meetup, Buenos Aires

                                ldap://cn=Juan F. Codagnone, o=Zauber, dc=Argentina
                                http://juan.zaubersoftware.com/
                                http://twitter.com/juam


http://www.zaubersoftware.com
Agenda




                                01. Introducción
                                02. Docbook

                                03. Maven Doxia
                                03.




http://www.zaubersoftware.com                         01|22
Doc & Maven




           01.
                                Introducción




http://www.zaubersoftware.com                                02|22
Doc & Maven


                                   ¿Que espero de un entorno de documentación?




• Facilidad de edición
• Facilidad para seguir los cambios
• Direccionabilidad a porciones de la documentación




   http://www.zaubersoftware.com                                                     03|22
Doc & Maven


                                   Opción I: Docs o similares




• Dificultad para editar el archivo de forma liviana (editor
  simple de texto)
• La comparación de cambios entre revisiones se hace con
  herramientas custom (las mismas de edición)
   o (no es tan amigable para el SCM)
• Poca direccionabilidad al interior del documento
• Es WYSIWYG




   http://www.zaubersoftware.com                                              04|22
Doc & Maven


                                   Opción II: Wikis




• Facilidad de Cambio
   o ...pero tengo que estar online
• Facilidad para direccionar a partes de la doc (anchors)
• Facilidad de publicación
   o está online
• Es más dificultoso de exportar a formatos lineales
   o pdfs, words
   o newbies se pierden en el grafo de documentos (vs guía
     de referencia lineal)
• Cada motor wiki es un mundo
   o Para obtener buenos resultado, seguramente requiere de
     $$ en licencias
• En general no es WYSWYG
   http://www.zaubersoftware.com                                    05|22
Doc & Maven


                                    Opción III: Maven




•   Documentación cerca del código
•   Facilmente editable
•   No es WYSWYG
•   Dos tipos de documentaciones
     o Estilo WIKI (grafo de documentos)
     o Estilo Guía de referencia




    http://www.zaubersoftware.com                                     07|22
Doc & Maven




           02.
                                Docbook & Maven




http://www.zaubersoftware.com                                   08|22
Doc & Maven


                                  Docbook: Intro


• http://www.docbook.org
• Formato basado en XML
   o version 5 basado XSD
   o version 4.x basado DTD
• Salida:
   o PDF
   o HTML único
   o HTML
• Ejemplos de salida:
   o Guía de referencia de Spring
   o Guía de referencia de Hibernate
   o Guía de referencia de Zauber Commons


  http://www.zaubersoftware.com                                  09|22
Doc & Maven


                                Ejemplo salida HTML




http://www.zaubersoftware.com                                       10|22
Doc & Maven


                                Ejemplo salida PDF




http://www.zaubersoftware.com                                      11|22
Doc & Maven


                                Editando docbook desde el eclipse




http://www.zaubersoftware.com                                                     12|22
Doc & Maven


                                Editando desde el eclipse: autocomplete




http://www.zaubersoftware.com                                                       13|22
Doc & Maven


                                  Configurando y ejecutando


• Se requiere un pom.xml con la configuración de plugins (es
  bastante larga la configuración)
• Opcionalmente se puede tener un módulo de estilos para
  cambiar el css y el formato de las salidas html y pdf
• Ejemplo: (basado en los proyectos de JBOSS)
         –   git clone https://github.com/zaubersoftware/commons­documentation
         –   cd commons­documentantion
         –   mvn ­n install # realizaremos la instalacion en varios pasos
         –   cd style       # debido a un bug en el plugin
         –   mvn  install  
         –   cd ../reference # los fuentes están en en­US.
         –   mvn             # un unico punto de entrada + includes




  http://www.zaubersoftware.com                                             14|22
Doc & Maven




           03.
                                Maven Doxia




http://www.zaubersoftware.com                               15|22
Doc & Maven


                                    Maven Doxia: Introducción




• http://maven.apache.org/doxia/
   o "... Doxia is a content generation framework which aims to provide its users
      with powerful techniques for generating static and dynamic content: Doxia can
      be used in web-based publishing context to generate static sites..."
• Usado extensivamente dentro de maven
• Formatos:
   o APT (Almost Plain Text) / XDoc / XHTML
   o TWiki / Confluence / XWiki
   o Simplified DocBook
   o FML (FAQ Markup Language),
   o FO, iText, LaTeX, RTF
• Genera archivos estáticos: Solo requiere servidor estático
  de archivos en su publicación.
    http://www.zaubersoftware.com                                              16|22
Doc & Maven


                                   Maven Doxia: Sinks y Parser




• Útil para generar documentación programaticamente
• Parsers
   o Leen un formato y emiten mensajes hacia los Sinks
        nueva sección
        nuevo parrafo
        empieza texto resaltado
• Sinks
   o Recibe eventos y los traduce a un formato
• Ejemplo:
   o Parser TWiki + Parser FML emiten a Sink XHTML
        Obtenemos un sitio web!


   http://www.zaubersoftware.com                                               17|22
Doc & Maven


                                   Maven Doxia In Action




Ejemplo
          $ git clone https://github.com/zaubersoftware/garfio/
          $ cd site
          $ mvn site
          $ firefox target/site/index.html

¿Qué ver?
     ● pom.xml (configuración de modulos extras en el plugin

         site)
     ● src/site/site.xml (barra de navegación y skin)


     ● src/site/<parser>/fooo.<parser>




   http://www.zaubersoftware.com                                         18|22
Doc & Maven


                                Maven Doxia In Action




http://www.zaubersoftware.com                                         19|22
Doc & Maven


                                Maven Doxia In Action: Escribimos en la wiki la doc




http://www.zaubersoftware.com                                                         20|22
Doc & Maven


                                Maven Doxia In Action: Publicamos estaticamente




http://www.zaubersoftware.com                                                      21|22
Doc & Maven




           :-)
                                ¿Preguntas?




http://www.zaubersoftware.com                               22|22

Weitere ähnliche Inhalte

Andere mochten auch

Big Data : Extraer y visualizar grandes volúmenes de datos
Big Data : Extraer y visualizar grandes volúmenes de datosBig Data : Extraer y visualizar grandes volúmenes de datos
Big Data : Extraer y visualizar grandes volúmenes de datosZauber
 
Git at-zauber (initial steps)
Git at-zauber (initial steps)Git at-zauber (initial steps)
Git at-zauber (initial steps)Zauber
 
Barcamp Buenos Aires - LinkedData & Mashups 3.0
Barcamp Buenos Aires - LinkedData & Mashups 3.0Barcamp Buenos Aires - LinkedData & Mashups 3.0
Barcamp Buenos Aires - LinkedData & Mashups 3.0Zauber
 
Rest clase 4 - curso front-end 2014 - open webinars
Rest   clase 4 - curso front-end 2014 - open webinarsRest   clase 4 - curso front-end 2014 - open webinars
Rest clase 4 - curso front-end 2014 - open webinarsOpenWebinars.net
 
Non blocking io with netty
Non blocking io with nettyNon blocking io with netty
Non blocking io with nettyZauber
 
Df 7426 dd 8794 tpi 2010 - 2
Df 7426   dd 8794 tpi 2010 - 2Df 7426   dd 8794 tpi 2010 - 2
Df 7426 dd 8794 tpi 2010 - 2Milagros Daly
 
Modificaciones reglam igv
Modificaciones reglam igvModificaciones reglam igv
Modificaciones reglam igvblackcat_129
 
Opus Dei: La alegría de los hijos de Dios
Opus Dei: La alegría de los hijos de DiosOpus Dei: La alegría de los hijos de Dios
Opus Dei: La alegría de los hijos de DiosOpus Dei
 
Cvltvra egipcia
Cvltvra egipciaCvltvra egipcia
Cvltvra egipciaMo Ci
 
CONTENIDO #2 LOS CUENTOS QUE NOS CONTARON
CONTENIDO #2 LOS CUENTOS QUE NOS CONTARONCONTENIDO #2 LOS CUENTOS QUE NOS CONTARON
CONTENIDO #2 LOS CUENTOS QUE NOS CONTARONvictoria
 
áCidos y bases mariana otra
áCidos y bases mariana otraáCidos y bases mariana otra
áCidos y bases mariana otraCetis No 6
 
Mecanica de fluidos
Mecanica de fluidosMecanica de fluidos
Mecanica de fluidosneobahamut7
 
83810 uce odo 062 _mayo agosto 2010
83810  uce odo 062 _mayo agosto 201083810  uce odo 062 _mayo agosto 2010
83810 uce odo 062 _mayo agosto 2010Milagros Daly
 
Estudio de inversión publicitaria online
Estudio de inversión publicitaria onlineEstudio de inversión publicitaria online
Estudio de inversión publicitaria onlineRaymundo González
 
Analisis respuestas del grupo iphone
Analisis respuestas del grupo iphoneAnalisis respuestas del grupo iphone
Analisis respuestas del grupo iphoneALINA
 

Andere mochten auch (20)

Big Data : Extraer y visualizar grandes volúmenes de datos
Big Data : Extraer y visualizar grandes volúmenes de datosBig Data : Extraer y visualizar grandes volúmenes de datos
Big Data : Extraer y visualizar grandes volúmenes de datos
 
Git at-zauber (initial steps)
Git at-zauber (initial steps)Git at-zauber (initial steps)
Git at-zauber (initial steps)
 
Barcamp Buenos Aires - LinkedData & Mashups 3.0
Barcamp Buenos Aires - LinkedData & Mashups 3.0Barcamp Buenos Aires - LinkedData & Mashups 3.0
Barcamp Buenos Aires - LinkedData & Mashups 3.0
 
Aplicaciones RIA para una web multiplataforma
Aplicaciones RIA para una web multiplataformaAplicaciones RIA para una web multiplataforma
Aplicaciones RIA para una web multiplataforma
 
Introducción a las API's Rest
Introducción a las API's RestIntroducción a las API's Rest
Introducción a las API's Rest
 
Rest clase 4 - curso front-end 2014 - open webinars
Rest   clase 4 - curso front-end 2014 - open webinarsRest   clase 4 - curso front-end 2014 - open webinars
Rest clase 4 - curso front-end 2014 - open webinars
 
Non blocking io with netty
Non blocking io with nettyNon blocking io with netty
Non blocking io with netty
 
Dl 1120
Dl 1120Dl 1120
Dl 1120
 
Df 7426 dd 8794 tpi 2010 - 2
Df 7426   dd 8794 tpi 2010 - 2Df 7426   dd 8794 tpi 2010 - 2
Df 7426 dd 8794 tpi 2010 - 2
 
Modificaciones reglam igv
Modificaciones reglam igvModificaciones reglam igv
Modificaciones reglam igv
 
Opus Dei: La alegría de los hijos de Dios
Opus Dei: La alegría de los hijos de DiosOpus Dei: La alegría de los hijos de Dios
Opus Dei: La alegría de los hijos de Dios
 
Cvltvra egipcia
Cvltvra egipciaCvltvra egipcia
Cvltvra egipcia
 
CONTENIDO #2 LOS CUENTOS QUE NOS CONTARON
CONTENIDO #2 LOS CUENTOS QUE NOS CONTARONCONTENIDO #2 LOS CUENTOS QUE NOS CONTARON
CONTENIDO #2 LOS CUENTOS QUE NOS CONTARON
 
áCidos y bases mariana otra
áCidos y bases mariana otraáCidos y bases mariana otra
áCidos y bases mariana otra
 
Mecanica de fluidos
Mecanica de fluidosMecanica de fluidos
Mecanica de fluidos
 
Muchas cositas vienen!
Muchas cositas vienen!Muchas cositas vienen!
Muchas cositas vienen!
 
83810 uce odo 062 _mayo agosto 2010
83810  uce odo 062 _mayo agosto 201083810  uce odo 062 _mayo agosto 2010
83810 uce odo 062 _mayo agosto 2010
 
Estudio de inversión publicitaria online
Estudio de inversión publicitaria onlineEstudio de inversión publicitaria online
Estudio de inversión publicitaria online
 
Analisis respuestas del grupo iphone
Analisis respuestas del grupo iphoneAnalisis respuestas del grupo iphone
Analisis respuestas del grupo iphone
 
Alimentación saludable1
Alimentación saludable1Alimentación saludable1
Alimentación saludable1
 

Ähnlich wie Documentando con Maven

Sistemas de publicación de noticias y contenidos multimedia Web para Medios d...
Sistemas de publicación de noticias y contenidos multimedia Web para Medios d...Sistemas de publicación de noticias y contenidos multimedia Web para Medios d...
Sistemas de publicación de noticias y contenidos multimedia Web para Medios d...Leonardo J. Caballero G.
 
Metaproxy defense
Metaproxy defenseMetaproxy defense
Metaproxy defenseslok69
 
Colaboración entre PDI (3): Web 2.0 con Tiki
Colaboración entre PDI (3): Web 2.0 con TikiColaboración entre PDI (3): Web 2.0 con Tiki
Colaboración entre PDI (3): Web 2.0 con TikiXavier de Pedro
 
master-desarrollo-web- online
master-desarrollo-web- onlinemaster-desarrollo-web- online
master-desarrollo-web- onlinesayocanos
 
Plone CMS, como herramienta de apoyo a los procesos educativos
Plone CMS, como herramienta de apoyo a los procesos educativosPlone CMS, como herramienta de apoyo a los procesos educativos
Plone CMS, como herramienta de apoyo a los procesos educativosLeonardo J. Caballero G.
 
Seminario moodleaplicaciones
Seminario moodleaplicacionesSeminario moodleaplicaciones
Seminario moodleaplicacionesunigolfo
 
[ES] Primeros pasos con Maven
[ES] Primeros pasos con Maven[ES] Primeros pasos con Maven
[ES] Primeros pasos con MavenEudris Cabrera
 
Apache3 mod dav
Apache3 mod davApache3 mod dav
Apache3 mod davjsucarmona
 
Herramientas para Desarrolladores Web
Herramientas para Desarrolladores WebHerramientas para Desarrolladores Web
Herramientas para Desarrolladores Websergiovier
 
Herramientas tic y servicios de almacenamiento diana katherin porras barragan
Herramientas tic y servicios de almacenamiento diana katherin porras barraganHerramientas tic y servicios de almacenamiento diana katherin porras barragan
Herramientas tic y servicios de almacenamiento diana katherin porras barraganDIANAKATHERYNPORRASB
 
03 de Marzo 2015: Andrés Villarreal - Herramientas del Desarrollador Moderno
03 de Marzo 2015: Andrés Villarreal - Herramientas del Desarrollador Moderno03 de Marzo 2015: Andrés Villarreal - Herramientas del Desarrollador Moderno
03 de Marzo 2015: Andrés Villarreal - Herramientas del Desarrollador Modernowpargentina
 
Instalacion y uso basico de Docker.
Instalacion y uso basico de Docker.Instalacion y uso basico de Docker.
Instalacion y uso basico de Docker.Moisés Elías Araya
 
Herramientas de trabajo en la Web 2.0
Herramientas de trabajo en la Web 2.0Herramientas de trabajo en la Web 2.0
Herramientas de trabajo en la Web 2.0manuelfloresv
 

Ähnlich wie Documentando con Maven (20)

Sistemas de publicación de noticias y contenidos multimedia Web para Medios d...
Sistemas de publicación de noticias y contenidos multimedia Web para Medios d...Sistemas de publicación de noticias y contenidos multimedia Web para Medios d...
Sistemas de publicación de noticias y contenidos multimedia Web para Medios d...
 
Gestión de proyectos con Maven
Gestión de proyectos con MavenGestión de proyectos con Maven
Gestión de proyectos con Maven
 
Metaproxy defense
Metaproxy defenseMetaproxy defense
Metaproxy defense
 
Colaboración entre PDI (3): Web 2.0 con Tiki
Colaboración entre PDI (3): Web 2.0 con TikiColaboración entre PDI (3): Web 2.0 con Tiki
Colaboración entre PDI (3): Web 2.0 con Tiki
 
Maven
MavenMaven
Maven
 
master-desarrollo-web- online
master-desarrollo-web- onlinemaster-desarrollo-web- online
master-desarrollo-web- online
 
Plone CMS, como herramienta de apoyo a los procesos educativos
Plone CMS, como herramienta de apoyo a los procesos educativosPlone CMS, como herramienta de apoyo a los procesos educativos
Plone CMS, como herramienta de apoyo a los procesos educativos
 
Seminario moodleaplicaciones
Seminario moodleaplicacionesSeminario moodleaplicaciones
Seminario moodleaplicaciones
 
Plone CMS, como herramienta de apoyo a los procesos educativos
Plone CMS, como herramienta de apoyo a los procesos educativosPlone CMS, como herramienta de apoyo a los procesos educativos
Plone CMS, como herramienta de apoyo a los procesos educativos
 
[ES] Primeros pasos con Maven
[ES] Primeros pasos con Maven[ES] Primeros pasos con Maven
[ES] Primeros pasos con Maven
 
Apache3 mod dav
Apache3 mod davApache3 mod dav
Apache3 mod dav
 
Herramientas para Desarrolladores Web
Herramientas para Desarrolladores WebHerramientas para Desarrolladores Web
Herramientas para Desarrolladores Web
 
Herramientas tic y servicios de almacenamiento diana katherin porras barragan
Herramientas tic y servicios de almacenamiento diana katherin porras barraganHerramientas tic y servicios de almacenamiento diana katherin porras barragan
Herramientas tic y servicios de almacenamiento diana katherin porras barragan
 
Modulo6
Modulo6Modulo6
Modulo6
 
Curso OpenLayers Xeoinquedos
Curso OpenLayers XeoinquedosCurso OpenLayers Xeoinquedos
Curso OpenLayers Xeoinquedos
 
03 de Marzo 2015: Andrés Villarreal - Herramientas del Desarrollador Moderno
03 de Marzo 2015: Andrés Villarreal - Herramientas del Desarrollador Moderno03 de Marzo 2015: Andrés Villarreal - Herramientas del Desarrollador Moderno
03 de Marzo 2015: Andrés Villarreal - Herramientas del Desarrollador Moderno
 
Instalacion y uso basico de Docker.
Instalacion y uso basico de Docker.Instalacion y uso basico de Docker.
Instalacion y uso basico de Docker.
 
Segunda Entrega
Segunda EntregaSegunda Entrega
Segunda Entrega
 
Herramientas de trabajo en la Web 2.0
Herramientas de trabajo en la Web 2.0Herramientas de trabajo en la Web 2.0
Herramientas de trabajo en la Web 2.0
 
Repositorios, exposiciones virtuales y estructuras de datos enlazados con Ome...
Repositorios, exposiciones virtuales y estructuras de datos enlazados con Ome...Repositorios, exposiciones virtuales y estructuras de datos enlazados con Ome...
Repositorios, exposiciones virtuales y estructuras de datos enlazados con Ome...
 

Documentando con Maven

  • 1. Documentando con Maven 28 de Abril de 2011 JUGAR Meetup, Buenos Aires ldap://cn=Juan F. Codagnone, o=Zauber, dc=Argentina http://juan.zaubersoftware.com/ http://twitter.com/juam http://www.zaubersoftware.com
  • 2. Agenda 01. Introducción 02. Docbook 03. Maven Doxia 03. http://www.zaubersoftware.com 01|22
  • 3. Doc & Maven 01. Introducción http://www.zaubersoftware.com 02|22
  • 4. Doc & Maven ¿Que espero de un entorno de documentación? • Facilidad de edición • Facilidad para seguir los cambios • Direccionabilidad a porciones de la documentación http://www.zaubersoftware.com 03|22
  • 5. Doc & Maven Opción I: Docs o similares • Dificultad para editar el archivo de forma liviana (editor simple de texto) • La comparación de cambios entre revisiones se hace con herramientas custom (las mismas de edición) o (no es tan amigable para el SCM) • Poca direccionabilidad al interior del documento • Es WYSIWYG http://www.zaubersoftware.com 04|22
  • 6. Doc & Maven Opción II: Wikis • Facilidad de Cambio o ...pero tengo que estar online • Facilidad para direccionar a partes de la doc (anchors) • Facilidad de publicación o está online • Es más dificultoso de exportar a formatos lineales o pdfs, words o newbies se pierden en el grafo de documentos (vs guía de referencia lineal) • Cada motor wiki es un mundo o Para obtener buenos resultado, seguramente requiere de $$ en licencias • En general no es WYSWYG http://www.zaubersoftware.com 05|22
  • 7. Doc & Maven Opción III: Maven • Documentación cerca del código • Facilmente editable • No es WYSWYG • Dos tipos de documentaciones o Estilo WIKI (grafo de documentos) o Estilo Guía de referencia http://www.zaubersoftware.com 07|22
  • 8. Doc & Maven 02. Docbook & Maven http://www.zaubersoftware.com 08|22
  • 9. Doc & Maven Docbook: Intro • http://www.docbook.org • Formato basado en XML o version 5 basado XSD o version 4.x basado DTD • Salida: o PDF o HTML único o HTML • Ejemplos de salida: o Guía de referencia de Spring o Guía de referencia de Hibernate o Guía de referencia de Zauber Commons http://www.zaubersoftware.com 09|22
  • 10. Doc & Maven Ejemplo salida HTML http://www.zaubersoftware.com 10|22
  • 11. Doc & Maven Ejemplo salida PDF http://www.zaubersoftware.com 11|22
  • 12. Doc & Maven Editando docbook desde el eclipse http://www.zaubersoftware.com 12|22
  • 13. Doc & Maven Editando desde el eclipse: autocomplete http://www.zaubersoftware.com 13|22
  • 14. Doc & Maven Configurando y ejecutando • Se requiere un pom.xml con la configuración de plugins (es bastante larga la configuración) • Opcionalmente se puede tener un módulo de estilos para cambiar el css y el formato de las salidas html y pdf • Ejemplo: (basado en los proyectos de JBOSS) – git clone https://github.com/zaubersoftware/commons­documentation – cd commons­documentantion – mvn ­n install # realizaremos la instalacion en varios pasos – cd style       # debido a un bug en el plugin – mvn  install   – cd ../reference # los fuentes están en en­US. – mvn             # un unico punto de entrada + includes http://www.zaubersoftware.com 14|22
  • 15. Doc & Maven 03. Maven Doxia http://www.zaubersoftware.com 15|22
  • 16. Doc & Maven Maven Doxia: Introducción • http://maven.apache.org/doxia/ o "... Doxia is a content generation framework which aims to provide its users with powerful techniques for generating static and dynamic content: Doxia can be used in web-based publishing context to generate static sites..." • Usado extensivamente dentro de maven • Formatos: o APT (Almost Plain Text) / XDoc / XHTML o TWiki / Confluence / XWiki o Simplified DocBook o FML (FAQ Markup Language), o FO, iText, LaTeX, RTF • Genera archivos estáticos: Solo requiere servidor estático de archivos en su publicación. http://www.zaubersoftware.com 16|22
  • 17. Doc & Maven Maven Doxia: Sinks y Parser • Útil para generar documentación programaticamente • Parsers o Leen un formato y emiten mensajes hacia los Sinks  nueva sección  nuevo parrafo  empieza texto resaltado • Sinks o Recibe eventos y los traduce a un formato • Ejemplo: o Parser TWiki + Parser FML emiten a Sink XHTML  Obtenemos un sitio web! http://www.zaubersoftware.com 17|22
  • 18. Doc & Maven Maven Doxia In Action Ejemplo $ git clone https://github.com/zaubersoftware/garfio/ $ cd site $ mvn site $ firefox target/site/index.html ¿Qué ver? ● pom.xml (configuración de modulos extras en el plugin site) ● src/site/site.xml (barra de navegación y skin) ● src/site/<parser>/fooo.<parser> http://www.zaubersoftware.com 18|22
  • 19. Doc & Maven Maven Doxia In Action http://www.zaubersoftware.com 19|22
  • 20. Doc & Maven Maven Doxia In Action: Escribimos en la wiki la doc http://www.zaubersoftware.com 20|22
  • 21. Doc & Maven Maven Doxia In Action: Publicamos estaticamente http://www.zaubersoftware.com 21|22
  • 22. Doc & Maven :-) ¿Preguntas? http://www.zaubersoftware.com 22|22