MVC, haciendo el desarrollo fácil
16 de enero de 10
Sinceramente, el primer framework MVC que usé fue Ruby On Rails. Dejando de banda el lenguaje en si, este tipo de frameworks aceleran el desarrollo de cualquier web de manera increíble.
Quizás la filosofía cuesta entenderla un poco, pero una vez te acostumbras a separar Modelo/Vista/Controlador no entiendes porque no lo has usado toda tu vida.
El caso es que hasta el momento no había tenido que elegir un framework de estas características para un desarrollo en PHP, había jugado bastante con CakePHP pero nada del otro mundo.
Hoy me he visto obligado a tener que elegir uno para empezar a desarrollar una web, buscando he llegado a la conclusión de que los peces gordos del PHP son Zend Framework, Symfony y CakePHP. Al ser un sitio sencillo, que podría cubrir perfectamente un Drupal -me niego a usar un CMS- he elegido CakePHP, curva de aprendizaje baja y fácil instalación.
Por el momento, ningún problema, la comunidad es amplia y los pocos obstáculos que me he encontrado los he podido solucionar sin problemas.
Este texto es solo un aviso, no os asustéis si veis más PHP de lo normal por aquí, no me he cambiado de bando, simplemente cumplo requisitos del cliente, what else?
Integrando Feedburner con tus feeds
13 de enero de 10
Feedburner es una potente aplicación para gestionar tus feeds que pasó a manos de Google hace ya algún tiempo.
Integrarla en cualquier CMS como Wordpress es de lo más sencillo, ya que hay plugins para hacerlo.
Pero si está en una aplicación Rails -como es el caso de este blog- la manera más sencilla de hacerlo es configurando tu servidor, si tienes acceso, o atacando directamente desde el controlador.
Lo que hay que hacer es redireccionar a todos los usuarios al feed de Feedburner, excepto si el que entra es este último para recoger nuestro RSS.
Como el daemon de Feedburner entra con un UserAgent especial, la manera más simple de realizar esto es la siguiente:
def feed
unless request.env['HTTP_USER_AGENT'] =~ /feedburner/i
redirect_to 'http://feeds.feedburner.com/jordivillar'
else
@posts = Post.find(:all,
:order => 'created_at DESC',
:conditions => 'published = true')
render :layout => false
end
end
Y de esta forma ya tenéis vuestro sitio listo, para que todos los lectores del feed, pasen a través de Feedburner y contabilizarlos en las estadísticas.
Arround the world
12 de enero de 10
Está claro, a la mayoría nos gusta viajar. Y para quien no lo sepa, yo no soy una excepción.
El mes de diciembre tuve la suerte de poder viajar a Londres y a Dublín, por suerte antes de los temporales.
Ciudades que tienen su encanto y que cualquiera debería visitar, ya sea por el simple hecho de recorrer mundo o para desconectar de la rutina. Pero una cosa que clara, ninguna de estas ciudades son comparables con la sensación que produce visitar Berlín o Amsterdam.
Ahora que vuelvo a estar en casa, espero poder volver a cuidar de un blog personal como se lo merece y no tenerlo abandonado como está pasando últimamente.
Tiempo para soñar
05 de octubre de 09
Para proyectos personales siempre se saca tiempo de donde sea y esta no es una excepción.
Creo que es una buena idea y si tenemos suerte puede que llegue a ser algo grande.
Tiempo al tiempo, como mínimo estoy aprendiendo bastante sobre Ruby on Rails y con eso, de momento, me conformo.
Facebook Connect en Rails
30 de septiembre de 09
Facebook Connect es la API que Facebook pone a la disposición de todos los desarrolladores para poder conectar la red social con cualquier aplicación, ya sea de internet o de escritorio.
Se usa principalmente para que cualquier usuario se pueda loguear en tu aplicación si que haga falta el molesto proceso de registro. Para adaptarla a una nueva aplicación que estoy creando usé un tutorial donde te explica como adaptarlo a Restful Authentication.
Una vez adaptado todo, un usuario cualquiera puede resgistrarse a la antigua o loguearse usando Facebook Connect, incluso usando las dos maneras conservando el mismo usuario.
Eso si, si ya tienes tu aplicación montada habrá usuarios sin el email_hash, un campo usado para comparar el email del usuario de tu aplicación con el de Facebook.
Pero esto no es un problema, solo hace falta pasar una tarea rake para que actualice ese campo a todos los usuarios y así puedan usar las dos maneras de login sin problemas.
namespace :user do
desc "This task will register all the not facebook registered users"
task :register_at_fb => :environment do
cont = 0
usuarios = User.find(:all,
:conditions => 'email_hash IS NULL',
:order => 'id DESC')
usuarios.each{ |u|
puts "Registering at facebook #{u.email}...."
begin
u.register_user_to_fb
puts "#{u.email_hash}"
rescue
puts "ERROR!"
end
cont += 1
puts "(#{cont} / #{usuarios.size})"
}
end
end
Código de Jorge Díaz, desarrollador de Fresqui.
Después de esto no tenéis excusa para permitir que los nuevos usuarios accedan a vuestros sitios de una manera más fácil y rápida.