Personal tools

「関連オブジェクト」からPodcastingに至る道

煮詰まったので現実逃避

関連オブジェクトの表示

関連オブジェクト編集画面

COREBlog2では,エントリにいろいろなオブジェクトを「紐づける」ことができます。編集画面に「オブジェクトの関連づけ」という項目があって,ここにPlone上のオブジェクトを登録できます。Archetypesの「リファレンス」を利用した機能です(ちなみに,最新版では「最近追加されたオブジェクト」というテーブルが追加されてます)。

ここにオブジェクトを追加すると

  • 画像などはエントリ中に表示する
  • 表示位置はコントロールできる
  • オブジェクトのタイトルはキャプションになる
  • その他のオブジェクト(PDFなど)はエントリの下部に表示される(添付ファイルですね)

kupuのようなWYSIWYGなコンテンツエディタを使っても,エントリに画像やファイルを貼り付けるといったことは可能ですが,「紐付け」を管理する方がスマートですし,利点も多いはずです。

WYSIWYGなコンテンツエディタで画像を埋め込む場合,キャプションに使うタイトルなどはHTMLの中に埋め込まれます。画像側のタイトルを変更した場合は,HTMLの方も二重に編集しないとなりません。

一方,エントリとオブジェクトの紐付けだけ管理して,画像などを自動的に表示するようにすれば,オブジェクトの「メタデータ(タイトルとか解説など)」は画像の方に保存され,テンプレートが自動的に参照して表示してくれます。情報の管理が一元化するわけです。また,画像を削除すると自動的に「紐付け」が切れますので,画像のリンク切れもありません。うーん,ハイレベルなCMSだ。あとZODBってすばらしい。

エントリがオブジェクトとの紐付けを「知って」いるわけですから,紐づけられたオブジェクトのURLをRSSのenclosureに書き出すのは至って自然な流れです。エントリにmp3ファイルを紐づければPodcastが可能です。mpeg4ムービーを紐づければVodcast(Videocast)になる。enclosureに記載するのは,PDFでもいいしswfでもいい。将来的にenclosureはもっと多くのメディアタイプで利用されることになると思いますが,こういう抽象的な実装にしておけば,後々「何とかcast」が登場したときに(多分)追加実装の必要なく対応できます。

さて,エントリに紐づけたくなるのは,メディアオブジェクトだけではありません。リンクとかPloneの「イベント」とか,はたまたアンケート用の「Pollオブジェクト」かもしれないし,Google mapsの地図かも知れない。いろんなオブジェクトを紐づけて,さらにエントリの中にスマートに表示された方が楽しいはず。

そこで,ひとつInterfaceを定義して,これをimprementしたオブジェクトについて,テンプレート上で特別な振る舞いを持たせるようなことを考えています。エントリと紐づけるオブジェクト側には,COREBlog2上に表示する際の「見栄え」を定義したmetalがあって,Interfaceのmethodを呼ぶとmetalのパスが帰ってくる,という感じかな。こうすれば,オブジェクトは固有の「見栄え」と同時に,COREBlog2エントリ向けの,というか,他の「ドキュメント質」なオブジェクト内で表示されるための「見栄え」を持つことが出来る。

てなわけで,冬の合宿では,ATCTベースのコンテンツタイプを作る開発スプリントでもしようかな,と思っています。

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

やっと、COREBlog2を使ってみました

Posted by Weboo!Log at 2005-11-28 02:01
Fedora on VMwareな環境にZope 2.8.3とPlone 2.1.1をインストールして、COREBlog2を試してみました。 関連オブジェクトのインライン表示は、Ploneならではの機能でいいですね。一番使うのは画像だと思いますが、ブログのエントリにPloneのオブジェクトを関連付けることができます。画像、MP3やビデオはもちろん、単純なファイルではないイベントやPollなども記事の中に埋め込むことができるようです。 清水川さん作のATBookshelfもインライン表示に対応して...
Add comment

You can add a comment by filling out the form below. Plain text formatting.

(Required)
(Required)
(Required)
(Required)
コメントスパム避けのための認証文字列です

Captcha Image

Pythonな求人
r = urlopen("http://www.webcore.co.jp/recruit")
About this blog
■Author
atsこと柴田淳です。Atsushiはガイジンにうまく発音して頂けないので,これからはJunというペンネームで行こうと思っていましたがあんまり使ってません。
Webcore株式会社 代表取締役
■TRIVIAL TECHNOLOGIES 2.0
トリビアル・テクノロジー 2.0,「トリテク 2.0」と呼んでください。
Blog(ブログ)サイトです。Plone上で動く,オープンソースのBlog Product - COREBlog2を使っています。
 
最近書いた本,Mook
みんなのPython Webアプリ編
Pythonの基礎から,Webアプリやフレームワークの仕組みまで,つまることなく一気に学べる書籍です。「みんなのPython」と一緒に読んでください:-)。
みんなのPython
Pythonの入門書です。基本的なことから分かりやすく解説するよう勤めました。Pythonをはじめたいと思っている人,JavaやC++,PerlやRubyを学ぼうと思って躓いてしまった人はぜひ読んで下さい。
 

Powered by Plone, the Open Source Content Management System