Googleガジェットポートレット

追加しました。ほとんど、jmapポートレットのコピーですが(^^;これを使えば、Googleガジェットをポートレット上で表示できるでしょう。基本的には、使いたいがジェットをportlet.xmlに追加します。たとえば、以下のような感じです。

<portlet id="DateTimeGoogleGadget">
<portlet-name>DateTimeGoogleGadget</portlet-name>
<display-name>Date &amp; Time</display-name>
<description>Google Gadgets: Data and Time Gadget</description>
<portlet-class>jp.sf.pal.googlegadgets.GoogleGadgetsPortlet</portlet-class>
<expiration-cache>-1</expiration-cache>
<init-param>
<name>jp.sf.pal.googlegadgets.title</name>
<value>Date &amp; Time</value>
</init-param>
<init-param>
<name>jp.sf.pal.googlegadgets.code</name>
<value>&lt;script src="http://gmodules.com/ig/ifr?url=http://www.google.com/ig/modules/datetime.xml&amp;up_color=blue&amp;synd=open&amp;w=320&amp;h=136&amp;title=Date+%26+Time&amp;border=%23ffffff%7C3px%2C1px+solid+%23999999&amp;output=js"&gt;&lt;/script&gt;</value>
</init-param>
<init-param>
<name>jp.sf.pal.googlegadgets.gadgetUrl</name>
<value>http://gmodules.com/ig/creator?synd=open&amp;url=http://www.google.com/ig/modules/datetime.xml</value>
</init-param>
<supports>
<mime-type>text/html</mime-type>
<portlet-mode>VIEW</portlet-mode>
<portlet-mode>EDIT</portlet-mode>
</supports>
<supported-locale>en</supported-locale>
<supported-locale>ja</supported-locale>
<resource-bundle>jp.sf.pal.googlegadgets.resources.GoogleGadgetsResources</resource-bundle>
<portlet-info>
<title>Date &amp; Time</title>
<short-title>Date &amp; Time</short-title>
<keywords>Date,Time,Google,Gadgets</keywords>
</portlet-info>
</portlet>

jp.sf.pal.googlegadgets.titleはページのタイトルです。将来的には、jp.sf.pal.googlegadgets.title.jaみたいな感じで足すと、ポートレットのタイトルが日本語を表示できるようにします。JSR 168 のタイトルの国際化方法を適用しても良いのですが、それやると、ガジェットを足すたびにリソースバンドルを足したりと、手間がかかる。個人的には、portlet.xmlだけで制御したいので。

jp.sf.pal.googlegadgets.codeはデフォルトで表示するガジェットのコード。

jp.sf.pal.googlegadgets.gadgetUrlはガジェットのコードを取得する場所。これは、編集モードになったときに、このリンクが表示されます。

あとは、適当にその他の値を変更すれば、ガジェットがポートレット上で表示できるようになります。一応、うまく動いているみたいですが、パックマンの方が高さの表示がおかしいのでそれを確認する必要があるかも。

と言う感じで、簡単に新たなガジェットを定義できるので、何か良さそうなガジェットがあれば、お知らせください(portlet.xmlの情報をもらえれば、そのまま足してコミットしますので、もらえるとうれしいです)。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です