2009年12月13日日曜日

Ploneサイトを静的HTMLに書き出す

Plone.jpのTips アドベントカレンダー企画Jackさんから私に回ってきた。先日のPloneパーティーで話は聞いていたものの、これはプログラマがやることであって、編集者の私にはまったく関係のない話だと思っていた。

技術的なTipsなんぞ何も持っていない私にいったい何を書けと?

仕方がないので、ちょっと気になっていたPloneのプロダクツを紹介してお茶を濁すことにする。

Ploneサイトを作ろうとすると、イントラネットに閉じている場合はいいが、外に公開しなければならない場合にはサーバをどうするかが問題になる。十分に資金があるのであれば、まるごと自由にできるサーバをレンタルすればよいのだが、資金がない場合は困ったことになる。

低価格で借りられるレンタルサーバの多くではPythonが使えないし、Pythonが使えたとしてもデーモンプロセスを起動することが許されないため、Plone/zopeを動かすことはできない。

少し高くつくが、VPSなどのようにroot権限を得られるサーバであれば、なんとかPloneを動かすことができる。だが、この場合でもPlone/zopeのデーモンがメモリ制限を超えてしまうと、サーバ側にデーモンプロセスを殺されてしまったりする。まぁ、サーバの死活を監視して、殺されたらすぐに再起動すればよいのだが、なんとなく気分が悪いし、めんどくさい。

インターネット上で頻繁に多数の人間がコンテンツを更新するようなことがないのであれば、Ploneをローカルのサーバに設置し、このPlone上のコンテンツを静的なHTMLファイルに書き出して、これを格安レンタルサーバにFTPでアップして公開するというのはどうだろう。

例えば、社内に置かれたPloneサーバに複数の社員がアクセスしてコンテンツを作成・更新し、1日に1回Plone上のコンテンツを静的HTMLに書き出し、これをFTPで社外の公開サーバにアップするわけだ。案外、現実的な運用方法のように思える。

ということで、紹介するのがPloneサイトのコンテンツをまるごと静的なHTMLファイルに書き出してくれるプロダクツ、staticsiteだ。

enpraxis.staticsite 1.0rc2

staticsiteをインストールすると、サイト設定のアドオンプロダクツの設定にstaticsiteの設定リンクが現れる。これをクリックして、静的ファイルを書き出す際のオプションを設定する。

静的ファイルを書き出すディレクトリをData.fsのあるディレクトリからの相対Pathで設定したり、HTMLと一緒に書き出す画像ファイルなどを指定したり、静的なHTMLファイルになった場合に機能しないもの(検索ボックスやらカレンダーポートレットとか)を指定して書き出さないようにするなど、細かい指定が可能だ。

オプション設定が終わったらDeployボタンを押すだけで静的ファイルが書き出される。

staticsiteは、まだテスト段階のプロダクツなので、Ploneにうまくインストールできなかったり、静的ファイルの書き出しに失敗することがある。プログラマなら、ぜひ開発に参加して欲しい!

英語だけど、下記のサイトでもPloneから静的ファイルに書き出す方法が議論されている。

Plone Static Publishing

さて、では次はPloneパーティーでお会いしたフィンランドの堀内さんにバトンを回そう。堀内さんはバリバリのプログラマなので、ちゃんとしたTipsをきちんと紹介してくれるはず。お楽しみに!




0 件のコメント:

コメントを投稿