Ploneにblobを導入。

Ploneは、Zope2の上にあります。Zopeは、データストア先として、ZODBというデータベースを使っています。これは、何でも一つのファイルに格納してしまいます。イメージ的には、accessのmdbファイルみたいな物です。一つのファイルですむので簡単にバックアップ、復元ができる利点があります。しかし、ファイルや画像もZODB内に取り込んでしまうためデータベースファイルが巨大な物になってしまうという弱点がありました。これを解決するのが、Blobという仕組みです。ZODBのバージョンが3.8になってから利用できるようになりました。なお、Plone 4 では標準となっています。

設定方法:

  1. buildout.cfg内の[instance]セクションにある、egg, zcmlに、plone.app.blobを追記します。そして、blob-storage へ var/blobstorage を追記します。
  2. そして、./bin/buildout をおこないます。
  3. ./bin/instance fg (startなど) で起動します。
  4. アドオンプロダクトから、plone.app.blob: ‘File’ replacement type 1.0b8 を選択してインストールします。

これで、ファイルはBlob対応となります。

※既存のコンテンツ(File, Image)をblobに置き換えたい場合は、egg, zcmlに、Products.contentmigration も追加しておきます。そして、ファイルタイプを置き換える場合、PloneサイトのURLの後ろに、@@blob-file-migrationを入力します。イメージの場合は、@@blob-image-migration を入力します。

migrate

こんな感じで、マイグレーションしてくれます。

参考サイト

  • [Plone User’s Group Japan] zc.buildoutを使ってプロジェクトを管理する
    • http://plone.jp/Members/tacaco/buildout-tutorial-jp

疑問:

  • @@blob-image-migration を行ったら、KeyError: ‘ATContentTypes.ATBlob’ といわれた。
    • blob_error

Ploneにblobを導入。” への1件のフィードバック

  1. こんにちは。
    いつも大変参考にさせていただいております。

    blobstorageは私も昨年から利用しているのですが、画像のコンバートは未だでした。
    画像分がずいぶん増えてきたので、画像もblobに置き換えようと思ったのですが、変換を行おうとすると、同様のエラーになってしまいました。
    GUIからでなく、スクリプトなどで対応できれば良いのですが…。
    IssueにPOSTしてみようと思います。

コメントは受け付けていません。