Quando falo às pessoas que ColdFusion possui suporte nativo a LiveCycle, com seu famoso push, elas perguntam porque LiveCycle e não BlazeDS, e para que fique registrado aos amigos, resolvi reeditar um post do Ben Forta sobre o assunto.
O LiveCycle (2.5.1 - você pode atualizar) nativo do ColdFusion 8, você vai ter todos os serviços disponíveis no LiveCycle Express, só pode ser usado em uma CPU, caso tenha a licença do LC você pode alterar este quadro.
O BlazeDS é free, quando intregrado ao ColdFusion, trabalha perfeitamente e da mesma forma que o LC, ele apenas não vai realizar a tarefa de data management, isso porque o BlazeDS é uma parte do LiveCycle, a parte que faria este serviço (data management), está fora do BlazeDS.
Como Ben deixou claro, você escolhe o que vai usar, basta saber o que se enquadra no seu projeto.
2009-02-08
2009-01-10
cfSpec - ColdFusion BDD
Ron Hopper disponibilizou hoje o projeto cfSpec no RIAForge, uma framework baseada em BDD (Behavior-Driven Development), vale confirir.
E ainda ver a opinão de mais pessoas a respeito.
E ainda ver a opinão de mais pessoas a respeito.
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.


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.
Marcadores:
ColdFusion,
Palestra
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
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.
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
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
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
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
Marcadores:
ColdFusion,
MAX2008
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 +
Observer o sinal de mais +
Marcadores:
ColdFusion,
MAX2008
2008-11-18
Tour de Flex
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>
<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>
Marcadores:
CFFORM,
ColdFusion
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.
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.
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.
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
Assinar:
Comentários (Atom)

