Lars Pind's Blogger Documentation

By Lars Pind

Why

I wrote this blogger package for my own web site at pinds.com. For background information, please visit http://www.pinds.com/download.

Download

The blogger now lives in the OpenACS cvs repository.

Getting started

Install the package on your system, mount a new instance somewhere on the site map, make sure you have admin permission on the instance, and then visit /admin under the URL where you mounted it. Now you can add your first blog entry.

Syndicating a blog (putting it on your front page)

If you want to include a blog as part of another page, that's pretty simple.

If you're including in an ADP, say:

<include src="/packages/lars-blogger/www/blog" url="/blog">

Or from a Tcl page:

set blog_html [template::adp_parse "[acs_package_root_dir "lars-blogger"]/www/blog" [list url "/blog"]]

If you supply a URL, then the blog that matches that URL is served (assuming that a lars-blogger package is mounted at that URL). Alternatively, you can supply a package_id parameter directly. If nothing is supplied, [ad_conn package_id] is used.

Alternatively, there's a cached version of the same, which is useful if you're including a blog on the front page of a highly trafficked site.

[lars_blog_get_as_string -url "/blog"]

This takes either a package_id or a url argument, just like the others. To include this in an ADP, you can also say:

<%=[lars_blog_get_as_string -url "/blog"]%>

Technical Info

The package fully supports multiple instances, i.e., you can mount several instances in your site map, and they'll stay properly isolated from each other.

Only supports PostgreSQL (please do port to Oracle if you want to).

Contents in your blog entries are assumed to be full-blood ADP-ified HTML, so don't give people access to post a blog unless you trust them. I guess it should be made configurable whether to allow this or not, but since I'm developing this for my own site primarily, I haven't done so. This also means that if you've added custom ADP tags, those are also available to you in your blog.

weblogs.com update ping

There are a couple parameters governing this feature. You can turn it on or off on a per-package basis. And you can specify which URL you want to export to weblogs.com, in case it's not the one the package instance is mounted at. This can be useful if you're including the blog on other pages, for example your site's front page. Thanks to Jerry Asher for the code to do this.

RSS Feed

The RSS feed is version 1.0 only, and requires the rss-support package if you want to use it. I found that getting rss-support to register the Report Generation Subscripion (whatever that means) was hard. There seemed to be a bug, but the rss-support package was so hard for me to figure out that I'm not sure. In the end, I hacked on some page scripts and added a channel_title through SQL. Phew! Let me know if you try to get this running, so we can either fix the bug(s) or write some clear docs on how to.

You can supply your own channel image through the parameters. And you can specify which URL we should advertise the RSS fil under. Leave blank if you haven't set up an RSS feed for this package.

Road Map

Version History

License

Released under the GPL.
lars@pinds.com