domingo, março 23, 2014

Usando o Mingle para Projetos Scrum

Estava fazendo análise de um sistema e escolhi utilizar o mingle da ThroughWorks como gerenciador para um projeto que será feito com Scrum. Achei muito prático e funcional, vou utilizá-lo e ao final do projeto falo mais informações sobre a experiência que tive com ele.


quarta-feira, março 19, 2014

Cfweels model("user").new() Error (expression)


ColdFusion on Wheels
Depois de instalar o framework Cfwheels em meu servidor web (Coldfusion 10/Railo), aconteceu o seguinte erro quando tentei instanciar model() conforme o tutorial fornecido na página oficial do framework: Beginner Tutorial: Hello Database. Quando o browser chamar o Controller, vai ocorrer erro no seguinte trecho do código:

user = model("user").new()

A página retorna a mensagem de erro:

Message invalid component definition, can't find wheels.wheels.Connection 

A resolução para este problema está no nome da pasta, você provavelmente deve ter uma estrutura de diretório parecida com a linha abaixo:

/home/ptrdvo/railo/webapps/wheels_1.1.8/wheels/global/internal.cfm 

Você tem de renomear a primeira pasta Wheels_1.1.8 para outro nome qualquer como na linha abaixo:

/home/ptrdvo/railo/webapps/projeto/wheels/global/internal.cfm 

Encontrei a resposta para este problema após garimpar algumas horas no fórum da Cfwheels, se quiser pode acessar a fonte aqui. Se esta dica foi útil para você escreva uma mensagem!


sexta-feira, fevereiro 10, 2012

segunda-feira, junho 22, 2009

Agilize Coldfusion Components com Bean Dinâmico (Genérico)

Assisti um vídeo do Terry Ryan em Adobe TV sobre como acelerar o desenvolvimento com Coldfusion Componentes (CFC), achei muito bom e aproveitei para reescrever o Bean dinâmico utilizando cfscript. Testei e funcionou, muito boa a dica! Segue o código fonte:


<cfcomponent displayname="BeanDynamic.cfc">

<cffunction name="init" access="remote" output="false" returntype="Any">
<cfscript>
return this;
</cfscript>
</cffunction>

<cffunction name="onMissingMethod" access="public">
<cfargument name="missingMethodName" type="string" required="false" />
<cfargument name="missingMethodArguments" required="false" />
<cfscript>
var attribute = "";

if( compareNoCase(left(arguments.missingMethodName,3),"get") eq 0 ){

attribute = getMissingMethodName(arguments.missingMethodName);
return get(attribute);

} else

if( compareNoCase(left(arguments.missingMethodName,3),"set") eq 0 ){

attribute = getMissingMethodName(arguments.missingMethodName);
return set(attribute, arguments.missingMethodArguments[1]);
}
</cfscript>
</cffunction>


<cffunction name="getMissingMethodName" access="private" returntype="Any">
<cfargument name="missMethName" type="string" required="false" />
<cfreturn right(arguments.missMethName,len(arguments.missMethName)-3)>
</cffunction>

<cffunction name="get" access="private" output="false" returntype="Any">
<cfargument name="attribute" type="string" required="true" />
<cfreturn variables.instance[arguments.attribute] />
</cffunction>

<cffunction name="set" access="private" output="false" returntype="Any">
<cfargument name="attribute" type="string" required="true" />
<cfargument name="value" type="any" required="true" />

<cfset variables.instance[arguments.attribute] = arguments.value />

<cfreturn this />
</cffunction>

<cffunction name="getVars" access="remote" output="false" returntype="Any">
<cfreturn variables.instance>
</cffunction>

</cfcomponent>



Para Testar em seguida:


<cfscript>
BeanDynamic = createObject('component','BeanDynamic').init();
BeanDynamic.setNome('Fernando');
BeanDynamic.setEmail('fernando@teste.com');
</cfscript>

<cfoutput>
#BeanDynamic.getNome()#<br />
#BeanDynamic.getEmail()#
</cfoutput>

quinta-feira, junho 18, 2009

Instalando certificado digital no Coldfusion com Keytool

Tivemos alguns problemas no Servidor Web, para aproveitar a oportunidade realizei a atualização do Coldfusion 7 para Coldfusion 8 com update 8.02 não tive muita dor de cabeça para liberar o servidor, pois é importado toda configuração para a nova versão. Isso economizou algumas horas, não pensei que estivesse tão fácil para atualizar um servidor Cf7 para Cf8. Lembro que nas versões antigas era necessário reconfigurar.

Com o servidor atualizado e funcionando, tivemos uma falha inesperada em uma aplicação usando CFHTTP post com SSL. O dump da resposta CFHTTP exibia isso:
Com base nisto conclui que a atualização Cf7 para Cf8 copiou tudo com exceção dos certificados digitais que estavam instalados na VM. Portanto, foi necessário a instalação do certificado utilizado nesta aplicação para isso utilizei um arquivo bat que peguei há muito tempo atrás se não me falha a memória foi em: www.talkingtree.com/blog.

Primeiramente copie o arquivo do certificado .cer na pasta do Coldfusion na subpasta: \runtime\jre\lib\security.

Segue o arquivo run_keytool_import.bat que deve ser configurado para instalar o certificado digital utilizando keytool. Altere basicamente o que destaquei em vermelho.

@echo off
echo
echo This will import an X.509 SSL certificate into the keystore for the JVM specified
echo
echo Press Control+C to abort.
pause
SETLOCAL

rem -------------------------------------------------
rem 1) SET COLDFUSION JVM'S JAVA_HOME HERE
rem THIS SHOULD BE THE JVM USED FOR COLDFUSION MX
rem -------------------------------------------------
set JAVA_HOME=C:\ColdFusion8\runtime

rem -------------------------------------------------
rem 2) SET THE CERTIFICATE NAME AND ALIAS HERE
rem -------------------------------------------------
set CERT_NAME=site98.rejasa.com.br.cer
set CERT_ALIAS= site98.rejasa.com.br

rem -------------------------------------------------
rem 3) SET THE KEYTOOL PASSWORD HERE
rem -------------------------------------------------
set KEYTOOL_PASS=changeit

rem -------------------------------------------------
rem DO NOT EDIT BELOW THIS LINE
rem -------------------------------------------------
set JAVA_SECURITY=%JAVA_HOME%\jre\lib\security
set CERT=%JAVA_SECURITY%\%CERT_NAME%
%JAVA_HOME%\jre\bin\keytool -import -trustcacerts -keystore %JAVA_SECURITY%\cacerts -storepass %KEYTOOL_PASS% -noprompt -alias %CERT_ALIAS% -file %CERT%
ENDLOCAL
pause

Depois de executar o arquivo bat e instalar o certificado, o dump da resposta CFHTTP exibe isso:



Já pude perceber que o acesso CFHTTP com SSL funcionou, apenas faltou os parâmetros corretos.