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
- Categorize and full-text-search-index blog entries so the archives are more useful.
- Dave Bauer is implementing this as an ETP application, interesting
to see where that goes.
- Calendar widget
- Easier to set up RSS support (probably requires mucking with the rss-support package)
- Nicer interface
- Make it safe to use in a not-so-protected environment, e.g.,
disable <% ... %> ADP notation.
- More thorough documentation and some setup/config pages.
Version History
- 0.7d Finished port to Oracle. Upgraded PG drop script. Renamed RSS proc which requires running the SQL upgrade script (for PG). Bug-fix to bypass 'draft' and publish directly. -vinodk (August 15, 2002)
- 0.6.4d Added poster information, optional per
parameter. Added "url" shortcut variable to the blog template. Updated
documentation. (July 23, 2002)
- 0.6.3d Added drop scripts, and made the create script call rss-register. Fixed minor bugs. (July 22, 2002)
- 0.6.1d Fixed RSS last update bug. (Jun 2, 2002)
- 0.6d Added RSS feed. Woohoo! (June 1, 2002)
- 0.5d Added weblogs.com update ping. (June 1, 2002)
- 0.4d Added Google link, new style. (May 31, 2002)
- 0.3.3d Added Peter Marklund's arrow-box.gif patch. (May 13, 2002)
- 0.3.2d Missing files from the distribution.
- 0.3d Improved admin interface, added documentation. (March 24, 2002)
- 0.2d Allow and show comments on blog. (March 23, 2002)
- 0.1d Initial version. (February 18, 2002)
License
Released under the GPL.
lars@pinds.com