SimpleBlogの導入

この記事の所要時間: 約5分

数少ない Blog プロダクトのひとつ「SimpleBlog」は Plone4 に入れようとしてもそのままではエラーが出て動かない(3.xなら動くんだけど)。そこで素人なりに修正した結果とりあえずは動作するようになったのでそれのメモ。

※ 2013/8/6 追記:この記事を書いていたときは Plone 4.0 で動作確認していました。それ以降で動くかどうかは不明。

ファイルの入手

simpleblog-3.0beta2.tar.gz を入手する。Plone 公式の Products ページからは落とせないので、ファイル名でググって手に入れるか、もしくは持っている人を探して譲ってもらう。

入手したら、適当な場所にアーカイブを展開する。

プロダクトの修正

インストールできるようにする

このままだとインストールすらできないので、まずはそこをクリアする。

  • SimpleBlog\content\blogfolder.py
    • インポート文追加。

    • 最終行のregisterTypeの引数変更。

記事追加(正確には追加した記事の表示)時に落ちるので、それの対処。

  • SimpleBlog\skins\SimpleBlog\simpleblog_byline.pt
    • 冒頭のspanタグのtal:defineに以下を追加。

    • 52行目くらいのdivタグのtal:defineに以下を追加。

    • なんだか知らないけどここが原因で落ちるので最後のほうの以下の部分を削除(履歴表示部分はなくてもいいかと思ったので)。

  • SimpleBlog\skins\SimpleBlog\SimpleBlog_macros.pt
    • 7行目、28行目、49行目のdtタグのtal:defineに以下を追加。

設定画面表示時に落ちる部分の対処。

  • SimpleBlog\skins\SimpleBlog\prefs_simpleblog_form.cpt

新規作成ドロップダウンに画像とファイルが追加されない問題の対応

かなり適当な部分。permission 絡みというところまではわかったけど、どこをどう直せばいいのかさっぱりわからないので…

  • SimpleBlog\__init__.py
    • インポート部分を変更。

    • 31行目( allTypes = zip(content_types, constructors) の前)に以下を追加。

    • 33行目の wireAddPermissions()削除。

    • ContentInit の引数変更。

    • SimpleBlog\Permissions.py
      • 変数 permissionssPermissions にリネーム。

どうしてこう直そうと思ったのかは忘れた。紆余曲折を経て上記の修正で一応動くようになったことはなったけど詳しい人から見たらデタラメなんだろうなぁ。

プロダクトの配置

products フォルダに配置する。

おまけ

見栄えを変更したい場合は、SimpleBlog\skins\SimpleBlog 内の SimpleBlog_macros.pt、simpleblog_view.pt などを編集する。このサイトでは <dl><dt><dd> で表示される部分を <div><h2><p> に変更して使っていた。