Fazendo o CFMX7 bater papo com o MSN Messenger, ICQ, Yahoo Messenger, AOL Messenger….

Conforme foi noticiado pelo colega Alex Hubner, aconteceu hoje o Macrochat sobre Event Gateways, uma das principais novidades do CFMX7.

Dois comentários me chamaram atenção:

O primeiro foi um feito por Scott Stroz explicando como fazer o CFMX7 interagir com MSN Messenger, ICQ, Yahoo Messenger, AOL Messenger, etc.

O segundo feito por Damon Cooper sobre onde encontrar contas SMNP para suas aplicações SMS no CFMX7.

Em breve a palestra será públicada e você poderá conferir todos os detalhes.


Pete Freitag e as novidades da função Hash()

Muito das novidades do CFMX 7.0 acabam ficando escondidas e esquecidas até que alguém comente, até que você tope com a documentação atualizada ou então através de posts como este do Pete Freitag.

Mudança simples, mas bastante interessante, é a dos novos atributos da função Hash() (algoritmo e encoding). A função Hash() é usada por muitos de nós para gerar uma criptografia de mão única para armazenamento de senhas em bancos de dados (por exemplo).

Relacionado ao assunto, vale a pena ler este post do Terracini.


MacroChat amanhã: ColdFusion Event Gateways

Não perca. Tom Jordahl vai falar sobre Event Gateways no CFMX7:

ColdFusion Event Gateways

É amanhã, dia 16/03 e começa às 14h00 (horário de brasília). Não esqueça de se registrar.


Welcome to CFOpen.org

Como o título implica, www.cfopen.org é um site que une desenvolvedores CF em torno de aplicações open source. Muito bom para quem pretende aprender mais sobre ColdFusion, assim como não reinventar a roda e melhorar “as rodas” existentes.


Bug com cfdump e UDFs no ColdFusion 7

Eu estava desenvolvendo uma UDF, e no processo de desenvolvimento e debug, por algum motivo, a UDF estava retornando valores que não deveria retornar. Eu fiz alguns testes e constatei que ao chamar uma UDF através da tag cfdump, a função é chamada duas vezes.

O código abaixo serve como exemplo de prova de conceito:

<cffunction name=“teste” output=“Yes”>
  a
  <cfreturn “bla”>
</cffunction>
<cfoutput>#teste()#</cfoutput>
<br>
<cfdump var=“#teste()#”>

O resultado esperado é:

a bla
a bla

Mas o retornado no ColdFusion 7 é:

a bla
a a bla

Ou seja, na chamada via cfdump, há output duas vezes. É claro que uma função ou retorna algum valor (cfreturn) ou mostra os valores, nunca as duas coisas ao mesmo tempo.

Mas o incoveniente deste bug é que durante o desenvolvimento e debug de uma função pode deixar o programador encucado, procurando um bug em seu código, quando não há verdade não há (que foi o que aconteceu comigo).

O bug está cadastrado na Macromedia sob o número 59856.


Relacionando CFSELECTs em Flash

Uma das principais novidades do ColdFusion 7 é a possibilidade de criar formulários em Flash. É uma grande sacada que traz bons benefícios.

Relacionar dois select HTML (menu drop-down), consiste em você primeiro selecionar uma opção no primeiro menu, e no segundo, as opções forem subdivisões do selecionado no primeiro menu. Exemplo: estado-cidade, onde você primeiro seleciona um estado brasileiro, e no menu seguinte você pode selecionar dentre as cidades daquele estado, sem a necessidade de atualizar a página, isto é, sem mandar o ID do estado para o servidor e este retornar as cidades.

Quando isso era necessario, ou os programadores escreviam sua própria função JavaScript ou utilizavam a custom tag 2SelectsRelated (ou algo assim). Há casos até de 3 (3SelectsRelated) ou mais menus co-relacionados. Tudo para evitar refresh na página.

É claro que quem já programa aplicações RIA em Flash eventualmente utiliza esse recurso e programa seu pequeno código ActionScript para lidar com esse recurso. E se o ColdFusion 7 faz formulários em Flash, e tais formulários têm um menu select, por que não utilizar esse recurso nesse caso também?

Kai König não só implementou esse recurso, como também utilizou uma maneira bem interessante de separar o código ActionScript do evento onChange.

Ele utilizou a tag cfsavecontent para criar uma variável de texto que continha o próprio código ActionScript de relacionar os dois menus select gerados e populados (através de consulta ao banco de dados) dinamicamente pelo ColdFusion.

Aliás, seja em Flash ou em ActionScript, melhor do que escrever seu código diretamente no evento, é criar uma função e chamar a função no evento; ou, como nesse caso, pelo menos separar o código ao invés de espremer um monte de código em um atributo.


Frase do Dia

“Apesar disso não ser uma questão de CF me parece cada vez mais comum aqui problemas relacionados à analise do sistema do que a programação CF propriamente dita.”

– Emanuel Costa


Justificativa técnica para o ColdFusion MX Enterprise

Tradução gigolosa do excelente paper “Justifying CF Enterprise” de John Beynon sobre as vantagens na adoção de CF Enterprise ao invés do CF Standard.

Mesmo que você ou sua empresa não vá comprar a versão Enterprise (ou nenhuma delas, sendo você ou sua empresa um(a) desenvolvedor(a)), vale a pena ler para saber mais sobre as diferenças nestas duas versões. O documento abrange o novo ColdFusion MX 7.

A tradução foi feita primordialmente por Emanuel Costa e Fabio Terracini, revisão de Douglas Camargo. A conversão para Flash Paper e este post aqui, foi feito por mim… (em resumo: fiz p* nenhuma)… 😉

Justificativa técnica para o ColdFusion MX Enterprise (191Kb, flash paper)

Isso me fez lembrar trabalhos em grupo na época da escola. O aluno que não fazia nada era sempre o que ia entregar o trabalho nas mãos (ou mesa) da professora, querendo dizer: “olha, olha, eu também tenho participação no trabalho”…


UGChat – Novidades do ColdFusion MX 7

Hoje aconteceu o segundo UGChat, via Breeze Live. O Marcelo Bezerra, colaborador do CFUG-DF, fez uma ótima apresentação dos novos recursos do ColdFusion MX 7, a nova versão do nosso querido CF. Clique aqui para assistir a gravação.

Marcelo, parabéns pela apresentação!


Por que tiraram a tag cfimage?

Há um artigo na TechRepublic sobre o ColdFusion 7 que, além das novidades, comenta a falta de tag cfimage (para manipulação de imagens) do ColdFusion 7.

No final da página há um link para os comentários do artigo, onde inclusive há uma resposta da Macromedia sobre o assunto.