ago 28
Configurando o ambiente de Extensão do Liferay
icon1 lucas | icon2 Liferay, portal | icon4 28 08 2009| icon33 comentários »

Este artigo explica como configurar o ambiente de extensão, que possibilita a customização do liferay para suas necessidades.

Requisitos:

  • Java 5.0+
  • Ant 1.7 ou inferior
  • Cliente SVN (TortoiseSVN)
  • Código fonte do portal Liferay
  • Servidor Web (tomcat)

Iniciando:

Primeiramente configure a variável JAVA_HOME para o diretório java configurado na máquina. ConfigureANT_HOME para o diretório Ant. Adicione JAVA_HOME\binANT_HOME\bin no Path do sistema.

Criando e implantando:

Primeiramente faça diretório base para o Liferay (ex.: c:\Liferay). Desse ponto em diante utilizaremos esse diretório.
Descompacte o código do portal para {liferay}\portal.

Configurando as propriedades do servidor da aplicação

Copie o arquivo app.server.properties , localizado em {liferay}/portal, para o mesmo diretório com o nome de app.server.{nome_usuário}.properties, onde {nome_usuário} é o nome de login no sistema.
Para o servidor tomcat, deveremos setar a propriedade app.server.tomcat.dir=c:/portal/tomcat

Configurando seu Compilador

No Liferay-5 o compilador padrão é o Sun Java compiler, pois o Liferay-5 e posteriores são feitor para o JDK 5. Versões anteriores assumem o compilador Jikes como padrão.
Para utilizar o compilador java da Sum, coloque “modern” na propriedade javac.compiler no arquivo{Liferay}/portal/build.properties.
Copie o arquivo build.properties para build.{nome_usuario}.properties, no mesmo diretório.

Construção pelo Ant

Para construir o liferay, navegue até a pasta {liferay}\portal e execute:
ant clean start
O comando start irá construir todos os módulos de forma que garanta que tudo saia dentro do planejado.
Você deve executar esse comando sempre que ocorrer mudanças no código contigo em portal/ . Isso inclui mudanças no repositório.
Descompacte Tomcat em {Liferay}\tomcat se você ainda não tiver o tomcat instalado.

Configurando as propriedades da versão para o ambiente de desenvolvimento de extensões.

Vá para {Liferay}\portal e crie o arquivo release.{nome_usuario}.properties, onde nome_usuário é o nome de login no sistema. Fique atento que o nome de usuário é case sensitive até mesmo no Windows

Adicione a linha:

lp.ext.dir={Liferay}/portal/ext
Execute a seguinte em {liferay}\portal:
ant built-ext
Verifique que o ambiente EXT foi construido em {Liferay}/portal/ext
Copie ou mova os seguintes arquivos de propriedades para o ambiente de desenvolvimento:{Liferay}\portal\ext
  • {Liferay}\portal\build.{nome_usuário}.properties
  • {Liferay}\portal\release.{nome_usuario}.properties
  • {Liferay}\portal\app.server.{nome_usuario}.properties
  • Desenvolvendo

    Agora você está pronto para usar o ambiente de desenvolvimento para customizar seu Liferay. Se puder, não crie portlets no ambiente EXT de desenvolvimento. Use os pugins SDK.
    É aconselhado a nunca modificar o código fonte do core do Liferay, mas você pode copiar o código para o ambiente de desenvolvimento de extensão. Isso é recomendado para não ocorrer conflitos em futurosupdates e para manter um backup do codigo do core.
    Se deseja realizar algumas mudanças no código do Liferay, copie a estrutura do diretorio para o ambiente de desenvolvimento.
    Para implementar o servidor web, execute o seguinte em {Liferay}/portal/ext
    ant deploy

    Observações:

    O comando “ant deploy” não copia {Liferay}/ext/servers/conf/Catalina/localhost/ROOT.xml no diretório do Tomcat. Você necessita editar esse arquivo para definir o código da sua base de dados e manualmente copiar isso para o servidor Tomcat {Tomcat}/conf/Catalina/localhost/ROOT.xml

    OBS: O texto acima se baseia no artigo.

    Veja também:

    ago 28
    Configurando o Eclipse como Ambiente de desenvolvimento para o Liferay
    icon1 lucas | icon2 Geral, Liferay, portal | icon4 28 08 2009| icon3Não há comentários »

    Configurando o Eclipse

    Iremos abordar como utilizar a IDE do Eclipse com o portal Liferay

    Configuração Básica

    Primeiramente baixe e instale a Eclipse IDE. Posteriormente configure o ambiente de desenvolvimento citado acima.
    Obs: crie <diretorio_projeto>/liferay/portal e descompacte o código fonte no diretório. Utilize <diretorio_projeto>/liferay como o “workspace” dentro do Eclipse. O diretório do ambiente de desenvolvimento deve ser <project>/liferay/ext. Tenha certeza de criar o arquivo app.server.${user.name}.properties no seu código liferay e utilizar o apropriado diretório para app.server.type and app.server.${app.server.type}.dir antes de executar o comando “ant start”.
    Posteriormente execute “build-ext”, o script para o mysql estará em /ext/sql/create/create-mysql.sql.

    Configurando o MySQL

    1. Execute o script create-mysql.sql através da linha de comando do mysql.
    2. Mude no Tomcat a configuração para que ele utilize o MySQL como banco de dados padrão.

    Eclipse Debugger

    1. Abra o menu “Run” e posteriormente “Run Configurations…”
    2. Abaixo de Java Applications, acesse “New”
    3. Na aba “Main” selecione o codigo fonte do portal ou o projeto EXT
    4. Em “Main class” coloque org.apache.catalina.startup.Bootstrap e não tique nenhum checkbox
    5. Vá para a aba “Arguments” e em “Program arguments” escreva: start
    6. Em “VM arguments” coloque:
      -Xmx512m
      -XX:PermSize=32m
      -XX:MaxPermSize=160m
      -Dfile.encoding=UTF8
      -Duser.timezone=GMT
      -Djava.security.auth.login.config=${tomcat-root-folder}/conf/jaas.config
      -Dcatalina.base=${tomcat-root-folder}
      -Dcatalina.home=${tomcat-root-folder}
      -Djava.io.tmpdir=${tomcat-root-folder}/temp 
      
      

    Modifique ${tomcat-root-folder} com o local onde está o diretório raiz do seu Tomcat.

    Continuando a configuração:

    1. Ainda na aba “Arguments”, na opção “Working directory” coloque ${tomcat-root-folder}/bin em “Other”. modifique o diretório raiz do Tomcat novamente.
    2. Na aba Classpath, remova TODOS as Entradas de usuários, apenas não remova JRE System library
    3. Selecione “User Entries” e clique em “Add External JARs”, encontre o bootstrap.jar no caminho ${tomcat-root-folder}/bin e adicione ele.
    4. Na aba “Source”, selecione algum projeto relacionado, mas tambem escolha o projeto principal. Por exemplo, se deseja debugar um plugin, adicione tambem o código do portal.
    5. Na aba  ”Common” selecione RUN and DEBUG
    6. A partir de agora, quando quiser debugar voce apenas deve clicar no botão “debug”.

    Dicas e Truques

    • Enquanto estiver em qualquer editor do Eclipse, pressione Shift+Ctrl+T. Irá abrir a tela de “find-tipe” do Eclipse. Escreva o nome da classe que deseja olhar. Duplo clique e o Eclipse irá abrir o fonte para voce.
    • Voce tem um código fonte aberto mas ainda não sabe onde ele está na arvore? Clique no editor do codigo fonte e selecione “Show in” no menu da direita. Selecione “NAVEGATOR” ou “PACKAGE EXPLORER” para ter a visualização adaptada para o arquivo que está editando.
    • Com qualquer nome de classe ou metodo sublinhado no código fonte, precione F3 e a interface de “open declaration” será aberta. O mesmo resultado pode ser obtido segurando a tecla “WIN” e clicando sobre a classe/metodo.
    • Para localizar onde a variavel, método ou classe são é usada no código, posicione o cursor no nome, em qualquer arquivo java, clique com o botao direito e selecione “References -> Workspace”
    • Para visualizar o código atraz de uma interface você deve posicionar o cursor sobre uma interface e pressionar o F4. A tela de “Type Hierarchy” será aberta.
    • Se você ver uma propriedade em portal.properties e quer saber mais informações sobre ela, você pode combinar as dicas acima e conseguir essas informações rapidamente. Quase todas as propriedades definidas nesse arquivo tem uma string correspondente na classecom.liferay.portal.util.PropsUtil. Então a primeira coisa que deve fazer é usar o Ctrl+Shift+t e abrir o editor de tipos, em PropsUtil, e abrir o código fonte.

    Esse artigo se baseia nesse texto.

    Veja também:

    ago 28
    Desenvolvendo no ambiente de extensão do Liferay usando o Eclipse
    icon1 lucas | icon2 Geral, Liferay, portal | icon4 28 08 2009| icon3Não há comentários »

    Desenvolvendo no ambiente de extensão.

    Agora iremos explicar como é o processo para desenvolver tarefas no ambinete de desenvolvimento de extensões.
    O Desenvolvimento é feito no diretório /ext. Quando uma nova verão do liferay é liberada, o diretório/portal é substituido com a nova versão e o diretório /ext será atualizado após a reutilização do comando build-ext.
    Qualquer novo arquivo jar que suas extensões precisem devem ser colocados em /ext/ext-lib

    Processo padrão para o Desenvolvimento

    1. Tenha certeza que o ambiente de execução está configurado, como mostrado anteriormente.
    2. Altere as propriedades do portal editando o arquivo /ext/ext-imp/src/portal-ext.properties
    3. Altere as configurações em web.xml adicionando entradas em /ext/ext-web/docroot/WEB-INF/web.xml (apenas faça as alterações que você precisa, pois as alterações serão mescladas com o arquivo web.xml no final do desenvolvimento.
    4. Escolha os portlets que deseja implementar editando o arquivo /ext/ext-web/docroot/WEB-INF/liferay-portlet-ext.xml
    5. Edite a linguagem e as informações visuais do portal editando os arquivos /ext/ext-impl/src/content/Language-ext.properties ou /ext/ext-impl/src/content/Language-ext_en.properties
    6. Para que novas classes façam parte do núcleo do portal elas devem ser criadas no diretório: /ext/ext-impl/src.
    7. Para criar um portlet totalmente novo, siga as instruções desse artigo: http://content.liferay.com/4.0.0/docs/quickstart/ch04s02.html
    8. Execute o comando deploy no caminho /ext/build.xml. Isso irá mesclar  as alterações, construir o sistema e implementar a configuração no servidor (configurado no arquivo /ext/app.server.<nome_usuário>.properties)
    Se está desenvolvendo uma instancia do portal e uma customização é alterada/criada/atualizada modifique os arquivos colocando eles no diretorio /ext/ext-web/docroot. Quando estiver preparado para implementar, execute o comando “deploy” em /ext/ext-web/build.xml. Esse procedimento irá unjar a configuração original web de /ext/ext-ear/modules/portal-war para um diretório temporário, sobrescrevendo o diretório temporario com esses arquivos em /ext/ext-web/docroot, em seguida, implemente no servidor da aplicação.

    Modificando o Core do Liferay

    O ciclo para o desenvolvimento de modificações no core do liferay é:
    1. Fazer as modificações necessarias no arquivo apropriado dentro de /portal (a parte mais interessante fica em /portal/portal-impl/src
      -> Se estiver adicionando uma coluna a uma  entidade, não modifique o arquivo XXXModel.java, mas adicione isso ao service.xml
      ->  Se estiver adicionando um novo metodo de serviços, modifique XXXServiceImpl.javaou XXXLocalServiceImpl.java. Não modifique nenhum outro arquivo da interface de serviços.
      -> Se alguma modificação for feita em algum dos dois acima, execute  ”build-service-portal” e/ou “build-service-portlets” em /portal/portal-impl/build.xml Para que o código seja gerado novamente.
    2. Execute o comando “start” em /portal/build.xml (para reconstruir o portal)
    3. Execute o comando “build-ext” em /portal/build.xml (para recriar o ambiente de execução, re-implemente as novas alterações do passo 2 acima.
    Isso irá recriar o ambiente de desenvolvimento, mas irá preservar todas as suas modificações nos arquivos “-ext”. Você pode implementar essas modificações reutilizando o comando “deploy” em /ext/build.xml
    Nota: Na teoria, multiplos web sites podem ser desenvolvidos concorrentemente criando varios diretórios para cada site, em /ext/web-sites/<nomeDominio>-web.

    Sobrescrevendo arquivos JSP’s do core do Liferay

    JSP’s que estão no núcleo do liferay podem ser facilmente customizados/sobrescritos simplesmente utilizando uma mudança paralela no ambiente EXT.
    Por exemplo, se deseja modificar o arquivo view.jsp do portlet de login, os passos são:
    1. Localize o código JSP no núcleo do portal (portal/portal-web/docroot/html/portlet/login/view.jsp)
    2. Copie o arquivo para a localização correspondente no diretório do ambiente EXT (crie as pastas necessárias.
      -> Crie a pasta ext/ext-web/docroot/html/portlet/login/
      -> Copie o JSP do portal para o ext (view.jsp)
    3. Faça as alterações que deseja no JSP contido no ambiente de desenvolvimento.
    4. Implemente as alterações.
      -> Desde que nós realizamos alguma alteração no JSP, poderemos utilizar o comando “deploy-fast” no diretório ext/ext-web/build.xml, que somente deverá modificar os JSP’s

    Configurando o Log4J

    1. Copie /portal/portal-impl/classes/META-INF/portal-log4j.xml para /ext/ext-impl/classes/META-INF/portal-log4j-ext.xml (i.e. copie de /portal/portal-impl para /ext/ext-impl, renomei para  portal-log4j-ext.xml)
    2. Copie /portal/portal-impl/classes/META-INF/log4j.dtd para o mesmo /ext/ext-impl/classes/META-INF diretorio acima.
    3. Modifique nosso novo portal-log4j-ext.xml com quaisquer parametros do log4j que desejar.
    4. Para a versão 5.2.x voce não precisa copiar o arquivo todo, apenas cie um arquivo novo log4j e adicione sua propria <category> e seus elementos. Após isso substitua em portal-log4j-ext.xml com diferentes niveis de log ou crie novos.
    5. Implemente seu ambiente de execução.

    OBS: O texto acima se baseia no artigo.

    Veja Também:

    ago 11
    Permitindo que o Sugar CRM envie uma mensagem a um destinatário mais do que uma vez

    O SugarCRM não permite que uma mesma mensagem seja enviada a um mesmo destinatário mais do que uma vez. O e-mail do destinatário fica na lista “Suppressed Messages”.

    Para desabilitar este comportamento, edite o arquivo sugarcrm\modules\EmailMan\EmailMan.php. Localize o trecho de código marcado com o comentário “test for duplicate email address by marketing id” e comente as linhas a seguir. O código ficará como abaixo:

    
    //test for duplicate email address by marketing id.
    //$dup_query="select id from campaign_log where more_information='".$module->email1."' and marketing_id='".$this->marketing_id."'";
    //$dup=$this->db->query($dup_query);
    //$dup_row=$this->db->fetchByAssoc($dup);
    //if (!empty($dup_row)) {
    //we have seen this email address before
    //$this->set_as_sent($module->email1,true,null,null,'blocked');
    //return true;
    //}
    

    Se não quiser desabilitar esta funcionalidade permanentemente, basta apagar os respectivos registros na tabela “campaign_log" do seu banco de dados do Sugar CRM.

    ago 11
    Envio de e-mails em massa com o SugarCRM
    icon1 admin | icon2 Geral, crm, tutoriais | icon4 11 08 2009| icon3Não há comentários »

    Uma das funcionalidades mais interessantes do SugarCRM é o envio de e-mails em massa.

    A seguir, um breve tutorial de como usar este recurso.

    Configuração

    Acesse a área de administração do sistema clicando no link Admin, localizado no canto direito superior.

    • Na seção Email, clique em Email Settings
      • Preencha os campos obrigatórios
      • Em “Compose email messages” in this format selecione “HTML Email”
      • Em “Compose email messages in this character set”, selecione ISO-8859-1. Este é o padrão da maioria dos clientes de e-mail no Brasil. Se preferir usar um padrão internacional, escolha UTF-8.
      • Na seção Email Security Settings, marca a opção Select “Outlook default minimum security precautions (errors on the side of correct display)”.
      • Clique no botão “Save” para gravar as alterações.
    • Ainda na seção Email, clique em Inbound Email.
      • Configure uma conta de e-mail do tipo Bounce Handling. Este conta será usada para gerenciar os e-mails que por algum motivo não puderam ser enviados.
    • Acesse Manage campain email settings
      • Preencha o campo Number of emails sent per batch com o valor 10. Enviar muitos e-mails de uma só vez é considerado SPAM pela maioria dos clientes de e-mail.
      • Clique no botão Save para confirmar as alterações.

    Criando uma campanha

    • Clique no menu Campaigns
    • No menu da esquerda, clique em Create Campaign
    • Preencha os campos e clique em Save
    • Em seguida, selecione a lista de pessoas que serão o alvo da campanha
    • Na seção Email Marketing, crie a peça de email que será enviada

    Enviando a campanha

    • Selecione a campanha que deseja enviar e clique no botão Send Email.
    • Marque o email que deseja enviar e clique no botão Send.
    • Neste momento a sua campanha está na fila de envios. Para se certificar de que a campanha será enviada imediatamente, entre na área administrativa e clique em Manage Email Queue e clique no botão Send Queued Campaign Emails.
    • Vale ressaltar que uma mesma mensagem só pode ser enviada a uma mesma pessoa uma única vez.

    Referências

    http://www.sugarcrm.com/wiki/index.php?title=HOW-To_guide_for_Email-Campaigns

    http://blog.ffff.ca/2009/03/09/working-with-email-campaigns-in-sugarcrm

    Espero que este tutorial seja muito útil. Sugestões para sua melhoria são bem-vindas. Estejam à vontade para fazerem comentários.

    ago 11
    Configurar servidor FTP para exibir apenas a pasta do usuário

    Por padrão, o servidor VSFTP permite que o usuário veja todo o sistema de arquivos.

    Para limitir o seu campo de visão à sua pasta home. Edite o arquivo /etc/vsftpd/vsftpd.conf e adicione a diretiva chroot_local_user=YES. Em seguida, reinicie o serviço com o comando /etc/init.d/vsftpd restart..

    ago 8
    Como usar o formulário de contato em conjunto com o Google Apps

    Por ser um sistema confiável, muitas empresas tem usado o Google Apps para gerenciar suas contas de e-mail. Entretanto, ao implementar um formulário de contato em seus sites, deparam-se com um problema inesperado: a mensagem não chega à caixa de e-mails da empresa.

    Ao fazer testes, observa-se que a mesma mensagem vai para e-mails de outros domínios, mas não vai para e-mails do mesmo domínio do site.

    Este problema ocorre pois o sistema de envio de e-mails do servidor, também conhecido pela sigla MTA (Mail Transport Agent) está configurado para enviar e-mails, cujo destino é o seu próprio domínio, para si mesmo. Ou seja, a mensagem nunca é enviada para o servidor externo, o qual gerencia as contas de e-mail do domínio.

    Se o sistema de envio de e-mails usado é o EXIM, siga as instruções abaixo para resolver este problema:

    1. Edite o arquivo exim.conf, geralmente localizado em etc/exim/exim.conf. Ex: nano /etc/exim/exim.conf
    2. Procure pela linha domainlist local_domains = @ :localhost : localhost.localdomain
    3. Substitua essa linha por domainlist local_domains = localhost : localhost.localdomain

    Espero que este pequeno tutorial tenha ajudado. Caso tenha informações sobre configuração de outros MTAs, por favor, envie um comentário.

    ago 5
    Pagamento Digital

    O Pagamento Digital é um serviço completo de soluções de pagamento.

    Com nossa tecnologia, temos um canal direto de comunicação com bancos e operadoras de cartões de crédito ( Visa 10x, Mastercard 12x, American Express 15x, Aura 24x, Diners 10x, HiperCard 12x e Boleto Bancário e também com seu Saldo Virtual Pagamento Digital ), fazendo com que todas as transações no ambiente Pagamento Digital sejam seguras.

    Aumente suas vendas com Pagamento Digital

    Oferecemos diversos produtos e serviços para atender a compradores e vendedores aliando sempre agilidade, segurança e praticidade.

    Utilize Pagamento Digital em Seu Site. Venda mais e com segurança!

    Compras na Internet

    O Pagamento Digital propicia uma experiência de compra extremamente amigável e segura.

    Com o Pagamento Digital não é necessário criar contas e senhas para cada loja virtual. Você mantém apenas a conta Pagamento Digital e concentra nela todas as informações de suas compras on-line.

    Em suas compras com o Pagamento Digital seus dados de cartões de crédito e demais informações financeiras não são reveladas para os vendedores.

    Sua tranquilidade é garantida com a Intermediação Pagamento Digital, ferramenta que permite o bloqueio do valor pago até 14 dias após o pagamento.

    Beneficios Pagamento Digital

    Utilize Pagamento Digital em Seu Site. Venda mais e com segurança!