lunes, 20 de junio de 2016
Instalar Lightbend Activator en Windows
Estaba intentando preparar las herramientas para probar hacer una aplicación usando Scala y Play Framework en mi computadora, solo que en esta ocasión en Windows 10. Sin embargo, intentando "instalar" el Lightbend Activator, me topé con algunos problemas inesperados particulares para Windows, y que tristemente parecen existir desde hace ya algunos años. A continuación comparto los pasos que pude seguir para preparar el Activator en Windows, en caso de quee alguien más tenga problemas, y también para recordarle al yo del futuro como hacer esto, en caso de que tenga que hacerlo en otra máquina.
1. Descargar e instalar el Java JDK 1.8
Para poder usar el Lightbend Activator necesitamos instalar el Java JDK 1.8 (al fin y al cabo Scala compila a bytecode de Java, y corre sobre la JVM). Podemos descargar el instalador de la última actualización de la versión 1.8 para Windows desde la página de Oracle, para la arquitectura de nuestra computadora (i586 - 32 bits - o x64 - 64 bits).
Una vez descargado el instalador, procedemos a ejecutarlo, para realizar la instalación, siguiendo los pasos indicados (a.k.a. presionar Next hasta finalizar).
2. Crear la variable de entorno JAVA_HOME
Es necesario crear la variable de entorno de Windows llamada JAVA_HOME, para que haga referencia al directorio donde se instaló el JDK. El script del Lightbend Activator hará uso de esta variable para encontrar el JDK, que necesita para ejecutarse. Acá hay un tutorial que muestra cómo hacer este paso.
3. Descargar el Lightbend (Typesafe) Activator
Para descargar el Lightbend (antes Typesafe) activator, hay que visitar el sitio web de Lightbend. En la parte de abajo hay un listado de enlaces, entre los cuales está uno que dice Download Activator (créanme que me costó encontrar el enlace).
Luego, en la página de descarga, basta con presionar el botón Download, que descargará la versión completa (entre 600 y 700 Mb) y más reciente disponible (v1.3.10 al momento de escribir esta entrada). Lo que se descarga es un archivo ZIP, por lo que podemos guardarlo en cualquier parte.
4. Descomprimir el Lightbend Activator
Una vez descargado el Activator, es necesario descomprimirlo. Si solo lo vas a utilizar con tu usuario, puedes descomprimirlo en cualquier carpeta dentro de tu directorio de usuario. Si quieres que otros usuarios pueda utilizarlo, te recomendaría hacerlo en una ruta más pública, como por ejemplo C:\Development\Lightbend o algo así. Un punto importante es que la ruta donde coloquemos el Activator no debe tener espacios.
5. Agregar la ruta de los binarios del Activator a la variable PATH
Para poder utilizar el Activator desde la línea de comandos, sin necesidad de conocer el directorio de instalación de este, es necesario agregar la ruta de la carpeta de binarios (carpeta bin dentro del directorio del activator - por ejemplo activator-dist-1.3.10\bin) a la variable de entorno PATH. Nuevamente, si solo vamos a utilizar la aplicación con nuestro usuario, modificaremos la variable propia de nuestro usuario; y si la van a utilizar todos los usuarios, agregamos la ruta a la variable PATH de sistema. Este y este otro son algunos tutoriales que muestran como agregar valores a la variable PATH de Windows.
6. Corregir el archivo de activator.bat
Sí, triste pero cierto, hay que corregir un archivo. El archivo activator.bat se ubica en la carpeta de binarios (bin). Hay que abrir el archivo con cualquier editor de texto, buscar la línea que dice:
set SBT_HOME=%BIN_DIRECTORY
Y agregar el símbolo de porcentaje faltante al final de esta, para que quede así:
set SBT_HOME=%BIN_DIRECTORY%
Luego guardamos el archivo y continuamos con nuestra vida. O podríamos modificarlo para que se pueda colocar el Activator en rutas con espacios (recordar el punto No. 4... pero tal vez en otra ocasión).
7. Agregar el archivo sbtconfig.txt
¡No tan rápido! Si intentamos ejecutar el Activator desde la línea de comandos, nos mostrará el siguiente mensaje:
The system cannot find the file C:\ruta\al\lightbend\activator-dist-1.3.10\bin\..\conf\sbtconfig.txt.
Para corregir esto debemos agregar el archivo en la ruta especificada. El archivo lo podemos descargar desde el repositorio del SBT Launcher en GitHub, y lo guardamos en la ruta activator-dist-1.3.10\conf\
8. Ejecutar el Activator
¡Finalmente! Abrimos la línea de comandos, y ejecutamos el siguiente comando (valga la redundancia):
activator ui
Esto abrirá una ventana en el navegador que tengamos por defecto, en donde se mostrará la interfaz de usuario del Activator, con los listados de tutoriales y proyectos base para poder empezar a trabajar con las herramientas de la plataforma reactiva de Lightbend (las que sean gratis, al menos).
lunes, 30 de mayo de 2016
Lecturas interesantes 1
Hola, en esta ocasión solo quería compartirles un par de lecturas interesantes que he encontrado de casualidad en el último año.
1. Desenredando la historia de Ada Lovelace (Untangling the Tale of Ada Lovelace)
Augusta Ada King, Condesa de Lovelace, es considerada como la primera programadora de computadoras. Sin embargo, debido a que vivió durante la época Victoriana, su vida muchas veces se ha visto rodeada de muchos desacuerdos por parte de los historiadores.
En este artículo re-publicado en Medium por Backchannel, Stephen Wolfram (desarrollador del motor de conocimiento computacional Wolfram Alpha), describe su profunda y apasionada investigación de la vida y obra de Ada Lovelace. Parte desde su niñez, el desarrollo de su interés en las matemáticas en su juventud tras conocer el motor diferencial de Charles Babbage, su relación con la comunidad científica de esta época de desarrollo tecnológico (dominada por hombres), hasta su trágica muerte a una edad temprana. También desmiente los mitos que rodean su relación con el mismo Charles Babbage, con quien mantuvo una relación de amistad y casi de negocios alrededor de su motor diferencial. Tras un estudio profundizado de notas de esta máquina de cálculos y su sucesor, el motor analítico (el cual según parece quedó a nivel de concepto), fue capaz de desarrollar algoritmos, y se cree que fue la primera persona en vislumbrar el concepto de computación universal (conocido en la actualidad a través del concepto de la Máquina Universal de Turing). El artículo incluso muestra el desarrollo paso a paso de uno de sus algoritmos para el cálculo de los números de Bernoulli para el motor analítico de Babbage.
Si no hubiera muerto a una edad tan joven (tan sólo 36 años), quién sabe cuanto más hubiera avanzado la informática hasta la actualidad. Incluso se sabe que el mismo Alan Turing estudió sus notas para desarrollar su famosa prueba de Inteligencia Artificial de 1950 (conocida como Prueba de Turing).
Una lectura fascinante de la historia de la computación, y la vida de una mujer valiente e innovadora.
2. Planeadores de Schweizer (Sailplanes by Schweizer)
| Dos planeadores Schweizer 2-32 en Oahu, Hawaii. 1995. Imagen lanzada al dominio público por su autor a en English Wikipedia. |
Este libro, que casualmente encontré en Scribd buscando el tema de planeadores (aviones sin motor), narra la historia de la compañía aeronáutica estadounidense Schweizer, a través de sus modelos de aviones, desde sus humildes inicios con los tres hermanos Schweizer en el cobertizo de la casa de la familia a principios del siglo 20, su época de crecimiento durante la segunda guerra mundial, una época díficil durante la posguerra, un crecimiento dorado de la aviación sin motor durante los años 60, hasta el inicio de su ocaso en la última parte del siglo 20.
Esta compañía la recuerdo por el planeador Schweizer SGS 2-32, que salía en el "trailer" (si se le puede llamar así) del Microsoft Flight Simulator 5.1 para Windows 95. Buscando en internet, tristemente me di cuenta que la compañía ya no fabrica planeadores, sino que fue adquirida en el 2004 por Sikorsky Aircraft Corporation, y cerrada en el 2012.
A pesar de ello, sus aeroplanos fueron tan bien diseñados y construidos, que aún hay muchos modelos que datan hasta de los años 40 y que todavía se encuentran en uso, como este modelo 2-12 (TG-3A):
domingo, 20 de marzo de 2016
ASP.NET Web API, paso a paso - 1 - ¿Qué es Web API?
¡Saludos! Con esta primera entrada, espero empezar una serie de mini tutoriales, para elaborar una aplicación web basada en un servicio REST elaborado con ASP.NET Web API. Y el primer paso es responder a la pregunta:¿Qué es Web API?
ASP.NET Web API es un framework para construir APIs (Application Programming Interfaces), construida sobre el .NET Framework. Es una especie de librería más liviana y simple que WCF (Windows Communication Foundation) orientada completamente al protocolo HTTP, que permite construir servicios web sin estar sujetos a un estilo o arquitectura definido (por ejemplo REST o RPC).ASP.NET Web API es de código libre, y está disponible al público en general en un repositorio GIT en Codeplex, para ser consultado y también para realizar contribuciones. Esta publicado bajo la Apache License, Version 2.0.
Web API es considerada como el futuro de ASP.NET, pues refuerza el uso de estándares HTTP, y unifica las características esenciales para el desarrollo de servicios web que el MVC Framework y WCF proveen, de una forma más compleja.
¿Cuáles son las ventajas de Web API?
ASP.NET Web API presenta las siguientes ventajas para el desarrollo de APIs sobre HTTP:- Se acopla a los estándares HTTP, siendo la mejor implementación por parte de Microsoft de las especificaciones del protocolo HTTP (RFC 2616).
- Modelo de programación HTTP moderno, pues permite el acceso directo a las solicitudes y respuestas HTTP, a través de tipos de objetos especializados.
- Soporte completo de rutas, lo que permite especificar las acciones a ejecutar, así como parámetros y restricciones, sin necesidad de modulos adicionales de sobreescritura de URL.
- Soporta negociación de contenido y media types, para que el cliente y el servidor puedan establecer el formato de los datos que la API recibirá y enviará en respuesta. Por defecto, Web API provee soporte para JSON, XML y formularios codificados como URL (URL-encoded form data), pero permite agregar tipos de datos personalizados, a traves de media formatters.
- Conversión automática de datos a objetos, ya que los datos recibidos en las solicitudes HTTP son transformados a objetos .NET, y viceversa, para ser manipulados en las acciones de la API.
- Filtros que sirven para añadir una capa extra de funcionalidades a las acciones, y son manejados como atributos, para facilitar su integración en las clases y métodos.
- Mejora el desarrollo de pruebas unitarias, ya que muchas partes del framework pueden ser personalizadas y simuladas, al basarse en interfaces y clases genéricas que pueden ser extendidas.
- Inversión de control y resolución de dependencias integrada y extensible, a través del patrón de localización de servicios, implementado mediante el "resolvedor de dependencias" del MVC Framework.
- Composición de consultas, basada en las convenciones de URL de OData, con solo implementarla interfaz IQueryable<T>.
- Configuración a través de código, para evitar sobrecargar los archivos de configuración XML.
- Asíncrono de pies a cabeza, para permitir recibir más solicitudes HTTP, mientras se espera que otras terminen de ser procesadas.
- Puede ser auto-hospedado (self-hosted), por lo que no está atado al uso del servidor web IIS.
¿Cómo funciona Web API?
Web API se basa en un modelo de "muñeca rusa" para el procesamiento de los mensajes HTTP, que además permite añadir bloques de funcionalidad en cada uno de los distintos niveles de procesamiento.| Muñecas rusas "Matroshka" (Wikipedia - CC BY-SA 3.0) |
En este enlace puedes encontrar un diagrama bastante completo del ciclo de vida de los mensajes en ASP.NET Web API 2.
Próximos pasos
En la próxima entrada de esta serie, se desarrollará una API REST muy básica desde cero, en donde se mostrarán las funcionalidades principales del framework ASP.NET Web API.viernes, 5 de febrero de 2016
Instalar Oracle Java 8 (JDK) en Ubuntu y derivados, desde repositorio PPA
Para instalar el Oracle JDK de Java 8 en Ubuntu y distros derivadas, esta disponible el repositorio WebUpd8 Oracle Java PPA. Para agregar este repositorio, ejecutamos los siguientes comandos en la consola de linux:
$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt-get update
Luego, para instalar el JDK de Java 8, ejecutamos el siguiente comando:
$ sudo apt-get install oracle-java8-installer
Finalmente, para verificar la version instalada de Java, podemos ejecutar los siguientes comandos:
$ java -version
$ javac -version
El primer comando es para consultar la version del JRE, y el segundo es para consultar la version del compilador de JAVA. En ambos casos puede observarse que el numero de version es 1.8.0.
De acuerdo al articulo original publicado en el sitio web de WebUpd8, el repositorio PPA es soportado por Ubuntu 15.04, 14.10, 14.04 y 12.04, o superiores, asi como Linux Mint 17.1, 17 y 13, o superiores. Tambien es soportado por otras distros derivadas de estas versiones (en mi caso, por ejemplo, Elementary OS Freya).
domingo, 17 de enero de 2016
Configurar trabajo para ejecutar tareas programadas de Magento 1.9 en Ubuntu
Para que se puedan ejecutar todas las tareas programadas de Magento 1.9.1 Community Edition (entre ellas el envío de correos usando la cola), es necesario programar la ejecución del script Cron.php, ubicado en el directorio de instalación de Magento. Pero antes de programarlo, y para tratar de asegurar y verificar su correcta ejecución, es recomendable hacer los siguientes preparativos:
1. Instalar la extensión AOE Scheduler a través de Magento Connect. Esta extensión nos permitirá programar las tareas dentro de Magento, y observar su historial de ejecución. Aunque en la página web de la extensión dice que es compatible hasta la versión 1.7 de Magento Community Edition, funciona correctamente en Magento 1.9.1.
2. Luego, en el sitio web de administración (backend) de Magento, ingresamos a la opción del menú System > Scheduler > Timeline View.
En esta página podemos observar una línea de tiempo de las tareas programadas de Magento, en un formato de línea de tiempo. Es posible que esté vacía, si no hay ninguna tarea programada por el momento. Para generar un nuevo conjunto de tareas programadas a ejecutar, presionamos el botón Generate Schedule.
3. Después probamos la ejecución del script por sí solo. Para ello, podemos ejecutar el script cron.sh en la terminal de la máquina virtual. Considerando una instalación por defecto de una máquina virtual de Bitnami, este archivo se ubica en /opt/bitnami/apps/magento/htdocs, y podemos ejecutarlo con el usuario bitnami.
$ cd /opt/bitnami/apps/magento/htdocs $ sh cron.sh
Luego, en el sitio web de administración de Magento, ingresamos nuevamente a la opción Timeline View. Si el script se ejecutó correctamente, se observará que algunas de las tareas programadas aparecen en verde, indicando que fueron ejecutadas correctamente. Nótese que la línea roja indica la hora en la que se cargó la página, por lo que cabe mencionar que si todas las marcas de tareas están después de la línea roja, estas no se habrán ejecutado, y habrá que esperar a que la línea roja alcance alguna de ellas, antes de ejecutar el script cron.sh.
Si no hay ninguna tarea en verde, es posible que el script no se haya podido ejecutar correctamente. En ese caso podemos probar ejecutar directamente el script de PHP, así:
$ php –f cron.php
Si a pesar de ello no se ejecutan las tareas programadas, habrá que revisar si el script no devolvió ningún error durante la ejecución, y si el usuario con el que lo estamos ejecutando es el propietario del archivo. En mi caso, por defecto el propietario del archivo es bitnami, y los permisos del archivo son -rw-r--r--.
4. Como paso intermedio, averiguamos donde se ubica el ejecutable de php que se usa por defecto. Para ello en la terminal ejecutamos el comando:
$ which php
Por defecto en la máquina virtual de Bitnami el ejecutable se ubica en /opt/bitnami/php/bin/php
5. Suponiendo que el script se ejecutó correctamente, procedemos a programar la ejecución del script usando crontab. Para ello, en la terminal de la máquina virtual ejecutamos el comando:
$ crontab –e
Esto nos abrirá (en algún editor de texto) el archivo de tareas programadas de Linux para el usuario actual. En este debemos ingresar la siguiente línea:
*/5 * * * * /opt/bitnami/php/bin/php –f /opt/bitnami/apps/magento/htdocs/cron.php
Con ello se estaría programando la ejecución del script cron.php cada 5 minutos, que es lo que recomiendan usualmente para esta tarea de Magento. Recomiendo dejar una línea en blanco al final del archivo, por si acaso.
En teoría debería ser posible ejecutar el archivo de bash cron.sh en lugar de cron.php, utilizando el ejecutable /bin/sh, así:
Pero en mi caso generaba un error de Permission Denied, al intentar ejecutar la tarea.
*/5 * * * * /bin/sh /opt/bitnami/apps/magento/htdocs/cron.sh
Pero en mi caso generaba un error de Permission Denied, al intentar ejecutar la tarea.
6. Luego, esperamos alrededor de 5 minutos (en realidad la tarea no se ejecuta cada 5 minutos desde que la creamos, sino en los minutos múltiplos de 5, como 4:00 PM, 4:05 PM, 4:10 PM, y así sucesivamente). Finalmente revisamos la ejecución de las tareas, nuevamente revisando la página System > Scheduler > Timeline View desde el sitio web de administrador de Magento. Si la tarea programada se ejecutó correctamente, deberíamos observar más barritas en verde a la derecha de las que se ejecutaron cuando el script se corrió manualmente, según el tiempo establecido.
Si la tarea programada no se está ejecutando, podemos hacer algunos ajustes al comando de crontab, para que nos imprima las salidas estándar y error de la ejecución de la tarea, a archivos de texto, así:
*/5 * * * * /opt/bitnami/php/bin/php –f /opt/bitnami/apps/magento/htdocs/cron.php 1>/tmp/magecronstd.txt 2>/tmp/magecronerr.txt
En este caso, cada vez que se intente ejecutar la tarea, se crearán o sobreescribirán los archivos magecronstd.txt y magecronerr.txt. El segundo es de particular interés, ya que es el que almacena los errores al intentar ejecutar la tarea.
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:
- Sistema operativo Microsoft Windows: del 2000 al 10, de 32 o 64 bits (desde la versión 1.5 de chmProcessor en adelante).
- Microsoft .NET Framework 2.0
- HTML Help Workshop: Sirve para compilar la ayuda en archivo CHM.
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.
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.
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.
Con la tecnología de Blogger.









































