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: 
  Además ahora no se admitirán los típicos caracteres de espaciado `\&nbsp;` y tendremos que sustituirlos por el equivalente código unicode `\&#160;`.
  
  La etiqueta `viewAction` es nueva en JSF 2.2. Asocia un evento a una página y ofrece más flexibilidad que la etiqueta `event` para acciones de precarga de datos para una página. El uso que acabamos de ver no es el habitual, y por eso es necesario añadir el atributo `onPostback="true"`, sin embargo, a continuación veremos un uso adecuado tanto en la página de maestro como en la de detalle.
  
  Bien, tenemos definido el diseño de las páginas (que es normal que varíe algo durante la implementación), ahora veremos los aspectos principales del código de cada una de las páginas sobre el código final. Nos centraremos en la capa de presentación y comentaremos la capa de servicio al final ya que en un CRUD no tiene demasiado interés debido a su simplicidad.
  
  === La página de maestro: trabajos.xhtml 
  
  Pensemos en la pantalla de maestro y sus distintos elementos. Tenemos un listado con datos de sólo lectura, los botones Borrar icon:trash[], Editar icon:pencil[] y Ver icon:search[] asociados a cada entidad del listado y los botones Salir y Crear a nivel de pantalla:
  
  
negative.code: 		</dependency>
  ----
  
  Sin embargo, subir JSF de la versión 2.1 a la 2.2 no es tan simple. El proceso para añadir un nuevo módulo con JSF 2.2 en nuestro servidor JBoss EAP 6.3 no es directo. He intentado seguir el procedimiento existente en internet sin resultados. En resumen el proceso pasa por bajar una aplicación Maven desde Github que genera un fichero CLI que realiza el deploy de los tres slots para los tres módulos que se ven afectados por la actualización. Sin embargo uno de los slots da problemas ya que parece que el script está actualizado para operar con las versiones iniciales del servidor Wildfly y no con JBoss EAP.
  
  A la vista de lo anterior se optará por instalar el nuevo servidor Wildfly en su última versión, la 9.0.1, y así tener disponible además una plataforma Java EE 7 completa. Lo primero será descargar el fichero de instalación del servidor desde http://wildfly.org/downloads/[aquí]. Tenéis que elegir la primera de las opciones en la lista, etiquetada con Java EE7 Full & Web Distribution. En el momento de redactar este Post ya estaba disponible Wilfly 10, así que podéis instalarlo en vez de el 9. Entiendo que no debe afectar en cuento a instalación e integración con Eclipse.
  
  NOTE: Descargaos también los _Quickstarts_ porque os van a venir muy bien como material de consulta en las etapas iniciales de la implementanción de un nuevo proyecto sea cual sea su naturaleza.
  
  Después de instalar el nuevo servidor y antes de iniciarlo debemos añadir un usuario. Para ello tenemos que ejecutar el archivo por lotes _bin\add-user.bat_.
  
  Una vez instalado WildFly lo añadimos a Eclipse como nueva unidad de ejecución. La versión de las JBoss Tools sólo ofrecía un conector para la versión 8 pero después de las pruebas de arranque y parada se comprueba no hay problemas con esto.
  
  NOTE: Si queréis practicar con el programa de control de versiones Git podéis hacer un fork de la aplicación jdrone en vuestra cuenta de GitHub y a continuación crear un repo local Git que os permita realizar pruebas sobre la aplicación en vuestra máquina.
  
  Bien, después de actualizar a Wilfly 9 ó 10 ¿Qué cambios tenemos que hacer en nuestro proyecto? En primer lugar tendremos que adaptar las dependencias Maven a las del nuevo servidor, un proceso sin demasiada complicación. Podéis consultar el contenido del fichero _pom.xml_ en GitHub.
  
  Se ha refactorizado además el ciclo de construcción de modo que ahora existe un profile _despliegue-recursos_ que se debe ejecutar la primera vez que despleguemos la aplicación, o bien cuando los recursos hayan sido eliminados del mismo por cualquier motivo. Tenéis también que crear un nueva configuración de ejecución: Botón derecho sobre proyecto y _Run As_ > _Run Configurations..._  Botón derecho sobre _Maven build_ > _New_.  En la entrada _Goals_ escribid `clean install -Pdespliegue-recursos` y dad un nombre al nuevo perfil.
  
  En segundo lugar, como vamos a subir desde JSF 2.1 a 2.2 tenemos que actualizar los espacios de nombres en el nodo raiz del fichero _faces-config.xml_. Además tendremos que actualizar la faceta JavaServer Faces del proyecto. La desmarcamos, esperamos a que se desinstale y la volvemos a marcar. Al añadir de nuevo la opción _JSF Implementation Library_ dejadla así _Type > Disable Library Configuration_.
  
  Para comprobar que JSF 2.2 funciona correctamente modificamos nuestra página _index.xhtml_ para adaptarla a HTML5 y JSF 2.2, añadiendo además una etiqueta nueva en la versión 2.2.
  
  Para la adaptación a HTML 5 actualizamos la página así:
  
  `<!DOCTYPE html>`
  
  