quarta-feira, 18 de fevereiro de 2009

Commonthread Flickr-Fu + Background-Fu!

Recentemente precisei fazer um trabalho que envolvia agendar tarefas para serem feitas em uma determinada hora especificada, e além disso, que eu pudesse acompanhar o andamento do processo agendado, tudo isso envolvendo uma conexão com a API Flickr.

Bom, a conexão com o Flickr eu já havia testando, inclusive comentei sobre isso.



Depois de algumas pesquisas descobri o plugin background-fu que faz exatamente o que eu precisava, ou seja, agendar um job e poder acompanhá-lo depois.

Pois bem, seguindo o tutorial do próprio plugin você faz toda a instalação e trabalha sem problemas. Ahh.. deve-se atentar para a linha (
config.active_record.allow_concurrency = true ) que deve ser adiconada no environment.rb para que sejam ativadas as "features" bônus de acompanhamento de jobs.




Bem, obviamente que se fosse só isso eu não precisaria escrever nada aqui pois já tem tudo no tutorial exemplo dos dois plugins, mas, eu tive um graaannde problema e como queimei as pestanas pra solucionar resolvi postar aqui.

O problema começou quando tentei fazer com que o background-fu fizesse a conexão com o Flickr lá mesmo fizesse uma pesquisa para que o resultado eu pudesse manipular. Pois bem, a conexão foi feita sem nenhum problema, mas quando eu "pedia" para fazer a pesquisa simplesmente era retornado uma resposta vazia, como se não existisse conteúdo no site para retornar.

Pra resumir, depois de muito rodar acabei descobrindo que o problema todo é o tal arquivo token.yml que o flickr-fu cria. Isso mesmo, simplesmente ao utilizar o worker do background-fu a classe Flickr não reconhecia o arquivo, e aí analisando mais a fundo descobri que o arquivo é carregado pelos parâmetros que estão em outro aquivo "flickr.yml" que o próprio usuário cria.

O arquivo flickr.yml originalmente tem a seguinte formatação:

== Example flickr.yml
--- !map:HashWithIndifferentAccess
key: "YOUR KEY"
secret: "YOUR SECRET"
token_cache: "token_cache.yml"

Ele funciona perfeitamente até o momento é que vai se usar o background-fu.

A solução que encontrei foi colocar o caminho absoluto do arquivo "token.yml" no arquivo "flickr.yml". Ele ficaria mais ou menos assim:

== Example flickr.yml
--- !map:HashWithIndifferentAccess
key: "YOUR KEY"
secret: "YOUR SECRET"
token_cache: "/home/fulano/rails_app/seu_projeto/token_cache.yml"


Pronto! Fazendo isso tudo voltou ao "normal"!

[]'s

Erro ao tentar instalar o IE7?

Se você tentou instalar o IE7 em uma máquina e apareceu o erro mostrado na figura a baixo, veja o que fazer.


Eu me deparei com esse erro algumas vezes e depois de algumas buscas encontrei a solução.
Faça uma pesquisa no windows pelo arquivo "ie7.log" e voce vai ver que ele contém mais ou menos esse conteúdo:

[ie7.log] 0.579: ================================================================================ 0.579: 2009/02/18 08:37:44.757 (local) 0.579: c:\55c2b1b10404135628bd20e73b9a\update\update.exe (version 6.2.29.0) 0.594: Hotfix started with following command line: /quiet /norestart /er /log:C:\WINDOWS 0.610: IECUSTOM: Scanning for proper registry permissions... 1.954: IECUSTOM: Unwriteable key HKCR\Interface\{34A715A0-6587-11D0-924A-0020AFC7AC4D} 1.954: IECUSTOM: Unwriteable key HKCR\Interface\{34A715A0-6587-11D0-924A-0020AFC7AC4D}\ProxyStubClsid 1.954: IECUSTOM: Unwriteable key HKCR\Interface\{34A715A0-6587-11D0-924A-0020AFC7AC4D} 1.954: IECUSTOM: Unwriteable key HKCR\Interface\{34A715A0-6587-11D0-924A-0020AFC7AC4D}\ProxyStubClsid32 1.954: IECUSTOM: Unwriteable key HKCR\Interface\{34A715A0-6587-11D0-924A-0020AFC7AC4D} 1.954: IECUSTOM: Unwriteable key HKCR\Interface\{34A715A0-6587-11D0-924A-0020AFC7AC4D}\TypeLib 1.954: IECUSTOM: Unwriteable key HKCR\Interface\{34A715A0-6587-11D0-924A-0020AFC7AC4D} 1.954: IECUSTOM: Unwriteable key HKCR\Interface\{34A715A0-6587-11D0-924A-0020AFC7AC4D}\TypeLib 1.954: IECUSTOM: Unwriteable key HKCR\Interface\{34A715A0-6587-11D0-924A-0020AFC7AC4D} 3.141: IECUSTOM: Scanning for proper registry permissions... 3.641: IECUSTOM: Scanning for proper registry permissions...

Como dá pra notar nesse log de instalação do IE7 o problema todo é uma chave do registro que não está com permissões necessárias para que seja efetuada a instalação.

Então a coisa é simples, basta ir na chave de registro indicada no log e colocar permissão para "todos".

Pronto! ;)

[]'s

terça-feira, 3 de fevereiro de 2009

O Ruby on Rails não funciona depois de instalar?!

Se por acaso você instalou o Ruby on Rails no Linux/Ubuntu seguindo alguns tutoriais que existem na net e depois de todos os procedimentos ele não funcionou, geralmente retornando uma mensagem informando que ele não está instalado no seu computador, tente executar o comando abaixo:

export PATH=$PATH:/var/lib/gems/1.8/bin

Se der certo, edite o arquivo "/etc/profile" e insira a mesma linha no final do arquivo. Isso fará com que você não precise ficar digitando o comando acima sempre que for utilizar o Rails.


Qualquer dúvida ou dica é só comentar!

vlw!

quinta-feira, 22 de janeiro de 2009

Como pegar o Geocode no YM4R?

Esses dias estive testando algumas funcionalidades do YM4R e dentre elas eu precisava fazer algo que me retornasse a posição global (latitude e longitude) de um determinado local, além de quando reposicionado o marcador o mesmo me retornasse o novo geocode.

Bem, para isso depois de fuçar alguns blogs e sites e juntar algumas coisas que eu já tinha visto cheguei ao exemplo abaixo.

1) Coloque isso no controller:




def index
@map = GMap.new("map_div")
@map.control_init(:large_map => true, :map_type => true, :local_search => true)

results = Geocoding::get("Paulo Afonso - BA, BRA")
if results.status == Geocoding::GEO_SUCCESS
@coord = results[0].latlon
@marker = GMarker.new(@coord,:info_window => "Cidade Paulo Afonso", :draggable => true)
@map.declare_init(@marker, "marker_var_name")
@map.event_init(@marker, :dragend,"function(){var x = document.getElementById('novalatlong'); x.innerHTML = marker_var_name.getPoint();}")
@map.overlay_init(@marker)
end

@map.center_zoom_init(@coord,10)

end




2) Coloque isso na View





# Isso na head

<%= GMap.header(:local_search => true) %>
<%= @map.to_html %>

# Isso no body

<%= @coord %>
<%= @map.div(:width => 600, :height => 400) %>

# coloque também uma DIV com o id="novalatlong"




É isso, acho que com esse exemplo já dá pra desenrolar o restante! ;)

Ahhh... e pra quem ainda não fez nada com o YM4R o amigo Luiz Carvalho fez um ótimo tutorial ensinando os primeiros passos.

[]'s

Você já lavou a louça hoje?

O título acima pode soar estranho, mas resolvi escrever sobre isso depois de ter passado pela experiência uns dias atrás.

Na verdade seria algo como uma adtaptação de um costume chinês/japonês, não sei ao certo. Dizem que lá por aquelas bandas existe a tradição de em determinados estabelecimentos ou empresas todos os funcionários lavarem o banheiro pelo menos uma vez no mês.

Conta a história que isso serve para lembrá-los da humildade em qualquer tempo da vida. Afinal, não é difícil encontrar alguém que por ter recebido um novo cargo se transformou em outra pessoa.

Como realmente nunca lavei um banheiro, pelo menos pratos já me servem de reflexão. :D

É isso aí!

[]'s

quarta-feira, 14 de janeiro de 2009

Vídeos do Ceará on Rails Publicados!

Aêee.... Ontem recebi a notícia do colega Hermínio Torres que já estão disponíveis os vídeos do Ceará on Rails que aconteceu em novembro do ano passado.

Fica então a dica pra quem não pôde ir. ;)

Aqui você encontra todos os vídeos.


CearaOnRails - 01 Abertura e Palestra Tiago from Victor Sobreira on Vimeo.

terça-feira, 13 de janeiro de 2009

Novo site desenvolvido em Rails!

Acho que esse é uma ótima notícia para o iniciar o ano, pois é com grande satisfação que venho anunciar mais um site desenvolvido em Rails. :)

Dessa vez temos o Mais Festa (www.maisfesta.com.br) como mais um representante da comunidade Pauloafonsina.


Esse é segundo site que publico na net. O primeiro foi o Axiaky (www.axiaky.com.br) que hoje já tem mais de 6 meses de vida.


Todos os dois hoje estão publicados na Locaweb com o Phusion Passenger.

É claro que ambos ainda estão verdes, visto que sempre sobra poquíssimo tempo para me dedicar a eles, mas, ambos tem servido muito para fazer meus testes com o framework Rails utilizando algumas APIs hoje disponíveis.

Ahh, detalhe, como meu forte não é design nesses dois casos tive uma mãozinha dos colegas Adriano Vidal e Igor Oliveira, além do apoio no designer gráfico de Kôca.

É isso! No mais é começar a melhorá-los e quem sabe conseguir um Home/Office "de verdade" pra fazer :) !

Interessados me contatem ou melhor, contatem a NordesTi (www.nodesti.com.br) ... hehehe!

Abraço pessoal!