ウェブサイトの機能改善
開発::web
ご挨拶
本年もできるだけ有益なことをたくさん書いていきたいと思いますので、何卒よろしくお願い致します。
概要
新年、非常に忙しいものの、みんなが休んでいるこのタイミングで、どうしても「またまった時間と集中力が必要なので後回しになっていること」をすべて片付けたくて、 その一環としてがっつり(丸々ではないが)2日間かけてウェブサイトの改修を行った。
具体的には、コメント機能と検索機能である。
内容
従来、検索機能に関してはChienomiだけがPureBuilder Simplyモジュールで、Mimir YokohamaとHarukamy’s MemorandaはGoogle依存、 コメント機能はそもそも公開機能になっていないMimir Yokohamaだけが実装されており、ChienomiとMemorandaにはなかった。
そこでまず、検索機能をMimir YokohamaとMemorandaに実装した。 この内容はほとんどChienomiと同じだが、特にMimir Yokohamaに関してはサイトの方向性の違いから微妙な調整が加えられている。
一方、コメント機能はちょっと複雑である。
Mimir Yokohamaに関しては少し改善が入っているのだが、これはバックグラウンドのものなので全く関係がない。
Memorandaは従来同様のモデレートありである。 そもそも、Memorandaは静的生成でページにコメントが埋め込まれるので、モデレートなしにはできない。
このため、モデレートすることを中心とした構成になっている。
特徴的なのが、「多様な形式で自らが何者であるかを示すことができるために、社会性によって自分がいかに信頼に足るかを示すことを求められ、それによる対応によってコメントを表面的に取り繕うだけでは済まないコメントの価値を示すことになる」という方法でdirtyなコメントを抑制する、という方針である。
コードは56行ほどだが、Memoranda用に新たに描き下ろしたものである。
一方、Chienomiにも似たようなコメント機能が入ったが、大きく違うのが、コメントページが隔離され、モデレートされないことである。
だいたいコメントというのはおぞましいほどに醜い言葉が溢れるのが大概であり、私は目にしたくないと思っている。 そのため、「コメントをページとして分離する」というのはおよそ正しいやり方であると思うのだ。
この分離を活かしてモデレートなしにした。 これは先の社会性フィルタがどのように機能するか、ということが観察できるという意味でもある。
また、コメントを書いても見られるという期待値が低く(わざわざページを開かなければならないため)、より抑制的である。 活発な交流を促すならばもっと目立つようにすべきだが、この形式は罵詈雑言を書き連ねたところでフォロワーのいない鍵垢で叫ぶようなものになる。
こちらもChienomi用の描き下ろしだが、Memorandaとのコード共有部分がなく、Memorandaと違ってコード内にテンプレートが書かれている形式とはいえ、235行もある(テンプレートを除くと160行程度)。
ちなみに、閲覧・送信とも一体型なのだが、古い一般的なCGIの設計と比べるとオブジェクト指向の抽象化を利用して割とスマートなコードになっている。 セキュリティも最低限確保されており、使い勝手も悪くない、と見ている。
実はコメントのメール認証式とか、OAuthとか、あるいはログイン方式、メールで送る方式など色々考えたのだけれど、攻撃に対する問題や私の好みの問題などから、現在の形に落ち着いた。 メール認証式やOAuthと比べると利便性重視の考え方である。
ConoHa WINGのサイトの仕様に完全に依存していることから、これらのアプリケーションの公開予定はない。