Launching the site
Welcome to my third or fourth attempt at a site resembling a Web log! This one runs on a state-of-the-art Python-based, open source Content Management System called Plone. Certainly far more more firepower than any Web log needs, but I’m thinking that using this as a platform will have spillover effects that create learning opportunities for messing around with other technologies. Also, I can no longer imagine composing documents in anything else other than Restructured Text, which is native to Plone (though I’m sure I could have modified any simpler Web log software to let me use that). Probably the biggest drawback I can see is the fact that the main CSS file is 111 KB. Even with a fairly fast connection, first accesses to this site will be unacceptably slow. Once the stylesheet is cached on the client side, it’s fine, but I’m worried about situations where caching may not be taking place.
Anyway, probably the biggest deal (and a big motivator for me to get a site going again), is being able to use this great skin, a Product called "Plix"–look for it on the Plone site.
The first release of this site consists of one folder to contain all the content, and three "smart folders" to display the content on the basis of its subject matter. "Smart folders" used to be called "topics" in Plone, and essentially they’re canned queries that enable you to set a series of criteria for filtering content by content type, location, subject, etc. In Plone 2.1, you can control the order, forward or reverse, in which the results are shown, based on various criteria including creation date, which is what I use here. Another nice aspect of Smart Folders is the built-in batch control, where you can select how many records to show on a page. In my case, I’ve got it set up for 5.
I wanted this site to basically consist of two Web logs, separated because the different content matter (information technology and international relations) is unlikely to be of interest to the same audience. In fact what I’ve decided to do is let the home page mix the two types by simply being a running, chronological log, while maintaining them separate via the "tech" and "ideas" part of the site’s URL. This reduces the utility of the home page, I suppose, and is a policy that will probably will be revisited.
Rather than using one of the Blog products available for Plone (e.g., Quills), it struck me as best to use a tried-and-true standard Plone content type, the "News" item. All I needed to do was modify the template that displays the items ("folder_listing" from "plone_templates") to be more Blog like, which for me meant to display the entire body of the News item on the pages that serve as the Web log. Note that I also sometimes post "Page" content, which tends to be longer, more polished content, like an essay. I conditionalize on the content type to only show the item description if the item is something other than News. Because my Plone stills had become rusty from lack of use, these issues were a little more complicated than I’d thought, but in retrospect involved some pretty simple changes. I also changed the ATContentTypes template "atct_topic_view" to use my own "folder_listing_custom" customization of "folder_listing", so that the normal Plone "folder_listing" template is used for any non-bloggish folders.
As soon as I get a chance to turn my modifications into a filesystem product, I’ll post the results of that effort in the "Open" section of this site.
Some other changes that were made:
Language
For now, there will be no multilingual content on the site, so I wanted to override the Plone default behavior of translating navigation elements into the browser’s language. For this I installed Plone Language Tool (which now comes with Plone), and disabled "Use browser language request negotiation."
Tabs
In "Navigation Settings", I clicked off "Automatically generate tabs". I set these manually in portal_actions in the ZMI. "Tech" for example appears in the tab navigation, because I added an action of category "portal_tabs", set the permissions so that anyone with "view" priveleges (which includes anonymous users) can see it, and gave it a URL that would point to my "tech" Smart Folder, which displays all content relating to information technology. A "Contents" tab appears only to the portal manager, when he logs in. It’s the folder that contains all the content.
Properties
- In the properties of the Plone object itself, I made the default_page my "home_listing" Smart Folder which gets all News Items and Documents and sorts and batches them appropriately.
- In portal_registration, I made the "join" action invisible.
- In portal_properties -> site_properties, I changed localTimeFormat and localLongTimeFormat for maximally human-readable dates.
RSS Syndication
- In the ZMI, click the portal_syndication tool.
- Activate syndication in the "properties" tab.
- Now go to your Plone site and notice that there’s a new "syndication" tab on any folderish objects, which include "smart folders" or queries. When you enable syndication for your selected folders a new "RSS" icon will appear with a link that can be used as the RSS feed.
Language
Random Weirdness
At some point the portal catalog got completely hosed and would not return search results correctly–each item was assigned a 1% relevant rating upon any advanced search, and a simple search would return no results at all. I ended up having to transplant the content to a new Plone site and reconfigure the stuff described above. Hope it doesn’t happen again.
Granted, I did a lot of the development on a release candidate version. I noticed that other random weirdness, not noted here, was resolved by upgrading the final release.
TO DO
- Turn everything in the portal_skins "custom" directory into a filesystem product.
- Fix CSS of quick search form so that it shows up in I.E. (currently only appears in Firefox).
- del.icio.us links portlet
- Make calendar dates link to content. Otherwise do away with the calendar entirely.
- Enable comments, ensuring comments spam can’t happen.
- Make RSS syndication put the first paragraph (or 250 words or whatever) of the entry into the "description" field–I don’t usually supply a separate "description" for my entries.
- Figure out how to make Restructured Text the default type.
- Implement ATAmazon portlet, since books are a big focus of the "ideas" section. Also book cover graphics give the site a lot more character.