jueves, 7 de mayo de 2015

Generar archivo compilado HTML de ayuda (CHM) a partir de documento de MS Word


¿Alguna vez has necesitado generar un archivo compilado HTML de ayuda (CHM) para tu programa? ¿Tienes el manual de usuario en un documento de MS Word? ¡No hay problema! Para generar archivos compilados HTML de ayuda desde archivos de MS Word, existe un programa llamado chmProcessor. Este programa es gratuito y de código abierto, publicado bajo la licencia GPL.

El programa chmProcessor puede descargarse en: http://chmprocessor.sourceforge.net/#Downloads

Los requerimientos para utilizar este programa son:

A continuación se describen los pasos básicos para generar un archivo HTML compilado y un sitio web de ayuda utilizando chmProcessor:

1.  Crea tu manual de uso en un documento de MS Word (chmProcessor 1.7.x soporta archivos de MS Word del 2000 al 2013, pero no de versiones Starter). Es importante mencionar que el índice de contenido de la ayuda se generará en base a los estilos de título utilizados en el documento de MS Word. El nivel del título indicará el nivel de anidamiento del tema en el índice.



Para los que no son “del Imperio”, chmProcessor también permite utilizar archivos HTML, en cuyo caso el índice se genera en base a las etiquetas (h1, h2, h3…).

2.   Instala el programa chmProcessor (si aún no lo tienes instalado) e inícialo. Luego de instalarse, en Windows 7 puede encontrarse en Inicio > Todos los programas > chmProcessor.

3.  En la parte superior de la ventana se debe agregar uno o más archivos fuente, que son los documentos de MS Word a partir de los cuales se generará la ayuda. Para ello, se debe presionar el botón Add, y luego seleccionar el documento de Word respectivo.



4.  Una vez seleccionado el archivo, este aparece en el listado ubicado en la parte superior de la ventana. Puede notarse además que en la parte de abajo, en el campo Dst. File aparece automáticamente la ruta y nombre del archivo CHM que se va a generar. Puede observarse que dicho archivo por defecto será generado en el mismo directorio donde se encuentra el archivo de Word fuente. La ruta y el nombre del archivo destino pueden modificarse editando directamente en la caja de texto, o presionando el botón de puntos suspensivos ubicado al lado de la caja de texto, lo cual abrirá una ventana de diálogo en la que se permitirá especificar el archivo destino.


5.   De forma opcional, es posible también generar un sitio web de ayuda. Para ello se selecciona la ficha Web Help, y se marca la casilla Generate Web, ubicada en la parte media izquierda de la ventana. Con ello se habilitan los campos a la derecha, que permiten especificar diversas opciones del sitio web a generar. La principal opción es Dst. Web directory, que es el directorio destino donde se generarán los archivos del sitio web. Este se asigna por defecto en la misma ruta donde se ubica el archivo Word fuente, pero puede ser modificado.


6.  Una vez establecidos todos los parámetros, se presiona el botón Generate. El programa procede a generar los archivos de ayuda, mostrando una ventana emergente en la que muestra las acciones que va realizando.



7.  El programa indica la finalización del proceso en la ventana emergente. En este momento solo queda presionar el botón Accept.



Al abrir los directorios destino, pueden observarse los archivos generados. En este caso, puede observarse que se ha generado el archivo Manual de usuario.chm, que es el archivo de ayuda HTML compilado, así como la carpeta Manual de usuario-web, que contiene el sitio web.


Al abrir el archivo CHM, se obtiene un resultado similar a este:


Para ver el sitio web, se ingresa a la carpeta que lo contiene (Manual de usuario-web), y se abre el archivo index.html.


Este es el resultado (visto en el navegador web Firefox).


Adicionalmente, si se quiere guardar la configuración actual de chmProcessor para generar los archivos de ayuda, basta con seleccionar el menú File > Save as… e indicar el nombre y ubicación del archivo de proyecto.



Este fue un ejemplo básico sobre el uso de chmProcessor, pero este programa incluye muchas más opciones y beneficios. Para obtener mayor información puedes visitar su sitio web: http://chmprocessor.sourceforge.net/

lunes, 13 de abril de 2015

Preparar Eclipse Luna para Scala y Play Framework 2


Para desarrollar una aplicación en estos días, es recomendable usar un IDE que facilite el trabajo y brinde las herramientas necesarias para realizarlo. Si vas a desarrollar una aplicación con Play Framework 2.x y Scala, mi recomendación personal es usar Scala IDE. El IDE completo consiste en una versión de Eclipse, pre-configurada de manera especial con el plugin de Scala y Play Framework, entre otros componentes, para el desarrollo de aplicaciones con el lenguaje Scala, y en particular con Play Framework 2. Es posible descargar el IDE completo, pero si ya cuentas con Eclipse, entonces puedes instalar los plugins, siguiendo los pasos que se describen a continuación:

Visita la pagina de descargas estables de Scala IDE, y obtén la URL de los sitios de actualización disponibles para tu version de Eclipse. Para el caso de este post, se utilizara la versión 4.0 de Scala IDE (que es la última disponible al momento de escribirlo), sobre Eclipse Luna, por lo que la URL de actualizacion es: http://download.scala-ide.org/sdk/lithium/e44/scala211/stable/site




Añade el plugin de Scala IDE a Eclipse. Para ello se selecciona la opción Help > Install New Software en el menú de Eclipse.


En la ventana que aparecerá en pantalla, deberá colocarse la URL para descargar la actualización en la parte superior (campo Work with), y presionar el botón Add.


Aparecerá una ventana en la que habrá que asignar un nombre a la fuente (puede ser cualquier nombre). En el caso de este ejemplo, se le llamó Scala IDE (Scala 2.11.6), para indicar que de esta web se descargan los plugins relacionados a Scala IDE, especializados para la vesión 2.11.6 de Scala.



En la tabla del medio aparecerá el listado de plugins que pueden descargarse desde la web proporcionada. De ellos, se deberá seleccionar la opción completa Scala IDE, y la opción Scala IDE plugins (incubation) > Play2 support in Scala IDE. El primero de ellos sirve para trabajar con Scala en general, usando Eclipse. El segundo de ellos es especializado para Play Framework 2, pues incluye soporte particular para este, incluyendo auto-completar código fuente, manejo de plantillas de Scala, embellecimiento de código fuente y auto-completación, para el archivo de rutas.



Luego de elegidos los plugins, se presiona el botón Next. Se presentará una pantalla en la que Eclipse presenta el listado de todos los componentes a instalar. Puede notarse que además de los seleccionados, se incluye el SDK de Scala (Scala 2.11.6, en este caso), y el Scala Build Tool (SBT). Una vez verificado el listado, se presiona el botón Next.


Como último paso previo a realizar la instalación, se solicita que leas la licencia de los componentes a instalar. Si estás conforme con todas ellas, basta con seleccionar el botón de radio que dice I accept the terms of the license agreements, y presionar el botón Finish, para que Eclipse comience la descarga e instalación de los plugins.


Habrá que esperar algunos minutos para que se complete el proceso. Cuando se haya finalizado la instalación, aparecerá una ventana de diálogo indicando que es necesario reiniciar Eclipse, para que los cambios tengan efecto, y que si lo deseas reiniciar en este momento. Si no tienes trabajo pendiente de guardar, puedes presionar el botón Yes, para que el programa se reinicie. Si aún no deseas cerrar Eclipse, puedes hacerlo más tarde, pero los plugins no serán activados hasta que vuelvas a iniciar Eclipse.


Al iniciar Eclipse, posiblemente se muestre una advertencia, indicando que algunas de las configuraciones no son adecuadas para Scala IDE. Para ejecutar un diagnóstico de estas configuraciones, presiona el botón Yes.


En este caso se mostrará una ventana indicando algunas configuraciones particulares para Scala IDE. Si no tienes una configuración especializada de Eclipse, te sugiero usar las configuraciones recomendadas por defecto (Use recommended default settings). También presta atención a la sección de Heap settings, que se refiere a las configuraciones de memoria de Pila de la Java Virtual Machine: para Scala se recomienda un valor máximo de al menos 1024Mb. En este caso el valor que se tiene es de 455Mb. Para ajustar este valor, habrá que hacerlo editando el archivo eclipse.ini, lo cual haremos en el siguiente paso. Por el momento, solo presionamos el botón Ok, para establecer las configuraciones por defecto, y una vez iniciado Eclipse, lo cerramos.


Para modificar el tamaño de la memoria de la JVM usada en Eclipse, hay que abrir el archivo eclipse.ini, con un editor de texto, y posiblemente en modo administrador (dependiendo de donde se haya instalado Eclipse, y el sistema operativo). Este archivo está ubicado en el directorio donde se instaló Eclipse (ver la ruta que apareció en la ventana de configuraciones). En este archivo hay que buscar la línea que inicia con -Xmx, y modificar el valor que le sigue por el requerido. La línea quedaría así: -Xmx1024m


Guardamos los cambios, y volvemos a abrir Eclipse. Ahora notarán que el programa abre sin mostrar ninguna advertencia. Finalmente, antes de trabajar con Play Framework, se recomienda ajustar el IDE para refrescar cambios externos, para detectar los cambios realizados por los comandos de la consola de Play (o bien del Activador de Typesafe, o el SBT, según la herramienta que se esté usando). Para ello, se selecciona el menú Window > Preferences.


Se abrirá una nueva ventana. En el árbol de opciones de la izquierda, se selecciona el ítem General > Workspace. En el lado derecho seleccionamos la opción Refresh using native hooks or pooling, y presionamos el botón Ok.


Y esto es todo, el IDE ya está listo para trabajar con proyectos de Scala, y en particular de Play Framework 2.

martes, 31 de marzo de 2015

Ejemplo de CRUD con Java Servlets e Hibernate

En esta ocasión quería compartiles una de las tareas que hicimos en un curso de Java que recibí hace algunas semanas, cuyo código fuente pueden ver en Github: https://github.com/guillegr123/ejm-java-servlet-hibernate-1

El proyecto fue elaborado en NetBeans 8.0.x, y consiste en un ejemplo básico de aplicación web, el cual implementa la funcionalidad CRUD para una tabla (libros), a través de servlets (Java servlets 3) y JSPs, utilizando el patrón MVC. Para el acceso a la base de datos se utiliza Hibernate 4.3. Para el diseño de la vista se incluye el framework Bootstrap 3.3.2.

Esta aplicación de ejemplo no incluye la validación de datos de formulario del lado del servidor, ni otras prácticas de seguridad que deben tenerse en consideración para un producto final. Aunque a estas alturas del partido, no recomendaría crear una aplicación solo a base de servlets, sino usar algún framework como Spring.

Para poder ejecutar el ejemplo, debe hacerse lo siguiente:
  • Descargar el conector JDBC para MySQL, versión 5.1.5. Debe crearse la carpeta "libs" en el directorio del proyecto, y colocar allí el JAR del conector. Esta es la versión de conector a la que hace referencia el proyecto, pero podría sustituirse por otra, según la necesidad.
  • Crear una base de datos llamada "biblioteca" en el servidor de MySQL, e importar el script "biblioteca.sql", incluido en la carpeta "sql". Este proyecto se ha probado con versiones 5.6.x de MySQL.
  • Revisar y hacer las modificaciones necesarias en los parámetros de configuración de Hibernate (archivo src/java/hibernate.cfg.xml).
Es posible utilizar otros gestores de bases de datos, pero debe crearse la base de datos y tabla respectiva, incluir el conector JDBC apropiado como librería del proyecto, y hacer los ajustes respectivos en el archivo de configuración de Hibernate.
Con la tecnología de Blogger.