URL スクレーパーチャネルXML チャネルを Access Manager の管理コンソールから作成管理する方法を前回に書きました。これはこれで便利なのですがちょっと面倒くさいですよね。簡単に管理ができるようにコマンドラインのインターフェースを覚えておきましょう。これを覚えておくととっても便利です。

管理コンソールで行ったことととまったく同じことをコマンドラインでやってみることにしますね。

dpadmin コマンド

ポータルデスクトップのタブ、チャネル、レイアウトなどの情報はディレスプレイプロファイルと呼ばれてディレクトリサーバー内に格納されています。 /opt/SUNWps/bin/dpadmin はポータルデスクトップのこのディスプレイプロファイルを管理するコマンドです。

# cd /opt/SUNWps/bin
# ./dpadmin
Usage: dpadmin SUBCOMMAND ARGUMENTS

ディスプレイプロファイル管理のコマンド行インタフェース

The accepted values for SUBCOMMAND are:

list    DP ノードオブジェクトの取得および表示.
merge   指定の DP ノードオブジェクトのマージ結果を取得および表示.
modify  既存の DP オブジェクトの値の変更.
add     新しい DP オブジェクトをディスプレイプロファイルに追加.
remove  既存の DP オブジェクトをディスプレイプロファイルから削除.
batch   バッチモード操作.

#

ディスプレイプロファイルを取得する - dpadmin list

実際に使ってみましょう。前回ではユーザー test に対して変更をしていましたよね。その状態でユーザー test のディスプレイプロファイルを見てみます。-d オプションでユーザー test の DN を指定します。

# ./dpadmin list -u uid=amadmin,ou=people,dc=xyz,dc=com" -w passwd \
    -d "uid=test,ou=people,o=xyz.com,dc=xyz,dc=com"

さてさてどのような情報が表示されたでしょうか。

タブの情報

まずはポータルデスクトップの情報です。MyFrontPageTabPanelContainer  はトップのタブです。次のチャネルが使えるということを示していますね。前回作った MyInfoChannel と MyRSSChannel があることがわかります。

        <Container name="MyFrontPageTabPanelContainer">
            <Properties>
            </Properties>
            <Available>
                <Reference value="UserInfo"/>
                <Reference value="App"/>
                <Reference value="Bookmark"/>
                <Reference value="MyFrontPageTabPanelContainer/Bookmark2"/>
                <Reference value="SampleJSP"/>
                <Reference value="SampleRSS"/>
                <Reference value="Calendar"/>
                <Reference value="Mail"/>
                <Reference value="IMChannel"/>
                <Reference value="AddressBook"/>
                <Reference value="Netlet"/>
                <Reference value="Proxylet"/>
                <Reference value="MyInfoChannel"/>
                <Reference value="MyRSSChannel"/>
                <Reference value="SampleXML"/>
                <Reference value="MailCheck"/>
            </Available>
            <Selected>
                <Reference value="MailCheck" merge="remove"/>
                <Reference value="App" merge="remove"/>
                <Reference value="Bookmark" merge="remove"/>
                <Reference value="MyFrontPageTabPanelContainer/Bookmark2" merge="remove"/>
                <Reference value="SampleJSP" merge="remove"/>
                <Reference value="SampleRSS" merge="remove"/>
                <Reference value="SampleXML" merge="remove"/>
                <Reference value="Calendar" merge="remove"/>
                <Reference value="Mail" merge="remove"/>
                <Reference value="IMChannel" merge="remove"/>
                <Reference value="AddressBook" merge="remove"/>
                <Reference value="Netlet" merge="remove"/>
                <Reference value="Proxylet" merge="remove"/>
                <Reference value="UserInfo"/>
                <Reference value="MyInfoChannel"/>
                <Reference value="MyRSSChannel"/>
            </Selected>

チャネルの情報

おぉ、次にチャネル本体の定義が出てきましたね。

MyInfoChannel です。

        <Channel name="MyInfoChannel" provider="URLScraperProvider" merge="replace">
            <Properties>
                <String name="inputEncoding" value="EUC-JP"/>
                <ConditionalProperties condition="client" value="HTML">
                    <ConditionalProperties condition="locale" value="ja">
                        <String name="url" value="file:///tmp/test.html"/>
                    </ConditionalProperties>
                </ConditionalProperties>
                <ConditionalProperties condition="locale" value="ja">
                    <String name="title" value="お休み情報"/>
                </ConditionalProperties>
            </Properties>
        </Channel>

ここで ConditionalProperties というのが出てきますが管理コンソール上でチャネルを作成したときに locale=ja を選んだことを覚えていますよね。言語が日本語の時に使われるプロパティです。

これは MyRSSChannel です。

        <Channel name="MyRSSChannel" provider="XMLProvider" merge="replace">
            <Properties>
                <String name="title" value="My Blog"/>
                <String name="inputEncoding" value="UTF-8"/>
                <String name="url" value="http://blogs.sun.com/roller/rss/katakai/"/>
                <String name="xslFileName" value="sunblog.xsl"/>
                <String name="urlScraperRulesetID" value="default_ruleset"/>
            </Properties>
        </Channel>

ディスプレイプロファイルを変更する - dpadmin modify

これらのディスプレイプロファイルをファイルに定義しておいて dpadmin を使えば他の組織や他のユーザーのディスプレイプロファイルを簡単に変更することができますね。

/tmp/test2_dp.xml というファイルを用意します。MyRSSChannel を作成して MyFrontPageTabPanelContainer で使えるようにし、それを表示させるというディスプレイプロファイルです。

<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE DisplayProfile SYSTEM "jar://resources/psdp.dtd">

<DisplayProfile version="1.0" priority="user">
    <Properties>
    </Properties>
    <Channels>
        <Container name="MyFrontPageTabPanelContainer">
            <Properties>
            </Properties>
            <Available>
                <Reference value="MyRSSChannel"/>
            </Available>
            <Selected>
                <Reference value="MyRSSChannel"/>
            </Selected>
            <Channels>
            </Channels>
        </Container>
        <Channel name="MyRSSChannel" provider="XMLProvider" merge="replace">
            <Properties>
                <String name="title" value="My Blog"/>
                <String name="inputEncoding" value="UTF-8"/>
                <String name="url" value="http://blogs.sun.com/roller/rss/katakai/"/>
                <String name="xslFileName" value="sunblog.xsl"/>
                <String name="urlScraperRulesetID" value="default_ruleset"/>
            </Properties>
        </Channel>
    </Channels>
    <Providers>
    </Providers>
</DisplayProfile>

ユーザー test2 に対してディスプレイプロファイルを変更します。変更するには modify サブコマンド使い次のようにします。-m オプションはすべて置き換えてしまうのではなくマージするという意味です。

    # ./dpadmin modify -m -u uid=amadmin,ou=people,dc=xyz,dc=com" -w passwd \
        -d "uid=test2,ou=people,o=xyz.com,dc=xyz,dc=com" \
        /tmp/test2_dp.xml

組織のディスプレイプロファイルを設定する
上の例はユーザー test2 に対してだけの変更でした。組織 xyz.com 全体に対して変更するには -d オプションを組織の DN にしてしまえばよいです。

    # ./dpadmin modify -m ... -d "o=xyz.com,dc=xyz,dc=com" ...

Portal Server 全体のディスプレイプロファイルを設定する
さらに上のレベル、その Portal Server 全体(グローバル)を変更するには -g オプションを付けて実行します。この場合は -d オプションは指定しません。

    # ./dpadmin modify -m -g ...


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

Post a Comment:
Comments are closed for this entry.

This blog copyright 2009 by katakai