ExternalExampleをいじって自分好みのプロダクトにする

以前、容量の大きなファイルをファイルシステム上に保存して利用するプロダクトとして、PloneLocalFolderNGというのを使ってみたのですが、Plone2.5になってどうも「@@plone」というグローバル変数が悪さをしているらしく使えなくなってしまっていました。私にはこれに手を入れるだけの技量が無いので、他のプロダクトをいじってみることにしました。候補は

です。

しかしこやつらは純粋なプロダクトではなく、ATフィールド(?)を提供してくれるだけの、開発者向けプロダクトなのです。ということはこれを利用したプロダクトを自分で用意せねばならない(あるいは既存のプロダクトを拡張する)というなかなかチャレンジングなことを要求してくれるプロダクトなわけです。

いや私はインプットするのは大好きなので別に何の問題もないといえばそうなのですが、なにせ今はやること・やりたいことが多い。否、多すぎる。Turbogearsもいじりたいし、COREBlogのMLで話題になったPlacefulWorkflowもいじってみたいし、PlonePASもいじりたいぞぅ。そういえばgmailAuthPluginでトラブったのを思い出してしまった。これも一度使えるようにしてみたい。なごすい関係のタスクもやってしまいたいぞぅ。

というわけで目の前にあるものがてんこ盛りなのですが、一度始めるといったんキリがつくまでは続けてしまうという悪い病気がぶり返してきて結局いじってしまったのでした。

で、二つの候補があるのですが、ExternalStorageの方には親切にもExternalExampleというサンプルプロダクトが同梱されていて(ExternalStorageのexampleフォルダ以下にあります)、これを利用するのが一番手っ取り早いだろうという推測から、ExternalExampleを自分の好みに編集して使ってしまおうという結論に至りました(でも実はFileSystemStorageの方も最近バージョンアップしたということがあって魅力的なのでした)。

とりあえずExternalExampleを通常のプロダクトのようにインストールして使ってみると、

  • ComplexExample
  • ExternalArticle

という二つのコンテンツタイプを追加できるようになりました。

新しいコンテンツタイプを追加できるようになった

 

ComplexSampleはこんな感じです。

Complex Example

 

ExternalArticleはこんな感じです。

External Article

 

どういう仕組みになっているのかExternalExampleのフォルダの中を見てみると

  • __init__.py
  • ComplexSample.py
  • config.py
  • ExternalArticle.py
  • StreamingFile.py
  • README
  • refresh.txt
  • Extensionsフォルダ
  • skinsフォルダ

といった内容になっております。

ExternalExampleの中身

予想以上の少なさなので結構らくちんかも~(と思っていつもどこかでハマるのですが、やっぱり今回もハマりました)。予想は立てやすいファイルの構成になっています。

というのも、ExternalExampleをインストールしたことによってComplexSampleおよびExternalArticleが追加できるようになり、しかもフォルダの中に「ComplexSample.py」とか「ExternalArticle.py」とか、いかにも私が担当してます的なファイルがあるので、これをいじればよろしいという予測が立つからです。

手を入れる方針としては、とりあえず今回はComplexSampleはいらないので削除し、ExternalArticleを編集するという感じでいきましょう。

(中略)

…で、すんごく眠いのでとりあえず動くところまではこぎつけましたので、ファイルシステム上のコンテンツはこんな感じでということで。いじったプロダクトはこんな感じ。あくまで動かす所までというだけで、skinをいじったり、もう少し中身を研究したりということはまた今度。おやすみなさい…。


ExMediaFile 0.1 ExMediaFile 0.1
サイズ 3.7 kB - File type application/x-tar
トラックバック用URL:
http://nagosui.org:8080/Nagosui/COREBlog2/exmediafile/tbping

Re:ExternalExampleをいじって自分好みのプロダクトにする

投稿者 あきこ 投稿日時: 2006年08月14日 09時48分

nyusukeさま、こんにちは。
私もLocalFolderNGを使っているのですが、こちらの記事を拝見して、再度Plone本拠地のProduct情報を確認したところ、今は誰もメンテナンスしてくれる人がいない状況なんですね?
Plone2.5に移行したとしても、同じように使いたいなあと思っていただけに、ショック...。

また、External Storageなんかも、今ひとつ使い方が判らなかったので、手を出せませんでした。これは、基本的にはLocalのファイルシステムをマウントしてくれるというものじゃなくて、保存先をローカルのファイルシステムに指定できる、という意味合いのものなんですね...。

でも、解説いただいているので、大変助かりました。サンプルがあるなどと言うのは、判りませんでしたから...。

Re:ExternalExampleをいじって自分好みのプロダクトにする

投稿者 nyusuke 投稿日時: 2006年08月15日 18時05分

やっぱりちゃんとPythonなりPloneなりを勉強してProductを作れるようにしたいですねぇ。

コメントを追加

下のフォームに記入してコメントを追加できます。平文テキスト形式。

(必須)
(必須)
(必須)
(Required)
Enter the word

このBlogについて
Plone, Zope, Pythonなどのトピックについてのメモです。
カテゴリ
Plone (98)
Plone Products (23)
COREBlog2 (31)
COREBlog1 (29)
ReadingCOREBlog (7)
Zope (66)
Turbogears (18)
Django (12)
Python (25)
Linux (30)
Nagosui (12)
Design (33)
Misc (48)
moblog (5)
最近のエントリ
浜松ブラスバンド定期演奏会2008 nyusuke 2008年11月24日
Glossy Horizontal Menuを使う nyusuke 2008年11月17日
第3回Python東海終了 nyusuke 2008年11月17日
Universalじゃない件 nyusuke 2008年11月15日
最近のコメント
Re:WebデザイナーのためのDjangoはじめの一歩 nyusuke 2007年06月01日
Re:WebデザイナーのためのDjangoはじめの一歩 pateo 2007年05月31日
Re:東海Python Workshop 01終了 nyusuke 2007年05月31日
Re:東海Python Workshop 01終了 kfuruhata 2007年05月30日