6 years and 2973 commits later
It may sound like a coincidence, but while we were releasing Typo 6.0 Irving Penn for Ruby On Rails 3.0, the blogging engine was officially celebrating his sixth birthday. Tobias did his first commit January the 20th 2005 at 2:08 AM. 6 years and 2973 commits later, Typo has seen 5 major releases (Typo 3 never existed), 8 official maintainers, and was said dead countless times. At that time, Typo had no UI, and articles were written using MarsEdit and the MetaWeblog API.
Relaunch of too-biased
Yesterday I had some time so i decided to tackle a little project I was contemplating for a while.
Welcome typo. Typo is the smallest possible weblog. It doesn’t have an admin interface at all and its based on sqlite. It took about 6 hours to write and most of the work was put into the XMLRPC backend.
So Marsedit is the only way to get any content onto this site now and thats plenty.
As always my code is free under MIT licence and you can fetch it from my svn server at svn://leetsoft.com/typo/trunk
Typo had its 15 minutes of fame, eventually powering blog.rubyonrails.org and becoming one of the sample application for people starting Ruby On Rails. Typo theme contest was a great success, giving it a huge amount of nice templates. Then, for some reason, it turned into a giant bloatware. Its main contributors started another project called Mephisto, and most users switched to Wordpress. Typo was left for dead.
I started using Typo mid 2006 after spending 2 years being a happy and proud contributor of the growing Wordpress community. My first patch was integrated December the 29th 2006, after something like 3 weeks waiting in the limbo. It was the second patch I was submitting, the first one being a complete admin revamping that was too big to be reviewed. After a few times on #typo IRC channel, I understood that the remaining maintainers had something else to do. I had the possibility to migrate my blog to Mephisto, but I had became quite familiar with Typo code, and I wanted a blogware I could hack.
I asked for the project keys, and was eventually given them, Piers Cawley keeping the project lead. My first commit was February the 8th 2007. 4 years later, Typo is still alive, running with 4 cool maintainers, 3 of them being French. The idea of a widely used Rails blogware is no more while Rails became less and less visible, and was more widely used in enterprise projects. I still do think there’s a place on the Web for a Ruby On Rails blogging engine that would be supported by a small community of users and contributors. Typo 6.0.1 now looks mature enough to start building that community. After trying to make Typo more user friendly, I hope we’ll make it actually used, and that’s what I plan to do in the next months.
Release of Typo 6.0.1 Irving Penn for Ruby on Rails 3.0
Only 2 days after releasing the long awaited Typo 6.0 Irving Penn for Ruby on Rails 3.0, we’re back with a new version fixing some nasty leftovers bugs and bringing you some improvement. Thank you to Luuk Hendriks for testing this version and submitting patches.
Here’s the list of what we improved…
The dashboard was improved, getting some more figures about spam and content.
Dashboard internationalization was completed.
French translation was improved.
Merged both files and resources view in the admin, first step to a (much) better file upload thing
Made information blocks look different from confirmation ones.
Improved forms help lisibility
and a comprehensive list of what has been fixed.
Bug #192: multi-byte permalinks. - Do not escape the title upon conversion to permalink slug. - Escape permalink sluk upon creation of permalink url. - Search article by permalink and by escaped permalink to support legacy permalink slugs.
Fixed some sidebars using old deprecated code silently dying.
Fixed a bug in the HTML editor inserting image tag even when cancel was clicked.
Fixed a 404 in the administration CSS that was polluting your log files.
Fixed themes not displaying categories correctly (Luuk Hendriks)
Release of Typo 6.0 Irving Penn for Ruby on Rails 3.0
Almost 7 months after Typo 5.5, we’re proud to announce the release of Typo 6.0 Irving Penn for Ruby on Rails 3.0. This major version of our application is mostly about upgrading to Rails 3, but it also provides a bunch of new feature.
You can download Typo 6.0 as a zip archive or as a tarball.
Upgrade to Rails 3
Upgrading to Rails 3 was a long and painful path. Typo was born when Rails was very very young, and the framework took some path while we chose another path to fix its lacks. Typo 6.0 is only a first compatible version, and we’re still planning to ditch the remaining piece of antiquities we still carry.
Bye bye Typo installer
Typo installer has been around for 6 years now, and what seemed a really great idea at Rails 1.0 era rapidely became an unmaintained burden. There are now lots of easy ways to deploy a Rails application, while Bundler handles all the dependencies issues. Installing Typo is now easy as, let’s say, installing any other mainstream blogging engine: fill in your database credential, run bundle and you’re done.
Finally a real plugin API
Thomas Lecavelier did a wonderful job working on what’s going to be the real plugin API we’ve dreamt of for a while now. He started with making avatar provider pluggable and knows how much he still has to be done. Good news as he’s the latest addition to Typo core team. We’re really glad to welcome him onboard.
Theme changes
Theme structure has been change to be compliant with Rails views structure. If you’re using a custom template, you’ll have to move the layouts folder into the views one. Nothing you can’t handle.
Admin, SEO and usability
We’ve made some SEO improvement, adding a bit more options, and making tags URL really SEO friendly. Admin usability has been improved to, but we’ve many other things we want to make better as well.
That’s all for now. We’ll be glad to hear your feedback if you’ve got some. For now, we’re going to celebrate this release by working on the next one.
Setting up a new plugins repository
Typo and Ruby on Rails both provide a powerful plugin interface, making extending your Typo blog easy. We wanted to make finding such an extension easy as well. Most plugins were hosted on Frédéric’s Github account, amongst many other projects, and the only way to know what is Typo related and what isn’t is to browse Typo Plugins Catalogue.
With its “fork and update” process, Github provides a fantastic opportunity to bring together a plugin repository from original code, tracking plugins evolution and updating as they come. That’s the reason why we have built the new Typo Plugin Repository, dedicated to hosting every Typo plugins available on Github. Typo plugins Catalogue will remain as a… catalogue, but browsing code will be made easier.
Just as a reminder, Typo plugins come in 3 flavour:
Typo sidebars plugins
You will recognise them easily because their name finish with _sidebar. You can enable from the admin interface and display using:
<%= render_sidebars %>or
<%= render_sidebar('some_sidebar') %>Typo text filters plugins
Their name start with typo_textfilter. Like the typo:code text filter or typo:flickr, they allow you to insert almost anything in your blog posts.
Other plugins
They are just basic Rails plugins being able to interact with your Typo blog. You will usually need to edit your template to make them work.
If you have created a Typo plugin and want it to be listed in our repository, just drop us a line at plugins@typosphere.org, we’ll be glad to review it and eventually add it.
Rails 3 Typo is coming soon
I’m thrilled to tell you that, since tonight September the 26th 22:22 GMT, Typo official blog and my own blog are now running our Rails 3 development branch. This was made possible by Matijs great work – and a bit of mine as well.
The past weeks were quite exciting, and I really had great fun working on this branch, making specs pass one at a time, getting excited because Matijs had pushed something new, and I had to push more as well, fixing this and that in the train on my way to work.
Typo is a very old application, almost as old as Rails is, and it has seen many major releases: 1.0, 1.2, 2.0 and now 3.0. Some code is very old as well, and Rails often took the opposite path as how we did things. Rails 3 is probably the biggest evolution I’ve seen since I started, and migrating Typo is a long and painful process. It was only made possible because we had a good – thus insufficient – test coverage.
What’s next?
In the next days, we’re going to polish the few remaining details. Typo installer needs to be changed to match Bundler evolution. Oh, and we also want to add some feature we had in mind for a while. So stay tuned.
Typo 5.5 Richard Avedon for Rails 2.3.8
On July 22th, 2010, Typo version 5.5 named for famous photographer Richard Avedon was released to the public. Typo 5.5 is the result of the work of the Typo community, just like you, on adding or suggesting feature, reporting and fixing bugs.
With its new admin and setup, Typo 5.4.4 was supposed to be the latest minor version running on Ruby on Rails 2.3, and we spent a few months exploring 2 new ways.
The first one was being able to upgrade to Ruby on Rails 3.0 as soon as it would be released as production ready. Despite porting our own code without problems, we promptly discovered that too many plugins needed to be ported to Rails 3.0 before we could release.
The second one was making Typo multiblog aware. Despite some interesting results, making it production ready was not the work of a single release. Our architecture is definitely mono blog oriented, and making it multi blog would force us to rewrite most of the code.
So, we decided to make one more release on Ruby on Rails 2.3, upgrading to Rails 2.3.8. This release is Typo 5.5. It comes with a few new feature, bug fixes, and internal improvements.
Highlights
Typo now runs on Ruby on Rails 2.3.8, which means it won’t run with an older Rails version.
Being a long time wanted feature, Typo now handles password protected posts.
Typo visual editor had no way to upload, browse, and use images. Thanks to htty, we now have a very nice resource browser CKEditor compliant.
As I wrote on Typo Weblog (http://res.to/aQz6), we’ve added a way to display users plugins setup into Typo admin. This is a first step on the way to a real plugin API.
Typo now comes with a new cache system, way simpler than the database based cache we used to do. Files are stored into public/cache and Typo knows how to served cached file. You may need to update your configuration, please read doc/CACHE.SETUP.README
For more information on Typo 5.5, please read the CHANGELOG file.
As usual, we want to thank the Typo community, and in particular, by reverse commit order: Daniel Schweighoefer, htty, Yannick Francois,Szymon ‘jeznet’ Jeż, Diego Elio ‘Flameeyes’ Pettenò, Kristopher Murata and Michael Reinsch.
What will be Typo 5.5 next major feature?
We’ve started to work on Typo 5.5 which will be our next release and wanted to add some missing feature. So we wanted to have your opinion on the next major feature you’d like to see on your Typo blogging sotware.
<a href="http://polldaddy.com/poll/3168363/">What will be Typo next major feature?</a>
Admin plugins integration
Commit 281e6dc6941c0987b75a8777df30b84928f44d6d (as well as 132697c2184a4a89fd3ca16d327bbe47a9644d09) introduced the possibility to dynamically load access to plugins admin section into Typo administration. Links to plugins admin zone are displayed into the admin/themes zone. This is – for now – fairly limited, but we’re working on extending it.
This is important to us since Typo has always been missing a nice plugin API. This is a first step towards something bigger, even thoug we don’t know how big it’s going to be yet.
I’ve released a quick proof of concept using a contact form plugin. It’s really simple, lacks lots of functionnalities one could expect from such a plugin but… it’s a POC and I’ll update it later. To test it, you need to be following our development branch, and update to the latest commit.

First, install Typo Contact Form plugin on your Typo instance:
./script/plugins install http://github.com/fdv/typo_plugin_contact_form.gitThen restart your Typo application.
You can now access the contact form using: http://your blog url/contactform Administration: http://your blog url]/admin/contactform
How can I integrate my plugins into Typo administration?
It’s fairly easy.
Typo plugins are just plain Rails plugins.
To have their admin detected, they need to be called typopluginsomename. They should just include a lib/app/controllers/admin/somename_controller.rb
I recommend you to start with Typo Contact Form code, to make your own plugins Typo compliant.
More to come very soon!
Having Typo sending emails using Gmail (or any other TLS enabled SMTP)
By default, neither Typo nor Ruby On Rails can send emails using a TLS enabled server. To have Typo sending you new posts and comments notification, or even your admin password, you’ll have to tweak it a little bit. Here’s a step by step tutorial.
First, you’ll have to install the ActionMail Optional TLS plugin. From your Typo directory, just run:
./script/plugin install http://github.com/collectiveidea/action_mailer_optional_tls
Easy as pie isn’t it?
Then, in your config/environment.rb, replace the following lines:
begin
mail_settings = YAML.load(File.read("#{RAILS_ROOT}/config/mail.yml"))
ActionMailer::Base.delivery_method = mail_settings['method']
ActionMailer::Base.server_settings = mail_settings['settings']
rescue
# Fall back to using sendmail by default
ActionMailer::Base.delivery_method = :sendmail
endWith:
ActionMailer::Base.smtp_settings = {
:tls => true,
:address => "smtp.gmail.com",
:port => "587",
:domain => "YOURDOMAIN",
:authentication => :plain,
:user_name => "GOOGLEUSERNAME",
:password => "GOOGLEPASSWORD"
}Restart your application. Enjoy having Typo sending you emails from Gmail.
Release of Typo 5.4.4
After releasing Typo 5.4.3, we realized something we actually knew for a while. If we wanted Typo to spread more, we had to make it prettier, easier to install and easier to use. That may sound obvious, but we were working with a quite old product, having legacy feature we didn’t need, but, for some reason, we kept release after release, trying to work around instead of just dumping them. If we wanted to make Typo better, we first had to make it smaller. Dead obvious once again.
Being the fourth of the Willy Ronis series, that version is the first going towards simplification: less useless feature, simpler, better interface, and lighter memory footprint.
Typo now comes with a new, easier to use setup that suppresses needed initial configuration. Just provide an email and a blog title, and you’re done. This setup is the first stone in refreshing Typo installation process.
Previous admin refresh was not very satisfying, and we needed to rework it. Instead of trying to play the webdesigners, which none of us is, we used Jquery UI for the graphic part, and focused on Typo interface instead. The result is, for now, quite satisfying, even though we know we still can improve it.

IPs and pattern blacklist has been completely removed. With Akismet and real time blacklist (RBL), Typo already provided 2 simple ways to fight against spam. Blacklisting IPs and patterns was a very advanced feature, which is definitely not a blogware job. If people want to do that type of filtering, they have many way to do it, using intrusion detection systems (IDS), Apache mod_security, or even packet filtering such as Linux Netfilter.
For ages, Typo provided a full iTunes metadata support for podcast publishers. We’ve completely removed them since it was useless for 99.99% of us. Typo still supports enclosure (files attached to a blog post, appearing in the RSS feed but not on the post itself) though.
Instead of SQL stored sessions, we’re back to plain old cookie sessions. Sessions table was never emptied and this was part of Typo heavy memory footprint.
We’ve also resolved a bunch of bugs as well:
The main reason why we’ve released that new version so early was because of a bug in the visual editor, losing posts content at saving time. Editors are very difficult to test since they rely on Javascript. However, we plan to add some Watir tests in a near future.
Issue 152: fix poor email grammar.
Issue 148: fixes a bug that prevents admin to edit a user without providing his password.
Issue 160: 404 error on the lightbox loading.gif and closelabel.gif.
Issue 155: after deleting an image, the file page is loaded.
Issue 143: publishing posts in the future didn’t work unless you manually unpublishes them.
If you’re still wondering whether or not you should upgrande, give our demo site a try first.
