plone では各アイテムにコメントをつけることができますが、基本的にコメントはテキストのみです。
そこで、URL っぽい文字列を入れたら勝手にリンクしたりとか、ISBN(国際標準図書番号)を入力したら amazon へのリンクをはったりとかするようにしました。
コメントで下記のような記述をすると、自動的にリンクがはられるようになります。
http://takanory.net のように URL を書く
→ http://takanory.netwww.asahi.com のように www. からはじまる URL を書く
→ www.asahi.comftp.ring.gr.jp/pub/ のように ftp. からはじまる URL を書く
→ ftp.ring.gr.jp/pub/foo@takanory.net のようにメールアドレスを書く
→ foo@takanory.netid:XXXXXX と書く → その plone のメンバーのホーム(/Members/XXXXXX)にリンクisbn:4756146090 と書籍の番号を書く
→ isbn:4756146090
(amazon の商品へリンク)asin:B000BL84JM と amazon の商品コードを書く
→ asin:B000BL84JM"すらど":http://slashdot.jp/ のように構造化テキストっぽく書く
→ すらど"plone ロゴ":img:http://plone.org/logo.jpg のように構造化テキストっぽく書く
→ 
コメントの処理は CMFPlone/DiscussionTools.py の中で行っているのですが、これを書き換えます。
書き換えは ZMI からではなくソースコードを直接編集します。
まず、頭の方にあとで作成するコメント処理用の関数を import します。
変更前
from Products.CMFCore.utils import format_stx from DocumentTemplate.DT_Util import html_quote
変更後
from Products.CMFCore.utils import format_stx from DocumentTemplate.DT_Util import html_quote from utils import comment_parser
次に、コメントを表示用に処理する部分で、import した comment_parser を使用するように変更します。
変更前は、html_quote を通して、改行があったら <br> タグに変更してました。:
elif text_format == 'plain':
reply.text = text
reply.cooked_text = html_quote(text).replace('\n','<br>')
変更後は、その代わりに自作の comment_parser でコメントを処理するようになってます。:
elif text_format == 'plain':
reply.text = text
reply.cooked_text = comment_parser(text)
utils.py のソースコードをダウンロードして、CMFPlone の下におきます。
その後 zope を再起動して、修正した DiscuttionTools.py と utils.py を zope に読み込ませます。
あとはためしにコメント書いたりして、リンクが作成されるか確認してください。
また、utils.py を見てもらえばわかるのですが、変換処理は基本的にこんな感じで単純です。
なので、それぞれの環境にあわせて、マッチする正規表現を変えたり、あたらしいパターンを追加したりとかもできると思います。