Personal tools
Document Actions

Plone

Up one level

Document Actions

Plone 2.1のアルバムビューをカスタマイズ

by ats posted at 2005-11-11 22:55 last modified 2005-11-12 10:55

Plone 2.1のアルバムビューをカスタマイズして,サムネイル画像をクリックするとリロードせずに本体を表示するようにしてみた。どんな風になるかは,下にリンクされてるモーターショーのアルバムビューでどうぞ。IEで試してないけど,多分動くんじゃないかな。ただ単にinnerHTMLをモゲってるだけなのでajaxじゃないな。表示ももうちょっとファンシーにした方がいいと思うけど,ZPTだと面倒くさいのでこのへんで勘弁してくれよ。

具体的な方法は。。。このくらいHTMLのソース見れば分かるでしょ。30分でできるシリーズ。

東京モーターショー2005 - フォトアルバム 東京モーターショー2005 - フォトアルバム
Size 1 kB - File type text/plain
by ats last modified 2005-11-11 21:10
The URL to Trackback this entry is:
http://coreblog.org/ats/customizing-plone-album-view/tbping

Re:Plone 2.1のアルバムビューをカスタマイズ

Posted by ats at 2007-01-05 23:06
Plone難しいです
by初心者

Re:Plone 2.1のアルバムビューをカスタマイズ

Posted by ats at 2007-01-06 21:27
Web関連の技術,Python,Zopeの知識があると,かなり便利に使いこなせるんですけどねえ
Ploneはすばらしいですよ:-)
ウチではとても便利に活用させていただいています
研究したり活用した結果を,オープンソースのソフトとして反映しているわけです

関連オブジェクトのインライン表示

by ats posted at 2005-11-15 00:47 last modified 2005-11-22 12:11

消しゴムに関する投票

あなたは消しゴムを使い切ったことがありますか?

使い切ったことがある   92% (767)
使い切る前になくす   4% (39)
小さくなったら捨てる   1% (10)
覚えていない   1% (14)
 
Total number of votes: 830

COREBlog2の「関連オブジェクト」をインライン表示できるようにしてみた。オブジェクト側にinterfaceをimprementすると,「インライン表示するときにはこのプレゼンテーションを使ってね」と任意のmetalを指定できる。MPollというArchetypesベースのPollプロダクトをPlone 2.1で使えるようにちょっと改造したものを使用して,このプロダクトにinterfaceをimprementしてみた。エントリのテンプレート側では,関連オブジェクトのうちでこのinterfaceをimprementしてるものを判別して,インライン表示用のmetalを持っている場合はそれを呼び出すようにしてある。

Pollだけじゃなくて,Amazonのアレとか,Google Mapsのアレとか,外部のリッチメディアコンテンツをobject/embedタグで囲んでくれるプロダクトなんか作ったら面白いかも。

Plone 2.1対応のプロダクトはとても少ない。日本から有用なプロダクトがたくさん発信できたら面白いと思う。

The URL to Trackback this entry is:
http://coreblog.org/ats/inline-view/tbping

Ploneで「はてなブックマークに追加」アクションを追加する

by ats posted at 2005-11-15 10:00 last modified 2005-11-15 10:06

Ploneは大変良くできたCMSである。機能がよく抽象化されている。

アクションアイコンの追加

  • まずははてなブックマークのアイコンを拝借,portal_skins/custom以下などにImageとして登録しておく
  • ZMI(Zopeの管理画面)を表示,Ploneインスタンス直下にあるportal_actioniconsをクリック
  • 以下の要素でアクションアイコンを追加する
Category
plone
Action ID
hatebu
Action Title
Add to Hatena::Bookmark
Priority
0
Icon URL Expression
append.gif(portal_skinsに取り込んだGIFのファイル名)

アクションの追加

次にportal_actionを追加する。

  • 同じくZMI上のPloneインスタンスでportal_actionsをクリック
  • 以下の要素でアクションを追加
Title
Add to Hatena::Bookmark
Id
hatebu
URL (Expression)
string:http://b.hatena.ne.jp/append?${object_url}
Condition (Expression)
[空にする]
Permission
"View"を選択
Category
document_actions
Visible?
チェック

これを応用すると,del.icio.usへの追加用アクションとか簡単にできる。5分で出来るシリーズ。

Category(s)
Plone
The URL to Trackback this entry is:
http://coreblog.org/ats/action-for-hatena-bookmark/tbping

EasyBlog 0.5b1

by ats posted at 2005-11-18 12:51 last modified 2005-11-23 13:22

http://plone.org/products/easyblog/releases/0.5beta1

10分くらいで見てみた。ソース見ただけで動かしてないですけど,多分普通に動くはず。

  • よくできている「若々しくてノリのよい」印象:-)
  • 「MT互換」を意識している感じ
  • コメント,トラックバック独自
  • Quillsと同様,「ドラフト」と「エントリ」が別オブジェクト,公開時にオブジェクトの型が変わる
  • 実体のあるarchivesフォルダに「エントリ」を保存
  • エントリがFolderish
  • その中にコメントとかトラックバックが入る(んだと思う,多分)
  • InterfaceとかSchemaが別に定義されている
  • テストコードみっちり(見習わないと)
  • 独自ワークフロー,カスタマイズには弱い,かな
  • エントリの日付を独自に持ってるけど,EffectiveDateとか使わないとPloneとの親和性が...

β以上のステージにあって,実働するPloneのBlogプロダクトとしては一番良くできていると思います。Quillsをかなり参考にしている様子。「Quillsが(パッチを宛てないと)Plone 2.1で動かないからつくっちゃった」系かなあ。XMLRPC-APIがないことが,Quillsと比べて「劣っている点」だと思いますが,必要な人は限られているわけで。

「コンテント」と「フォルダ」のオブジェクトとしての粒度差はけっこう大きいと思う。8ビットの頃からプログラミングしてる私は貧乏性なのか,サブオブジェクトが「無い場合もある」オブジェクトに「フォルダ」としての振る舞いを持たせる設計についてはちょっと抵抗がある。「そもそもPloneだし」と言われたら返す言葉がないけどね。

トラックバックはどのタイミングで送っているのかな。

追記
ワークフローのスクリプトで,Draft -> Entryになるときに送信している。正しいとは思うが,COREBlog2的に目指すところとはちょっと違うような気がする。

あとで実際に動かしてみて,インターフェースの気の利き具合とか,確認してみたいと思います。

Category(s)
Plone
The URL to Trackback this entry is:
http://coreblog.org/ats/easy-blog-05b1/tbping

Plone 2.1のページ(ドキュメント)で扱えるフォーマットを追加する

by ats posted at 2005-11-19 12:53 last modified 2005-11-19 19:44

メカニズムを知る

PloneにはPortalTransformsというツールがあります。PortalTransformsを使うと,reStructuredTextをHTMLやPlain Textにしたり,PDFをHTML化したりできます。MIME Type間のデータ変換は,このツールを使って行うのが礼儀です。

Plone 2.1からは,標準のコンテンツタイプがATContentTypes(以下ATCT)というものに置き換わっています。ATCTでは,ページ(ドキュメント)などの本文に記述できる「フォーマット」は,コンフィギュレーションファイルで設定できるようになっています。PortalTransformsを使ってtext/htmlに変換できるフォーマットを指定します。

ATContentTypes/etc/atcontenttypes.conf.inにサンプルがありますので,適宜編集した上でZopeインスタンスディレクトリのetc以下に設置するとよいでしょう。フォーマットの種類だけでなく,デフォルトのフォーマットもここでカスタマイズできるようですね。

Transformerを作る

PortalTransforms/transforms/以下に,変換を行うためのクラス定義があります。python.pyなどを参考に,適宜独自のTransformerを作りましょう。

MIME Type/Transformerを登録する

ZMIを使います。まず,作成したTransformerのMIME TypeをMIMETypesRegistryというツールに登録します。MIMETypesRegistryは,mimetypes_registoryというIDでPloneインスタンス直下にあります。

次に,PortalTransformsにTransformerを追加します。同じくZMIで,Ploneインスタンス直下にあるportal_transformsのコンテンツ(contents)タブで,Transformを追加(Add)します。このとき,作成したTransformerのIDやパスを入力します。

ここまで終わったら,atcontenttypes.conf.inから作った設定ファイルのATDocumentのセクションに,Transformerを追加します。あとはZopeを再起動すればOK。ページ(ドキュメント)の編集タブで,フォーマットのプルダウンメニューに,追加したフォーマットが見えていれば追加成功です。

Wikiマークアップ用のフォーマットを追加したかったんでちょっと調べてみました。30分でできるシリーズ。COREBlog2もconfigファイルでフォーマットをカスタマイズできるようにしたいなあ。でもZCML書くの面倒だなあ。

Category(s)
Plone
The URL to Trackback this entry is:
http://coreblog.org/ats/add-format-to-document/tbping

CentralCore(coreblog.org)をリニューアルした

by ats posted at 2005-11-21 12:06 last modified 2005-11-21 12:38

Plone 2.1ベースでリニューアルした。一部移行できないサービスはそのまま残してある。

さて,Plone 2.1からエクスポートしたPloneインスタンスをインポートできないんだけど,どうしたもんか。デザイン破棄してコンテンツだけ移行するかなあ。Ploneを使うと便利になる反面,面倒が増えるのでこまったもんだ。

The URL to Trackback this entry is:
http://coreblog.org/ats/Central-Core-now-plone-based/tbping

このサイトをHTML lint Gatewayでチェックしてみる

by ats posted at 2005-11-25 15:22 last modified 2005-11-27 19:40

Another HTML-lint gatewayを使って,このサイトをチェックしてみた。

Plone 2.0.xの頃は,素のPloneサイトをチェックするととても得点が低くて,「ヨーロッパの人ってこういうのあまり気にしないのかなあ」と思ったりした。Plone 2.1ではテンプレートやCSSにもリファクタリングが行われたようで,より仕様に近いマークアップを出力するようになっているようです。例えばポートレットの各要素にプレゼンテーションを適用するのにdivが多用されていたりしたのだけど,2.1ではdlを使うようになっていたり。素のPlone 2.1でもそこそこ高い点数が出るはずです。

このエントリを投稿する直前の状態でチェックしたところ,点数は「81点」でした。「Ploneデフォルトのテンプレートをなるべく生かしつつ」,「その上に標準のCOREBlog2をのせて」,という状況。以下寸評。

XHTML1.0 では XML宣言をすることが強く求められています。
Ploneのテンプレートがそうなっている。このエラーを解消しようとすると,WindowsのIEなどでページ上の方に「隙間」があいてしまう(確か)。痛し痒し。
<h5> が 180行目の <h1> に続いていますが好ましくありません。
これもPlone由来の部分だなあ。あと,PloneのPortalTransformsでreSTをHTMLに変換すると,セクションヘッダが3から始まるので,同じようなエラーが発生する。痛し痒し2.0。
<div> の class の属性値に空の値を指定することはできません。
ZPTで動的にclassを割り当てようとしている部分で,「空」の要素を指定するとこう(class=""みたいに)なる。「(ほぼ)すべてのWebブラウザがちゃんと解釈してくれるようなのでいいじゃん」,ということになっているはず。ZPTの仕様上しかたがないところ。痛し痒し3.0

あとは,Wikiパーサ由来と思われるエラーとか(うわ,直さないと),「Permalink何度も使うなや!」的なエラー。もうちょっとがんばると90点くらいまで行けそうだけど。そこそこ凝ったスタイルのサイトでこの点数なら,十分に合格点だと言えるのではないでしょうか:-)。

The URL to Trackback this entry is:
http://coreblog.org/ats/html-lint-de-coreblog2/tbping

PloneにBlogは要らない?

by ats posted at 2005-11-28 17:18 last modified 2005-11-28 17:52

Ploneの開発者用MLでの話。Ploneには標準のBlogツールがないよね,という話題を受けての,Alexander Limiの答え。

だいたいの内容を抜粋すると,

  • Blogは人によって定義が違う
  • オレはRSSがあればBlogだとおもう
  • だから,顧客がPloneにBlog機能を求めるときは,Smart FolderとRSSで構築する
  • トラックバックはスパムの温床になるから不要だね
  • BlogPortalみたいなのを作りたい人はWordPressを使えばいい

Ploneは元来CMSを指向しているので,サイトの「構造」に制約を設けないような柔軟な作りになっている。

一方,Blogには「構造」がある。「ここにはエントリを置きます,ここはカテゴリ用の場所です」,みたいな。

Ploneが柔軟なCMSを目指しているのなら,決まった構造を持った「Blog」を標準で搭載しようと「しない」,という方向性はある程度納得できる。

COREBlogをリリースした直後,実はLimiからメールをもらっていて,そのときはPloneにBlog機能を搭載する気まんまんだったんだけどな。いつからか気が変わってしまったのかしら。ひとつ言えることがあるとしたら,Ploneに標準のBlogツールがあって欲しいと願っている人は沢山いて,数年来ずっと,その状況は変わってないってことだと思う。

Category(s)
Plone
The URL to Trackback this entry is:
http://coreblog.org/ats/smart-folder-is-enough-for-blog/tbping

Re:PloneにBlogは要らない?

Posted by Anonymous User at 2006-05-02 09:30
Very nice site!Respect you!
My site:
http://buy-cheap-phentermine-online-4you.blogspot.com

COREBlog2 0.7bをリリース

by ats posted at 2005-11-30 10:28 last modified 2005-11-30 10:30

Plone 2.1対応のBlogプロダクト,COREBlog2 0.7bをリリースしました。COREBlog2の最初の公開βとなります。これまでアルファ版のテストにご協力いただいたみなさま,ありがとうございました。

  • 「高級車」のようなBlogツールを目指して開発しています
  • Ploneの高度なCMS機能の多くを引き継いでいます。本格的なCMS志向
  • Ploneの学習用に最適です
  • 日本から世界へ

くわしいことはこちらなどを参考に。

本当はplone.orgのニュースに載ってからと思ったんだけど,取り急ぎ:-)。

The URL to Trackback this entry is:
http://coreblog.org/ats/coreblog2-07b-released/tbping

COREBlog kann nun Plone

Posted by Der Schockwellenreiter at 2005-11-30 16:01
Atsushi Shibata verkdet stolz des Release von COREBlog2 0.7b. COREBlog2 ist ein Blog-Produkt f Plone 2.1 und her. Das サklassischeォ COREBlog f Zope-User wird aber ebenfalls noch weiter gepflegt. Die Veteranen unter Euch werden sich daran er...

plone.orgでプロダクトを公開する方法

by ats posted at 2005-12-01 09:48 last modified 2005-12-01 09:56

細かな行き違いがあってちょっとてこずったけど,COREBlog2がめでたくplone.orgで公開されました。

他の人のために,plone.orgでプロダクトを公開する方法について簡単に解説したいと思います。

まずアカウントを取る

plone.orgにアカウントを作成します。

プロジェクトを登録,申請

plone.orgでプロダクトを公開するためには,まずプロジェクトを申請,承認を受ける必要があります。プロジェクトとリリースなどの関係は以下のようになっているようです。

  • プロジェクト
    • リリース
      • リリースファイル(外部,内部)

アカウント作成,ログイン後,products タブをクリックします。add new project というボタンを押すと,プロジェクトの登録フォームが出てくるので,必要事項を記入。記入後,ワークフローのステータスを変更すると,審査を待ってプロジェクトが承認,公開されます。

リリース,リリースファイルを追加する

プロジェクトが承認されたら,リリース,およびリリースファイルを登録。編集が終わったらワークフローのステータスを変更するのをわすれずに。これで,トップページのポートレットなどに公開したプロダクトが表示されればOK。なお,リリースに関しては実体のない「予定」についても記述できるのがgoodですね:-)。

plone.orgのプロダクトマネジメントの機能を提供しているプロダクトが公開されています。Plone Software Centerというのがそれ。ソースを5秒みてみたらATCTベースっぽいし,プロジェクトを登録中にportal_factoryが見えたので,Plone 2.1で動くような気がするが詳細は不明。誰か試して!

Category(s)
Plone
The URL to Trackback this entry is:
http://coreblog.org/ats/publish-products-on-plone-org/tbping
Pythonな求人
r = urlopen("http://www.webcore.co.jp/recruit")
About this blog
■Author
atsこと柴田淳です。この記事を読んでいただくと,技術者としての人となりを分かってもらえるかも。
Webcore株式会社 代表取締役
Plone上で動く,オープンソースのBlog Product - COREBlog2を使って運用しています。

最近書いた原稿
最終回 Python 3.0座談会(動画つき) 2009-07-16
Python 3.0 Hacks 第6回 Pythonicな文字列フォーマットforamat()メソッド 2009-03-30
言語としての一貫性を重視したPython 3の進化 2009-02-20
Python 3が後方互換性を捨てても求めたもの 2009-02-02
Python 3.0 Hacks : 第0回 Pythonの2008-2009 2009-01-01
 
最近書いた本,Mook
みんなのPython 改訂版
Python使いはもちろん,プログラミングの初心者から,他言語からの移行組までご好評いただいているPythonの定番入門書の第2版です。Python 3.0を含む最新の情報について加筆を行い,より読みやすいように構成を大幅に見直しました。第一版をお持ちの方にもお役立ていただける内容になっています。
みんなのPython Webアプリ編
Pythonの基礎から,Webアプリやフレームワークの仕組みまで,つまることなく一気に学べる書籍です。「みんなのPython」と一緒に読んでください:-)。
 

Powered by Plone, the Open Source Content Management System