コンポーネントメタデータプロパティの定義

コンポーネントメタデータプロパティの定義

ご覧のページは、お客様の利便性のために一部機械翻訳されています。また、ドキュメントは頻繁に更新が加えられており、翻訳は未完成の部分が含まれることをご了承ください。最新情報は都度公開されておりますため、必ず英語版をご参照ください。翻訳に問題がある場合は、こちらまでご連絡ください。

プロトタイプのリファクタリング

手順2/6

ユーザーがページにアプリケーションを追加すると、ユーザーはdisplay categoriesのリストからそれらを選択します。

図1:ユーザーは表示カテゴリのリストからアプリケーションを選択します。

ポートレットの表示カテゴリは、コンポーネントクラスでメタデータプロパティとして定義されます。 ゲストブックポートレットを使用すると、ユーザーは相互に通信できるため、ソーシャルカテゴリに追加します。 1つのゲストブックポートレットのみをページに追加する必要があるため、non-instanceableポートレットとしても定義します。 そのようなポートレットは、そのスコープに応じて、ページまたはサイトに一度しか表示できません。

  1. GuestbookPortletクラスを開き、この設定に一致するようにコンポーネントクラスのメタデータプロパティをアップデートします。

    @Component(
        immediate = true,
        property = {
          "com.liferay.portlet.display-category=category.social",
          "com.liferay.portlet.instanceable=false",
          "com.liferay.portlet.scopeable=true",
          "javax.portlet.display-name=Guestbook",
          "javax.portlet.expiration-cache=0",
          "javax.portlet.init-param.template-path=/",
          "javax.portlet.init-param.view-template=/guestbookwebportlet/view.jsp",
          "javax.portlet.resource-bundle=content.Language",
          "javax.portlet.security-role-ref=power-user,user",
          "javax.portlet.supports.mime-type=text/html"
        },
        service = Portlet.class
    )
    

com.liferay.portlet.display-category=category.socialプロパティは、ゲストブックポートレットの表示カテゴリをSocialに設定します。 com.liferay.portlet.instanceable=falseプロパティは、ゲストブックポートレットがインスタンス化できないことを指定しています。そのため、ページに追加できるポートレットのインスタンスは1つのみとなります。 プロパティjavax.portlet.init-param.view-templateで、メインview.jspのロケーションを、/ guestbookwebportletでその新しいロケーションにアップデートします。

ポートレットのメタデータを編集したため、続行する前にページからポートレットを削除して再追加する必要があります。

  1. Webブラウザーでlocalhost:8080へ進みます。

  2. 管理アカウントにログインします。

  3. ゲストブックポートレットのページにエラーが表示されるようになりました。 ポートレットメニュー(ポートレットの右上)をクリックしRemoveを選択したら、OKをクリックして確認します。

  4. Addメニューを開き、Applicationsを選択します。

  5. Socialカテゴリを開き、Guestbookアプリケーションをページにドラッグアンドドロップします。

これで、ゲストブックポートレットが適切なカテゴリに表示されます。 以前はページに追加できましたが、ユーザーエクスペリエンスは向上しています。

« 大規模アプリケーション用のフォルダの整理ポートレットキーの作成 »
この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています