2009-01-01から1年間の記事一覧

Viewlet内でTest()は使えない

Plone2.5まではtest()をTAL内で多用していたけど, Viewletをカスタマイズしていて,<div tal:condition="ptyhon: test(hoge, true, false)">みたいに書くと NameError: name 'test' is not defined とか出る.Viewletではtest()は使えないので,下記のように書くと同じ意味になる. <div tal:condition="ptyhon: hoge and true or false">なんでこんな書き方になるんだ</div></div>…

Ploneが起動しなくなったけど治った

再起動してもプロセスは動いてるのに,CPUを占有したまま応答しなかった. ログにもでないし途方にくれたが, カスタムプロダクトの,browser/viewlets.py に誤りがあったもよう..はあっ・・

Ploneでcptファイルをコピーしてくるなら,cpt.metadataも一緒に

ログインしても No next action found for login_form.success.Plone とか出るようになった. ログインフォームをカスタマイズするときに, buildout-cache からlogin_form.cptをコピーしてきたのだが, login_form.cpt.metadata はいらないかと思って持って…

SELinuxでSSL証明書のインストール

SSL証明書を入れてApache再起動したら, SSLCertificateFile: file '/etc/httpd/conf/ssl.crt/server.crt' does not exist or is empty というエラー.もちろんファイルは存在している./var/log/message を見ると, SELinux のエラーのもよう. 証明書を一…

HTML_QuickForm でTinyMCEを使う

※書きかけの記事です.このままでは動かないので注意.HTML_QuickForm にTinyMceのエレメントクラスを加える. http://svn.civicrm.org/civicrm/branches/gsoc-ui/packages/HTML/QuickForm/tinymce.phpこのファイルをPEAR/HTML/QuickForm の下に置く.※FCKEd…

PEAR::AUTH のログでNo login sessionと言われて止まる

PHP

こういうときはソース追わないとダメなんだよね.. 今回は,PEAR::AUTHが生成するログインフォームを使っていなくて,独自にフォームを作っていたので,フォームのパラメータがデフォルトと違ったから起こった.デフォルトは,"username""password"というna…

PEAR::Auth の認証ログを得る方法

PHP

PEAR::Auth で,認証エラーが出ても,どこがネックなのか分かりにくいので,PEAR::Logを組み合わせてログを出力する.Manual :: 導入 http://pear.php.net/manual/ja/package.authentication.auth.intro-logging.php

Plone(Zope)のパフォーマンスを測定してくれるPTPProfiler

ページテンプレート単位で測定してくれて,どこがボトルネックかを教えてくれる. 関数単位ではないので,ざっくりと.Profiling Plone and tuning add on product performance — Plone CMS: Open Source Content Management http://plone.org/documentation…

Zopeのログに吐かれるConflict Error

たまにZopeのログに吐かれるConflict Error,気になってたんだけど, 発生しても再試行してくれるので,安心らしい. よかった.http://zope.jp/documents/manual/zope-conf/zope2104conf # ディレクティブ: conflict-error-log-level # # 概要: # コンフリ…

Plone3.3.1 + plone.app.blob

Plone3.2.3の頃の書き方では上手くいかなかったので,下記のように書いた. [buildout] parts = zope2 instance extends = http://dist.plone.org/release/3.3.1/versions.cfg find-links = http://dist.plone.org/release/3.3.1 http://dist.plone.org/thir…

HTTRACK

Web

httrack はサイトのアーカイブを取ってきてくれるツール. LinuxもWinもある.httrack http://example.com/ -r3 +example.com/*rオプションはリンク先をいくつまで辿るか. example.com/* は,example.com 以下のコンテンツも取ってくるという意味. * とし…

Plone3.3.1 + LDAP

python-ldapのインストールはbuildoutを使う. buildout.cfgには, eggs = : Products.PloneLDAP Products.LDAPMultiPlugins Products.LDAPUserFolderzcml = : Products.PloneLDAP Products.LDAPMultiPlugins Products.LDAPUserFolderと書くversion.cfg には…

Apache+Ploneでアクセス制限

httpd.conf の VirtualHost ディレクティブの中で, Order deny,allow Deny from all Allow from 123.123.123.123/24 などと書く.

iptables

$ sudo /sbin/iptables -I チェイン名 16 -p tcp --dport 80 -j ACCEPT チェイン名 の16番目に挿入する $ sudo /sbin/iptables -A チェイン名 -p tcp --dport 80 -j ACCEPT チェイン名 の最後に追加する

PloneへのFTPはPASVモードで

アクティブだと以下のようなエラーが出る.ERROR ZServer unexpected disconnect on data xmit channel

buildout.cfg にzope.confの設定を書く

buildout.cfgで直接設定できないけど,zope.confに書きたい場合,以下のように書く. [instance] (...) zope-conf-additional = address 8021

ポートレットをオーバーライドする方法

ポートレットをオーバーライドする方法.Override the portlets in Plone 3.0 — Plone CMS: Open Source Content Management http://plone.org/documentation/how-to/override-the-portlets-in-plone-3.0/例えばニュースポートレットのスキンを変えたいとき…

unbound prefixエラー

configure.zcml を書いていて,下記のようなエラーがでたら,名前空間の不備が原因. 正しく名前空間を設定する.line 102.0, unbound prefix

ArchGenXMLでカスタムコンテンツタイプに独自ビューを設定する

ArgoUML で,コンテンツタイプクラスのTagged Valuesに default_view というタグを追加. 値は例えば,my_view にする.skins/xx_templates の下に my_view.pt を作成. my_view.pt はPloneにデフォであるdocument_view.ptとかをコピーしてもいい.

request変数のトレース

TAL上で以下を埋め込むと,request変数を表示できる. <p tal:replace="structure python: request"></p>

Plone3 でカスタムツールを作る

python script だけでは,できる事に制限があるので,ツールを作る. 下記参考にして,MyTool.pyをプロダクトのルートに置く. Create a Custom Tool — Plone CMS: Open Source Content Management from Products.CMFCore.utils import UniqueObject from OF…

Eggで配布されているプロダクトのインストール

Products.Collage を入れようと,buildout.cfgに書いてみたが,配布元に接続できなかったので,DLして組み込んだ.Plone.orgのページは,古いバージョンしか置いてなくて,最新版は以下にある. http://pypi.python.org/pypi/Products.Collage/src フォルダ…

Plone3で 新しいViewletを作るときの注意点

browser/configure.zcml で,新しいViewletを定義できるが,"template"属性も入れた方がいい. なぜなら,ZMIの View Customizationsで Ploneのデフォルトのものを取ってくるから. たぶん,テンプレを違う名前にするのでもよいかも. まあ,メンテ性を考え…

Plone3 での ポートレットの管理

ポートレットの管理が楽になってる. 親アイテムのポートレットの状態を継承するかしないかが選べるので, 1カラムにしたいところは,継承せずに,全て消したり, 2カラムにしたいところは,ナビだけ表示するとかで,簡単に実現可能.

Plone3 で多言語コンテンツを管理

ページ単位で対訳を作るのでなければ,LinguaPloneを使わなくてもいい.Plone2.5では,言語管理はPloneのサイト設定でできたが,Plone3からZMIでやるようになったみたい. /portal_languages にアクセスして,"Allowed languages" で,EnglishとJapaneseを選…

ArgoUMLでArchGenXMLのプロファイルを読む

ArchgenXMLで使用できるプロファイルを以下のコマンドで作成. java -Dargo.defaultModel=/profiles/archgenxml_profile.xmi -jar /opt/ArgoUML/argouml.jarArgoUMLで, Profile Configuration を右クリックで, Manage Profilesを選択.できたプロファイル…

ArgoUML+ArchGenXMLで気をつけること.

ArgoUMLは,Initial Stateから出て行く遷移(OutGoing)は許可されているが,入ってくる遷移(InComing)を許可していない(UMLの仕様だとか).同様にFinal Stateもそこから出て行くことができないので, Initial State(黒丸)とFinal State(丸の中に黒丸)…

ArchGenXMLでイミフなエラー

ArchGenXMLを使ったプロダクトで↓のような変なメッセージがでたら,BadRequest: The id "-64--88-0-1-37df91ba:1233b216a1e:-8000:00000000000017AB" contains characters illegal in URLs.Workflowの設定で,Transionに名前をつけてないのが原因. プレビュ…

i18ndude をインストール

i18ndude をインストール.国際化のため,buildout.cfgにi18ndudeを追加. i18nのファイルも作ってくれる便利. [archgenxml] recipe = zc.recipe.egg:scripts eggs = archgenxml i18ndude

Plone3.2.3でArchGenXML2 を試す.

ここ参考 http://plone.org/documentation/manual/archgenxml2/referencemanual-all-pages専用のbuildoutを作ってArchGenXMLをインストール.ディレクトリ作って,$ mkdir archgenxml_buildout $ cd archgenxml_buildoutbuilout.cfg 作って,[buildout] part…