The much improved interface, search RSS feeds, Top Chefs, Top Recipes, a redesigned planner and a new shopping list.
You have to see it to believe it.
PS. much more to come within the next days.
“A wiki is a type of computer software that allows users to easily create, edit and link web pages. Wikis are often used to create collaborative websites, power community websites, and are increasingly being installed by businesses to provide affordable and effective Intranets or for use in Knowledge Management.” Wikipedia.org
As an alternative to backpackit, you can roll your own wiki if you already own a domain and hosting. Josh Owens developed an open source simple wiki called Sigal Wiki that is dead simple to setup. Dependencies include json, ruby-openid and redcloth gems.
It supports, openid, askismet spam filtering and private pages. I have deployed his wiki under my domain, check it out!
-Bruno
GMAIL to the rescue
If you need to send mail from within your rails app using gmail’s smtp relay server you will need to do some extra hacking.
require 'smtp_tls'
ActionMailer::Base.smtp_settings = {
:address => "smtp.gmail.com",
:port => 587,
:domain => "domain.com",
:authentication => :plain,
:user_name => "name@domain.com",
:password => "password"
}
Smtp_tls includes the necessary code to establish communication through SSL so that your message can be successfully relayed.
Place smtp_tls.rb in /lib
require "openssl"
require "net/smtp"
Net::SMTP.class_eval do
private
def do_start(helodomain, user, secret, authtype)
raise IOError, 'SMTP session already started' if @started
check_auth_args user, secret, authtype if user or secret
sock = timeout(@open_timeout) { TCPSocket.open(@address, @port) }
@socket = Net::InternetMessageIO.new(sock)
@socket.read_timeout = 60 #@read_timeout
@socket.debug_output = STDERR #@debug_output
check_response(critical { recv_response() })
do_helo(helodomain)
raise 'openssl library not installed' unless defined?(OpenSSL)
starttls
ssl = OpenSSL::SSL::SSLSocket.new(sock)
ssl.sync_close = true
ssl.connect
@socket = Net::InternetMessageIO.new(ssl)
@socket.read_timeout = 60 #@read_timeout
@socket.debug_output = STDERR #@debug_output
do_helo(helodomain)
authenticate user, secret, authtype if user
@started = true
ensure
unless @started
# authentication failed, cancel connection.
@socket.close if not @started and @socket and not @socket.closed?
@socket = nil
end
end
def do_helo(helodomain)
begin
if @esmtp
ehlo helodomain
else
helo helodomain
end
rescue Net::ProtocolError
if @esmtp
@esmtp = false
@error_occured = false
retry
end
raise
end
end
def starttls
getok('STARTTLS')
end
def quit
begin
getok('QUIT')
rescue EOFError
end
end
end
I am not exactly sure who wrote the library above. A little bit of cargo culting never killed anyone.
DISCLOSURE: I do not condone cargo culting :-}
If you are running ferret as a Drb server you may encounter problems while trying to run your test or specs. This issue happens because when you start the ferret server with ruby script/ferret_start it faults to production environment.
You you should not have this problem if the production and test environments are set to the same port numbers in config/ferret_server.yml
If you prefer to have different port numbers (which is what I advise), make sure you start the ferret server for the test environment as well.
RAILS_ENV=test script/ferret_start
Hope that helps.
How often do you hear the statement below?
“We can’t write tests, we just don’t have time for that type of luxury.”
Well, I hope you have time and money to do it twice.