個人設定でショートネームを編集しないようにしているときのエントリ追加
私は個人設定でショートネームを編集するようにしているので気づかなかったのですが、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の環境整備をしていきたいと思いました。
- 固定リンク
- ¦
- コメント (3)
- ¦
- トラックバック (0)
- いざPlone3へ
- ¦
- メイン
- ¦
- プロダクトはeggで配布

こんにちは。
以前から参考にさせていただいております、たかのともうします。
MLでも色々と教えてくださって、ありがとうございました。
先日COREBlog2のデータをPlone2.1xからPlone3.3に引越ししたのですが...。
なにやらいきなりfeedparserがimportできないとのエラーになってしまい、途方にくれていました。その後、こちらのエントリを見て、もしやと思ってショートネームまわりを設定してみると、エントリが追加できるようになりました。
>Ploneに限らず、使わないと気づかない・使っているうちに気づくということが結構あって
本当にそうですね。
わたしは質問ばかりですが、そういうトラブルの話題も、Ploneのユーザの皆さんの何かのお役に立てたらな…と思うばかりです。
こんにちは。
書き込みさせていただいたあとで、色々原因を探っていたところ、間違った情報がありましたので、訂正のために書き込みさせていただきます。
実は、試したのが Plne3.3上でした。
まず、
>feedparserがimportできないとのエラー
ですが、こちらはC2ShortNameTranslate を利用していたためのエラーのようです。
Plone3.3になって、feedparser.py が plone.app.portlets.portlets から無くなってしまったため、importできないとのメッセージでした。
上記のエラーを修正したところで、改めてテストすると、上記のエントリで書かれているのと同じ状況になりました。
その上で、コードを参考にさせていただき、修正を行いました。
自己解決されたようで何よりです。
akikoさんの発言をMLなどで断片的にではありますが拝見させていただくと、その論理的思考と行動力と問題解決能力にいつも尊敬の念を禁じ得ません。
ユーザ同士のやりとりでよりいっそう理解が深まっていくというのはコミュニティの醍醐味の一つですし、そういったことが重なっていくことがそのコミュニティのパワーになっていくんでしょうね。