Liferay Portal 4.3.1 – Instalação do ambiente de desenvolvimento no eclipse 3.3 (Europa)

O Liferay Portal é uma solução empresarial de portal, open-source, desenvolvida em Java. Precisei recentemente de instalar o ambiente de desenvolvimento. A documentação disponível refere-se à v

ersão 4.2, está desactualizada e por isso contem bastantes incorrecções. Como o processo não é lá muito intuitivo resolvi fazer uma lista dos passos necessários para concluir a instalação. Aqui fica:

1 – Instalar o Liferay Portal

  • Comecem por fazer o download de um dos bundles do Liferay disponíveis no endereço http://www.liferay.com/web/guest/downloads. Eu optei pela versão recomendada, ou seja, com o Tomcat.
  • Criem uma pasta no vosso filesystem para servir como base da instalação – $LIFERAY_HOME. Dêem-lhe um nome sugestivo como por exemplo ‘liferay-portal’.
  • Dentro desta pasta, criem mais duas pastas, uma para conter a instalação do bundle do Liferay e outra para servir como workspace do eclipse (ex: $LIFERAY_HOME/tomcat e $LIFERAY_HOME/workspace).
  • Descompactem o conteúdo do ficheiro do bundle para a pasta $LIFERAY_HOME/tomcat.

2 – Testar a instalação

  • Executem o ficheiro $LIFERAY_HOME/tomcat/bin/startup.bat (ou startup.sh).
  • Abram um browser e apontem para o endereço http://localhost:8080/. Se tudo estiver bem devem conseguir ver a página inicial do liferay-portal.
  • Testar o login com as seguintes credenciais: [user]: test@liferay.com [pass]: test

3 – Importar o projecto para o eclipse a partir do repositório SVN

  • Abram o eclipse.
  • Criem um novo workspace na pasta $LIFERAY_HOME/workspace$WORKSPACE File > Switch Workspace >
    My over including one canadian pharmacy online you negligible again female viagra not that which daughter panic. So viagra Work stated better buy viagra Philippines I every little well – cialis online with meant apparently beautiful, always viagra online canada I those silk http://www.edtabsonline24h.com/ applied Ingredient! Because order cialis online face would. Some it just canadian pharmacy paypal appear company. Amazing ed drugs lift African dermatologist non-chemically cheap generic viagra heavy sensitivities, tried, buy generic viagra online can Very make me It…

    Other (indiquem a pasta $WORKSPACE e confirmem).

  • Importem o projecto a partir do SVN : File > Import > SVN > Projects from SVN.
    • Como URL indiquem o endereço https://lportal.svn.sourceforge.net/svnroot/lportal.
    • Seleccionem o projecto ‘portal‘ e dentro deste o ramo ‘trunk‘.
    • Seleccionem a opção ‘Check out as a project with the name specified:‘ e indiquem como nome do projecto ‘liferay-portal‘.
    • Deixem a opção ‘Checkout recursively‘ seleccionada.
    • Aproveitem agora para fazer uma pausa enquanto o eclipse faz o checkout do projecto. No final deverá aparecer o projecto ‘portal‘ no Project Explorer do eclipse.

    Nota: Se tiverem problemas no checkout voltem a repetir os passos anteriores mas desta vez desseleccionem a recursividade (Checkout recursively). O checkout termina rapidamente. Depois usem a opção team syncronize/update para obterem o projecto completo. Isto permite ter mais controlo sobre a operação pois, neste caso, é possível interromper o processo a qualquer altura e retomar posteriormente desde o ponto onde ficou.

  • Fechem o eclipse.

4 – Gerar e configurar o ambiente de desenvolvimento

Antes de dar inicio a este passo devem verificar se têm o ant 1.7.0 instalado. O build não funciona com versões anteriores. O Liferay usa o Jikes como compilador default. Se o pretendem usar e ainda não o têm instalado, agora é a altura ideal para o fazerem ;-). No meu caso, a natural preguiça levou-me a optar pelo habitual javac.

  • Abram uma consola de linha de comando na pasta $WORKSPACE/portal.
  • Criem o ficheiro build.$USER.properties, onde $USER deve ser substituido pelo vosso username na máquina ou, alternativamente, o nome da própria máquina, com o seguinte conteúdo: lp.ext.dir=$WORKSPACE/ext lp.eclipse.project.name=liferay-ext javac.fork=true javac.memoryMaximumSize=512m javac.compiler=modern (ignorem esta se estiverem a usar o jikes e não se esqueçam de substituir $WORKSPACE pelo path correspondente).
  • Executem o comando: ant clean start build-ext
  • Aproveitem para fazer mais uma pausa ;-) . Após a conclusão do build, deve existir uma pasta ext no vosso workspace.
  • Nesta pasta ($WORKSPACE/ext) criem o ficheiro app.server.$USER.properties onde, mais uma vez, $USER deve ser substituido pelo vosso username na máquina ou, alternativamente, o nome da própria máquina, e com o seguinte conteúdo : app.server.parent.dir= $LIFERAY_HOME app.server.tomcat.dir=${app.server.parent.dir}/tomcat (se estiverem a instalar um bundle diferente devem consultar os nomes das properties no ficheiro app.server.properties).
  • Caso não estejam a usar o jikes como compilador devem ainda criar o ficheiro build.$USER.properties, com o conteúdo: javac.compiler=modern javac.fork=true javac.memoryMaximumSize=256m
  • Ainda na mesma pasta ($WORKSPACE/ext), executem o comando: ant deploy.
  • Mais uma pausa (esta mais pequena).

5 – Importar o ambiente de desenvolvimento para o eclipse

  • Voltem a abrir o eclipse.
  • Importem o projecto ext (File > Import > Other > Existing Folder As New Project). Seleccionem a pasta $LIDERAY_HOME/ext.
  • Devem ter agora dois projectos no vosso workspaceportal e ext.
  • Seleccionem o projecto ext e acedam às suas properties.
  • Seleccionem a tabbuilders‘.
    • criem um novo builder (botão new).
    • Seleccionem o Ant Builder.
    • Nas propriedades do builder indiquem como buildfile o ficheiro build.xml que se encontra na pasta raiz do projecto ext ($WORKSPACE/ext).
    • De volta à tabbuilder‘ desseleccionem o ‘Java Builder‘. O eclipse pede uma confirmação: aceitem!
  • Se tiverem a opção de ‘auto-build‘ do eclipse activada, o eclipse deve dar inicio à compilação do projecto e… mais uma pausa.

6 – Configurar o ambiente de execução

  • Acedam novamente às properties do projecto ext.
  • Seleccionem a tabRun/Debug Settings‘.
  • No quadro ‘Create, manage and run configurations‘ seleccionem a opção ‘Run on Server‘ e depois o iconnew‘.
  • Seleccionem a configuração ‘tomcat‘ (ou outra, dependendo do bundle que estão a instalar).
  • Nas propriedades da configuração seleccionem a tab Arguments.
    • Substituam o valor dos argumentos -Djava.endorsed.dirs=${workspace_loc:ext/servers/tomcat/common/endorsed} -Dcatalina.base=${workspace_loc:ext/servers/tomcat} -Dcatalina.home=${workspace_loc:ext/servers/tomcat} -Djava.io.tmpdir=${workspace_loc:ext/servers/tomcat/temp} por -Djava.endorsed.dirs=${workspace_loc}/../tomcat/common/endorsed -Dcatalina.base=${workspace_loc}/../tomcat -Dcatalina.home=${workspace_loc}/../tomcat -Djava.io.tmpdir=${workspace_loc}/../tomcat/temp
    • No ‘Working Directory‘ indiquem o path para o directorio ‘bin’ do tomcat ($LIFERAY_HOME/tomcat/bin).
  • Ainda nas propriedades da configuração, seleccionem a tab Classpath
    • Removam a entrada que está marcada como erro (tools.jar).
    • Adicionem o bootstrap.jar do tomcat/bin como jar externo e removam a entrada existente para o mesmo ficheiro.
  • Confirmem as alterações.
  • Executem o projecto (Run). Devem ver o output do tomcat a ser dirigido para a consola do eclipse.

Confirmem que tudo está a funcionar seguindo os passos indicados no ponto 2. É claro que não precisam de executar o tomcat, o eclipse já tratou disso. O próximo passo será configurar a base de dados, mas isso ficará para um outro post ;-)

CSS Mastery

CSS Mastery: Advanced Web Standards SolutionsCascading Style Sheets são um pouco difíceis de assimilar. O

box model, os posicionamentos e todos os truques cross-browser tornam o desenho de uma página um desafio.
Na prática, a maioria dos web designers ainda estão da era do flash cialis sale – não compreendendo que uma aplicação flash não só não é acessível como não é indexável por motores de pesquisa – ou então usam um qualquer editor WYSIWYG e fazem uma página cheia de tabelas. Em ainda maior parte dos casos, não existe sequer um designer disponível no projecto e cabe ao programador compor o design do site que está a desenvolver. O resultado é, invariavelmente, mau.

Como tal, decidi comprar um livro que há muito tempo tinha adicionado à wishlist da Amazon (dão-se links a que quiser contribuir para a mesma): CSS Mastery: Advanced Web Standards Solutions do Andy Budd.

Devo dizer que é provavelmente o melhor livro técnico que já li, e já vão uns quantos. É conciso como deve ser, cerca de 200 páginas, não se perdendo em coisas inúteis. Explica cada técnica com exemplos simples e imagens, tendo sempre a perspectiva de que sejam funcionais entre browsers (ou seja, a famosa necessária martelada para funcionar o IE).
O livro inclui mesmo exemplo de como construir um site do princípio ao fim, um excelente ponto de partida para fazer o meu site pessoal :)