segunda-feira, 11 de novembro de 2013

Activiti + Alfresco Community

Pessoal,

Hoje estou aqui para passar como consegui fazer funcionar a integração do Activiti com o Alfresco Community que já estava instalado no servidor.

Como todos devem ter percebido, o Alfresco Community não vem com o "activiti-admin", pois este (ao menos até onde sei) somente é disponibilizado no bundle da instalação do Alfresco Enterprise. Porem, ao verificar no banco de dados, como já era de se esperar, podemos ver que todas as tabelas relacionas ao Activiti estão criadas, pois a integração independe do deploy do Activiti Explorer e REST.

Sem mais enrolar,  vamos a pratica dos passos que segui para que essa integração funcione com o Alfresco Community:

1 - Na base de dados do Alfresco, verifiquei qual a versão que o Alfresco está utilizando do Activiti, que no meu caso é a 5.11.

2 - Após verificar a versão, fiz o download dos WARS (Explorer e REST) na página de download do Activiti, e copiei ambos para o diretório WEBAPPS.

3 - Iniciei o TOMCAT para fazer o deploy dos novos WARS copiados para a pasta WEBAPPS.

4 - No arquivo db.properties de ambos (Explorer e REST - Localizado dentro de WEB-INF/classes), configurei o banco de dados, apontando para a base que o Alfresco estava utilizando (no meu caso, em postgreSQL). Para facilitar a minha vida, abri o arquivo alfresco-global.properties e copiei todos os dados de lá.

5 - Copiei o JDBC que estava na minha pasta LIB do Alfresco para dentro da pasta LIB de ambos (Explorer e REST - Localizado dentro de WEB-INF).

Após seguir esses passos, consegui com sucesso iniciar o TOMCAT e utilizar o Activiti normalmente.

Espero ter ajudado. Qualquer coisa que precisarem, email ou mensagem por aqui!

Do great work!

quinta-feira, 7 de novembro de 2013

Expiração de tickets(alf_ticket) - Alfresco

Fala Pessoal,

Fiquei um tempo sem postar alguma coisa aqui, mas eu realmente estava muito enrolado com trabalhos a fazer. Acredito que agora que as coisas acalmaram, vou conseguir postar mais coisas aqui.

 Nesse post, vou passar para vocês uma forma de configurar o tempo de expiração dos tickets gerados pelo Alfresco, o chamado "ALF_TICKET" ou apenas "TICKET" quando se utiliza o "wcservice".

Depois de algumas horas estudando uma forma de forçar uma expiração do ticket do usuários logado no Alfresco por se tratar de um requisito de projeto, encontrei no forum do Alfresco (clique aqui para ir até o post) uma forma simples e rápida de faze-lo. Basta criar o arquivo "custom-authentication-services-context.xml" dentro do diretorio "<alfresco>/tomcat/shared/classes/alfresco/extension". Para visualiza-lo, clique aqui.

Explicando as propriedades do XML:

validDuration - O valor dessa propriedade é referente ao tempo de expiração do ticket dos usuários. Nesse XML de exemplo está configurado para que o ticket expire em 1 minuto (PT1M). Os valor aceitos para essa propriedade são:

 * P valor literal para iniciar a expressão
 * nY número inteiro de anos seguido pelo literal Y
 * nM número inteiro de meses seguido pelo literal M
 * nD número inteiro de dias seguido pelo literal D
 * T valor literal que separa data e tempo
 * nH número inteiro de horas seguido pelo literal H
 * nM número inteiro de minutos seguido pelo literal M
 * nS número inteiro de segundos seguido pelo literal S
ticketsExpire - Propriedade boleana que diz se o ticket expira ou não.

expiryMode - Aqui será necessário dizer qual a condição para que o ticket expire. As condições possíveis são:

AFTER_INACTIVITY - O ticket irá expirar se o usuário deixar de realizar ações no Alfresco por um determinado periodo de tempo (validDuration).

AFTER_FIXED_TIME -  O ticket irá expirar quando o período de tempo determinado (validDuration) for finalizado.

DO_NOT_EXPIRE -  Não expira mesmo após o periodo de tempo configurado (validDuration) terminar.

oneOff - Propriedade boleana que se configurada como "true", permite que apenas um único usuário utilize o ticket.

É isso galera. Espero que tenha ficado bem entendido. Qualquer dúvida que tiverem, podem ficar a vontade em comentar o post ou me enviar email que responderei sempre que for possível.

Grande abraço a todos.

Do Great Work!