ポータル開発:iViewの作成
0 149

このトピックでは、例を取り上げて手順に従ってiViewの作成方法を説明します。

コンテキストメニューで「New」-「iView」を選択

例では「Web Dynpro Java Applicaiton」から作成するようにします。

ポータルが動くアプリケーションサーバと別のアプリケーションサーバ上のアプリケーションを組み込むことも可能ですが、例では「Local」にします。

対象のWeb Dynpro Javaアプリケーションを選択します。例では統合ワークリストの一覧表示画面の「UWL」を指定します。

iViewの名前、IDなどの属性を入力します。

「UWL」のほかに、統合ワークリストの個人表示設定画面とユーザ情報表示画面のアプリをそれぞれiViewとして作成しておきます。

0 149
みんなのツイート (0)

関連サマリー


  • EP 0 Votes 103 閲覧数


    このトピックでは、UWLの表示を取り上げて説明します。

    キャッシュ機能

    UWLは、通常キャッシュを使用し、キャッシュで保存されているアイテムが表示されます。

    システムイメージ

    キャッシュを使用したUWL表示のシステムイメージを下記の図で示します。

    キャッシュされたアイテムは、UWL稼働サーバのローカルデータベースに保存されます。

    UWLキャッシュの更新

    キャッシュ更新タイマによる自動更新
    以下の図で示されたように、いまの設定では、60秒単位でUWLキャッシュがバックアンドのBPMシステムと同期化を取っております。ログオン処理による更新
    ユーザがログオンしたときに、UWLキャッシュの更新がリクエストされます 画面リフレッシュによる更新
    ユーザが画面でリフレッシュリンクをクリックしたときに、UWLキャッシュの更新がリクエストされます

    UWLキャッシュには有効期間があり、有効期間が切れましたら、更新されます。(デフォルトは5分)
    またUWLキャッシュは下記の場合も更新されます。

    ユーザがポータルにログオンしたら、ログオンされたユーザはDeltaプールに追加され、バックグラウンドでUWL Cacheを更新します。(デフォルトは1分)UWLのWebDynpro UIからアイテムを選択したり、ソートしたりした場合、Cacheの有効期間が切れましたら、更新されます。UWLのUIはデフォルトで10分間隔でRefreshされ、UWLのUIはCacheからアイテムを再度ロードし、Cacheの有効期間が切れましたら、更新されます。手動的にUWLを更新する際アプリレベルのキャッシュ

    UWL表示

    統合ワークリストは以下のタイミングで再表示処理が行われます。

    一定間隔で自動的に再表示
    統合ワークリストのUIは一定間隔で自動的にRefreshされます。
    ユーザがリフレッシュリンクを押下した時ユーザがアイテムをソートしたり、フィルタリングしたりした時iViewレベルの設定パラメータ:Wait duration before calling providers on loading of UWL
    デフォルトとは20(秒)と設定されます。ログオン直後になどUWLをロードする際に、キャッシュの内容が20秒以内に取得されたものであれば、キャッシュの内容をそのまま取得して表示し、キャッシュの内容が20秒前に取得されたものでれば、キャッシュを更新させてからキャッシュの内容を取得して表示するといういみです。
    0に設定しておけば、キャッシュを更新させて常に最新のものを取得して表示することになります。パラメータ:Wait duration before calling providers on loading preview
    アイテムの詳細画面の表示

    1.ログオン直後のUWL表示
    ログオン時に、UWLキャッシュ更新がリクエストされますが、UWLキャッシュ更新の完了を待たずに、当時のキャッシュ内容を画面に表示して、「更新を待っています」というメッセージを出力します。
    (レスポンス性を向上するための措置)
    下記の画面で設定された値(デフォルト値:20秒)が経過した後に、再度キャッシュの内容を取りなおして表示します。(その時点でもUWLキャッシュ更新が完了していない場合、画面上に処理中アニメを表示して画面操作不可にします。)
    この設定値が0と変更されれば、ログオン直後のUWL表示は常にUWLキャッシュ更新が完了するまで待つようになります。
    2.マニュアルでリフレッシュされた場合のUWL再表示

    先にUWLキャッシュがに更新されます、その後、UWLキャッシュの内容が画面に表示されます

    3.ィルタリング検索、代理ユーザが選択された場合のUWL再表示
    UWLキャッシュの即時更新が発生しません、その時点のUWLキャッシュの内容が画面に表示されます。

    4.画面自動リフレッシュ(10分間隔?)のUWL再表示
    UWLキャッシュの即時更新が発生しません、その時点のUWLキャッシュの内容が画面に表示されます。

    ■代理指定者名前の表示
    リストに該当するタスクがある場合のみ、代理指定者の名前が表示されます。

    プロバイダの設定

    このセクションは準備中です。

    表示のカスタマイズ

    このセクションは準備中です。


  • EP 0 Votes 117 閲覧数


    このトピックでは、例を取り上げて手順に従ってポータルロールの作成方法を説明します。

    ポータルロールの作成1.ロールを新規作成

    コンテキストメニューで「New」-「Role」を選択

    2.ロールの属性を入力

    ロールの名前、IDなどの属性を入力します。

    3.ロールの作成を完了

    ポータルロールの編集4.ロールを編集

    5.ワークセットをロールに追加

    対象のワークセットをロールにコピーします。ロールは階層構造をもてるため、なかに自由にサブフォルダを作成することができます。

    6.もう一つのワークセットを追加しておく

    7.EntryPointをTrueにしておく

    ポータルロールの割当

    テストのため、上記に作製したロールをAdministratorに割り当てておきます。

    ポータルロールの表示

    Administratorでログインして、割り当てられたロールの表示を確認します。


  • EP 0 Votes 85 閲覧数


    このトピックでは、例を取り上げて手順に従ってページの作成方法を説明します。

    ページの作成1.ページを新規作成

    コンテキストメニューで「New」-「Page」を選択

    2.ページの属性を入力

    ページの名前、IDなどの属性を入力します。

    3.ページのテンプレートを選択

    例では「WebDynpro Proxy Page」にします。

    4.ページのレイアウトを選択

    例では「T-Layout」にします。

    5.ページの作成を完了

    コンテンツの編集5.ページのコンテンツを編集

    6.iViewをページにコピー

    プレビュー

     


  • EP 0 Votes 175 閲覧数


    このトピックでは、ポータルコンテンツの移送を取り上げて説明します。
    ポータルコンテンツの移送は、移送元からEXPORT⇒Exportファイルを移送先にインポートの順に行います。

    移送元からEXPORT概述

    ポータル管理画面→システム管理タブ→移送→ナビゲーション(移送パッケージ→エクスポート) 
    ①移送パッケージを新規作成 
    ②移送パッケージに全オブジェクトを追加、エクスポート 
    ③エクスポートファイルをダウンロード

    手順の詳細










    移送先へIMPORT概述

    ポータル管理画面→システム管理タブ→移送→ナビゲーション(移送パッケージ→インスポート) 
    ①インポートファイルをアップロード 
    ②インポート

    手順の詳細





  • EP 0 Votes 131 閲覧数


    このトピックでは、 UWLサービスのアクセス方法を取り上げて説明します。

    UWLサービスの取得Portal利用 IUWLService uwlService = (IUWLService) WDPortalUtils.getServiceReference(IUWLService.ALIAS_KEY); PortalRuntime.getRuntimeResources().getService(IUWLService.ALIAS_KEY); JNDI利用   // look up UWL service private   IUWLService findService() throws NamingException {     Properties env = new Properties();           env.put(InitialContext.INITIAL_CONTEXT_FACTORY, "com.sapportals.portal.prt.registry.PortalRegistryFactory");           // create initial context           InitialContext ctx = new InitialContext(env);           // retrieve UWL service           IUWLService uwlService = (IUWLService) ctx.lookup("/broker/services/" + IUWLService.ALIAS_KEY); return uwlService;   } ワークアイテムの走査 public void retriveItems() {

    try {
                // look up UWL service
                IUWLService uwlService = findService();
                // define session timeout period
                final int sessionIdleTimeout = 60;
                // create context
                UWLContext uwlContext = new UWLContext();
                // find logged in user.
                IUser user = //TODO Get the user for whom the items are to be retrieved.
                uwlContext.setUser(user);
                uwlContext.setLocale(Locale.getDefault());
                // begin session IUWLSession uwlSession;
                uwlSession = uwlService.beginSession(uwlContext, sessionIdleTimeout);
                uwlContext.setSession(uwlSession);
                IUWLItemManager itemManager = uwlService.getItemManager(uwlContext);
                QueryResult result = itemManager.getItems(uwlContext, null, null);
                ItemCollection items = result.getItems();
                 Item item = null;
                for (int i = 0; i < items.size(); i++) {
                  item = items.get(i);
                  // item.getSubject() can give you Task's Subject string
                  // item.getAttribute("taskId").getStringValue() gives you taskId
                  // (a check for null should be added also to avoid NullPointerException).
                  Map params = new HashMap();
                  params.put("taskId", item.getExternalId());
                  String executionURL = WDURLGenerator.getApplicationURL("sap.com/tc~bpem~wdui~taskinstance", "ATaskExecution", params);
                  //TODO Add code send mail which contains above URL.
                }
        } catch (UWLException e) {
                e.printStackTrace();
              } catch (NamingException e) {
                e.printStackTrace();
              }
      }

     


  • EP 0 Votes 94 閲覧数


    このトピックでは、例を取り上げて手順に従ってワークセットの作成方法を説明します。

    ワークセットの作成1.ワークセットを新規作成

    コンテキストメニューで「New」-「Workset」を選択

    2.ワークセットの属性を入力

    ワークセットの名前、IDなどの属性を入力します。

    3.ワークセットの作成を完了

    ワークセットの編集4.ワークセットを編集

    5.ページをワークセットに追加

    ページやiViewをワークセットに追加します、ワークセットは階層構造を取れますので、必要に応じて中にフォルダを作成することができます。

    6.ワークセットの編集を完了

    その他

    もう一つのワークセットを作成しておきます。


  • EP 0 Votes 170 閲覧数


    このトピックでは、ポータルロールを取り上げて、その構成要素などを説明します。

    概述

    ポータルロールは、コンテンツをどのようにグループ化するか、コンテンツを SAP NetWeaver Portalにどのように表示するかが定義されます。 
    ユーザ、またはグループをポータルロールに割り当てることによって、ユーザまたはグループがどのコンテンツをポータルに表示するかを定義します。割当時、ロール割当ユーザ権限のチェックが行われ、ロールを割り当てるための適切な権限を保有しているかどうかが確認されます。

    ポータルロールのほかにユーザマネジメントエンジン (UME) ロールがあります。UMEロールによって、権限のセットが定義されます。但しUMEロールはポータルの表示を制御することができません。

    構成要素

    ポータルロールの構成要素はおもに以下のようなものがあります。

    ページ: 
    レイアウトと割り当てられたiViewで構成されるiView のコンテナです。iView: 
    社内やインターネットのコンテンツソースからデータを取得し、ポータルのコンテンツエリアに表示するプログラムです。ワークセット: 
    特定の活動分野に属するタスク、サービス、情報のコレクションです。メニュー: 
    ワークセットとメニューの組み合わせを作成し、ロールに紐付けることでユーザーごとに異なる画面を表示することが可能です。サンプル

    標準のgeneral/eu_role、super_admin/super_admin_roleとカスタマ作成のRoleT1を持っているユーザを例として取り上げて、ポータルの表示を示します。

    ユーザノポータル表示 
    general/eu_roleのコンテンツ定義 
    super_admin/super_admin_roleのコンテンツ定義 
    RoleT1のコンテンツ定義 

  • EP 0 Votes 76 閲覧数



    (このトピックは編集中です)

    委譲委譲のアクション

    委譲ユーザの選択

    UMEのSimpleSearch機能が使用されているため、動きが以下のようになります。

    アクティブでないユーザも検索されます会社による制限は機能しません代理

    代理ルールの設定

    代理ルールに関するメニューが表示されるには、下記の二つのことが発生することが必要です。

    代理ルールが存在することUWL Cacheに代理されたアイテムがあること代理ユーザの検索

    アクティブなユーザのみが検索されます。