2008-11-30

Reunião de Fim de Ano no CFUGBR

Próxima reunião será no dia dia 06/12/2008 no Café com o Tom, as 15:00 hs.

A palestra tem por objetivo demonstrar a integração entre o ColdFusion e o LiveCyce Data Services através do Flex 3, desde as configurações necessárias a utilização das extenções do Coldfusion para Eclipse.

E teremos como palestrante Francisco Paulino, Tofinha. Adobe Community Expert, entusiasta ColdFusion.






Reunião de Final de Ano do CFUGBR - II

Vejam os livros que chegaram para serem sorteados no próximo evento do CFUGBR.



Aguardo vocês lá.


UPDATE: ganhadores.
cfmaniaco (Rafael Gomes - Rio de Janeiro - RJ) - Adobe AIR 1.5 CookBook
Flavio Santos - Niteroi - RJ - Programming Flex 3
Fabiano Frizzo - Cascavel - PR - Flex 3 CookBook
Carlos Eduardo (e-genial) - Getting Started whit Flex 3
David (IplanRio - Rio de Janeiro) - Learninig Flex 3

2008-11-28

O futuro do ColdFusion

Raymond Camden deu sua opinião, e com a arquitetura de comunicação demonstrada no ColdFusion Evangelism Kit, fica clara a interação ColdFusion com o MXML, você pode perceber também a facilidade de produção de códigos complexos, já que a comparação é feita a Java (a linguagem excelente).

Neste Kit produzido por Kristen Scholfield, você pode comprovar as intenções da Adobe para com o ColdFusion.

2008-11-25

Gumbo SDK - Flex 4

A Adobe disponibilizou o SDK do Flex que foi apresentado na MAX 2008, a cada dia desde o dia 20/11/2008 nova release é disponibilizada para download.

Acho legal conhecer, mas para desenvolver aplicações para uso real aguarde para tabela de "Stable Builds" ser preenchida.

http://opensource.adobe.com/wiki/display/flexsdk/Download+Flex+4

2008-11-20

Resumindo o assunto - Bolt e CF9

Para que fiquem na expectativa do ColdFusion 9 e do Bolt, leia os posts de Vicente Junior.

ColdFusion IDE codename Bolt

ColdFusion 9 Centaur

Visite também a pagina do Bolt no wiki da Adobe.
http://labs.adobe.com/wiki/index.php/Bolt

E candidate-se a ser um tester do Bolt
http://www.adobe.com/go/boltprerelease

Agora sim - Gravação do anuncio Bolt

O post anterior deve ter sido frustante?! Stefan Gruenwedel, postou uma sequencia bem legal da cobertura do evento.

Adobe kicks off Day 1 in San Francisco (keynote highlights
and commentary from attendees)
http://blogs.adobe.com/adc/2008/11/max_2008_adobe_kicks_off_day_1.html

(BOLT) From Adobe Flash Catalyst to Adobe CS4, see highlights from
Day 2 (keynote highlights and commentary from attendees)
http://blogs.adobe.com/adc/2008/11/_adobe_max_2008_day_2_in_san_f.html

What was your geek-out moment of the day? (Day 1)
http://blogs.adobe.com/adc/2008/11/question_of_the_day_what_was_y.html

What was your geek-out moment of the day (Day 2)
http://blogs.adobe.com/adc/2008/11/_question_of_the_day_what_was.html

Interviews/demo with MAX Award Winners
AKQA - The Happiness Factory
http://blogs.adobe.com/adc/2008/11/_max_awards_2008_the_happiness.html

NASDAQ Market Replay
http://blogs.adobe.com/adc/2008/11/_max_awards_2008_nasdaq_market.html

Scrapblog - will be posted today before 3pm
http://blogs.adobe.com/adc/2008/11/max_awards_2008_scrapblog.html

Gravação do anuncio Bolt

As anotações de Serge Jespers e Andrew Shorten permitem imaginar como foi o anuncio da futura IDE ColdFusion.







Observer o sinal de mais +

2008-11-18

Tour de Flex

O Flex.org está disponibilizando uma aplicação AIR, ou um plugin eclipse, que permite navegar em mais de 200 aplicações (cada uma com seu código), links para documentação.
Ainda conta com componentes flex, aplicações AIR, skins, máscaras, efeitos, etc.
Bem prático e útil.

2008-11-16

Validar CPF em CFFORM Flash

Existe uma busca constante de código para validar CPF, então estou disponibilizando este exemplo de como validar CPF em Flash Form CFFORM.



<cfform name="form1" format="flash" height="720" width="552" style="themeColor:##56A1E1;">
<cfinput type="text" name="cpf" label="CPF" onKeyUp="
var Peso1 = [10, 9, 8, 7, 6, 5, 4, 3, 2];
var Peso2 = [11, 10, 9, 8, 7, 6, 5, 4, 3, 2];
var soma1:Number = 0;
var resto1:Number = 0;
var soma2:Number = 0;
var resto2:Number = 0;
var digito2 = 0;
var digito1 = 0;
var cpfVal = _root.cpf.text.split('.').join('').split('-').join('').split('/').join('').split(' ').join('');
if(cpfVal.length < 11) _root.retorno.text = 'invalido';
for (var i = 0; i < Peso1.length; i++) soma1 += cpfVal.charAt(i) * Peso1[i];
resto1 = soma1 % 11;
if (resto1 > 1) digito1 = 11 - resto1;
for (var j = 0; j < Peso2.length; j++) soma2 += cpfVal.charAt(j) * Peso2[j];
resto2 = soma2 % 11;
if (resto2 > 1) digito2 = 11 - resto2;
if(cpfVal.charAt(9) == digito1 && cpfVal.charAt (10) == digito2 && cpfVal.length == 11){
_root.retorno.text = 'valido';
}else{
_root.retorno.text = 'invalido';
} " >
<cfinput name="retorno" type="text">
</cfform>

2008-11-14

Certificação Flex 3 with AIR

Realizei a prova na NSI a uma hora e sou o mais novo Adobe Certified Expert Flex 3 with AIR, a prova está bem direcionada a AIR, a Adobe não disponibilizou ainda o kit para utilização como os demais ao lado.

Mais cedo o Paulo Teixeira fez a mesma prova na InfNet e também conquistou este certificado, parabéns Paulo.

2008-10-30

iReport e ColdFusion 8 - II

No post anterior apenas mostrei o caminho das pedras, mas agora vamos ver como ficaram as coisas no meu ColdFusion 8.

Primeiro devemos configurar o servidor ColdFusion, diretamente no arquivo jvm.config:

# JVM classpath
java.class.path={application.home}/servers/lib,
{application.home}/../lib/macromedia_drivers.jar,
{application.home}/lib/cfmx_mbean.jar,
{application.home}/lib,{application.home}/../lib/cfusion.jar,
{application.home}/../lib/iText.jar,
{application.home}/../lib/iTextAsian.jar,
{application.home}/../lib/commons-beanutils-1.6.jar,
{application.home}/../lib/commons-collections-2.1.jar,
{application.home}/../lib/commons-digester-1.7.jar,
{application.home}/../lib/commons-logging.1.0.4.jar,
{application.home}/../lib/commons-logging-api.1.0.4.jar,
{application.home}/../lib/postgresql-8.1-407.jdbc3.jar,
{application.home}/../lib/ojdbc14.jar,
{application.home}/../lib/mysql-connector-java-5.1.7-bin.jar,
{application.home}/../lib/sqljdbc4.jar



Passamos ao ireport, aqui eu usei o Classic 3.0.0 com MySQL, para gerar o layout do relatório (jrxml), que ficou assim (teste.jrxml):


<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE jasperReport PUBLIC "//JasperReports//DTD Report Design//EN" "http://jasperreports.sourceforge.net/dtds/jasperreport.dtd">
<jasperReport name="classic" >
<property name="ireport.scriptlethandling" value="0" />
<property name="ireport.encoding" value="UTF-8" />
<import value="java.util.*" />
<import value="net.sf.jasperreports.engine.*" />
<import value="net.sf.jasperreports.engine.data.*" />
<queryString><![CDATA[select username from users]]></queryString>
<field name="username" class="java.lang.String"/>
<title>
<band height="50" isSplitAllowed="true" >
<staticText>
<reportElement x="61" y="5" width="412" height="40" key="staticText"/>
<textElement textAlignment="Center">
<font size="28" isBold="true"/>
</textElement>
<text><![CDATA[Pedro Claudio]]></text>
</staticText>
</band>
</title>
<detail>
<band height="19" isSplitAllowed="true" >
<textField >
<reportElement x="0" y="1" width="519" height="15" forecolor="#000000" key="textField"/>
<textElement>
<font fontName="Times-Roman" size="12"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{username}]]></textFieldExpression>
</textField>
</band>
</detail>
</jasperReport>


E por fim a chamada cfml para compilação do relatório:


<cfscript>
DriverManager = Server.getClass().forName("coldfusion.sql.JdbcImpl").newInstance();
DriverManager.setDriver("com.mysql.jdbc.Driver");
DriverManager.setUrl("jdbc:mysql://localhost:3306/pcsilva");
DriverManager.setPassword("root");
DriverManager.setUsername("root");
Connection = DriverManager.getConnection();
Connection.setUseUnicode(true);
Connection.setCharacterEncoding("utf8");
parameters = {ReportTitle="pcsilva Teste"};
JasperManager = Server.getClass().forName("net.sf.jasperreports.engine.JasperManager").newInstance();
JasperDesign = JasperManager.loadXmlDesign("#ExpandPath('teste.jrxml')#");
JasperReport = JasperManager.compileReport(JasperDesign);
JasperPrint = JasperManager.fillReport(JasperReport,parameters,Connection);
JasperManager.printReportToPdfFile(JasperPrint,"#ExpandPath('.')#\teste.pdf");
</cfscript>


Que resultará em aquivo teste.pdf.

2008-10-28

iReport e ColdFusion 8

Durante a semana passada respondi uma série de perguntas sobre JasperReports, e durante a conversa fui configurando minha máquina de desenvolvimento com ColdFusion 8.

Ao final meu/nosso ColdFusion 8 não precisava dos pacotes do JasperReport, pois ele já está presente no servidor, bastando apenas adicionar o caminho dos Jars no classpath da JVM.

O pacote JasperReport está em cfusion.jar.

2008-10-10

Concurso MXSTUDIO - Adobe CS4

O AUG MXSTUDIO está realizando concurso de criações que envolvam as ferramentas CS4.

2008-09-26

Meeting para Evento da Adobe CS4

O MXSTUDIO tem o prazer de convidá-lo para o evento de anúncio da Adobe Creative Suite 4.

Conheça a nova versão da suíte profissional da Adobe e descubra os novos recursos de softwares como o Flash, Dreamweaver e Photoshop.

Ao final do evento será feita uma demonstração ao vivo detalhada dos novos recursos do Adobe Flash CS4.

Além de divulgar a CS4 o evento servirá de sala de debate sobre as novidades, impressões e opiniões dos usuários.

Ao final do evento será sorteado um KIT com brindes Adobe.
Evento on-line gratuito.
Dia 27 de Setembro de 2008 (Sábado) às 14:00.

Para mais detalhes acesse o tópico do evento no fórum:
Anúncio da Adobe Creative Suite 4 - Fórum do MXSTUDIO

2008-09-18

User Group e o lançamento do Adobe CS4

Os User Groups do Brasil estarão realizando encontros para falar do lançamento do CS4.

O lançamento está marcado para 23/09/2008, e a partir desta data os User Groups estarão discutindo, demonstrando, voltando suas atenções para este lançamento.

Participe você também, gratuitamente, cadastrando-se no www.augbrasil.com.br

2008-09-13

Beta tester Digitrum

A Digitrum está testando os servidores e está disponibilizando a crição de sub-domínios gratuitamente para teste.

Eu estou testando também.

2008-09-08

WSDL Cotação Bovespa

Código de consulta a cotação da bovespa e moedas, dolar e euro.

Vale conferir.

2008-09-04

Estudo sobre Application.cfc

Muito bom o material publicado no "Porque CF?" :P, sobre o Application.cfc, vale conferir.

2008-09-02

Adobe Community Expert ColdFusion - Brasil ?

Quero parabenizar o Tofinha por este feito, o primeiro Adobe Community Expert ColdFusion do Brasil, melhor dizendo o primeiro Adobe Community Expert ColdFusion do Brasil e da América Latina.

Parabéns maninho!

Adobe Certified Expert ColdFusion 8

É, agora tem mais um...
Acabei de sair da Infnet, onde acabo de me tornar o mais novo ACE ColdFusion 8.

Obrigado a galera que me incentivou..
Valeu Tofinha.


Só falta um.

2008-08-31

Por que CF?

A comunidade ColdFusion ganhou mais um local para busca de conhecimento. www.porquecf.com.br - Por que CF?, o site é administrado por Alexandra Brumatti, Tofinha, Lauro Santos, Paulo Teixeira, Ricardo Parente ePedro Cláudio .

E já estamos estendendo o projeto para língua inglesa, no site www.whycf.com - Why CF?.

O "Por que CF?" foi ideializado para divulgação de Apresentações, Tutoriais, Dicas/Snippets, Depoimentos em vídeo, áudio e texto, Cases, de todos para todos. Então se você tem algum material e quiser disponibilizar, fale com um dos membros dos Membros.

2008-08-27

Eleição para Manager do CFUGBR

No dia 28/08/2008 (amanhã) será realizada a votação para o próximo Manager do CFUG-BR.

A eleição iniciará às 10:00 hs e terminará às 11:00 hs, e será online.

Os cadidatos são:
Pedro Claudio - pcsilva - Rio de Janeiro - EU
Rafael Bandeira

E aos que não conhecem o UG, ele foi criado para representar a comunidade de desenvolvedores ColdFusion junto a Adobe.

VOTEM EM PEDRO CLAUDIO!!!

2008-08-22

ColdFusion on Wheels

Chris Peters anunciou a pouco uma nova versão do CFWheels, que como o próprio diz:

"CFWheels is an MVC development framework inspired by Ruby on Rails."


logo

2008-08-08

Censo Nacional sobre ColdFusion III

Participe do censo nacional de desenvolvedores ColdFusion.

2008-07-24

SQL Injection

Eu estava lendo sobre este assunto no post SQL Injection Hack using CAST from 1.verynx.cn, e por isto estou disponibilizando esta customtag que pode enviar alertas por e-mail e gravar log, seu uso é muito simples, veja algumas variações.

Bloqueia e grava em log:
<cf_DisableSQLInjection>

Bloqueia,grava em log e envia e-mail:
<cf_DisableSQLInjection mailto="e-mail,e-mail,e-mail,e-mail">
or
<cf_DisableSQLInjection mailto="e-mail,e-mail,e-mail,e-mail" mailfrom="mail">

Bloqueia,grava em log, envia e-mail e adiciona um titulo customizado:
<cf_DisableSQLInjection mailto="e-mail" mailfrom="mail" title="Erro 404" >

Bloqueia,grava em log, envia e-mail, titulo customizado e adiciona mensagem html na pagina:
<cf_DisableSQLInjection mailto="e-mail" mailfrom="mail" title="Erro 404" message="<h3>Erro 404 - page not found</h3>" >

Bloqueia,grava em log, envia e-mail, titulo customizado, mensagem html e incrementa a lista negra de palavras reservadas:
<cf_DisableSQLInjection mailto="e-mail" mailfrom="mail" title="Erro 404" message="<h3>Erro 404 - page not found</h3>" keywords="print|union" >


Dê a preferência ao uso no nos Application.(cfm|cfc)

customtag

2008-07-23

New Hosting in Brazil

Está nascendo a DIGITRUM.

A todos que estão empenhando esforços, meus parabéns, e muito sucesso.

Estamos aguardando.

DIGITRUM - As mudanças começaram

URL, como tratar? - II

Em resposta a uma pergunta feita no CF-brasil, retorno ao assunto.

Uma das opções é demonstrada no post Flexible Friendly URLs for Farcry with Mod rewrite (Updated), que possui a seguinte url .../index.cfm/[ano]/[mes]/[dia]/[titulo], que provavelmente não utiliza o rewrite. DEVE utilizar um recurso como o seguinte:

<cffunction name="configureEscopoUrl">
<cfset uVars=ListToArray(ListFirst(trim(cgi.path_info), '?'),"/")>
<cfif Arraylen(uVars)>
<cfswitch expression="#Arraylen(uVars)#">
<cfcase value="0"></cfcase>
<cfcase value="1">
<cfif IsNumeric(uVars[1])>
<cfset url.Year = CreateDate(uVars[1],1,1)>
</cfif>
</cfcase>
<cfcase value="2">
<cfif IsNumeric(uVars[1]) and IsNumeric(uVars[2])>
<cfset url.Month = CreateDate(uVars[1],uVars[2],1)>
</cfif>
</cfcase>
<cfcase value="3">
<cfif IsNumeric(uVars[1]) and IsNumeric(uVars[2]) and IsNumeric(uVars[3])>
<cfset url.Day = CreateDate(uVars[1],uVars[2],uVars[3])>
</cfif>
</cfcase>
<cfcase value="4">
<cfif IsNumeric(uVars[1]) and IsNumeric(uVars[2]) and IsNumeric(uVars[3])>
<cfset url.Day = CreateDate(uVars[1],uVars[2],uVars[3])>
</cfif>
<cfif Len(Trim(uVars[4]))>
<cfset url.nameid = uVars[4]>
</cfif>
</cfcase>
<cfdefaultcase>
<cfif IsNumeric(uVars[1]) and IsNumeric(uVars[2]) and IsNumeric(uVars[3])>
<cfset url.Day = CreateDate(uVars[1],uVars[2],uVars[3])>
</cfif>
<cfif Len(Trim(uVars[4]))>
<cfset url.nameid = uVars[4]>
</cfif>
<cfloop from="5" to="#ArrayLen(uVars)#" index="i" step="2">
<cfset url[uVars[i]] = "" >
<cfif ArrayLen(uVars) GTE (i+1)>
<cfset url[uVars[i]] = uVars[i+1] >
</cfif>
</cfloop>
</cfdefaultcase>
</cfswitch>
</cfif>
</cffunction>


Este código segue o padrão index.cfm/[ano]/[mes]/[dia]/[titulo]/var1/valor1/varn/valorn.


Enjoy!

2008-06-28

Railo - US Tour 08

O calendário da Railo Technologies GmbH está disponível.

Note para o texto: "If you'd like to meet with us in person"

2008-05-23

ColdFusion 8 AJAX

San Francisco Bay Area ColdFusion User Group realizou encontro ontem (21/05/2008) tendo como palestrante Ashwin Mathew (Adobe Software Engineer - ColdFusion) e Sean Corfield disponibilizou o link da gravação.

2008-05-01

ColdFusion 8 e imagens

Publiquei a pouco uma demonstração bacana do uso das funções e tag imagem do cf8, no Portal MXSTUDIO.

Aproveitem

2008-04-07

Converter Entities

Li hoje uma pergunta no CF-BRASIL sobre entities, então resolvi pesquisar, o final da minha pesquisa tenho o seguinte script para coldfusion mx 7.


<cffunction name="EntitiesConvert" >
<cfargument name="str" type="string" >
<cfset var HtmlEncoder = CreateObject("java","com.lowagie.text.html.HtmlEncoder") >
<cfreturn HtmlEncoder.encode(arguments.str) >
</cffunction>

<cfoutput>#EntitiesConvert("áâäç~ão")#</cfoutput>


Que retorna o seguinte HTML:
&#225;&#226;&#228;&#231;~&#227;o

2008-03-04

Plugin Boo box para wordpress

Richard Barros criou um plugin para inserir Marketing Relevante - Boo box no wordpress.

confira

Parabéns velho, pela iniciativa e pelo reconhecimento, o twitter que o diga!!!

Lançamento do AIR e Flex 3 no Rio de Janeiro com Ben Forta

Recebi uma dica do Rafael Bandeira, e o Tofinhapostou e como ele disse (e eu copio!):

"O Brasil está na rota de grandes palestras e Brasília, São Paulo e Rio de Janeiro foram escolhidas para receber o Ben Forta e poder ver de perto as novidades do Flex 3.0 e AIR 1.0."

Então garanta sua vaga gratuitamente, a minha já está confirmada para o evento do Rio.




2008-02-15

Java Water

Execelente trabalho de Neil Wallis, que construiu uma classe water em imagens.

2008-02-10

URL, como tratar?

Venho compartilhar mais um código, depois de algum tempo sem escrever.

Você tem uma url como - http://site/index.cfm?var1=17&var2=2, mas acha que a url está muito suja, e gostaria de fazer algo a respeito.
Muitos usam recurso que está neste código, para tornar a url mais amigável.
<cffunction name="configureEscopoUrl" output="false" access="public" returntype="void">

<cfset var uVars=ListFirst(trim(cgi.path_info), '?')>
<cfset var item = "" >

<cfif listLen(uVars,"/")>
<cfloop list="#uVars#" index="item" delimiters="/">
<cfset url[listfirst(item,"_")] = "" >
<cfif listlen(item,"_") gt 1>
<cfset url[listfirst(item,"_")] = listlast(item,"_") >
</cfif>
</cfloop>
</cfif>

</cffunction>


executando esta função no começo do Application.cf(c/m), sua url pode ser executada tanto da primeira forma, como também: http://site/index.cfm/var1_1/var2_2

2008-02-07

Configurando FCKeditor com ColdFusion 8

Rakshith criou um passo-a-passo da configuração para habilitar o upload do FCKeditor no ColdFusion8, fica a sujestão.

http://www.rakshith.net/blog/?p=41