Workplace XT のアクションのカスタマイズ

ポップアップ・メニューから、または IBM FileNet Workplace XT の参照モードおよび検索モードからアクセス可能なオブジェクトの場合は、特定のオブジェクト・タイプに対してエンド・ユーザーが実行できる操作またはアクション一式がアプリケーションに表示されます。例えば、ドキュメント・オブジェクトで実行可能なアクションには、チェックアウト、ダウンロード、複合オブジェクトへの変更、移動などがあります。フォルダー・オブジェクトの場合は、オブジェクトの追加、移動、削除などがあります。

管理者は、Workplace XT のユーザー・インターフェースに表示されるオブジェクトに対して実行可能なアクションをカスタマイズすることができます。 また、表面的な変更 (ユーザー・インターフェースからアクションを完全に削除するなど) を行うこともできます。 フィルター条件を使用すると、アクションが表示される条件を定義することもできます。例えば、特定のクラス記述、バージョン状況、およびコンテンツ・タイプのドキュメントをユーザーがクリックした場合のみに、ダウンロード・アクションが表示されるように定義することができます。

このトピックでは、Workplace XT インターフェース内でユーザーに対してアクションが表示される場所を示すと共に、これらのアクションの構成に使用する メニュー・アクション記述子 XML ファイルについて説明します。

 Actions.xml ファイルを変更して Workplace アプリケーション内のアクションをカスタマイズした場合で、なおかつカスタマイズしたアクションを Workplace XT で使用したい場合は、Workplace 関連のカスタマイズ内容を Workplace XT Actions.xml ファイルに手動で追加する必要があります。

Workplace XT UI 内のアクション

アクションは、ポップアップ・メニュー、「アクション」メニュー、「ツール」メニュー、および「プロパティー」情報ページでユーザーに対して表示されます。(「プロパティー」情報ページおよび「マイ Workplace」ポップアップ・メニュー上のアクションは Actions.xml ファイルによって定義され、それ以外のアクションはすべて MenuActions.xml ファイルによって定義されます。) ポップアップ・メニューは、ユーザーがリスト・ビュー内のオブジェクトや、パス・ビュー内のアイテムを右クリックしたときに表示されます。使用可能なアクションのリストは、選択されたオブジェクトのタイプによって異なります。オブジェクトの「プロパティー」情報ページにも、同じアクションが表示されます。 ユーザーがリスト・ビューで 1 つ以上のアイテムを選択し、「アクション」ボタンをクリックすると、「アクション」メニューが開きます。複数のアイテムが選択されている場合は、選択されたすべてのアイテムに対して有効なアクションのみがメニューに表示されます。

Workplace XT では、コンテキスト・メニューを使用することで、新しいアクションを表示することもできます。 「アクション」メニューでアクションを有効にするには、カスタム JavaScript を ActionsMenu.js ファイルに追加する必要があります。

ActionsMenu.js 内の showActionsMenu 関数で、以下のコードを追加します。

            if ($("ACTIONS_MENU__actionid"))
                validActions.push("actionid");

ここで、「actionid」は、MenuActions.xml ファイル内で指定されたアクションの ID です。

メニュー・アクション記述子 XML ファイル

MenuActions.xml には、参照モードおよび検索モードのポップアップ・メニューと複数選択メニューに表示されるアクションの定義が含まれています。このファイルは <XT_deploy_path>\FileNet\Config\WebClient フォルダーにあります。ここで、<XT_deploy_path> は、Workplace XT のデプロイ先のパスです。MenuActions.xml は、 Workplace 設定の XML スキーマ (Preferences.xsd) に従います。このファイルは、 <XT_deploy_path>\FileNet\WebClient\WorkplaceXT\WEB-INF\xml にあります。

注: 

ファイル構造

以下のリストに示すように、MenuActions.xmlmultiSelectActionstoolbarActionsfolderToobarActionstopLevelActionsactionDefinitions の 5 つのセクションで構成されます。

topLevelActions 配列と multiSelectActions 配列では、各アクションがユーザー・インターフェースに表示される順序を定義します。つまり、topLevelActions 配列では、value エレメントの順序がポップアップ・メニューと情報ページに反映されます。multiSelectActions 配列では、value エレメントの順序が複数選択メニューに反映されます。アクションをコメント化すると、そのアクションを非表示にすることができます。

multiSelectActions 配列では、アクションを複数選択に指定することのみ可能です。つまり、複数選択アクションを topLevelActions 配列にリストする必要はありません。

toolbarActions セクションと folderToolbarActions セクションでは、ドキュメントやフォルダーの参照時または検索時にツールバーの「アクション」ボタンの横に表示されるツールバー・ボタンを定義します。toolbarActions セクションはドキュメント関連のアクションを制御し、 folderToolbarActions セクションはフォルダー関連のアクションを制御します。

actionDefinitions リストは action オブジェクトで構成されます。各オブジェクトには、個々のオブジェクトに対してアクションが表示されるかどうかを定義する条件のリストが含まれます。なお、 トップレベルのアクションにはサブメニューを含めることができます。サブメニューが含まれる場合は、トップレベルのアクション定義に subActions 設定を含める必要があります。また、multiSelectActions 配列にリストされるアクションの定義に multiSelectURL 設定を含める必要もあります。すべての設定の説明については、 『MenuAction 定義の設定 (MenuAction Definition Settings)』を参照してください。

メニュー・アクション記述子 XML ファイル内の各セクション

<object key="actionsConfiguration" version="1.0">
...

  <array key="multiSelectActions">
    <value>download</value>
    <value>checkout</value>
    <value>cancelCheckout</value>
    <value>file</value>
    <value>delete</value>
    <value>assignSecurityPolicy</value>
    <value>sendMail</value>
  </array>
  <array key="toolbarActions">
    <value>download</value>
    <value>checkout</value>
    <value>quickCheckin</value>
    <value>cancelCheckout</value>
    <value>addToFavorites</value>
    <value>infoProperties</value>
    <value>sendMail</value>
  </array>
  <array key="folderToolbarActions">
    <value>addDocument</value>
    <value>addFolder</value>
  </array>
  <array key="topLevelActions">
    <value>view</value> <!-- for documents, publish templates -->
    <value>open</value> <!-- for folders, searches, object stores -->
    <value>download</value>
    <value>checkout</value>
    <value>quickCheckin</value>
    <value>cancelCheckout</value>
    <value>addToFavorites</value>
    <value>removeFavorite</value>
    <value>renameFavorite</value>
    <value>sendMail</value>
    <value>launch</value>
    <value>transfer</value>
    <value>addSubscription</value>
    <value>declareAsRecord</value>
    <value>declareVersionsAsRecord</value>
    <value>testFormTemplate</value>
    <value>modifyDocumentPolicy</value>
    <value>modifyWorkflowPolicy</value>
    <value>takeOffline</value>
    <value>modifyEntryTemplate</value>
    <value>modifyRecordEntryTemplate</value>
    <!-- RM changes start-->
    <value>requestchargeout</value>
    <value>viewDocumentInfo</value>
    <!-- RM changes end -->
    <value>infoProperties</value>
    <value>moreInformation</value>
    <value>documentActions</value>
    <value>folderActions</value>
    <!-- always in the end -->
    <value>addDocument</value>
    <value>addFolder</value>
  </array>

<list key="actionDefinitions">

...

<object key="action">
    <setting key="id">download</setting>
    <setting key="title" localizationKey="server.MenuActions_xml.download">Download…</setting>
    <setting key="url">
       getContent?
       mode=download&amp;
       objectType={OBJECT_TYPE}&amp;
       id={OBJECT_ID}&amp;
       vsId={VERSION_SERIES_ID}&amp;
       objectStoreName={OBJECT_STORE_NAME}&amp;
       returnUrl={RETURN_URL}
    </setting>
    <setting key="multiSelectURL">
       operations/WcmMultiDownloadObject.jsp?
       returnUrl={RETURN_URL}
    </setting>
    <setting key="img">images/action/toolbar/Download23.gif</setting>
    <array key="objectTypes">
       <value>document</value>
    </array>
    <array key="excludedContentTypes">
       <!--RM Change start -->
       <value>application/x-filenet-rm-physicalrecord</value>
       <value>application/x-filenet-rm-electronicrecord</value>
       <value>application/x-filenet-rm-emailrecord</value>
       <!-- RM Change ends -->

<!-- entry template mime types -->
       <value>application/x-filenet-entrytemplate</value>
       <value>application/x-filenet-documententrytemplate</value>
       <value>application/x-filenet-folderentrytemplate</value>
       <value>application/x-filenet-customobjectentrytemplate</value>
       <value>application/x-filenet-formdataentrytemplate</value>
       <value>application/x-filenet-declarerecordentrytemplate</value>
       <value>application/x-filenet-pageentrytemplate</value>
       <value>application/x-filenet-sectionentrytemplate</value>
       <value>application/x-filenet-cfwpageentrytemplate</value>
       <value>application/x-filenet-cfwsectionentrytemplate</value>
       <value>application/x-filenet-cfwtextentrytemplate</value>
       <value>application/x-filenet-localsectionentrytemplate</value>

<!-- wcm mime types -->
       <value>application/x-filenet-sp-cr</value>
       <value>application/x-filenet-sp-target</value>
       <value>application/x-filenet-sp-page</value>
       <value>application/x-filenet-sp-section</value>
       <!-- Form policies -->
       <value>application/x-filenet-documentpolicy</value>
       <value>application/x-filenet-workflowpolicy</value>

<!-- external documents (pointing to an URL) -->
       <value>application/x-filenet-external</value>
    </array>
    <setting key="isPopup">false</setting>
    <setting key="popupHeight">600</setting>
    <setting key="popupWidth">750</setting>
</object>

メニュー・アクション定義の設定

以下の表で、MenuActions.xml 内の各アクション定義設定について説明します。 各設定は、キー属性によって識別されます。特に指定のない限り、設定はオプションです。オプション設定が指定されない場合は、そのデフォルト値が使用されます。

URL パターン・マクロ

以下の表に示すマクロは、アクション定義の url 設定に使用します。これらは、アクションを実装するページの URL と、この URL 上のページに渡されるパラメーターを定義します。各マクロは、実際の URL 内で対応する値に置き換えられます。例えば、パターンが operations/Test.jsp?id={OBJECT_ID} で、操作の呼び出し対象オブジェクトの ID が {A73BEEB2-B0B7-11D2-8853-0000F80883E3} の場合、この操作の URL は operations/Test.jsp?id={A73BEEB2-B0B7-11D2-8853-0000F80883E3} になります。

マクロ
{OBJECT_STORE_NAME} オブジェクト・ストア名 (例: "TEST_OS")。
{OBJECT_ID} GUID またはパス・フォーマット内のオブジェクト ID。
{OBJECT_LABEL} ラベルがユーザー・インターフェースに表示される際のオブジェクト・ラベル。
{OBJECT_TYPE} ストリング形式のオブジェクト・タイプ (例: "document"、"folder")。
{VERSION_SERIES_ID} GUID フォーマット内のバージョン・シリーズ ID。
{CLASS_ID} GUID フォーマット内のクラス ID。
{CONTENT_TYPE} ストリング、URL エンコード形式のコンテンツ・タイプ。
{MAJOR_VERSION} メジャー・バージョン (例: "1")。
{MINOR_VERSION} マイナー・バージョン (例: "2")。
{VERSION_STATUS} 数値形式のバージョン状況 (例: "1")。
{RETURN_URL} URL エンコード形式の戻り URL (例: "http://<server>:<port>/WorkplaceXT/Browse.jsf")。
{TIME_ZONE} タイム・ゾーン ID。