First ColdFusion 8 website in production

Today, I upgraded website www.wheelsnext.com to Adobe's ColdFusion 8. So far everything seems fine. I just did couple changes to the Java memory settings, had to set again the class path to couple cfx tags and everything else CF 8 migration wizard took care.

I hope with this upgrade to fix some Jrun error issues we had with CF7. And also feel the improvement in speed that the CF community have been telling around.


Hoje, eu fiz o upgrade do site www.wheelsnext.com para o ColdFusion 8 da Adobe. Até agora tudo parece bem. Só tive que fazer algumas mudanças nas configurações JVM, tive que setar novamente o class path de duas CFX tags usadas e tudo mais o assistente de migração dele resolveu.

Espero que com esse upgrade os problemas com erros de Jrun sejam resolvidos para esse site. E tambem experimentar a melhora em performance que a comunidade CF tem falado tanto.

jquery, thickbox and iframe

I am using jquery's thickbox 3.1 for an image gallery. My problem started because the previous developer made the site using iframes. I strong recommend you not using iframes or frames, and there are many reasons for you to not using them.

Of course this is a hack, and the best scenario you shouldn't use frames and then do the coding in "perfect" manner.

In order to make the thickbox work inside an iframe you must do the following:

1 - Add jquery and thickbox files to both main and iframe pages. This is required so the previous and next link works on the inline popup (thickbox).

2 - Make the following changes to the thickbox.js file

2.1. - Replace the code inside the function tb_init(domChunk) tb_show(t,a,g); to self.parent.tb_show(t,a,g,window);

2.2. - Replace function TB_show(caption, url, imageGroup) to function TB_show(caption, url, imageGroup, refWindow)

2.3. - Replace TB_TempArray = $("a[@rel="+imageGroup+"]").get(); to TB_TempArray = refWindow.$("a[@rel="+imageGroup+"]").get();

2.4. - Replace tb_show(TB_PrevCaption, TB_PrevURL, imageGroup); to tb_show(TB_PrevCaption, TB_PrevURL, imageGroup, refWindow);

2.5. - Replace tb_show(TB_NextCaption, TB_NextURL, imageGroup); to tb_show(TB_NextCaption, TB_NextURL, imageGroup, refWindow);

3 - Now the code for your links must be something like this:

<a href="pathToBigImage/bigImageName.jpg" class="thickbox" rel="yourGalleryName" onclick="self.parent.tb_show((this.title || this.name || null),this.href,(this.rel || false), window);return false;"><img src="pathToSmallImage/smallImageName.jpg" alt="Image Title" title="Image Title" border="0"/></a>

That's all you need. It took me while to figure this out. On the internet I found some information but it was confusing so I decided to compile everything in one post. I hope this helps anyone looking to do the same.

Difficulties Downloading from Adobe / Problemas Baixando da Adobe

Today, I had problems while trying to download Flex SDK and Flex Builder from Adobe website. I went to the Flex product page clicked on "Try for 30 days" link, made the log in and was redirected to the download page with a bunch of options to download Flex. Once I seleced the option and hit the submit button nothing happened. No eror message, no JS error, no nothing! Then I went to the link "Difficulties downloading?". Verified the temporary internet files, read all the information Adobe gave and no luck. I remote accessed another computer to try the download and the same problem I had.

I googled all the terms I could and found nothing.

I decided to update my profile on Adobe's site and then the magic occurred and the download worked.

I remember when on Macromedia website I tried to download something they I always asked for my professional profile information and some information I previously informed was always missing.

I believe that Adobe should investigate this problem further that obivously is hurting the number of downloads and the problem is on Adobe's side.


Hoje, tive problemas para baixar o Flex SDK e o Flex Builder do site da Adobe. Clicava no link para download, fazia o download, escolhia a versão que queria baixar e nada acontecia. Nenhuma mensagem de erro, nada. Visitei o link "Difficulties downloading?". Verifiquei os arquivos temporários de internet, todos as informações disponibilizadas pela Adobe e o problema persistia. Acessei remotamente outros computadores para tentar baixar o arquivo e o mesmo problema ocorria.

Pesquisei no google por todos os termos e nada encontrei.

Resolvi então atualizar o meu perfil/cadastro no site da Adobe e entao a mágica aconteceu e o download funcionou.

Lembro quando no site da Macromedia ia fazer um download sempre perguntavam sobre os meus dados cadastrais e alguns que eu já havia informado antes desapareciam.

Acredito, que a Adobe deveria investigar esse problema que obviamente eh de responsabilidade dela e deve estar atrapalhando o download de seus programas.

Google maps now includes Brazilian traffic

I am a big Google fan. I love the way they make simple things so effective. Google Maps is one of the most amazing web applications that I use on a daily basis. Google docs and Gmail are also amazing.

Today, my friend Fabio from CFGIGOLO posted about them now been able to route the Brazilian streets. Not only big cities but small ones like where I came from. That's amazing since the streets and the traffic in my country it is not so organized as in the USA and Europe. Thumbs up for Google again! ;)

p.s.1: After playing a little with Google maps in Brazil. I can just say that there's a lot to improve. At least on my city, Fortaleza - Brazil. The traffic information is totally wrong.

ColdFusion 8: officially launched and expensive. Oficialmente lançado e caro.

Today, Adobe officially released ColdFusion 8. The community is making a big noise against the price policy for the software. Something that I just saw before reading the messages from developers in Brazil CF mailing list. Now, developers from Europe, USA, Japan, Australia and so on are very mad on this subject.

Adobe lançou hoje oficialmente no seu site a mais nova versão do ColdFusion Application Server versão 8. A chiadeira foi geral na comunidade sobre os preços abusivos praticados pela Adobe. Uma queixa que era comum no Brasil e em outros paises do terceiro mundo agora se repete tambem em desenvolvedores da Europa, Estados Unidos, Japão, Australia e por ai vai.

This price policy is like a big hit on developer's face from Brazil and third world countries. Since long time ago they still debate and try to use CF on web projects, fighting alone to justify the high price on license and hosting to theirs clients.

Essa politica de preço é como um grande murro na face dos desenvolvedores brasileiros que já alguem tempo debatem sobre isso e lutam sozinhos para poder utilizar o CF nos projetos web.

Some developer, specially the ones connected to Adobe argue that this high price for CF Enterprise does not matter since only few enterprise level really need the enterprise version and can easily pay for it. This is totally wrong specially because the Sandbox Security feature is still only available in the Standard Version.

Alguns desenvolvedores, principalmente ligados a Adobe contestam ainda que o preço alto é somente no CF Enterprise que é utilizado muito pouco. Ora, uma das principais qualidades do Enterprise, além da performance elevada, era a capacidade de usar o Sandbox Security que possibilida empresas de hosting utilizarem o CF em ambiente de hosting compartilhado. E essa "feature" não foi adicionada à versão standard.

So, the CF shared hosting scenario will still face the same problem: to compete with PHP and ASP hosting plans.

I hope Adobe can soon review the price policy... but I know I am a dreamer.

Então, o cenário de hospedagem compartilhada usando ColdFusion vai continuar encarando o mesmo problema: Competir com hospedagens em PHP e ASP.

Eu tenho esperança que a Adobe revise essa política de preço... mas eu sei que sou um sonhador.

P.S. 1: After reviewing some blogs on this subject I would like to add a note about my opinion on CF 8 release. We love CF and we want to see more people using it. I am frustrated for only one single feature that is on Enterprise edition but not on Standard: SANDBOX SECURITY. That alone would make hosting companies to offer CF shared plans in a reliable and stable environment, resulting in a big boost on CF popularity. I would love to see a Hosting Edition to CF that could help increase the CF community all over the world. Perhaps I am a dreamer and still need to hear from clients comments like: "This is that only guy that does that ColdFusion thing". And one last opinion. Just because I criticize Adobe price police for CF does not mean I didn't like CF8 new features. I love it. I was just expecting more... Forta himself once said Adobe (at the time of the MM merge) was going to make CF a lot more popular in the web development industry I just can't see how that is going to happen by raising prices

Tutorial: Como instalar o Farcry CMS 4.01 no seu site existente.

Note for english spoken users. This post: How to instal Farcry CMS 4.01 alongside your site, will not be translated to english since there's alredy instructions in how to do so on this link: http://docs.farcrycms.org:8080/confluence/display/FCDEV40/Getting+Started+Guide

Nesse post irei demonstrar como instalar o gerenciador de conteúdo FarCry 4.01 usando o Windows 2003, IIS 6, SQL Server 2000 e ColdFusion MX 7 no seu já existente site. Significando que você já tem um site e quer colocar o FarCry em um sub-diretório do mesmo.

Se você tem conhecimento do inglês recomendo ler o guia de instalação http://docs.farcrycms.org:8080/confluence/display/FCDEV40/Getting+Started+Guide antes de seguir esse tutorial.

Passo 1: Visite http://www.farcrycms.org/go/downloads/ e escolha o link para download. Nesse tutorial usei v4.0.1 (build 1571) FarCry Full Install.

Existem diversas maneiras de se instalar o FarCry e no meu caso, apesar de ser recomendado deixar o folder "core" fora do webroot por questões de segurança, todos os arquivos do farcry ficaram dentro do folder chamado "cms".

Passo 2: Descompacte os arquivos do passo 1 no folder acima no seu site.

Passo 3: Renomei o diretório chamado "molio" dentro do folder "projects", para "meu_cms".

Passo 3: Crie um banco de dados no SQL Server e no ColdFusion Administrator adicione um DNS para esse banco de dados.

Passo 4: Ainda no ColdFusion Administrator crie um mapeamento chamado "farcry" apontando para o folder "cms" (esse folder é onde estão os outros três diretórios que se vê ao descompactar o arquivo que vc baixou no passo 1.

Passo 5: No IIS crie dois diretórios virtuais. O primeiro chamado "meu_cms" e apontando para o diretório "www" dentro diretorio que vc renomeu no passo 3. Esse folder virtual necessita ter o mesmo nome que vc deu ao diretório no passo 3. O segundo folder virtual necessita ser chamado "farcry". Crie ele dentro do primeiro folder virtual criado chamado "meu_cms" e aponte para o diretório "admin" dentro do folder "core/farcry".

Passo 6: visite o link do seu site que aponta para a instalação do farcry. http://www.seusite.com.br/meu_cms/install/ Certifique-se que o seu IP (caso você não esteja instalando o Farcry na sua própria máquina) esta listado no arquivo application.cfm dentro do folder install.

Passo 7: Selecione no primeiro drop down o nome do seu dominio. Os outros dois campos devem estar desabilitados e conter "/meu_cms" e "/meu_cms/farcry". Digite o nome do DNS que vc criou no passo 3. Selecione o banco de dados no meu caso foi o MSSQL. Deixe então o dababase owner como "dbo.". Clique install e o arquivo de instalação vai mostrar o progresso da instalação. Não clique o botão de parar, feche o navegador e aguarde a instalação terminar. Ao final apareceram dois butões. Um para ir ao front-end do Farcry e o outro para área de administração.

No meu caso tive problemas com o passo 7 devido a um "bug" no cfhttp que tem um cache de DNS próprio do Java. Resolvi o problema reiniciando o serviço do CF e executando o passo 7 novamente.

Passo 8: É bastante recomendado que após intalação do Farcry você entre na área de administração e atualize o cadastro do usuário farcry, principalmente atualizando a senha. Recomendado também é apagar o folder install por segurança.

Em breve devo postar mais sobre funcionalidades e características do FarCry.

Se você precisa de ajuda para instalar o Farcry, tem algum comentário, critica ou sugestão para esse pequeno tutorial, por favor deixe um comentário.

I'm on technorati.com

Apple iPhone - Microsoft Exchange - Impressions - bug?

Ontem tive oportunidade de ver e usar o "gadget" do momento - iPhone ($500,00 pela ATT). A minha primeira impressão foi achar ele um pouco grande. É talvez um pouco mais comprido que um iPod. Pelos videos e imagens que havia visto na internet acreditava que ele seria bem menor.

Um cliente precisava configurar o email da empresa no seu iPhone e de um funcionário. O servidor de email utilizado pela empresa é o Microsoft Exchange. Então a primeira dificuldade foi descobrir que o iPhone não funciona com POP3 e Exchange. (Que esta documentado). O problema é que nenhuma mensagem de erro acontece. Simplesmente não aparece nenhuma mensagem. É possivel enviar emails, não aparece erro quando checando novas mensagens, elas simplesmente não aparecem no inbox.

Depois ao ler o manual, verifiquei que era preciso configurar o suporte para IMAP no Exchange para que o iPhone possa receber emails. Configurei tudo normalmente e ai mais um problema apareceu. A porta 143 que é utilizada pelo IMAP no Exchange estava bloqueada. Entrei no firewall abri a tal porta e tudo funcionou como deveria.

No entanto, algo esquesito acontece. Em um iPhone, no do funcionário que tinha poucas mensagens no inbox ele mostrou tudo certo. No entanto, no outro iPhone onde a caixa postal possuia muitas mensagens lidas e não lidas o iPhone se comportou de maneita estranha. Ao invés de mostrar as últimas, mais recentes, mensagens. A mensagem mais recente que aparecia era as de quarta-feira da semana passada.

Depois de apagar várias mensagens. E alterar as configurações do iPhone para mostrar as 25 mais recentes, entrar no inbox, depois voltar de novo para as configurações e escolher 200 mais recentes o iPhone passou a mostrar verdadeiramente as mensagens mais recentes.

No entanto, do nada, o iPhone passa a mostrar novamente mensagens antigas como mais recentes. Será esse um bug no iPhone?! Ainda bem que o cliente percebeu que o problema não era de alguma configuração errada e não se importa em ter que mudar configurações para ver as mensagens mais recentes. Afinal, ele tem o gadget do momento.

Agora minhas criticas e elogios.

Critica 1: Se você tem dedos grandes vai ser complicado usar o iPhone. Ele não possui aquela canetinha que os PDAs possuem e o teclado é bem pequeno.

Critica 2: Se você tem pele oleosa ou por algum motivo não esta com as mãos bem limpas e precisa usar muito o iPHone a tela do seu iPhone vai ficar sempre borrada e manchada.

Critica 3: 500 dólares (ou mais), forçado a um contrato de dois anos com a ATT, fila de espera,... tô fora!

Critica 4: Apesar de documentado, se o iPhone não suporta Exchange com POP3 deveria pelo menos ter uma mensagem de erro. Mas simplesmente não acontece nada.

Critica 5: Não permitir que o seu iPhone possa ter plug ins e ser aberto para os desenvolvedores fazerem o que se é feito por exemplo com o Firefox é uma estratégia que a Apple vai pagar um preço caro pois logo outra empresa fará isso. E esse sim deve ser o telefone que eu devo comprar.

Elogio 1 e único: Parabéns para Apple por fazer de um aparelho de telefone um hype e o gadget do momento.

Click the more link for the english version of this post.

[More]

Resposta ao cfgigolo: Sobre CF, Adobe e masculinidade

Essa abordagem do Alex no cfgigolo, foi muito bem feita e focada para realidade brasileira do CF. Gostaria, muito, mas muito mesmo, de ler uma resposta oficial da Adobe sobre a viabilidade dessas sugestões. Colocando as dificuldades em se implantar as sugestões dele a curto, médio ou longo prazo.

Gostaria de acrescentar que resolvi "sair do armário" e voltar a blogar justamente por isso também. Para fazer a minha parte sem esperar muito pela Adobe. E sim pq acredito no CFML como linguagem de programação Web.

Comecei agora e postei pouco sobre CF nesse blog mas pretendo falar mais sobre o Farcry CMS, um dos melhores gerenciadores de conteúdo que já tive oportunidade de trabalhar. Sobre o próprio BlogCFC, e outras ferramentas e aplicações em CF que utilizo ou já usei.

Acredito que muitos na comunidade CF Brasileira, poderiam fazer o mesmo, blogar! Isso é muito bom para todos. Para os iniciantes, para os que conhecem pouco sobre CF, para a Adobe que vai perceber mais gente divulgando o CFML, para o próprio autor que vai se especializar. E para encorajar os iniciantes e discrentes (ignorantes sem a conotação jocósa) para ver que tem muita gente boa, de conhecimento técnico e experiência com CFML na comunidade brasileira.

Uma das principais dificuldades, que vejo, seja de novatos, ou de pessoas que criticam o CF sem conhecer muito sobre ele é justamente por não conhecerem o inglês e nem a enorme comunidade CF em lingua inglêsa. Já viram o fullasagoog.com? já viram a qualidade dos posts? Em PHP mesmo sendo de graça nunca vi nada igual. Em ASP/Microsoft até que existe algumas coisas no MSDN mas do nivel que vejo ali ainda não vi.

Na realidade americana, que vivo desde 1999, só vejo o CF crescer. Mesmo com as critícas "infundadas", com os "cavaleiros do apocalypse" anunciando todo ano a morte do CF, minha experiência prática e pelos fatos, como por exemplo a maturidade do Farcry, o crescimento do BlogCFC, do número de projetos opensource em CF, a evolução do próprio CF com suas atualizações em média a cada ano e meio.

Obviamente, que como profissional desenvolvedor web, não vou me fechar para as novidades, não vou parar de aprender coisas novas diariamente (se vc não gosta de aprender todo dia pro resto da sua vida escolha outra profissão), e gerenciar minha carreira profissional estando preparado para tudo que possa acontecer. Pq como sou péssimo prevendo o futuro, prefiro gerenciar o agora. E o que faço é continuar estudando sempre sobre tecnologias web. Se um dia o Bin Laden derrubar um avião na Adobe minha vida continua.... pois para o meu cliente pouco importa que eu use PHP, ASP, JSP ou CFML. O que ele quer é uma aplicação web estável, sem bugs, de fácil manutenção e escalável. E isso depende muito mais do profissional, de como ele usa a ferramenta e não de qual ferramenta ele usa.

My 2 cents.

Removing duplicated values from a table / Removendo valores duplicados de uma tabela

In T-SQL you may use "insert" to remove duplicates. What you must do is create another work table with the IGNORE_DUP_KEY option set.

So you copy the data from one table to the other. Drop the original table and rename the work table to your original table name and that's it. You will have a plain, clean, non duplicated records table. Something like:

CREATE TABLE tableCleanDup
(idfield int, field1 varchar(30), field2 varchar(30))
CREATE UNIQUE INDEX removeduplicates ON tableCleanDup (field1,field2) WITH IGNORE_DUP_KEY
GO
INSERT tableCleanDup SELECT * FROM tableOriginal

It will return to you a message "duplicate key was ignored" but that is fine. The tableCleanDup will have the records from tableOriginal but without duplicates.

p.s.: Thanks to Ken Henderson for this T-SQL advice.

Versão em Português

[More]

More Entries


Consumed By Feed-Squirrel.com