Catching up with Rails

You may or may not know that I have a local branch in my SVK
repository in which I’m trying to make typo work with edge rails.

It’s, ah, fun.

I’ve reached the point where I am seriously considering removing a
huge amount of code, leaving only the basic article permalinks and
index/search pages as they are, then slowly adding (probably starting
with posting a new article via the web) back in ways that play well
with the new Rails Way; otherwise we end up pissing into the wind.

This may take a while. But I’m not entirely sure it’s a bad
idea. We’re carrying a great deal of cruft in the typo codebase where
it turns out that we’ve zigged before rails zagged.

My initial roadmap for this approach is looking like:

  • Strip out everything but the basic blog display.

  • Think about URL design for everything but permalinks, ideally moving
    to a RESTful structure. The current /articles tree doesn’t really
    play well with the resourceful approach, but that’s fine - it’s a
    useful archive structure when you’re looking at the blog as a blog.

    Currently I’m thinking in terms of resources like:

    /entries => Articles treated as Resources
    /comments
    /trackbacks
    /feedback => conflating comments and trackbacks, useful for spam
    stopping
    /sidebars
    /pages
    /sessions => RESTful authentication
    /categories
    /tags
    /categorizations
    /taggings
    /users
    /rules => Spam policy
    /blogs

    But I expect this to be a process of discovery.

  • Add comments + Akismet based spam checking

  • Add RESTful authentication.

  • Add article/page posting

My thinking is that most features should go back in quite quickly and
we’ll end up with a rather more robust application that gets to hand
more stuff off to Rails than we’re currently doing. We’re more and
more out of step with the framework and that’s causing us pain.

I say do it. Every good project needs a good ground-up rewrite now and
then, and I think typo is past due. There’s a lot of cruft in typo that
just needs to go. Can anyone say, AJAX Sidebar activation?

Matt

On Thu, 28 Sep 2006, Piers C. wrote:

useful archive structure when you’re looking at the blog as a blog.
/sessions => RESTful authentication

Matt R. [email protected] Visit my blog!

He’s an immortal dishevelled boxer with acid for blood. She’s a
bloodthirsty hip-hop museum curator with a knack for trouble. They
fight crime!

Matt R. [email protected] writes:

I say do it. Every good project needs a good ground-up rewrite now and
then, and I think typo is past due. There’s a lot of cruft in typo that
just needs to go. Can anyone say, AJAX Sidebar activation?

Actually, that’s fixable. But it’s been problematic because it really
didn’t sit well with the workings of the sidebar object; we’re
roundtripping to the database far too often when we could/should be
letting the browser retain the information. I’ve been planning a
rewrite for about a yonk though.

The other option (which makes a great deal of sense for some themes)
is to just have sidebar partials which you can edit in the admin
interface (probably using liquid rather than rhtml). The idea being
that it’d make it a great deal easier to have multiple sidebars.

I’ll see what I find out as I do the work though.

I’m kind of conflicted about this. On one hand, the end result will
probably be great. On the other hand, this is going to mean a long
period of instability and random user complaints while we finish
migrating everything. And it’ll also remove a bunch of code that I
more or less understand and replace it with new code that I’ll have to
learn.

Perhaps we should consider finishing up 4.1 first and then start on
this? When is Rails 1.2 due?

Scott

“Scott L.” [email protected] writes:

I’m kind of conflicted about this. On one hand, the end result will
probably be great. On the other hand, this is going to mean a long
period of instability and random user complaints while we finish
migrating everything. And it’ll also remove a bunch of code that I
more or less understand and replace it with new code that I’ll have to
learn.

Heh. I’ve just thrown up an experimental/restful branch with my work
so far. Tests are passing with the exception of one that seems to be a
rails bug, and the only deprecation warning we’re getting looks like
being another case of Rails making an unwarranted assumption – we
don’t ever call the function it’s complaining about.

Perhaps we should consider finishing up 4.1 first and then start on
this? When is Rails 1.2 due?

What are we lacking for 4.1?

And I’m not sure when 1.2 is due, but the noises at the European Rails
Conf seemed to to imply it was coming real soon now.

What’s the URL for it?

Matt

On 28-Sep-06, at 12:17 PM, Piers C. wrote:

roundtripping to the database far too often when we could/should be
letting the browser retain the information. I’ve been planning a
rewrite for about a yonk though.

Is this why my new sidebar goes to the database to grab the
information twice?

I’ve been puzzling this one over for quite some time. I have a
sidebar that’s pretty much complete now, however, it takes well over
30 seconds to load. When I look at the logs, it’s because the
sidebar goes back to the database and loads the feeds and builds the
feed, which is a pretty time consuming thing to do, and does it twice.

Why is this?

Matt

Matt R. [email protected] writes:

What’s the URL for it?

svn://typosphere.org/typo/experimental/restful

Matt R. [email protected] writes:

Actually, that’s fixable. But it’s been problematic because it really
sidebar that’s pretty much complete now, however, it takes well over
30 seconds to load. When I look at the logs, it’s because the
sidebar goes back to the database and loads the feeds and builds the
feed, which is a pretty time consuming thing to do, and does it twice.

Why is this?

I dunno. I don’t think it’s related to the way sidebar configuration
works though.