2009/03/02(月)zope
# apt-get install python-dev $ wget http://peak.telecommunity.com/dist/ez_setup.py # python2.4 ez_setup.py $ wget http://download.zope.org/distribution/ZConfig-2.4a2.tar.gz $ easy_install2.4 --install-dir='ZOPE/lib/python/' ZConfig-2.4a2.tar.gz $ wget http://download.zope.org/distribution/zdaemon-1.4a2.tar.gz $ easy_install2.4 --install-dir='ZOPE/lib/python/' zdaemon-1.4a2.tar.gz $ wget http://pypi.python.org/packages/source/p/plone.app.blob/plone.app.blob-1.0b2.tar.gz#md5=3a438c29ed34f819aea7983340eddd2c $ easy_install2.4 --install-dir='ZOPE/lib/python/' plone.app.blob-1.0b2.tar.gz
2009/02/23(月)cookie
set
self.context.REQUEST.RESPONSE.setCookie('name', 'value', path='/', expires='')
get
self.context.REQUEST.has_key('name')でチェック
trueならばデータがあるので
self.context.REQUEST['name']で取り出し
消し方
よく分からないけど、
self.context.REQUEST.RESPONSE.setCookie('name', '', path='/', expires='Thu, 1-Jan-2000 00:00:00 GMT')
とかでいいのかな
2009/02/21(土)自作プロダクト
2009/02/18(水)ZipFileTransport
Export
plone/Products/ZipFileTransport/browser/zipexportのaction_exportがエクスポートの実体
ここで、ログを取る
84: for x in paths:
ループでファイルリストを生成
-> ファイルサイズのチェックを追加
94: if self.context.portal_...
ユーザ認証
-> ファイルサイズのチェックも同時に行う?
画面
plone/Products/ZipFileTransport/browser/export_widget.pt
plone/Products/ZipFileTransport/browser/zipexport.py
2009/02/18(水)ploneへのパッチ
アクションボタンをすべてのページで表示する
plone/lib/python/plone/app/content/browser/foldercontents.py
201: if self.context.cb_dataValid():
↓
201: if self.context.cb_dataValid() or 1:
importだけ表示
ZipFileTransportに含まれるImportボタンです
plone/lib/python/plone/app/content/browser/foldercontents.py 200: if not len(self.items): 201: if self.context.cb_dataValid(): 202: for button in button_actions: 203: if button['id'] == 'paste': 204: return [self.setbuttonclass(button)] 205: else: 206: return [] ↓ 200: if not len(self.items): 201: if self.context.cb_dataValid(): 202: for button in button_actions: 203: if button['id'] == 'paste' or button['id'] == 'import': 204: buttons.append(self.setbuttonclass(button)) 205: return buttons 206: else: 207: for button in button_actions: 208: if button['id'] == 'import': 209: return [self.setbuttonclass(button)] 210: return []
2009/02/18(水)ploneのキャッシュ
2009/02/16(月)フォルダーコンテンツ
フォルダにあるファイル一覧を表示するビュー
plone(instanceのフォルダ)/lib/python/plone/app/content/browser/foldercontents.pt
カスタマイズ
/plone/manage_main にアクセス portal_view_customizations zope.interface.Interface > folder_contents <div tal:replace="structure view/contents_table">
contents_tableの実装
plone(instanceのフォルダ)/lib/python/plone/app/content/browser/foldercontents.pyの27~?
テーブル本体は
plone(instanceのフォルダ)/lib/python/plone/app/content/browser/table.pt
このフォルダには~
plone(instanceのフォルダ)/lib/python/plone/app/content/browser/table.ptの
18-23行目
コピー、カット、名前を変更など
plone(instanceのフォルダ)/lib/python/plone/app/content/browser/foldercontents.pyの193~?ちがうっぽい
plone(instanceのフォルダ)/lib/python/plone/app/content/browser/table.ptの183-
ここで、呼び出している使っているview/buttonsがどこか何か分からない
table.ptを開く前に定義済みなのかな?
あってた
plone(instanceのフォルダ)/lib/python/plone/app/content/browser/foldercontents.pyの201行目付近 self.context.cb_dataValid()でチェックしてるので、ここを常に真にしてしまえばよさげ*1