Monday Sep 26, 2005

JES: Portal Server を使ってみよう (7): 新しいポータルを作ろう

前回までで新しいチャネルを追加したりチャネルの設定を変更してみたりしました。今回はポータルデスクトップ自体のカスタマイズをしてみます。

Access Manager の管理コンソールでポータルデスクトップの設定をするときに次のようなダイアログが出てきます。



ここの デフォルトチャネル名ポータルデスクトップのタイプ はすでに定義されているチャネルの名前とデスクトップのタイプです。 これを今回自前のものに置き換えてみましょう。

ポータルデスクトップは JSP で書かれていますがその実体は /etc/opt/SUNWps/desktop 以下にあります。それぞれデスクトップのタイプに分かれてディレクトリがありますね。

# cd /etc/opt/SUNWps/desktop
# ls
anonymous/                 anonymous_zh_TW/           default_zh/                sampleportal_fr/
anonymous_de/              classes/                   default_zh_CN@             sampleportal_ja/
anonymous_es/              default/                   default_zh_TW/             sampleportal_ko/
anonymous_fr/              default_de/                desktopconfig.properties   sampleportal_zh/
anonymous_ja/              default_es/                myportal_ja/               sampleportal_zh_CN@
anonymous_ko/              default_fr/                sampleportal/              sampleportal_zh_TW/
anonymous_zh/              default_ja/                sampleportal_de/
anonymous_zh_CN@           default_ko/                sampleportal_es/
# 

sampleportal_ja/ の下には各プロバイダやチャネルの名前でさらにディレクトリが分かれています。ポータルをカスタマイズにするにはこのようにディレクトリで分けれているファイルを新規に作成したり変更したりします。

新しいデスクトップタイプを作る

新しい デフォルトチャネル名ポータルデスクトップのタイプ を作りましょう。先ほどのダイアログで次のように入力します。
  • デフォルトチャネル名: MyTabContainer
  • ポータルデスクトップのタイプ: myportal, sampleportal



myportal, sampleportal と二つ書いたのはカスタマイズしたい JSP ファイルだけを myportal に用意して残りのものは sampleportal のものを使うようにするためです。

ファイルを用意する

新しいデスクトップタイプのファイルを用意しましょう。/etc/opt/SUNWps/desktop 以下にそのディレクトリを用意します。

# cd /etc/opt/SUNWps/desktop/
# mkdir myportal_ja

新しいデフォルトチャネルのファイルを用意しましょう。/etc/opt/SUNWps/desktop/myportal_ja 以下にそのディレクトリを用意します。ファイルは後で編集します。

# cd /etc/opt/SUNWps/desktop/myportal_ja
# mkdir MyTabContainer


コンテナを作成する

MyTabContainer はファイルを用意しただけで実際のコンテナは作成されていません。これを管理コンソールで作成します。「コンテナ」のところで「新規」ボタンを押します。



プロバイダには JSPTabContainerProvider を選びます。



作成された MyTabContainer にタブを追加します。タブは PredefinedSamplesTabPanelContainerProvider をプロバイダに指定しておきましょう。



このタブに前回までで作った MyRSSChannel などを追加します。

ポータルのヘッダ、フッタをカスタマイズする

/etc/opt/SUNWps/desktop/myportal_ja/MyTabContainer にはいくつかのカスタマイズするファイルを置いてみましょう。元は JSPTabContainer のものを使います。

# cd /etc/opt/SUNWps/desktop/myportal_ja/MyTabContainer
# cp /etc/opt/SUNWps/desktop/sampleportal_ja/JSPTabContainer/header.jsp .
# cp /etc/opt/SUNWps/desktop/sampleportal_ja/JSPTabContainer/menubar.jsp .


header.jsp はページのヘッダ部分です。menubar.jsp はページのフッタの部分です。jsp で書かれていますので変更は簡単にできます。せっかくなので http://blogs.sun.com のページに似せて作ってみましょうね。
変更したファイルを載せておきます。

さてこれで準備 OK です。

実際に表示してみた



ディスプレイプロファイル

ディスプレイプロファイルはこのようになります。
        <Container name="MyTabContainer" provider="JSPTabContainerProvider" merge="replace">

            <Properties>

                <String name="startTab" value="MyTabContainer/MyTab1"/>

            </Properties>

            <Available>

                <Reference value="MyTabContainer/MyTab1"/>

            </Available>

            <Selected>

                <Reference value="MyTabContainer/MyTab1"/>

            </Selected>

            <Channels>

                <Container name="MyTab1" provider="PredefinedSamplesTabPanelContainerProvider" merge="replace">

                    <Properties>

                    </Properties>

                    <Available>

                        <Reference value="UserInfo"/>

                        <Reference value="MyRSSChannel"/>

                    </Available>

                    <Selected>

                        <Reference value="UserInfo"/>

                        <Reference value="MyRSSChannel"/>

                    </Selected>

                    <Channels>

                    </Channels>

                </Container>

            </Channels>

        </Container>

ね、すごくわかりやすいですよね。

さらに詳しい説明は Sun Java System Portal Server 6 2005Q1 Desktop Customization Guide をご覧下さい。いろいろ試して是非新しいポータルを作ってみて下さい。

Friday Sep 23, 2005

JES: Portal Server を使ってみよう (6): ポートレットチャネルを作ろう


SDC に次のようなドキュメントがポストされています。

Sun Java System Portal Server 6 2005Q1 での JavaServer Faces テクノロジに基づくポートレットの 実行

今回はこのドキュメントを参考にしながら JSR 168 に準拠したポートレットを Sun Java System Portal Server に配備してチャネルを作ってみましょう。手順としては、
  1. pdeploy コマンドでポートレットの WAR ファイルを配備
  2. 配備されたポートレットをもとにポートレットチャネルを作成する
  3. 表示するコンテナに追加する
です。

サンプルアプリケーション

サンプルアプリケーションの javaserverfaces_portlet.class をダウンロードし次のコマンドでインストールすると jsf-portlet/samples ディレクトリの下に portlet-guessNumber.war が作成されます。この war ファイルを配備し、チャネルを作ります。(私は今回はこのファイルをまったく編集していません)

% java -cp . javaserverfaces_portlet 


pdeploy コマンドで WAR ファイルを配備

war ファイルを配備するには pdeploy コマンドを使用します。dpadmin の引数に似ていますね。管理者 DN とパスワード、-p では Web コンテナ(この場合は Sun Java System Web Server) の管理者パスワードです。

実際に実行してみましょう。先ほどの war ファイルを指定します。

# /opt/SUNWps/bin/pdeploy deploy -u "uid=amAdmin,ou=People,dc=xyz,dc=com" \\
    -w passwd -p passwd -g \\
    /tmp/jsf-portlet/samples/portlet-guessNumber.war
Done Updating Display Profile! Deploying War File to Web Container...
[wdeploy] The war file name is /var/opt/SUNWps/tmp/portlet/portlet-guessNumber.war
[wdeploy] The directory /var/opt/SUNWps/tmp/deploy/web-apps/https-test.japan.sun.com/portlet-guessNumber doesn't exist. Creating it.
[wdeploy] Deploying  web application 
[wdeploy] Loading  new configuration
[wdeploy] Web application deploy successful
SUCCESS.
# 


無事に配備されたようですね。次の二つを確認しましょう。
  • Web コンテナの管理コンソールを開いてその Web アプリケーションが配備されたかどうか確認する
  • Access Manager の管理コンソールからチャネルを作成する時にポートレットとして認識されているか確認する

ポートレットチャネルを作成する

チャネルの作成方法は URL スクレーパーチャネル、XML チャネルの場合とまったく同じです。Access Manager の管理コンソールからポータルデスクトップのサービスを選択し、「新規ポートレットチャネル」を選択します。



「ポートレット」とあるプルダウンリストをチェックしましょう。配備が正しければここに配備されたポートレットが表示されるはずです。



portlet-guessNumber.guessNumber がありましたね、これを選択します。

配備したポートレットがメニューに表示されない場合:

この guessNumber ポートレットはそのまま配備できましたが、別のポートレットでここのメニューで配備したポートレットが表示されない場合は portlet.xml を確認してみて下さい。 フォーラム にもあるように portlet-app タグを変更すると表示されるようになることがあります。

チャネルが作成したら MyFrontPageTabPanelContainer コンテナに追加してユーザーから使えるようにします。

表示してみた

実際に表示してみました。無事 GuessNumber ポートレットが表示されています。



pdeploy の詳細については Sun Java System Portal Server 6 2004Q2 管理ガイド の pdeploy を参照して下さい。

Thursday Sep 22, 2005

JES: Portal Server を使ってみよう (5): ディスプレイプロファイルのバックアップと復元

ポータルデスクトップの変更のためにディスプレイプロファイルを頻繁に変更するようになると時に その設定が間違っていたり失敗してしまったりすることがあります。こんなとき dpadmin を実行する直前の 状態まで戻したい、あるいは Portal Server をインストールした直後の状態まで戻して最初から 設定をやり直したい、ということがあると思います。こんな時の tip をいくつか紹介します。

ディスプレイプロファイルをバックアップしておこう

ディスプレイプロファイルを次の3つバックアップしておいて失敗したときに戻してあげる方法があります。

  • グローバル (組織に関係なくポータルデスクトップ全体)
  • 組織
  • authlessanonymous (まだログインしていないときのページのユーザー)

authlessanonymous は http://hostname/portal/dt で表示されるまだログインしていない時のディスプレイプロファイルです。

グローバル

# cd /opt/SUNWps/bin
# ./dpadmin list -u uid=amadmin,ou=people,dc=xyz,dc=com -w passwd -g > dp_global.xml

組織

# cd /opt/SUNWps/bin
# ./dpadmin list -u uid=amadmin,ou=people,dc=xyz,dc=com -w passwd \\
     -d o=xyz.com,dc=xyz,dc=com > dp_org.xml


authlessanonymous

# cd /opt/SUNWps/bin
# ./dpadmin list -u uid=amadmin,ou=people,dc=xyz,dc=com -w passwd \\
     -d uid=authlessanonymous,ou=people,dc=xyz,dc=com > dp_authlessanonymous .xml


ディスプレイプロファイルを復元する

復元するには dpadmin modify コマンドを使います。復元するときには -m (マージ) オプションは付けずに実行します。

グローバル

# cd /opt/SUNWps/bin
# ./dpadmin modify -u uid=amadmin,ou=people,dc=xyz,dc=com -w passwd -g  dp_global.xml

組織

# cd /opt/SUNWps/bin
# ./dpadmin modify -u uid=amadmin,ou=people,dc=xyz,dc=com -w passwd \\
     -d o=xyz.com,dc=xyz,dc=com  dp_org.xml


authlessanonymous

# cd /opt/SUNWps/bin
# ./dpadmin modify -u uid=amadmin,ou=people,dc=xyz,dc=com -w passwd \\
     -d uid=authlessanonymous,ou=people,dc=xyz,dc=com  dp_authlessanonymous .xml



ディスプレイプロファイルと dpadmin の詳細については Sun Java System Portal Server 6 2004Q2 管理ガイド を参照して下さい。

Tuesday Sep 20, 2005

JES: Portal Server を使ってみよう (3): XML チャネルで RSS を使う (補足)

前回にポータルデスクトップで Web コンテンツや RSS を表示する URL スクレーパーチャネル XML チャネル を紹介しました。

Web コンテンツや RSS は Portal Server が Web ブラウザのようなクライアントとなって取得します。実際は Portal Server は Web コンテナ上で動いている一つの Web アプリケーションですからそこが取得しているわけですね。Portal Server から直接見える URL だったらよいのですがこれがプロキシ経由ではないと見えない場合はどうしたらいいでしょうか。私の仕事環境も実はプロキシを通さないと外部とは繋がりません。

Portal Server でプロキシサーバーを設定する

このような場合は Java のプログラムと同じように Portal Server が動いている Web コンテナの Java VM の設定で次のようにプロキシを設定する必要があります。Sun Java System Web Server に Portal Server を配備した場合は Web Server の Java オプションで http.proxyHosthttp.proxyPort のプロパティを追加します。管理コンソールから行ってもいいですし、/opt/SUNWwbsvr/https-hostname/config/server.xml を直接編集して「変更を適用」してもかまわないです。

/opt/SUNWwbsvr/https-hostname/config/server.xml

<JVMOPTIONS>-Dhttp.proxyHost=proxy_server.xyz.com</JVMOPTIONS>
<JVMOPTIONS>-Dhttp.proxyPort=proxy_port</JVMOPTIONS>

Friday Sep 16, 2005

JES: Portal Server を使ってみよう (3): XML チャネルで RSS を使う

みなさんは Yahoo のアカウントを持っていますか? My Yahoo では株価を見たり天気予報を見たりニュースを読んだりカレンダーをチェックしたりといろいろカスタマイズできますよね。それもポータルです。その中の一つのチャネル Yahoo RSS リーダーがいつのまにか正式版になっていました。しばらくベータ版だったのですけどね。さっそくそれを使ってブログの RSS を取ってきて表示させてみました。


ちゃんと表示出来ていますね。これを今回は Sun Java System Portal Server で実現してみましょう

XML チャネル を使って実現してみます。XML チャネルは URL スクレーパーチャネルと同様にいろいろな使い方ができます。XML チャネルは XML と XSL でチャネル内容を表示します。XML ファイルや XSL ファイルはネットワーク上どこにあってもかまいません、その Portal Server から見れれば問題ありません。今回は XML チャネルで私のブログのタイトルを表示するチャネルを作ってみましょう。

チャネルの作成方法、表示方法は URL スクレーパーチャネルの作成方法とほとんど同じですので、そちらを参考にしてください。違う点は、
  • チャネルを作成するときに XMLProvider をプロバイダとして選択する
  • urlScraperRulesetID,xslFileName ファイルを指定する
の2点です。

チャネルを作成するときに XMLProvider をプロバイダを選択する

プロバイダは XMLProvider を指定して下さい。



urlScraperRulesetID,xslFileName ファイルを指定する

プロパティの設定では以下のように指定しましょう。 url は RSS フィードの URL です。urlScraperRulesetID はそのままこの値を入れましょう。xslFileName では XSL ファイルを指定します。この場合は sunblog.xml と入力しておきます。

url: http://blogs.sun.com/roller/rss/katakai/
urlScraperRulesetID: default_ruleset
xslFileName: sunblog.xsl


XSL ファイルの用意

次のディレクトリに XSL ファイル sunblog.xsl を用意します。

/etc/opt/SUNWps/desktop/default_ja/XMLProvider

このディレクトリには default_ja と _ja がこれはユーザー言語が日本語の時に使用されるディレクトリという意味です。このディレクトリは rss.xsl というファイルもありますがこの sunblog.xsl ファイルは単純にそのファイルをコピーして編集しただけのものです。

<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" indent="yes"/>
<xsl:template match="rss">
  <xsl:for-each select="channel">
  <xsl:apply-templates select="item"/>
  </xsl:for-each>
</xsl:template>

<xsl:template match="item">
   <li> <a href="{link}" target="desktopRSSWin"><xsl:value-of select="./title"/></a></li>
</xsl:template>

</xsl:stylesheet>

実際の表示

では実際にポータルデスクトップ上で表示してみました。ちゃんと表示できていますね。 (XSL に詳しくないのでこれ以上のことは私はできなかったりします…

Thursday Sep 15, 2005

JES: Portal Server を使ってみよう (2): URL スクレーパーチャネル

ポータルのチャネルを作ってカスタマイズしてみましょう。今回は URL スクレーパーチャネル です。

URL スクレーパーチャネルは普通にある Web コンテンツをポータルのチャネルの一部として表示させてくれるというものです。設定するには

  • URL
  • Web コンテンツのエンコーディング

がわかっていれば簡単に作ることができます。

今回は非常に簡単な HTML を Portal Server のインストールしているマシンの /tmp/test.html に置きました。これをチャネル内ひ表示させてみましょう。エンコーディングは EUC です。

1. Access Manager の管理コンソールにログインします。

http://host/amconsole

amadmin とパスワードでログインします。

2. 組織から xyz.com を選択します。
3. 「表示」から「ユーザー」を選択します。
4. ユーザー test を選択します。
5. 右側の領域で「表示」メニューから「サービス」を選択します。

これでユーザー test の設定を変更する準備ができました。

6. 「ポータルデスクトップ」サービスの右横の「編集...」ボタ ンを押します
7. 「チャネルおよびコンテナを管理」リンクをクリックします

これでユーザー test の「ポータルデスクトップ」に関する設定を変更する準備ができました。新規にチャネルを登録してみます。

8. 下側の「チャネル」というところで「新規...」ボタンをクリックします。



9. チャネル名には「MyInfoChannel」と入力します。 「プロバイダ」は「URLScraperProvider」を選びます。「了解」を押すとチャネルが作成されます。


10. チャネルのプロパティを編集していきましょう。「MyInfoChanel」 の右側の「プロパティの編集...」ボタンを押します。


このような画面になります。このチャネルのプロパティが表示されます。InputEncodingEUC-JP と入力して「保存」ボタンを押します。

11. c のリンクをクリックします。「新規」ボタンで title というプロパティを追加しましょう。


12. client=HTML のリンクをクリックします。ここで url を指定します。file://tmp/test.html と変更して「保存」ボタンを押します。


これでチャネルの設定はおしまいです。これをユーザーのポータル画面に表示させる設定をします。インストールした状態では MyFrontPageTabPanelContainer というコンテナがデフォルトです。このコンテナに先ほどの MyInfoChannel を登録します。今度は上側の「コンテナチャネル」というところを見て 下さい

13. MyFrontPageTabPanelContainer リンクをクリックします。


14. 「チャネルの管理」で MyInfoChannel を一番したの「ポータルデスクトップで表示可能:」のリストまで「追 加」していきます。「保存」ボタンをクリックします。


これで準備が終わりました。

15. test アカウントでポータルデスクトップにログインしてみましょう。



新しいチャネルが一つできてその中には /tmp/test.html の内容が正しく表示されていますね。

今回の設定はユーザー test のみに対して行いました。xyz.com 組織にあるユーザーすべてに同じことをするには組織のサービスに対してこの設定を行って下さい。

URL スクレーパーチャネルはとても便利です。いろいろなところにある Web コンテンツをまとめて表示させることができます。是非使ってみて下さい。

Wednesday Sep 14, 2005

JES: Portal Server を使ってみよう (1): チャネル

前回までで Java ES の基本的なインストール方法と設定方法を紹介しました。まだダウンロードしてインストールしていない方も是非試してみて下さ い。



さて今回からは Sun Java System Portal Server の話をしていきましょう。今回はチャネルと呼ばれるポータルデスクトップ上の部品についていろ いろ紹介していきます。

Sun Java System Portal Server のポータルの顔 ポータルデスクトップ にはいろいろなチャネルが提供されています。企業内のサイトではいろいろな形にカスタマイズされてポータルは使われますがデフォルトで提供されているチャネルも少しのカスタマイズでそのまま使うことができます。その代表的なものをいくつか見ていきます。

カレンダーチャネル

ユーザーのカレンダーを表示します。「カレンダーを起動」リンクで は SSO を設定しておくと Calendar Express が起動します。
メールチャネル

ユーザーのメールボックスを表示します。「メールを 起動」リンクでは SSO を設定しておくと Messenger Express が起動します。
IM チャネル

Instant Messenger のチャネルです。オンラインのリストが表示されます。クリックすることによりチャットをすぐに開始できます。

RSS チャネル

RSS チャネルは RSS を引っ張ってきてチャネル内に表示します。

XML チャネル

XML チャネルは XML ファイルと XSLT ファイルにより内容を表示します。
URL スクレーパーチャネル

URL スクレーパーチャネルは指定された URL の Web コンテンツをチャネル内に表示させることができます。

RSS チャネルと URL スクレーパーチャネルはいろいろ使えそうですよね。次回はカスタマイズしてみましょう。
About

NetBeans Globalization

Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today