Personal tools

[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の翻訳です。

http://plone.org/documentation/tutorial/richdocument/kupu


Powered by Plone, the Open Source Content Management System