anchor.diff:  
   +++<style>span.boton {color:#A80000;border-style: solid;border-width: 2px;padding-top: 0em;padding-right: .8em;padding-bottom: 0em;padding-left: .8em;-webkit-border-radius: 4px;-moz-border-radius: 4px;border-radius: 4px;}</style>+++
   
  +== El concepto de CRUD.
  +
   En este post veremos los aspectos generales de la implementación del caso de uso del mantenimiento de la entidad Trabajo. https://github.com/lametaweb/jdrone/releases/tag/1.1.0[Aquí] podéis bajaros la release 1.1.0 del proyecto, que se corresponde con el código de este Post y del siguiente, que tratará aspectos más específicos de la implementación.
   
   El mantenimiento o gestión de una entidad, conocido en inglés como CRUD (create, read, update and delete) tiene por objeto permitir el tratamiento de la información de la entidad en un sistema. En general un CRUD se implementa en tres pantallas: La pantalla inicial o de maestro, que se presenta inicialmente, contiene el listado de entidades a gestionar, y da acceso a la operaciones, la pantalla de consulta de detalle, que muestra una vista completa de la entidad, y por último la pantalla de creación / edición del detalle, que permite dar de alta o modificar una entidad concreta.
  
positive.code: 
  Y hasta aquí los aspectos más importantes de la página de maestro.
  
  === La página de detalle: trabajo.xhtml 
  
  Como hemos visto esta pantalla es más compleja que la de maestro y su complejidad dependerá del número y tipo de relaciones de la entidad que queremos gestionar.
  
  
negative.code: 
  image::https://raw.githubusercontent.com/lametaweb/lametaweb.github.io/master/images/009/post009-fig025.png[]
  
  Es importante señalar que no existe una solución única a la hora de implementar un caso de uso, ni para las páginas, ni los backing beans. Como regla general intentaremos siempre conseguir un resultado que proporcione la mejor experiencia de usuario al tiempo que cumpla con todos los requisitos funcionales acordados con el cliente. Respecto de esto último el cliente podría por ejemplo pedirnos que en la página de detalle dispusieramos de ventanas emergentes de asistencia: Ventana calculadora de distancias entre dos puntos, ángulos entre trayectorias, conversión de unidades, etc.
  
  En un CRUD por tanto existirán tareas de desarrollo generales y comunes a cualquier mantenimiento, y tareas especificas, localizadas sobre todo en la pantalla de detalle, que son las que van a plantearnos los mayores retos a la hora de conseguir la funcionalidad deseada.
  
  == Configuraciones en el entorno de trabajo.
  
  Hacemos aquí un paréntesis para actualizar el entorno de trabajo. Queremos que nuestra productividad sea máxima y para ello decidimos instalar la librería de componentes Primefaces así como la última versión disponible de JSF.
  
  Añadir Primefaces al proyecto es sencillo, basta con añadir la dependencia correspondiente al proyecto:
  
  [source,xhtml,indent=0]
  ----
  