Personal tools
You are here: Home なごぶろ ExternalExampleをいじって自分好みのプロダクトにする
About this blog
なごすいぶろぐ。「すべてはなごすいのために」。
Categories
COREBlog2 (31)
Zope (61)
Linux (26)
Misc (47)
Nagosui (11)
ReadingCOREBlog (7)
Plone (81)
Python (20)
Turbogears (18)
COREBlog1 (30)
moblog (5)
Django (12)
 
Document Actions

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
Size 3.7 kB - File type application/x-tar
The URL to Trackback this entry is:
http://nagosui.org/Nagosui/COREBlog2/exmediafile/tbping

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

Posted by あきこ at Aug 14, 2006 09:48 AM

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

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

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

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

Posted by nyusuke at Aug 15, 2006 06:05 PM

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

Add comment

You can add a comment by filling out the form below. Plain text formatting.

(Required)
(Required)
(Required)
(Required)
Enter the word