<?xml version="1.0" encoding="UTF-8"?>
<essay xml:lang="en" version="pto" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:gal="http://norman.walsh.name/rdf/gallery#">
<info>
    
    
    
    
    
    
    
    
    
    
<title>Talk To Me</title><biblioid class="uri">http://norman.walsh.name/2004/09/09/newComments</biblioid>
<volumenum>7</volumenum>
<issuenum>161</issuenum>
<pubdate>2004-09-09T19:35:53-04:00</pubdate>
<date>$Date: 2006-08-22 11:26:24 -0400 (Tue, 22 Aug 2006) $</date>
<author>
      <personname>
<firstname>Norman</firstname>
	<surname>Walsh</surname>
</personname>
    </author>
<copyright>
      <year>2004</year>
      <holder>Norman Walsh</holder>
    </copyright>
<abstract>
<para>This evening I installed some new code for handling comments.
The significant new features are the ability to put HTML elements (a few of
them, anyway) in your comments and the ability to subscribe to the comments
on a particular essay.
</para>
</abstract>
<dc:subject rdf:resource="http://norman.walsh.name/knows/taxonomy#RSS"/>
<dc:subject rdf:resource="http://norman.walsh.name/knows/taxonomy#SelfReference"/>
</info>

<epigraph>
<attribution>
      <personname>
	<firstname>G.</firstname>
<surname>Steele</surname>
      </personname>
    </attribution>
<para xml:id="p1">Being forced to write comments actually improves
code, because it is easier to fix a crock than to explain it.
</para>
</epigraph>

<para xml:id="p2">This evening I installed some new code for handling comments.
The significant new features are the ability to put HTML elements (a few of
them, anyway) in your comments and the ability to subscribe to the comments
on a particular essay. Internally, the comments are now stored as
Atom entries, so it’s easy to publish them as a feed.</para>

<para xml:id="p3">HTML support relies on
<personname>
      <firstname>John</firstname>
      <surname>Cowan</surname>
    </personname>’s
<link xlink:href="http://mercury.ccil.org/~cowan/XML/tagsoup/">TagSoup</link>
to clean up the…tag soup that users enter into the comment form. While I was
waiting for John to fix a couple of bugs that I tripped over, I made a
half-hearted attempt to implement a simplified version in Perl. I have new
appreciation for the difficulty of the task. Thank you, John!</para>

<para xml:id="p4">On the subject of subscribing to comments, it’s not entirely
clear to me how useful that really is. Comments tend to die off pretty
quickly, so I doubt that it’s going to be very interesting over the
long haul. It’s also not clear how much load it’s going to put on my
little server. But it’s a new feature!</para>

<para xml:id="p5">A few notes:</para>

<itemizedlist>
<listitem>
<para xml:id="p6">You can now use a cookie to remember your name, email address, and
homepage.
</para>
</listitem>

<listitem>
<para xml:id="p7">Your email address is not displayed online or the comment feed.
Please provide your <emphasis>real</emphasis>, legitimate email address.
I do put the SHA1 checksum of the email address in the Atom feed, as a
<tag>foaf:mbox_sha1sum</tag>, so it is possible to determine indirectly
who wrote a comment. (If you provide a real email address.)
</para>
</listitem>

<listitem>
<para xml:id="p8">You have to preview a comment before you can submit it. This allows
you to see what happened to your tags.
</para>
</listitem>

<listitem>
<para xml:id="p9">Character entities (either HTML named character entities or numeric
character references) seem to work.
</para>
</listitem>

<listitem>
<para xml:id="p10">Only a few block and inline HTML elements are allowed. If you feel I’ve
overlooked an element you need, just let me know. No attributes
are allowed.
</para>
</listitem>
</itemizedlist>

<para xml:id="p11">Give it a whirl and let me know what you think.</para>

<para xml:id="p12">[Update 10 Sep 2004] Yesterday, as I was writing this, I realized I’d
broken the “view all the comments on this site” function. Or rather, I hadn’t
yet updated it to support the new comment format. That’s fixed now, and there’s
a new URI for them:
<link xlink:href="/atom/comments.xml">http://norman.walsh.name/atom/comments.xml</link>.
</para>

</essay>

