文書操作
個人設定でショートネームを編集しないようにしているときのエントリ追加
私は個人設定でショートネームを編集するようにしているので気づかなかったのですが、Plone3上でショートネームを編集せずに投稿しようとするとエラーになってしまうようです。
事の発端は利用者さんから、エントリを追加しようとするとエラーになるとの報告を受けたことでした。私が再現しようとしてもうまくいきませんでした(通常通りエントリが追加可能でした)ので、その利用者さんとの環境の違いから見当をつけてショートネームを編集しないように設定を変えてみると再現できたというわけです。
エラーは「NameError: global name 'get_transaction' is not defined」で、COREBlog2/contents/coreblogentry.pyの472行目あたりで発生していたようです。これはトランザクションを扱うシンタクスが新しくなり、Zope2.10系からオールドスタイルな書き方が排除されたためで、対処法はplone.orgのアップグレードガイドに掲載されていましたので、早速これに従って下記のように変更しました。
- 変更前
- get_transaction().commit(1)
- 変更後
- transaction.commit(1)
- さらに「import transaction」をファイル上部(80行目あたり)に追加
これで一応ショートネームを編集しない設定でもエラーなく投稿できるようになりました。
Ploneに限らず、使わないと気づかない・使っているうちに気づくということが結構あって、そういう経験値の積み重ねみたいなものが技術やそれに関わるコミュニティを支えている、なんていうのは生意気すぎかもしれませんが、個人的には「いじる」ことが好きなので、これからも楽しみながらPlone3の環境整備をしていきたいと思いました。
- 固定リンク
- ¦
- コメント (0)
- ¦
- トラックバック (0)
- いざPlone3へ
- ¦
- メイン
- ¦
- プロダクトはeggで配布

