Slash Boxes
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

brentdax (2147)

  (email not shown publicly)
AOL IM: Brent Dax (Add Buddy, Send Message)

Just another Perl bigot...

Journal of brentdax (2147)

Thursday August 11, 2005
05:44 AM

Kontent Days 38-39: Preparation

[ #26236 ]

I'm taking a trip to Europe with my family, and won't be back until about five days before my SoC project is due.

I won't be slacking off, though. I'm taking my laptop with me, and I'll be working every night, hopefully productively. Besides documentationand there's plenty to documentI have only the user system (which is going to boil down to a field in WWW::Kontent::Request, a login page, and a User page class), the Magic hook system, the Fidelis access-control system on top of Magic, and a couple minor classes left.

I spent yesterday writing code to resolve links. In Kontent, relative paths have more complex resolution rules than the Unix-ish "current directory" concept; this is mainly because Kontent tries to minimize how large a link must be. The basic algorithm is this:

  • Treat the link as a fragment of a path.
    • Try to see if that fragment can be completely resolved below the current page. (i.e. if the user requested /foo/bar which has a link to /baz/quux, see if there's a page called /foo/bar/baz/quux.) If so, this is the page.

    • If not, try the page's parent, recursively.


  • If the path-based resolution failed, treat the last part of the link as a page title, applying the same sort of recursion but looking up the last part by title instead of name.

This means that links to [[/code_catacombs/crosslink]], [[code_catacombs/crosslink]], [[/code_catacombs/Crosslink]], and [[code_catacombs/Crosslink]] would work, although the second and forth forms might mess up if a page called code_catacombs with a child named 'crosslink' or titled 'Crosslink' exists somewhere between the children of the current page and the root node.

Anyway, today was spent getting SVK set up, packing, and vaguely wondering why Perl 6 regexes weren't working in Pugs. Fortunately, putter figured it out pretty quickly once he learned there was a problem. (Fortunately, I was too busy to lose more than a few minutes.)

Though I'll try to keep this journal up to date, I don't really know what my connectivity will be like, and I'll need to focus on programming when I get the time; hence, it might not be updated as often as usual. Sorry about that...

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
More | Login | Reply
Loading... please wait.
  • Brent, on the off chance you see this before you notice the problem, your site is down. I tried to send you email about the status of your project but it bounced.

    Hi. This is the qmail-send program at
    I'm afraid I wasn't able to deliver your message to the following addresses.
    This is a permanent error; I've given up. Sorry it didn't work out.

    Connected to **.**.**.** but connection died. (#4.4.2)
    I'm not going to try again; this message has been in the queue too long.

    • Thanks--I contacted some family in California and asked them to reboot the server. It seems to have come up fine; I've committed all of my work thus far back to my server, which makes me feel much happier about everything. Your 18 August e-mails seem to have come through.