Flash Builder 4.6 “Workspace in use or cannot be created, chose a different one.”

error flash builder workspace Flash Builder 4.6 “Workspace in use or cannot be created, chose a different one.”

Este error aparece normalmente cuando cerramos incorrectamente el IDE Flash Builder, por ejemplo, cancelando el proceso desde el Administrador de Tareas de Windows o al producirse algún tipo de error. Hay varios métodos para solucionarlo, en mi caso con la versión 4.6 en una ocasión me funcionó la 1ª y en otra la 2ª:

1. Borrar el fichero .lock ubicado en el directorio .Metadata del workspace de Flash Builder 4.6. Es posible que no os deje borrarlo porque estará siendo utilizado por el proceso de FB, por lo que previamente tenéis que cancelar el proceso y luego podréis borrarlo.

Workspace\.metadata\.lock

2. Borrar el fichero .snap ubicado en:

Workspace\ .metadata\.plugins\org.eclipse.core.resources\.snap

3. Editar el fichero de configuración de preferencias de Flash Builder 4.6 y donde pone RECENT WORKSPACE borramos el que nos está dando error.

UsuarioX/Documents/Adobe Flash Builder 4.5/cascaded/308971/configuration/
.settings/org.eclipse.ui.ide.prefs

Sin Comentarios

Cómo ejecutar desde línea de comandos Export Release Build de Adobe Flash Builder 4.6

flash builder linea comandos Cómo ejecutar desde línea de comandos Export Release Build de Adobe Flash Builder 4.6

Para automatizar la generación o exportación de un build con Adobe Flash Builder 4.6 o Eclipse + plugin Flash Builder podemos utilizar la herramienta FlashBuilderC.exe que ejecuta un programita ANT para compilar y generar la película flash .swf. Para el proceso de automatización de la opción del Export Release Build es necesario crear dos ficheros, un .bat (o un Shell script si utilizas entorno UNIX, .sh) y un build.xml de Apache ANT (para poder ejecutarlo se necesita tener instalada la Máquina Virtual de Java JVM).

.BAT

“C:Archivos de ProgramaAdobeAdobe Flash Builder 4.6FlashBuilderC.exe”
–launcher.suppressErrors
-noSplash
-application org.eclipse.ant.core.antRunner
-data “C:Mis DocumentosMi Workspace”
-file “C:Mis DocumentosMi Workspacebuildbuild.xml” MI_PROYECTO_FLEX

La primera instrucción ejecuta la herramienta que se encarga de compilar o lanzar desde línea de comandos la acción “Project > Export Release Build” del Flash Builder 4.6. (C:Archivos de ProgramaAdobeAdobe Flash Builder 4.6FlashBuilderC.exe). Del resto de instrucciones sólo nos interesan data, que indica la ruta absoluta del workspace del FB y file, que indica dónde se ubica el programita ANT (el build.xml) y el nombre del Proyecto (MI_PROYECTO_FLEX).

BUILD.XML

<?xml version=”1.0″?>
<project default=”main”>
<target name=”main”>

<fb.exportReleaseBuild
project=”MI_PROYECTO_FLEX
destdir=”C:Mis DocumentosMi Workspaceflashpelicula.swf”/>

</target>
</project>

La etiqueta fb.exportReleaseBuild es la encargada de ejecutar automáticamente la exportación de la película flash. Entre los parámetros que se les puede añadir está PROJECT (que es obligatorio e indica el nombre del proyecto) y DESTDIR (la ruta o directorio de destino donde queremos almacenar la película flash generada). Para más información sobre otros parámetros puedes consultar el repositorio de ayuda de Adobe.

Después, desde una sencilla aplicación JAVA o .NET podemos ejecutar el .BAT para que de forma automática genere las películas en procesos batch o mediante demonios.

Sin Comentarios

Cómo instalar el plugin Adobe Flash Builder 4.6 en Eclipse

flash builder plugin eclipse Cómo instalar el plugin Adobe Flash Builder 4.6 en Eclipse

El IDE Adobe Flash Builder 4.6 (para desarrollar bajo el framework FLEX 4) no deja de ser un Eclipse vitaminado y personalizado para trabajar con ActionScript 3.0 y MXML, por lo que su implementación en el propio IDE Eclipse no debería de ser complicado, ¿verdad? ¡correcto! los chicos de Adobe se han currado un instalable para poder agregar de forma muy sencilla el plugin Flash Builder en Eclipse. Sigue estos pasos para ello:

  1. Descarga e instala en tu máquina Adobe Flash Builder. Recuerda que hasta que no adquieras una licencia (~600$) sólo tendrás 60 días para utilizar la herramienta; si eres estudiante o estás desempleado, puedes conseguir la clave gratis para la versión Standard, no la Premium.
  2. Una ve lo hayas instalado, tienes que ir al directorio UTILITIES dentro del directorio raíz de instalación (c:Archivos de ProgramaAdobeAdobe Flash Builder 4.6Utilities)
  3. Ejecuta el instalable Adobe Flash Builder 4.6 Plug-in Utility.exe
  4. Aparecerá un wizard para la instalación donde deberás indicar el idioma  (todavía no está en castellano) y las rutas de instalación tanto del Flash Builder como del Eclipse. Recuerda que necesitas tener una versión de Eclipse que no sea mayor de la 3.6 (la Helios, las nuevas Indigo o Juno todavía no tienen plugin) y además, tiene que ser la versión para 32bits.

¡Y listo!, ya podrás desarrollar proyectos Flex dentro de Eclipse, compilarlos y generar los builds correspondientes. Recuerda que aunque estés usando el plugin y no el IDE de Adobe, te seguirá requiriendo introducir el serial si todavía estás usando la trial.

Sin Comentarios

Metodologías ágiles de desarrollo software

metodologias agiles kanban scrum xp Metodologías ágiles de desarrollo software
Las metodologías ágiles para el desarrollo de software se basan fundamentalmente en cuatro manifiestos: primar al individuo y el equipo antes que el proceso y herramientas; primar el desarrollo de software correcto antes que elaborar documentación; colaboración directa cara a cara con el cliente antes que negociaciones de un contrato y responder a los cambios en vez de seguir un plan marcado. Para proyectos con un alto volumen de cambios y/o incidencias este tipo de metodologías resultan mucho más beneficiosas ya que permiten reaccionar de forma mucho más rápida y eficientemente ante éstos. Además, otro valor a tener en cuenta es que se motiva a los propios miembros del equipo, ya que priman el desarrollo antes que la redacción o lectura de documentación, preparación de reuniones, etc.

Las metodologías ágiles más conocidas son XP (Extreme Programming), SCRUM y KANBAN. El manual que os adjuntamos se centra en las dos últimas, sus diferencias y cómo pueden combinarse, porque como dicen en él, no debemos trabajar para la metodología, si no que ésta debe trabajar para nosotros (y debemos hacer tantos cambios o adaptaciones como consideremos). Principalmente ambas metodologías difieren en la unidad que mide el progreso o WIP (work in progress), mientras que SCRUM se basa en iteraciones de tiempo (1 semana, 2 semanas, etc), KANBAN lo mide por flujos o estados de trabajo (recibido, en desarrollo, en implantación, etc. Asignando a cada estado un número máximo de WIP simultáneos). Si os interesa conocer en mayor profundidad este tipo metodologías de desarrollo ágil, os recomiendo leer este manual.

1 Comentario

Dart, ¿nuevo lenguaje de programación de Google?

google dart lenguage programacion Dart, ¿nuevo lenguaje de programación de Google?

Recientemente se ha comenzado a hablar en la red de Dart, un supuesto nuevo lenguage de programación diseñado y desarrollado por Google y que en principio, será presentado el mes que viene en un congreso de desarrolladores en Dinamarca. Según se comenta, sería un nuevo lenguage de programación estructurada orientado al entorno web (structured web programming). Cuál va a ser su sintaxis, cómo se va a implementar, cómo se va a compilar, o quizá lo más importante, para qué sirve o que diferencias va a tener respecto al enorme elenco de lenguajes que actualmente dominan el sector, serán las preguntas que en unas semanas revelará Google, porque hasta ahora, son todo conjeturas.

Por lo que se sabe, hace unos días Google ha reservado varios dominios con la palabra DART. Parte del equipo que está diseñando el lenguaje de programación Dart son Gilad Bracha, que ha trabajado para Sun Microsystems y es uno de los autores de JAVA, y Lars Back, que ha trabajado recientemente en el nuevo motor V8 de Javascript para el navegador Chrome de Google. Ambos han trabajado en Smalltalk, un lenguaje de programación que comenzó en la década de los 70 y que permite realizar tareas de computación mediante la interacción con un entorno de objetos virtuales, es decir, se puede considerar que un Smalltalk es un mundo virtual donde viven objetos que se comunican mediante el envío de mensajes (gracias Wikipedia).

Diversas fuentes afirman que el nuevo lenguaje de Google Dart podría ser un lenguage de programación ejecutado del lado del cliente (del navegador), similar a Javascript o Phyton. Por otro lado, hay quien comenta que debido a la última tendencia de empresas privadas que adquieren tecnologías de desarrollo open-source y las privatizan, convirtiendo sus versiones profesionales en enormes sacos de dinero (en detrimendo de las empresas que los utilizan), Google no querría depender de Java, que podría seguir estos pasos al estar actualmente en manos de Oracle. De esta forma, la solución sería crear un nuevo lenguaje de programación similar, pero del que no temer que en un futuro suponga un desembolso importante de dólares en licencias. Dart, con uno de los cerebros de JAVA a la cabeza, podría convertirse en esta baza de Google, ¿maniobra inteligente? u ¿otra forma de controlar el mundo el desarrollo software?. Ésta opción tendría más sentido, ya que Smalltalk es un lenguaje POO, y como comentamos, dos de sus autores estarían trabajando ahora en Dart. Aunque muchos se preguntarán si es buena idea intentar introducir un nuevo lenguaje de programación en el ecosistema de desarrollo actual, donde hay fuertes competidores con miles de programadores detrás, deberían preguntarse ¿a qué va a dar respuesta Dart? ¿sólo es un competidor para JAVA? ¿qué nos va a ofrecer? ¿será el nuevo lenguaje que permita, agilice o mejore el desarrollo de aplicaciones web para las búsquedas semánticas? o ¿simplemente sea un nuevo framework para los programadores de Google?.

Aunque Google ya lo intentó con Go, un lenguaje de programación estructurado similar a C, y que ha quedado reducido a un pequeño número de programadores, quizás ésta sea la apuesta definitiva por meter la cabeza (o todo el cuerpo) en otro sector que si bien domina, no lleva su propio sello: los lenguajes de programación  (y con ésto estar un poquito más cerca de controlar absolutamente todo de todos).

2 Comentarios

Error MySQL: LOCK TABLES WRITE al configurar Joomla 1.6

error lock tables write joomla Error MySQL: LOCK TABLES WRITE al configurar Joomla 1.6

Con el nuevo plan de actualizaciones el equipo de Joomla se ha comprometido a liberar una nueva versión del CMS cada semestre. Este artículo lo voy a escribir utilizando la versión 1.6, aunque desde hace unos pocos días se ha liberado la versión 1.7. Es muy probable que el error que voy a comentar pueda aparecer tanto en la 1.6, como en la 1.7 y en futuras versiones, ya que es un error sobre la BBDD, no del software de Joomla.

Una vez hemos instalado Joomla, configurado el servidor de BBDD y eliminado la carpeta de Installation podemos empezar a meter contenido en nuestra web, organizarlo por categorías y secciones, instalar componentes y módulos, modificar el theme, etc. La mayoría de estas tareas necesitan hacer operaciones con la base de datos, normalmente añadir objetos nuevos, añadir columnas, insertar registros, borrarlos, etc. En mi caso, a la hora de intentar crear una nueva categoría el sistema me arrojaba el siguiente error:

Save failed with the following error: Access denied for user ‘u_user’@'%’ to database ‘base_de_datos’ SQL=LOCK TABLES `jos_categories` WRITE

El error es fácil de detectar, hay problemas de permisos para el usuario u_user que nos impiden realizar la transacción requerida. En primera instancia tenemos que revisar los GRANTS que tiene el usuario ¿puede borrar, insertar y modificar?. Por si acaso, ejecutamos la siguiente query:

GRANT select, update, insert ON base_de_datos.* to u_user@servidor;

Si el error persiste, entonces la solución definitiva será ejecutar la siguiente query:

GRANT lock tables ON base_de_datos.* to u_user@servidor;

O bien:

UNLOCK TABLES;

El comando LOCK en MySQL permite bloquear una tabla con permisos de sólo lectura. Si a la sentencia le añadimos al final un WRITE, dejándola así, LOCK TABLES tabla WRITE; , estaremos otorgando al usuario que la ha bloqueado el permiso para leer y escribir sobre ella, impidiéndoselo al resto de usuarios. Para eliminar cualquier bloqueo de tablas se debe utilizar el comando UNLOCK TABLES;.

El GRANT LOCK permite a un usuario acceder a las tablas bloqueadas indicadas en la sentencia, siempre y cuando el usuario también tenga el permiso de lectura SELECT sobre éstas, por eso, al ejecutar esta query en el error mencionado de Joomla, lo que estaremos permitiendo es la ejecución de cualquier DML sobre la tabla jos_categories al usuario u_user. Para más información sobre el comando LOCK TABLES  de MySQL puedes ver la documentación oficial.

Sin Comentarios
  • Página 1 de 3
  • 1
  • 2
  • 3
  • >