« Why Linux? | Main | Trickling down »

May 20, 2003

Permalink free associations

Dave's new idea: "It uses the fact that URLs in a weblog have structure."

A permalink is a permanent URL link to an item. A place where you can find it after it has aged and slipped off of the front page. A permalink should be archival.

Manila puts the date directly into the permalink like this:

http://scriptingnews.userland.com/2003/05/20#todaysNewIdea

So from the permalink URL you can deduce the publish date of the item, and sort results in reverse chronological order.

Movable Type puts the post id into the permalink like this:

http://grumet.net/weblog/archives/000051.html

You cannot deduce the publish date from the permalink URL. But you can sort results in reverse chronological order, because the post ids increase with time.

BlogX puts a globally unique identifier (GUID) into the permalink like this:

http://blogs.gotdotnet.com/saraw/PermaLink.aspx/
49899274-4e74-451f-a29c-414c32e39719

You cannot deduce the publish date nor sort the results from the GUID. Note also that the BlogX permalinks enshrine the ASP.NET suffix, .aspx. Cutting edge today perhaps, but five years from now it will be quaint.

Posted by Andrew Grumet at May 20, 2003 10:28 PM | TrackBack | Cosmos

Comments

Are you sure? How is the GUID generated? (recall the brouhaha about Windows UUIDs in objects in word docs and such being sufficiently decodable to extract the ip address of the creator... and timestamps are often used in pseudo-unique values...

Sure, it isn't necessarily obvious by inspection, but it might be in there.

Posted by: Mark Eichin at May 23, 2003 12:38 AM

Actually that's Movable Type default archiving URL format, but it is pretty flexible. You can see date and post title in the url with MT in kottke.org or my site.
Perhaps they could make this the default on future versions.

Posted by: GuilleBe at May 23, 2003 12:51 AM

The date-in-the-permalink isn't a particularly good idea, IMO. I can pre-date an entry for the 20th of next month, reschedule it three days later for the 18th, and then on the 23rd, bump the already published item back to the top of the rotation for the 24th because of an update.

The only constant through all of that is the entry ID. Dates change, IDs don't.

Posted by: Roger Benningfield at May 23, 2003 02:16 AM

But pre-scheduling posts for publishing defeats the simple "journalling" that is intended in weblogs. Imho, each weblog entry should have a date ID (and entry ID) that is set when it finally goes "live." So for an entry, the date and the ID should not change for any reason at all. Just post another entry if you intend to "edit" or go deeper into a topic..

Posted by: Markku Seguerra at May 23, 2003 02:44 AM

You can create whatever URL format you desire for the individual entry archives in Movable Type. Note that on my weblog (linked below), the individual entries are organized as:

http://[$archive$]/yyyy/mm/dd/dirified_blog_title.html

It's entirely customizable (unlike Manila and Radio, I believe).

Posted by: Greg at May 23, 2003 04:19 PM

Yes, thanks, I see now that the URL format customizable. Does changing now have a cost, or is MT smart enough to preserve the old format for old posts (so as not to break the permalinks), while compiling the new URLs with the new format?

Posted by: Andrew Grumet at May 23, 2003 04:35 PM

Permalinks should
[1] be readable with the lowest order of technology - so rep. the date.
[2] be sortable little-endian.
[3] span deployment in a unified directory or multiplicity of directories - a permalink should not step on a brother permalink if moved.
[4] unique ID a hash of the date or hash of signed time from a CA - in case you need confirmable time - like if you were a broker with a blog - talk about a compliance headache.
[5]the permalink style should have a schema in case you need to change it. not just a format.
[5b] integrate with vCalendar/iCalendar format - XSLT?

Posted by: Scooter at May 24, 2003 02:58 PM

Andrew, MT will leave all existing pages where they are, and build new ones in the place you tell it to. For instance, I have this in my Monthly Archiving:

<$MTArchiveDate format="%Y/%m/index.php"$>

Any rebuilt pages will know where to link. If you do a rebuild of all the pages, all pages will point to the new pages. The old pages will remain, as MT doesn't delete pages that it builds. This way incoming links will not die.

Posted by: Patrick Berry at May 26, 2003 01:15 AM
Post a comment









Remember personal info?