トップ > 興味のあること > コンピュータ > ソフトウェア

Plone

http://plone.jp/
http://plone.org/
http://www.liris.org/technology/plone/plone_custumize01
Python -> Zope -> CMFの上に構築されたContents Management System。

2004年3月8日

FreeBSD 4.7にインストール

  • /usr/ports/lang/pythonに移ってmake; make install。
  • http://zope.org/からZope2.7のソースをダウンロード。
  • tar ballを展開し、 できたディレクトリに移動して./configure --prefix=/usr/local/Zope2.7
  • make
  • su
  • make install
  • exit
  • cd
  • /usr/local/Zope2.7/bin/mkzopeinstance.py
  • できたZope用のディレクトリのetc/zope.confを適当に変更。 サーバーの使うポートと、effective userを修正した。
  • plone.orgからPlone 2.0RC6のソースをダウンロード。
  • tar ballを展開して、 中身を丸ごとZope用ディレクトリのProductsにcp -rp。
  • Zope用ディレクトリ/bin/runzopeで様子を見る。 使うポートが8000番台なら一般ユーザーでも起動できるが、 80を使いたい時はroot権限がないとダメなようだ。

Pentium III/500MHzに192MBのメモリではちょっと動作がもたつく。 Pentium-M/1.4GHzに768MBメモリのノートPCにGentoo Linux、 PentiumIII/850MHz×2に896MBメモリのFreeBSD 4.7で動かしたときはまあまあ。 サイトが大規模になった時や、負荷が増大した時の動作は未検証。

RC6ではWebDAVがうまく動かないようだ。 finalでは使えるようになった。

2004年4月28日

リダイレクト

Apacheのmod_rewriteとmod_proxyを使う。 まず、Zope Management InterfaceでVirtual Host Monsterを追加する。 どこに追加してもいいし、特に設定は必要ない。 ついで、Apacheの設定を行う。 httpd.confに以下を追加。 IPアドレスは適宜変更のこと。

 <VirtualHost 192.168.0.1>
     DocumentRoot /usr/local/www/data
     ServerName www.akiyama.nu
     RewriteEngine   On
     RewriteMap      lowercase int:tolower
     RewriteRule     /tomoaki(.*) http://www.akiyama.nu:8080/VirtualHostBase/http/www.akiyama.nu:80/VirtualHostRoot/tomoaki$1 [P,L]
 </VirtualHost>

で、http://www.nic.ad.jp/tomoaki/にアクセスすると、 http://www.nic.ad.jp:8080/tomoaki/へのアクセスになる。

(追記)mod_rewrite、mod_proxyに加えて、 mod_proxy_httpを有効にしておくこと。 ないとForbiddenといわれる。 (2005年10月12日)

Apache:80+Zope:8080起動で80アクセスを可能にという方法もあるらしい。

トピック

「有効」かつ「公開されているドキュメント」をトピックでコレクションするには、

  1. SubjectをList Criterionとして追加する。
  2. 「有効」と「公開ドキュメント」を条件の詳細として追加する。

全ての公開されているドキュメントには 「公開ドキュメント」をプロパティのキーワードとして付与しておく。 有効なドキュメントには、「有効」を付与しておく。

2004年6月4日

http://ido.nl.eu.org/software/localfs でローカルファイルシステムをZope経由で公開できるかも。

2004年6月8日

<dtml-var "photo.table">でインクルードできる。 でも、 <dtml-var "photo.table.inc">はインクルードできない。 ピリオドをエスケープする方法はあるのかなあ。

2004年6月9日

とりあえず、 LocalFSにあるファイルをインクルードする方法がわかった。 /photo/old/01/image001.jpgというファイルなら、

 <dtml-with photo>
   <dtml-with old>
     <dtml-with 01>
       <dtml-var image001.jpg>
     </dtml-with>
   </dtml-with>
 </dtml-with>

である。 ちょっとスマートさに欠けるが、動くことは動く。

2005年4月23日

いつの間にやら、FreeBSD 5.3のportsに収録されている。 /usr/local/www/ploneでmake installするだけ。 ただ、/usr/local/www/Zope/bin/mkzopeinstance.pyで作ったインスタンスではPloneが見えなかった。 /usr/local/www/Zope/Productsへ適当にシンボリックリンクを貼って解決。

2005年10月11日

Plone 2.1が出たので、インストールしてみた。 新しくインスタンスを作って、 Ploneのtar ballを展開した中身をProductsディレクトリにコピーするだけだった。 スマートフォルダのおかげで、 開発工数が画期的に少なくなりそうだ。

昔のデータに開始日時を付ける
デフォルトでは「開始日時(Effective)」は1999年までしか遡れない。 これだと、古いデータにプロパティを付けるときに困る。 そこで${root}/portal_properties/site_propertiesにあるcalendar_starting_yearを修正した。 これで1997年から指定できる。 ついでにlocalTimeFormatやlocalLongTimeFormatを変更しておいてもいいかも。
フッターの修正
${root}/portal_skins/plone_templates/footerに著作権表示などを追加。 とりあえず国際化は無視する。
色やフォントの変更
${root}/portal_skins/plone_styles/base_propertiesを修正。 背景色やフォントファミリー、基本フォントの大きさを変更。
右寄せ、センタリング
${root}/portal_skins/plone_styles/ploneCustom.cssを修正。 右寄せ、センタリングを追加。 作成者と更新日付を表示するDocumentByLineを表示しないように。
最近の更新
${root}/portal_skins/plone_portlets/portlet_newsをコピーして、 portlet_effectiveを作る。 ${root}/portal_skins/plone_templates/recently_modifiedをコピーして、 recently_effectiveを作る。
右スロットを空に
トップページ以外は空のプロパティright_slotsを追加。

2005年10月20日

ゲストユーザーに対して「ログイン」を表示させない
/jpnic/portal_skins/plone_templates/global_personalbarを修正して、 アクションを表示する<li>エレメントにtal:condition="not: isAnon"を追加する。 これだけだとパン屑リストの表示とタブが重なるので、 /jpnic/portal_skins/custom/ploneCustom.cssに以下を追加。
 #portal-personaltools { border-bottom-style: none; }
 #portal-breadcrumbs { background-color: &dtml-globalBackgroundColor; }
作成者を削除し、最終更新日の代わりに開始日を表示する
/jpnic/portal_skins/plone_content/document_bylineを修正して、 createrの項目を削除する。 ModificationDate()をEffectiveDate()に書き換え。

2013年3月4日

久しぶりにインストールしてみた。 バージョンは4.2.4で、ずいぶん様変わりしている。 勤め先の公開サーバーに使わなかったのは正解だと思うが、 自宅の蔵書管理システムにはいいかもしれない。