Tao of the Machine

Programming, Python, my projects, card games, books, music, Zoids, bettas, manga, cool stuff, and whatever comes to mind.

Content management, part 2

I've been thinking some more about this, but I haven't reached a solution yet. I don't want to tack content management features onto Kaa if they confuse things and/or are out of flavor. To put it another way, if you select an entry from a list, those should be weblog entries, not a mix of blog posts, FAQ questions, documentation tidbits, articles, etc.

There are several ways to avoid this. The most radical one would probably be to write an entirely different program. You could manage "entries" in projects (be it a FAQ, article, etc, maybe even a weblog) and have a more clear overview of what belongs to what.

Another solution would be, to create a different database for every project. I want to write a FAQ in Kaa? No problem, just create a new database. The entries you will see in the list will all be FAQ questions. You want to have a (section of a) site with a bunch of articles? Create a new project, and every entry is an article.
Yet-to-be-written functions and options would help you to generate pages in the way you want. For the FAQ, there would have to be some notion of order in which the questions appear; the current way of ordering (most recent date on top) would not be appropriate. The articles would all appear on separate pages and may need more meaningful page names than foo_000045.html. And so on... in general, we'd need extra functions to shape the layout of pages the way we want it.

Technically, Kaa is capable of all this. With some new functionality, it could do more than just weblogs, and in such a way that for those who don't care about the extra features, it would still be simple to use.

When those categories are done, I'll really need to move this stuff to a different website... the URL is too long, and I don't like the banner ads Angelfire throws in. Expect more Real Soon Now.

Posted by Hans Nowak on 2002-08-23 16:47:26   {link}
Categories: Kaa

Content management

Content management. I don't like the word; it sounds like marketspeak, and is more abstract than meaningful. In spite of that, I wonder: should I make Kaa a more general tool, geared toward this "content management" thing? IMHO, that just means that it can be used for handling information in other forms than a standard weblog.

I've been playing with this idea for a while. It's not such a big step from a weblog to, say, documentation, a FAQ, or a series of (un)related articles. In theory, all of these could be written and published with a tool like Kaa. It just doesn't know it yet. ;-)

If we consider an entry as "just a piece of information", then several of these "pieces" could be glued together to form the above. A FAQ would probably be closest to the weblog form, but basically any form of documentation could be built like this, and so could articles. What we need is a way to group entries together. Select the entries you want and render them in a HTML file (or several).

With the "Keep It Simple, Stupid" motto in mind, I had the following idea: there's yet another text file (maybe a Python file, maybe not) containing:

  • the filename of the HTML file to be created
  • criteria to select entries that will be included in this file
  • maybe other data, like a sort order?
  • maybe special code that can be executed?
A pseudo-example:
    def is_faq_entry(entry):
        return "faq" in entry.misc["category"]
Lambdas could be useful here I guess. Anyway, the point is to private a criterion, or a list of criteria, for selecting certain entries. These will then be used for rendering the HTML file. A sort order may or may not be specified.

Of course, this brings all kinds of questions, like:

  • Will all entries be mixed up in the database, regardless whether they are used for blog, articles, or something else? That would not be very manageable. How to fix this? Maybe an entry should have a "type"? Or maybe there should be search criteria when selecting entries?
  • Is it a good idea to mix up weblogging and other forms of online publishing? Would it be better to deliberately keep Kaa simple and single-minded?
  • If Kaa will indeed support other forms, can it be done in such a way that it's still easy to use?
  • etc...
The more I think about it, the less appealing the idea seems. Maybe I should write a different app for more general forms of online publishing. I need to think about this.

In the meantime, nothing much has happened to Kaa... I added a few minor thingies, but the categories aren't done yet. I've been very busy. :-/ (Don't we all use that excuse? ;-)

Posted by Hans Nowak on 2002-08-21 23:59:54   {link}
Categories: Kaa

New version available for download

A new (and possibly unstable) version of Kaa, 0.6.5j, is available here. It is usable, but it may have unexpected bugs, and some features are not user friendly enough yet (like categories), or simply missing (like multiple author support).

I make this version available for those who keep a close eye on Kaa's development, for testing purposes and such. It's not that the current version of Kaa is useless... after all, I'm writing this blog with it, and I'm already quite content with its capabilities. That doesn't mean it will make other people content, though. Kaa simply isn't ready yet, especially not for non-Pythonistas.

The "j" in the version number (0.6.5j) indicates that this is a transitory version, on its way to 0.7, which should have full category support.

Posted by Hans Nowak on 2002-08-18 23:49:47   {link}
Categories: Kaa

Categories 'R Us

A first, rough implementation of categories has been added to Kaa. It works, but it's rough, unpolished, because it's not very user-friendly yet.

There is a file called categories.txt, in the db_ directory, containing the category names for the blog. This is just a text file with a name on every line. In the near future, a screen should be added to edit this, but for now, it needs to be changed by hand.

To associate a category with an entry, use the "Categories" button (although this may change), or a menu option (not available yet in the current version). Multiple categories can be added. (This makes sense; for example, if I have categories "Python" and "Perl", and I write a post comparing the two, then it belongs in both categories. No need to pigeonhole the post in just one category.)

Where from here? I plan to do a simple form of "category archiving". I don't really want to add complete archives for every category; IMO, every category should (possibly) get a page with the N most recent posts that fall in that category. Anyone who wants to read more than N posts, should consult the general archive. (Then again, if someone really really wants exhaustive category archives, this should be possible too, maybe by defining custom templates or custom post lists for templates... but that is a different issue.)

These category archives aren't here yet, but if they are, the "Categories:" section at the bottom of a post should contain links to these archives.

I'm almost ready to start a more general weblog, not just Kaa-related. If/when I do, I'll move it to a different URL, because I don't like the Angelfire banners. Kaa downloads and documentation may then go to Awaretek or maybe Sourceforge... so watch this space.

Posted by Hans Nowak on 2002-08-18 21:14:55   {link}
Categories: Kaa

Generated by Firedrop2.