[11]kupuとの統合
Ploneの新しいデフォルトWYSIWYGエディタ,kupuと連携をする方法について解説します。
Plone 2.1は新しいWYSIWYGエディタkupuを同梱しています。Kupuは「drawers(引き出し)」という概念を持っていて,ユーザがドキュメントに追加するリンク,画像などの「リソースタイプ」を管理します。RichDocumentのユーザがドキュメント内にFileAttachmentやImageAttachmentオブジェクトへのリンクを作成できるようにするため,kupuにこのオブジェクトが「リンク可能」であることを知らせる必要があります。
「リンク可能」なオブジェクトの一覧は,kupu_library_toolの "resource types" タブにあります。ImageAttachmentとFileAttachmentをリンク可能なオブジェクトとして追加しましょう。この作業は 'Install.py' で行います:
kupuTool = getToolByName(self, 'kupu_library_tool')
linkable = list(kupuTool.getPortalTypesForResourceType('linkable'))
mediaobject = list(kupuTool.getPortalTypesForResourceType('mediaobject'))
if 'FileAttachment' not in linkable:
linkable.append('FileAttachment')
if 'ImageAttachment' not in linkable:
linkable.append('ImageAttachment')
if 'ImageAttachment' not in mediaobject:
mediaobject.append('ImageAttachment')
# kupu_library_tool には設定画面で利用するように作られた設定用関数
# しかないのでこれを使う :-(
kupuTool.updateResourceTypes(({'resource_type' : 'linkable',
'old_type' : 'linkable',
'portal_types' : linkable},
{'resource_type' : 'mediaobject',
'old_type' : 'mediaobject',
'portal_types' : mediaobject},))
最後の「標準リソース」は複数のオブジェクトタイプをまとめて定義しています。「drawers(引き出し)」の中で,Kupuはこのオブジェクトをフォルダとして扱います。RichDocumentはフォルダとしては定義しません。
以下のURLにあるHow Toの翻訳です。