Configurar múltiples dominios en una misma instancia de Liferay

Algo muy habitual cuando trabajamos con Liferay es que las empresas quieran tener varios portales diferentes para darles diferente uso. Un claro ejemplo sería la empresa que quiere tener un portal público para mostrar a sus clientes y otro portal para la intranet privada de sus trabajadores. También puede darse el caso de que una misma empresa se dedique a varios sectores comerciales distintos y quiera tener un portal para cada uno de ellos. Todo ello, por supuesto, dentro de la misma instalación de Liferay y del mismo servidor Tomcat.

Para estos casos Liferay nos da dos opciones. Por una parte podríamos crear una instancia de portal única para cada portal web o podríamos crear varios portales web dentro de una misma instancia de portal. La principal diferencia es que si los portales comparten una misma instancia podremos compartir usuarios, grupos, roles, la librería multimedia de cada portal… Mientras que si optamos por tener una instancia diferente para cada portal sería como si cada portal se encontrase en un servidor distinto y totalmente aislado del resto de portales o comunidades. Continúa leyendo Configurar múltiples dominios en una misma instancia de Liferay

Error al iniciar VirtualBox: The device helper structure version has changed

Un error bastante común al iniciar VirtualBox en Linux es el error “The device helper structure version has changed”. Este error se deve a que VirtualBox se ha actualizado, normalmente de forma automática, y el Extension Pack que tenemos instalado se ha quedado obsoleto y es necesario actualizarlo manualmente.

Error VirtualBox

Continúa leyendo Error al iniciar VirtualBox: The device helper structure version has changed

¡Por fin! Mi primera app para Android

Hace unos años decidí aprender a programar para Android con la intención de crear varias apps que rondaban por mi cabeza y publicarlas en Google Play. Para ello me compré la segunda edición de El gran libro de Android, un libro bastante bueno escrito por un profesor de mi universidad. Con él aprendí los fundamentos básicos de la programación en Android y realicé alguna aplicación sencilla, pero por cuestiones de estudios y de trabajo lo fui dejando de lado y la cosa no cuajó.

Este año, por recomendación de un compañero de clase, decidí hacer el curso online Android: Introducción a la programación con la intención de retomar el aprendizaje de programación para la plataforma Android y de por fin, crear mi primera app. El curso online se basa en El gran libro de Android pero con la gran diferencia de que aquí podemos consultar dudas en el foro de la plataforma online y el resto de alumnos o incluso los mismos profesores pueden ayudarnos con nuestras dudas. Continúa leyendo ¡Por fin! Mi primera app para Android

Cómo instalar Oracle Java 8 (JDK y JRE) en Ubuntu mediante PPA

java_linuxComo muchos ya sabréis desde que Oracle compro Sun Microsystems allá por el 2010 Java desapareció de los repositorios oficiales de Ubuntu debido a su nueva licencia. Desde la web de Oracle se puede descargar la última versión de Java e instalarla manualmente, pero yo soy de los que prefieren utilizar los repositorios de Ubuntu para instalar/desinstalar programas por su facilidad.

Ejecutando los siguientes comandos conseguiremos añadir el nuevo repositorio a nuestro sistema para poder descargar y actualizar Java en sus sucesivas versiones, actualizar los repositorios (incluido el nuevo) en busca de actualizaciones y por último instalar Java 8 en nuestro sistema (es posible que se Continúa leyendo Cómo instalar Oracle Java 8 (JDK y JRE) en Ubuntu mediante PPA

Rails server no arranca en Aptana Studio 3

Hace poco que he empezado a utilizar Aptana Studio 3 para mis proyectos de Rails y me he encontrado con un problema curioso. Resulta que después de crear un nuevo proyecto y un servidor (rails server) desde el propio IDE, cuando intento arrancar el servidor aparece el siguiente error:

‘Starting server…’ has encountered a problem.
Ruby program …/Aptana Studio 3 Workspace/project/script/rails does not exist.

Aptana_rails_server_error

Parece ser que el motivo del error es que el servidor esta intentando acceder a un Continúa leyendo Rails server no arranca en Aptana Studio 3

Instalación de Ruby y NetBeans 8.0 en Ubuntu 14.04 LTS

En este tutorial voy a explicar cómo instalar Ruby en Ubuntu 14.04 LTS y cómo configurar el entorno de programación NetBeans 8.0 para poder programar nuestras aplicaciones en Ruby.

Instalación de RVM y Ruby

Lo primero es hacer un sudo apt-get update desde el terminal para actualizar el listado de paquetes disponibles de los repositorios.

Ahora procedemos a la instalación de las herramientas necesarias para poder instalar el RVM (Ruby Version Mannager) y Ruby:

sudo apt-get install build-essential git-core curl

Procedemos a instalar el RVM con el siguiente comando:

curl -L https://get.rvm.io | bash -s stable

Para comprobar que se ha instalado correctamente abrimos una nueva terminal y Continúa leyendo Instalación de Ruby y NetBeans 8.0 en Ubuntu 14.04 LTS

¿Quién decía que eMule estaba muerto?

emuleeMule fue uno de los programas de intercambio de archivos más utilizados desde que se fundó el proyecto allá por el año 2002. En aquella época eMule vivió su mayor esplendor y prácticamente todo el mundo lo utilizaba para compartir archivos. La mayoría de webs de descarga tenían enlaces eD2K, lo cual facilitaba mucho la compartición de archivos fuera del propio eMule. Sin embargo, a partir del año 2007 el número de usuarios de eMule empezó a caer con el aumento de la velocidad a Internet y la popularización de otros métodos de descarga como la descarga directa o el protocolo BitTorrent.

En las siguientes gráficas se puede ver como en apenas 6 años eMule ha perdido muchísimos usuarios. Aunque viendo estas gráficas podemos pensar que a eMule le quedan los días contados, aún es posible encontrar mucho material en esta red debido a que la gente que utiliza eMule sigue compartiendo archivos después de tantos años.

Graficas_eMule Continúa leyendo ¿Quién decía que eMule estaba muerto?

Sublime Text 2 ¿El mejor editor para programadores?

Siempre he utilizado IDEs para programar porque para lenguajes como Java o C# resultan muy útiles para organizar el código en paquetes o carpetas a través del propio IDE y tenerlo todo a mano. Además la función de autocompletado con el API del propio lenguaje es muy útil para ahorra tiempo y no tener que ir a la documentación y buscar, sin contar que facilitan la compilación, ejecución, debugging, control de versiones… Sin embargo, para otros lenguajes como HTML, PHP, JavaScript, etc. Se me hace demasiado pesado utilizar un IDE, más que nada porque no voy a utilizar ni el 1% de sus posibilidades y para escribir solo código prefiero editores más simples.

Para lenguajes de programación web como los citados anteriormente siempre he utilizado Gedit en Linux y Notepad++ en Windows. Si bien estos dos editores son más que suficientes para mi trabajo, siempre me ha parecido que les faltaba algo.

Desde hace algún tiempo veo mucha gente con un Mac por la universidad (ni que los regalasen 🙂 ) y siempre me ha llamado la atención que toda esta gente con un Mac utiliza para programar el mismo editor, un editor con el fondo oscuro y que resalta la sintaxis del lenguaje en colores muy vistosos. Al principio creía que se trataba de algún editor propio de Apple para Mac OS ya que nunca he visto a nadie utilizarlo en Windows ni en Linux.

Después de investigar un poco por Internet lo encontré, Sublime Text. Lo que no me esperaba es que fuese multiplataforma, estando disponible para Windows, Mac OS X y Linux.

Sublime_Text_Editor

Como bien dice el eslogan de la web de Sublime Text: “The text editor you’ll fall in love with” fue justo lo que me ocurrió la primera vez que lo utilicé. Continúa leyendo Sublime Text 2 ¿El mejor editor para programadores?

SonarQube: analizando un proyecto Java

Aquí está la segunda parte del tutorial de SonarQube donde voy a explicar cómo analizar un proyecto Java mediante Sonar Runner, cliente de SonarQube. La primera parte del tutorial la podéis encontrar aquí

Lo primero que hay que hacer antes de poder empezar a analizar nuestro código es crear un fichero con algunas propiedades dentro del proyecto que queramos analizar. Este fichero es necesario para informar a Sonar Runner acerca de algunas propiedades que necesita. Para ello vamos a la raíz del proyecto, en mi caso C:\Users\Enrique\workspace\proyectoFinalISW0.3, creamos un nuevo fichero llamado sonar-project.properties y añadimos la información básica acerca de nuestro proyecto:

 # Required metadata
 sonar.projectKey=proyectoB7
 sonar.projectName=proyectoFinalISW0.3
 sonar.projectVersion=1.0

# Paths to source directories.
# Do not put the "sonar-project.properties" file in the same directory with the source code.
# (i.e. never set the "sonar.sources" property to ".")
sonar.sources=src

# The value of the property must be the key of the language.
 sonar.language=java

# Encoding of the source code
 sonar.sourceEncoding=UTF-8

# Additional parameters
 sonar.my.property=value
 

Una vez creado el fichero con las propiedades básicas de nuestro proyecto vamos hasta la raíz del proyecto a través de la línea de comandos y ejecutamos el comando sonar-runner. Continúa leyendo SonarQube: analizando un proyecto Java

SonarQube: instalación y configuración

Hace poco que he empezado a usar SonarQube y la verdad es que me están gustando mucho las posibilidades que ofrece. En este post voy a hablar acerca de esta herramienta y voy a comentar paso a paso el proceso de instalación y configuración del mismo. El proceso de análisis lo dejaré para otro post para no hacer demasiado largo este.

SonarQube es una plataforma para evaluar código fuente. Es software libre y usa diversas herramientas de análisis estático de código fuente como Checkstyle, PMD o FindBugs para obtener métricas que pueden ayudar a mejorar la calidad del código de nuestros programas. Además, tiene soporte para más de 20 lenguajes de programación entre los que se encuentran Java, C#, C / C++, PL / SQL, Cobol, ABAP, Python, JavaScript…

arquitectura_sonar Continúa leyendo SonarQube: instalación y configuración