Oracle® Fusion Middleware Oracle WebCenter Portal開発者ガイド 11g リリース1 (11.1.1.7.0) B72084-02 |
|
![]() 前 |
![]() 次 |
この章では、Spaces APIを使用して、WebCenter Portal: FrameworkアプリケーションにWebCenter Portal: Spaces機能を公開する方法について説明します。これらのAPIを使用すると、新しいスペースの作成、スペース・メンバーシップの管理、スペース情報の取得などをご使用のFrameworkアプリケーションから実行できます。
この章では、Spaces内のFrameworkアプリケーションなど、他のアプリケーションからの情報を公開する方法も説明します。
この章には次の項が含まれます:
注意: Spaces API(この章で説明)を実装するカスタム構築されたタスク・フローは、WebCenter Portal: Frameworkアプリケーションにデプロイできますが、WebCenter Portal: Spacesにはデプロイできません。 |
対象読者
この項は、WebCenter Portal: FrameworkアプリケーションにSpaces機能を公開する開発者を対象としています。
WebCenter PortalのSpacesアプリケーションは、Webベースのアプリケーションであり、WebCenter Portal: Framework、WebCenter Portalサービスおよびコンポーザを使用して構築されています。Spacesアプリケーションは、数千のユーザーに対応し、様々な言語を使用する多様な人々を含むポータル、コミュニティおよびソーシャル・サイトを迅速に作成するために必要なすべてのツールを備えています。図56-1は、一般的なSpacesホーム・ページを示しています。
Spacesは、そのままで使用でき、個人およびグループによる作業およびコラボレーションの効率性を高める構成可能な作業環境を提供します。このアプリケーションは、個人およびグループの相互作用を管理するためのセルフサービス・ソリューションです。また、ドキュメント、グラフ、レポート、ポートレット、ビジネス・アプリケーション、サービス、その他のADFリソースまたはビューなどのページおよびリソースを追加することによって、ビジネス・ユーザーが集合し、情報を共有することを可能にする直感的なツールも提供します。
Spacesアプリケーションは、1つのアプリケーション内に、ホーム・スペースとグループ・スペースの2つの作業環境を提供します。ホーム・スペースは、各ユーザーにプライベート作業領域を提供し、ユーザーはそこに個人コンテンツを格納し、ビジネス・プロセスの割当てを表示してそれに対応し、彼または彼女の一意の作業日に関連する多数のその他のタスクを実行します。グループ・スペース(これ以降、スペースと呼ぶ)は、目的の分野または共通の目標を中心に編成した個別の作業領域をサポートします。
Spacesは、プロジェクト・チームや目的のコミュニティの構成とコラボレーションをサポートします。Spacesを使用すると人々は互いに仮想環境内で継続的な対話と情報共有を行い、特にソーシャル・ネットワークを形成できます。図56-2は、スペースの例を示しています。
構造的には、スペースはページから構成されており、それらのページの多くは特定のサービス専用となっています。たとえば、「リスト」ページは、複数列のリストを作成し、公開する手段を提供します。「ドキュメント」ページは、グループ・コンテンツをアップロード、編成、管理するための中心的なライブラリを提供します。「検索」ページは、検索の保存および検索結果の管理のための機能を提供します。スペースでは、これらのページおよびその他のデフォルト・ページに加えて、権限のあるユーザーによって作成されたカスタム・ページがサポートされています。ページの作成は、様々な事前定義済レイアウトを使用することで簡単に行えます。ユーザーは、労力をほとんど使用することなく、彼らのチームまたはコミュニティ固有のニーズに適切に対応したページを提供できます。スペースの詳細は、『Oracle Fusion Middleware Oracle WebCenter Portal: Spacesユーザーズ・ガイド』を参照してください。
WebCenter Portalは、グループの目標のサポートにおいて様々な機能を提供するためにスペースによって使用できる様々なサービスを提供します。たとえば、ドキュメント・サービスは、コンテンツをアップロードおよび管理するための機能を提供し、ディスカッション・サービスは、ディスカッション・フォーラムを作成、管理およびディスカッション・フォーラムに参加するための機能を提供します。他のこれらのサービスのいくつかの例としては、イベント、リスト、お知らせ、および検索があります。Spacesは、これらのサービスによって生産的な共同作業環境となっています。サービスは、タスク・フローを介してこれらの機能のサブセットを公開します。タスク・フローは、特定のサービスから使用できる機能のすべてまたはサブセットを公開する再利用可能なビューです。たとえば、最近のドキュメント・タスク・フローは、最近、オープン、追加、またはなんらかの方法で影響を受けたドキュメントをリストすることで、ドキュメント・サービスを介して提供される機能のサブセットを提供します。
ユーザーは、すばやくスペースを取得し実行するために、デフォルト・テンプレートに基づくことができます。さらに、Spacesを使用することで、ユーザーはスペースをテンプレートに変換できるため、特定の対象者に適したスペースを設計し、他のユーザーが使用できるようにそれらをテンプレートとして提供できます。テンプレートの作成の詳細は『Oracle Fusion Middleware Oracle WebCenter Portal: Spacesユーザーズ・ガイド』の、カスタム・スペース・テンプレートの作成に関する項を参照してください。
Spacesは、任意のWSRP、Oracle PDK-Javaまたはページレット・プロデューサ(プロデューサが登録済である場合)のポートレットを使用できます。したがって、Frameworkアプリケーション向けに作成するポートレットは、すべてSpacesでも使用できます。詳細は、『Oracle Fusion Middleware Oracle WebCenter Portal管理者ガイド』のポートレット・プロデューサの管理に関する項の章を参照してください。
この項には次のサブセクションが含まれます:
ユーザーは、WebCenter Portal: Frameworkアプリケーションを使用中に、特定のタスクを完了するためにSpacesが役立つと思われる状況に直面することがあります。そのようなケースでは、Spacesアプリケーションに切り替えるよりも、現在のアプリケーションのコンテキスト内に留まるほうがはるかに混乱が少ない場合があります。そのために、Spacesは、いくつかのAPIを介したその機能のサブセットへのアクセスを提供しています。これらのAPIを使用すると、強力なSpacesの機能をFrameworkアプリケーションに統合できます。
Spaces APIを使用すると、次のことを実行できます。
スペースおよびスペース・テンプレートの作成および管理。スペースを作成および削除でき、カスタム属性を追加できます。詳細は、第56.2.5.1項「スペースおよびスペース・テンプレートの管理」を参照してください。
スペース・メンバーシップの管理。スペース・メンバーを追加および削除できます。詳細は、第56.2.5.2項「スペース・メンバーシップの管理」を参照してください。
スペースおよびスペース・テンプレートに関する情報の取得。たとえば、SpacesアプリケーションのURLや特定のスペースのURLを取得できます。また、スペースおよびスペース・テンプレート・メタデータも取得できます。詳細は、第56.2.5.3項「スペースおよびスペース・テンプレートの情報の取得」を参照してください。
Spaces APIは、いくつかのクラス内に含まれています。表56-1では、様々なクラスをリストし、各クラスのAPIの目的を説明しています。
表56-1 Spaces APIのクラス
クラス | 含まれているAPIの用途 | 詳細 |
---|---|---|
|
スペースおよびスペース・テンプレートの作成および管理 スペース・メンバーシップの管理 スペース情報の取得 |
第56.2.5項「WebCenter PortalアプリケーションでSpacesの機能を提供する方法」 |
|
APIをコールする前のコンテキストの確立 |
第56.2.4.4項「Spacesクライアント・コンテキストの設定」 |
|
APIから発生した例外の管理 |
第56.2.6項「Spaces APIから発生した例外を処理する方法」 |
|
スペース・メンバーに関する情報の取得 |
第56.2.5.3項「スペースおよびスペース・テンプレートの情報の取得」 |
|
スペース情報の取得 |
第56.2.5.3項「スペースおよびスペース・テンプレートの情報の取得」 |
Spacesは、様々なアプリケーションを保持できます。WebCenter Portal: Frameworkアプリケーション開発者の視点から、APIを介してSpacesを構築し、使用するシナリオを示す事例を2つ紹介します。
購買アプリケーションでは、購買マネージャは、新しいサプライヤの適性を話し合うスペースを作成できます。詳細は、第56.2.2項「事例1: 購買アプリケーションでSpaceを使用してサプライヤを評価する」を参照してください。
カスタマ・サポート・センター・アプリケーションでは、サポート・アナリストが、カスタマ・エスカレーションに関して他のユーザーと共同作業をするためのスペースを作成できます。詳細は、第56.2.3項「事例2: カスタマ・サポート・センター・アプリケーションでSpaceを使用してカスタマ・エスカレーションを話し合う」を参照してください。
Oracle WebCenter Portal: Frameworkを使用して構築された購買アプリケーションについて考えてみます。このアプリケーションでは、サプライヤ、価格設定、リードタイムの要件、概算出荷時間、および実績を追跡します。
購買アプリケーションのユーザーは、サプライヤの候補を選択し評価できなければなりません。サプライヤの評価は共同プロセスで、会社の様々な領域からの人々が必要です。たとえば、設計エンジニアと製造担当者は購入するアイテムが必要な技術仕様を満たしていることを確認する必要があります。購買エージェントは価格、物流および契約について交渉できます。さらにマネージャまたはエグゼクティブは取引を承認する必要があります。購買アプリケーションはサプライヤ評価をどのように開始するでしょうか。
通常、購買マネージャが、製造部門から購買請求書を受け取ります。場合によっては、製造部門が必要とする期限内に、その必要分を従来のサプライヤが納品できないため、発注を完了できないことがあります。したがって、納期および価格設定要件を満たす新しいサプライヤを判別する必要があります。購買マネージャは、候補となるサプライヤをシステムに追加できますが、購買マネージャは、サプライヤを評価できるように、情報を整理して共有し、彼のチームの内外の人々と共同する方法を必要としています。
スペースは、この共同作業環境を提供できます。そのために、購買アプリケーションにはcreateGroupSpace
APIへのコールが含まれており、それにより、図56-3に示すように、購買マネージャが、「スペースの作成」ダイアログを表示するリンク(「新規スペースの作成」)を、購買アプリケーションから直接クリックできます。
購買マネージャがそのリンクをクリックすると、カスタム・ダイアログからいくつかの情報を要求されます。購買マネージャは、スペースの名前および説明を入力し、図56-4に示すようにテンプレート(Purchasing Projects)も選択します。Purchasing Projectsテンプレートによって、スペースは迅速に設定され、すぐに使用できます。たとえば、このテンプレートによって、どのサービスが必要であるか(イベント、ドキュメント・ライブラリなど)、および必要なカスタム・ページが定義されます。このAPIで、独自の「スペースの作成」ダイアログを作成できるため、独自のルック・アンド・フィールおよび用語を適用できます。
このシナリオでは、購買マネージャは、テンプレート・リストからPurchasing Projectsテンプレートを選択します。別の方法は、購買アプリケーションがデフォルト・テンプレート値を渡すようにすることです。この追加のデフォルトにより、購買マネージャが検討すること(どのテンプレートを使用するか)が1つ減ります。サプライヤIDからスペースの名前を生成し、購買マネージャが詳細を何も入力しなくてもよいようにすることもできます。そうすれば、リンクのクリックのみでスペースを作成できます。
購買マネージャが「OK」をクリックすると、図56-5に示すような.新しいサプライヤ評価スペースが表示されます。
図56-5は、イベント・カレンダ、グループに役立つことのあるドキュメント、お知らせの領域などを含むサプライヤ評価スペースのホーム・ページを示しています。これらの各領域はPurchasing Projectsテンプレートによって決定されます。さらに、スペースの作成元の購買アプリケーション・トランザクション・インスタンスへのリンクも提供されます。このリンク(「ベンダーの追加/更新」)をクリックすると、サプライヤShaker Distributionの「ベンダーの追加/更新」トランザクション画面が表示されます。
Spacesアプリケーションでは、購買マネージャが自動的にそのスペースのモデレータになります。モデレータは、スペースへのコンテンツの追加、ディスカッションの開始、メンバーの招待、関連するパーティとのコラボレーションを実行できます。サプライヤに関してコンセンサスを得られたら、購買マネージャは、当該サプライヤを承認または却下できます。
Oracle WebCenter Portal: Frameworkを使用して構築された、お客様からの電話および問題を追跡するカスタマ・サポート・センター・アプリケーションを考えてみます。
サポート・アナリストは、そのアナリストが対応しているサービス・リクエストがお客様によってエスカレートされたことを通知されます。アナリストは、社内の様々な部署に所属する他の人々が関与できれば、その問題の解決策を迅速に見つけられることを認識しています。例:
プロジェクトを実行したチームのプロジェクト・マネージャは、そのプロジェクトに関する詳しい知識を提供できます。
お客様と定期的に連絡を取っているアカウント・マネージャは、お客様のサイトでのプロジェクトの実行に関する具体的な情報を提供できます。
以前、似たようなエスカレーションに対応したことがある別のアナリストは、そのエスカレーションを解決した方法に関する情報を提供できます。
この問題は、スペースを使用して共同で解決できます。サポート・アナリストは、カスタマ・サポート・センター・アプリケーション内からスペースを作成し、必要なメンバーを追加します。それらのメンバーは通知を受け取り、スペースを使用してお客様の状況についてディスカッションを開始します。サポート・アナリストは、彼らのスペースへの更新内容をサポート・アプリケーション内で表示し、より具体的な詳細を知る必要がある場合はスペースに移動します。彼女はスペースの他のメンバーから入手する情報に基づいて、問題を診断し、お客様に非常に迅速に解決策を提示できます。
Spaces APIを使用するには、その前に、Spacesアプリケーションが起動されていて実行中であることと、プロジェクトがJDeveloperで適切に設定されていることを確認する必要があります。
この項には次のサブセクションが含まれます:
Spaces APIを使用する場合、Spacesアプリケーションが起動されていて実行中であることが必要です。
Spacesが起動されていて実行中であることを確認するには:
Spacesを起動します。URLは次のとおりです。
http://host:port/webcenter
ログインする必要はありません。
Spaces Webサービスが起動されていて実行中であることを確認します。URLは次のとおりです。
http://host:port/webcenter/SpacesWebService?WSDL
図56-6に示すようなページが表示されます。このページが表示されない場合は、Fusion Middleware管理者にお問い合せください。
Spacesの設定の詳細は、『Oracle Fusion Middleware Oracle WebCenter Portal管理者ガイド』のSpacesアプリケーションの起動と実行に関する項の章を参照してください。
WebCenter Portal: FrameworkアプリケーションでSpaces APIをコールするには、その前にアプリケーションに適切なライブラリが含まれていることと、Spaces Webサービスへの接続が存在することを確認する必要があります。
Spaces APIを使用するようにアプリケーションを設定するには:
JDeveloperを起動します。
アプリケーション・ナビゲータで、Spacesの機能を提供する対象となるアプリケーションを開きます。
アプリケーションは、「WebCenterポータル・アプリケーション」テンプレートに基づいている必要があります。
ビュー・コントローラ・プロジェクトを右クリックし、「プロジェクト・プロパティ」を選択します。
「ライブラリとクラスパス」を選択します。
プロジェクト内で次のライブラリが使用可能であることを確認し、必要に応じて任意のものを追加します。
ADF DVT Facesランタイム
ADFモデル汎用ランタイム
ADFモデル・ランタイム
JAX-RPCクライアント
JAX-WSクライアント
JAXB
Oracle JEWT
Spacesクライアント
JDEV_HOME
/jdeveloper/oracle_common/modules/oracle.adf.model_11.1.1/adfm.jar
JDEV_HOME
/jdeveloper/oracle_common/modules/oracle.xdk_11.1.1/xml.jar
「OK」をクリックします。
アプリケーション・ナビゲータの「アプリケーション・リソース」パネルで、「接続」を右クリックし、「接続の作成」→「URL」を選択します。
「名前」フィールドにSpacesWebServiceEndpoint
と入力します。
「URLエンドポイント」フィールドに、Spaces WebサービスのURLを入力します。
http://host:port/webcenter/SpacesWebService
「OK」をクリックします。
接続情報が、アプリケーションのMETA-INF
ディレクトリのconnections.xml
ファイルに追加されます。たとえば、次のとおりです。
C:\JDeveloper\mywork\mySpacesApplication\.adf\META-INF
connections.xml
ファイルが存在しない場合、それが作成されます。
connections.xml
ファイルを開き、例56-1に示されているコードが表示されることを確認します。
例56-1 Spaces Webサービス・エンドポイントURL接続
<Reference name="SpacesWebServiceEndpoint" className="oracle.adf.model.connection.url.HttpURLConnection"> <Factory className="oracle.adf.model.connection.url.URLConnectionFactory"/> <RefAddresses> <XmlRefAddr addrType="SpacesWebServiceEndpoint"> <Contents> <urlconnection name="SpacesWebServiceEndpoint" url="http://host:port/webcenter/SpacesWebService"/> </Contents> </XmlRefAddr> </RefAddresses> </Reference>
実行時にSpacesWebサービス・エンドポイントを設定する必要がある場合は、setGroupSpaceWebServiceEndpoint
APIを使用できます(例56-2)。パラメータとしてエンドポイントを取るラッパーAPIを作成し、setGroupSpaceWebServiceEndpoint
をコールして、そのパラメータを渡すことができます。エンドポイントがconnections.xml
で設定されていない場合は、例外がINFOとしてログ・ファイルでレポートされます。
WebCenter Portal: FrameworkアプリケーションでSpaces APIを使用する前に、アプリケーション(コンシューマ)とSpaces(プロデューサ)との間の通信がセキュリティで保護されていることを確認する必要があります。これは、APIを呼び出したユーザーのアイデンティティがセキュアな方法でSpacesに伝播され、通信の整合性と機密性が保たれるようにするためです。
これを実行するため、Spaces APIはメッセージ保護とともにSAMLベースのトークンのポリシーを使用します。管理者は、Spacesがアプリケーションから受信したセキュリティ・トークンの真正性を確認できるように、Javaキーストアを作成し資格証明ストアを更新する必要があります。その後、JDeveloperを使用して、このキーストアを登録し資格証明ストアを更新する必要があります。
管理者が実行する必要のある手順の詳細は、『Oracle Fusion Middleware Oracle WebCenter Portal管理者ガイド』のWS-Securityによる、SpacesクライアントAPIを使用するアプリケーションのスペースの保護に関する項を参照してください。
アプリケーション・コード内でSpaces APIをコールする前に、いくつかのセットアップ手順が必要です。
Spacesクライアント・コンテキストを設定する手順は次のとおりです
WebLogic Server (WLS)にデプロイされたアプリケーションからSpaces APIをコールすると、特に上書きするように選択していないかぎり、ドメイン全体の構成設定が使用されます。セキュリティ構成パラメータを上書きまたは設定するには、GroupSpaceWSContext
クラスによって提供されているAPIを使用します。
特に、データの暗号化に必要なSAMLの発行者名およびSpacesの公開鍵の別名を設定する必要があります。Spaces Webサービス・エンドポイントがconnections.xml
ファイルに設定されていない場合、これも設定できます。
例:
GroupSpaceWSContext context = new GroupSpaceWSContext(); context.setEndPoint("endPointUrl"); context.setSamlIssuerName("samlIssuer"); context.setRecipientKeyAlias("producer"); groupSpaceWSClient = new GroupSpaceWSClient(context);
ここで:
endPointUrl
はSpaces Webサービス・エンドポイントです(たとえば、http://xmlns.oracle.com:8912/webcenter/SpacesWebService
)。
samlIssuer
は、このSAMLアサーティング・パーティのアサーションを発行するSAML認証局の発行者URIです(たとえば、www.oracle.com
)。デフォルトのwww.oracle.com
が唯一信頼できるSAML発行者です。
producer
は、Spacesの公開鍵の別名です。たとえば、単純なトポロジを使用している場合はorakey
となります。
管理者が実行する必要のある手順の詳細は、『Oracle Fusion Middleware Oracle WebCenter Portal管理者ガイド』のWS-Securityによる、SpacesクライアントAPIを使用するアプリケーションのスペースの保護に関する項を参照してください。
GroupSpaceWSContext
クラスによって提供されるAPIの完全なリストは、Oracle Fusion Middleware Oracle WebCenter Portal Java APIリファレンスを参照してください。
コンテキストを渡すことでSpacesクライアントを初期化します。例:
GroupSpaceWSClient client = new GroupSpaceWSClient(context);
クライアントを初期化したら、次のものをコールすることによってすべてが適切に設定されていることを確認します。
getWebCenterSpacesURL();
適切なURLが返された場合、すべてが適切に設定されており、Spaces APIの使用を開始できます。
Spaces APIによって、WebCenter Portal: Frameworkアプリケーション内で一般的なスペース関連の操作を実行できます。これらのAPIの大部分は、GroupSpaceWSClient
クラスによって提供されます。これらのAPIは、3つのメイン・カテゴリに分類できます。
表56-2は、GroupSpaceWSClient
クラスのAPIを示しています。
表56-2 一般的なスペースの操作を実行するためのAPI
Spaces API | カテゴリ | 説明 |
---|---|---|
|
スペースおよびスペース・テンプレートの管理 |
テンプレートに基づいて新しいスペースを作成します。第56.2.5.1.1項「スペースの作成」を参照してください。 |
|
スペースおよびスペース・テンプレートの管理 |
スペースのカスタム属性を1つ以上作成します。第56.2.5.1.2項「カスタム属性の作成」を参照してください。 |
|
スペースおよびスペース・テンプレートの管理 |
Spacesからスペースを完全に削除します。第56.2.5.1.4項「スペースの削除」を参照してください。 |
|
スペースおよびスペース・テンプレートの管理 |
既存のスペースに基づいて新しいスペース・テンプレートを作成します。第56.2.5.1.3項「スペース・テンプレートの作成」を参照してください。 |
|
スペース・メンバーシップの管理 |
ユーザー(またはグループ)を特定のロールを持つスペース・メンバーにします。第56.2.5.2.1項「スペースへのメンバーの追加」を参照してください。 |
|
スペース・メンバーシップの管理 |
リストのユーザーを、スペースのメンバーになるように招待します。第56.2.5.2.2項「ユーザーをスペースに参加するように招待」を参照してください。 |
|
スペース・メンバーシップの管理 |
スペース・メンバーシップを取り消します。第56.2.5.2.3項「スペースからのメンバーの削除」を参照してください。 |
|
スペース・メンバーシップの管理 |
特定のスペースのすべてのロールを取得します。第56.2.5.2.4項「ロール情報の取得」を参照してください。 |
|
スペースおよびスペース・テンプレートの情報の取得 |
指定した問合せ文字列に対してスペースのリストを取得します。第56.2.5.3.1項「スペースのリストの取得」を参照してください。 |
|
スペースおよびスペース・テンプレートの情報の取得 |
指定した問合せ文字列に対してパブリック・スペースのリストを取得します。第56.2.5.3.2項「パブリック・スペースのリストの取得」を参照してください。 |
|
スペースおよびスペース・テンプレートの情報の取得 |
指定した問合せ文字列に対して検出可能スペースのリストを取得します。第56.2.5.3.3項「検出可能スペースのリストの取得」を参照してください。 |
|
スペースおよびスペース・テンプレートの情報の取得 |
スペースに関する情報(メタデータ)を取得します。第56.2.5.3.4項「スペース・メタデータの取得」を参照してください。 |
|
スペースおよびスペース・テンプレートの情報の取得 |
スペースのGUIDを指定してスペースに関する情報(メタデータ)を取得します。第56.2.5.3.4項「スペース・メタデータの取得」を参照してください。 |
|
スペースおよびスペース・テンプレートの情報の取得 |
指定した問合せ文字列に対してスペース・テンプレートのリストを取得します。第56.2.5.3.5項「スペース・テンプレートのリストの取得」を参照してください。 |
|
スペースおよびスペース・テンプレートの情報の取得 |
スペース・テンプレートに関する情報(メタデータ)を取得します。第56.2.5.3.6項「スペース・テンプレート・メタデータの取得」を参照してください。 |
|
スペースおよびスペース・テンプレートの情報の取得 |
テンプレートのGUIDを指定してスペース・テンプレートに関する情報(メタデータ)を取得します。第56.2.5.3.6項「スペース・テンプレート・メタデータの取得」を参照してください。 |
|
スペースおよびスペース・テンプレートの情報の取得 |
SpacesアプリケーションのURLを取得します。第56.2.5.3.7項「SpacesのURLの取得」を参照してください。 |
|
スペースおよびスペース・テンプレートの情報の取得 |
スペースのURLを取得します。第56.2.5.3.8項「スペースのURLの取得」を参照してください。 |
|
スペースおよびスペース・テンプレートの情報の取得 |
指定したスペース・サービスのRSSフィードURLを取得します。 |
|
スペースおよびスペース・テンプレートの情報の取得 |
GUIDによって指定したスペースおよび指定したサービスのRSSフィードURLを取得します。 |
次のSpaces APIを使用して、スペースおよびスペース・テンプレートを管理します。
createGroupSpace
setCustomAttribute
createGroupSpaceTemplate
deleteGroupSpace
始める前に
これらのAPIを使用するには、その前に第56.2.4項「Spaces APIを使用するようにWebCenter Portalアプリケーションを設定する方法」に記載されているすべての手順を完了する必要があります。
この項の内容は、次のとおりです
createGroupSpace
APIを使用して、既存のスペース・テンプレートに基づいたスペースを作成します。
このAPIを使用するには、次を指定します:
新しいスペースの内部名。この名前には、空白を含めることができます。
新しいスペースの表示名。
スペースの説明。これは必須ではありませんが、ユーザーがこのスペースの目的を識別できるように説明を入力することをお薦めします。
使用するスペース・テンプレートの名前。これは、テンプレートの表示名ではなく内部名にする必要があります。
オプションで、ユーザーが検索でスペースを見つけられるようにキーワードのカンマ区切りリストを入力できます。
例56-3では、CommunityofInterestテンプレートに基づいたDatabasesという名前のスペースを作成します。この例では、2つの検索キーワード(databasesおよびOracle)も指定します
例56-3 スペースの作成
//create the space GroupSpaceWSMetadata gsMetadata = client.createGroupSpace("Databases", "Databases" "A community for people interested in databases", "databases, oracle", "CommunityofInterest"); //print the space GUID to provide confirmation of creation System.out.println("GUID: " + gsMetadata.getGuid());
新しいスペースに対してカスタム属性を指定する方法の例は、第56.2.5.1.2項「カスタム属性の作成」を参照してください。
すべてのスペースには、名前、説明、作成日、アイコンなどの組込み属性が備わっています。さらに、スペースに固有の追加情報(メタデータ)およびその特性を格納するカスタム属性を定義できます。
setCustomAttribute
APIを使用して、スペースのカスタム属性を指定します。このAPIを使用するには、スペースの名前と、カスタム属性の名前、説明、タイプおよび値を指定します。
例56-4では、Databasesスペースを作成し、そのスペースのカスタム属性を作成します。属性はVendorsという名前で、List of vendorsという説明が付いています。その属性は、OracleやIBMという文字列値を取ります。
createGroupSpaceTemplate
APIを使用して、既存のスペースに基づいてスペース・テンプレートを作成します。このAPIを使用するには、テンプレートの名前、表示名および説明と、テンプレートを作成するために使用するスペースの名前を指定します。
例56-5では、Databasesスペースに基づきスペース・テンプレートを作成します。
例56-5 スペース・テンプレートの作成
GroupSpaceWSMetadata templMetadata = client.createGroupSpaceTemplate("DatabasesTemplate", "Databases Template", "A template based on the Databases space", "Databases"); //print the template GUID to provide confirmation of creation System.out.println("GUID: " + templMetadata.getGuid());
deleteGroupSpace
APIを使用して、Spacesアプリケーションからスペースを完全に削除します。このAPIを使用するには、削除するスペースの名前を指定します。このAPIは、削除が正常に実行されたかどうかを示すブール値を返します。
例56-6では、Databasesという名前のスペースを削除します。この例では、APIによって返されるブール値を使用して、操作の成功または失敗に関するメッセージを出力します。
次のSpaces APIを使用して、スペース・メンバーシップを管理します。
addMember
inviteMember
removeMember
getRoles
始める前に
これらのAPIを使用するには、その前に第56.2.4項「Spaces APIを使用するようにWebCenter Portalアプリケーションを設定する方法」に記載されているすべての手順を完了する必要があります。
この項には次のサブセクションが含まれます:
addMember
APIを使用して、ユーザー(およびグループ)にスペース・メンバーシップを与え、新しいメンバーを特定のロールに割り当てます。このAPIを使用するには、スペースの名前およびユーザーまたはグループのリストを指定します。リストには、ユーザーまたはグループの名前およびスペース内でそのユーザーまたはグループに付与するロールを指定するタイプGroupSpaceWSMembers
のオブジェクトが含まれている必要があります。
Spacesアイデンティティ・ストアに存在する有効なユーザーまたはユーザー・グループの名前を指定する必要があります。ロールの場合は、デフォルト・ロール(モデレータ、参加者、ビューア)のいずれか、またはカスタム・ロール(ある場合)を選択します。スペースで使用可能なロールのリストを取得するには、getRoles
APIを使用します。詳細は、第56.2.5.2.4項「ロール情報の取得」を参照してください。ロールの詳細は、『Oracle Fusion Middleware Oracle WebCenter Portal: Spacesユーザーズ・ガイド』のスペースのロールと権限の管理に関する項を参照してください。
例56-7では、PatおよびVickiという名前のユーザーとSalesおよびMarketingユーザー・グループの各人のユーザー(タイプGroupSpaceWSMembers
)をDatabasesスペースのメンバーとして作成しています。PatとSalesおよびMarketingの全員には、Viewerロールを付与します。Vickiには、Participantロールを割り当てます。
注意: ユーザーのグループを追加しようとしている場合は、 |
例56-7 スペースへのメンバーの追加
//create the list of users List addMem = new ArrayList(); //create the GroupSpaceWSMembers objects GroupSpaceWSMembers mem1 = new GroupSpaceWSMembers("pat", "Viewer"); GroupSpaceWSMembers mem2 = new GroupSpaceWSMembers("vicki", "Participant"); GroupSpaceWSMembers grp1 = new GroupSpaceWSMembers("Sales", "Viewer"); grp1.setGroup(true); GroupSpaceWSMembers grp2 = new GroupSpaceWSMembers("Marketing", Viewer"); grp2.setGroup(true); //add the GroupSpaceWSMembers objects to the list of users addMem.add(mem1); addMem.add(mem2); addMem.add(grp1); addMem.add(grp2); //add the users to the Space client.addMember("Databases", addMem); //print a list of members to confirm the new members were added GroupSpaceWSMetadata memMetData = client.getGroupSpaceMetadata("Databases"); for (GroupSpaceWSMembers mems: memMetData.getMembers()) { System.out.println(mems.getMember()); System.out.println(mems.getRole()); }
inviteMember
APIを使用して、スペースのメンバーになるようにユーザーを招待します。このAPIを使用するには、スペースの名前および招待するユーザーのリストを指定します。リストには、ユーザーの名前およびスペース内でそのユーザーに付与するロールを指定するタイプGroupSpaceWSMembers
のオブジェクトが含まれている必要があります。スペースへの参加の招待は、各ユーザーに送信され、各ユーザーはその招待を受け入れるか拒否できます。
Spacesアイデンティティ・ストアに存在する有効なユーザーの名前を指定する必要があります。ロールの場合は、デフォルト・ロール(モデレータ、参加者、ビューア)のいずれか、またはカスタム・ロール(ある場合)を選択します。スペースで使用可能なロールのリストを取得するには、getRoles
APIを使用します。詳細は、第56.2.5.2.4項「ロール情報の取得」を参照してください。ロールの詳細は、『Oracle Fusion Middleware Oracle WebCenter Portal: Spacesユーザーズ・ガイド』のスペースのロールと権限の管理に関する項を参照してください。
例56-8では、PatおよびVickiという名前のユーザー(タイプGroupSpaceWSMembers
)を、それぞれViewerとParticipantのロールを持つ、Databasesスペースのメンバーになるように招待します。
例56-8 スペースに参加するようにユーザーを招待
//create the list of users List inviteMem = new ArrayList(); //create the GroupSpaceWSMembers objects GroupSpaceWSMembers mem1 = new GroupSpaceWSMembers("pat", "Viewer"); GroupSpaceWSMembers mem2 = new GroupSpaceWSMembers("vicki", "Participant"); //add the GroupSpaceWSMembers objects to the list of users inviteMem.add(mem1); inviteMem.add(mem2); //invite the list of users to join the space client.inviteMember("Databases", inviteMem);
removeMember
APIを使用して、スペース・メンバーシップを取り消します。このAPIを使用するには、スペースの名前およびユーザーのリストを指定します。リストには、ユーザー名を指定するタイプGroupSpaceWSMembers
のオブジェクトが含まれている必要があります。現在のスペース・メンバーのリストを取得するには、getGroupSpaceMetadata
APIを使用します。詳細は、第56.2.5.3.4項「スペース・メタデータの取得」を参照してください。
例56-9では、ユーザー(タイプGroupSpaceWSMembers
の)PatおよびVickiをDatabasesスペースのメンバーシップから削除します。
例56-9 スペースからのメンバーの削除
//create the list of users List remMem = new ArrayList(); //create the GroupSpaceWSMembers objects GroupSpaceWSMembers mem1 = new GroupSpaceWSMembers("pat"); GroupSpaceWSMembers mem2 = new GroupSpaceWSMembers("vicki"); 2 lines //add the GroupSpaceWSMembers objects to the list of users remMem.add(mem1); remMem.add(mem2); //remove the users from the space client.removeMember("Databases", remMem); //print a list of members to confirm the members were removed GroupSpaceWSMetadata memMetData = client.getGroupSpaceMetadata("Databases"); for (GroupSpaceWSMembers mems: memMetData.getMembers()) { System.out.println(mems.getMember()); System.out.println(mems.getRole()); }
getRoles
APIを使用して、指定されたスペースのすべてのロールを取得します。これは、メンバーをスペースに追加または招待するときにどのロールを使用可能であるのかの判断に役立ちます。ロールには、そのままで使用できるロール(モデレータ、参加者、ビューア)およびカスタム・ロール(必要な場合)があります。このAPIを使用するには、スペースの名前を指定します。
例56-10では、Databasesスペースのロール情報を取得および表示します。
次のSpaces APIを使用して、スペース情報を取得します。
getGroupSpaces
getPublicGroupSpaces
getDiscoverableGroupSpaces
getGroupSpaceMetadata
getGroupSpaceMetadataByGuid
getGroupSpaceTemplates
getGroupSpaceTemplateMetadata
getGroupSpaceTemplateMetadataByGuid
getWebCenterSpacesURL
getGroupSpaceURL
始める前に
これらのAPIを使用するには、その前に第56.2.4項「Spaces APIを使用するようにWebCenter Portalアプリケーションを設定する方法」に記載されているすべての手順を完了する必要があります。
この項の内容は、次のとおりです
getGroupSpaces
APIを使用して、指定した問合せ文字列に一致するスペースのリストを取得します。このAPIを使用するには、問合せ文字列を指定します。NULL値の問合せ文字列では、現在のユーザーがアクセス可能なすべてのスペースのリストが返されます。
このAPIでは、現在のユーザーがアクセス可能なスペースが最大500個返されます。
例56-11では、文字列Databaseを含むスペースのリストが返されます。
例56-12では、現在のユーザーがアクセス権を持つすべてのスペースのリストが返されます。それには、nullの問合せ文字列を指定します。
getPublicGroupSpaces
APIを使用して、指定した問合せ文字列に一致するパブリック・スペースのリストを取得します。このAPIを使用するには、問合せ文字列を指定します。NULL値の問合せ文字列では、すべてのパブリック・スペースのリストが返されます。
このAPIでは、Spacesアプリケーションにログインしていないユーザーも含めてすべてのユーザーがアクセス可能なスペースを、最大500個返します。
例56-13では、文字列Databaseを含むパブリック・スペースのリストが返されます。
例56-13 特定のパブリック・スペースのリストの取得
List<String> allPublicGroupSpaces = client.getPublicGroupSpaces("Database");
例56-14では、すべてのパブリック・スペースのリストが返されます。それには、nullの問合せ文字列を指定します。
getDiscoverableGroupSpaces
APIを使用して、指定した問合せ文字列に一致する検出可能スペースのリストを取得します。このAPIを使用するには、問合せ文字列を指定します。NULL値の問合せ文字列では、すべての検出可能スペースのリストが返されます。
このAPIでは、Spacesアプリケーションにログインしているすべてのユーザーがアクセス可能なスペースを、最大500個返します。
例56-13では、文字列Databaseを含む検出可能スペースのリストが返されます。
例56-15 検出可能スペースのリストの取得
List<String> allDiscoverableGroupspaces = client.getDiscoverableGroupspaces("Database");
例56-14では、すべての検出可能スペースのリストが返されます。それには、nullの問合せ文字列を指定します。
getGroupSpaceMetadata
またはgetGroupSpaceMetadataByGuid
APIを使用して、特定のスペースに関する情報(メタデータ)を取得します。これには、スペースの説明、それを作成したユーザーの名前、それが最後に更新された日付などの情報が含まれます。
getGroupSpaceMetadata
APIを使用するには、スペースの名前を指定します。getGroupSpaceMetadataByGuid
APIを使用するには、スペースのGUIDを指定します。スペース名はそのスペースが存在している間に変更できますが、GUIDは常に同じです。スペースのGUIDは、次のようにして取得できます。
getGroupSpaceMetadata("spaceName").getGuid();
どちらのAPIでも、スペース・メタデータの取得に使用できる、より多くのAPIが含まれたBeanオブジェクトが返されます。これらのAPIは、GroupSpaceWSMetadata
クラスによって提供されます。表56-3は、このBeanオブジェクトによって返されるAPIを示しています。
表56-3 スペース・メタデータを取得するためのAPI
Spaces API | 説明 |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
例56-17では、スペースの名前を指定してDatabasesスペースの説明、キーワード、および最後に更新された日付の情報を取得します。
例56-17 スペース名を使用したスペース・メタデータの取得
//get the exact name of the space List<String> myGroupSpace = client.getGroupSpaces("Databases"); //check that the API returns a single result if(myGroupSpace.size() == 1) { //retrieve the metadata GroupSpaceWSMetadata metadata = client.getGroupSpaceMetadata(myGroupSpace); //get space description System.out.println("Description: " + metadata.getDescription()); //get space keywords System.out.println("Keywords: " + metadata.getKeywords()); //get the date the space was last updated System.out.println("Last Updated Date: "+ metadata.getLastUpdated().toString()); }
例56-18では、スペースのGUIDを指定してDatabasesスペースの表示名、作成者、および最後に更新された日付の情報を取得します。
例56-18 スペースのGUIDを使用したスペース・メタデータの取得
GroupSpaceWSMetadata metadata = client.getGroupSpaceMetadataByGuid("Guid"); //get space display name System.out.println("Display Name: " + metadata.getDisplayName()); //get the name of the user who created the space System.out.println("Created By: " + metadata.getCreatedBy()); //get the date the space was last updated System.out.println("Last Updated Date: " + metadata.getLastUpdated().toString());
例56-19では、Databasesスペースと関連付けられたすべてのカスタム属性の名前、説明、タイプおよび値を取得します。
例56-19 カスタム属性メタデータの取得
//get the exact name of the space List<String> myGroupSpace = client.getGroupSpaces("Databases"); //check that the API returns a single result if(myGroupSpace.size() == 1) { //retrieve the metadata GroupSpaceWSMetadata metadata = client.getGroupSpaceMetadata(myGroupSpace); //get list of custom attributes List<GSCustomAttribute> attributes = metadata.getCustomAttributes(); //get name, description, type, and value for each custom attribute for(GSCustomAttribute attribute: attributes) { System.out.println("Name :" + attribute.getName()); System.out.println("Description :" + attribute.getDescription()); System.out.println("Type :" + attribute.getType()); System.out.println("value.toString() :" + attribute.getValue().toString()); } }
例56-20では、Databasesスペースのメンバーのリストを取得します。
例56-20 メンバーシップ情報の取得
//get the exact name of the space List<String> myGroupSpace = client.getGroupSpaces("Databases"); //check that the API returns a single result if(myGroupSpace.size() == 1) { //retrieve the metadata GroupSpaceWSMetadata metadata = client.getGroupSpaceMetadata(myGroupSpace); //get the list of members for(String member: metadata.getMembers()) { System.out.println("Member UID: " + member); } }
getGroupSpaceTemplates
APIを使用して、指定した問合せ文字列に一致するスペース・テンプレートのリストを取得します。このAPIを使用するには、問合せ文字列を指定します。NULL値の問合せ文字列では、現在のユーザーがアクセス可能なすべてのテンプレートのリストが返されます。
このAPIでは、現在のユーザーがアクセス可能なテンプレートが最大500個返されます。
例56-21では、文字列Interestを含むスペース・テンプレートのリストが返されます。
例56-21 特定のスペース・テンプレートのリストの取得
List<String> allGroupSpaceTemplates = client.getGroupSpaceTemplates("Interest");
例56-22では、現在のユーザーがアクセス権を持つすべてのスペース・テンプレートのリストが返されます。それには、nullの問合せ文字列を指定します。
getGroupSpaceTemplateMetadata
またはgetGroupSpaceTemplateMetadataByGuid
APIを使用して、特定のスペース・テンプレートに関する情報(メタデータ)を取得します。これには、テンプレートの説明、それを作成したユーザーの名前などの情報が含まれます。
getGroupSpaceTemplateMetadata
APIを使用するには、テンプレートの名前を指定します。getGroupSpaceTemplateMetadataByGuid
APIを使用するには、テンプレートのGUIDを指定します。スペース・テンプレート名はそのテンプレートが存在している間に変更できますが、GUIDは常に同じです。
どちらのAPIでも、スペース・テンプレート・メタデータの取得に使用できる、より多くのAPIが含まれたBeanオブジェクトが返されます。これらのAPIは、GroupSpaceWSMetadata
クラスによって提供されます。表56-4は、このBeanオブジェクトによって返されるAPIを示しています。
表56-4 スペース・テンプレート・メタデータを取得するためのAPI
Spaces API | 説明 |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
例56-23では、テンプレート名を指定してCommunityofInterestスペース・テンプレートのGUID、説明および作成者の情報を取得します。
例56-23 テンプレート名を使用したテンプレート・メタデータの取得
GroupSpaceWSMetadata metadata = client.getGroupSpaceTemplateMetadata(myGroupSpaceTemplate); //get the exact name of the space template List<String> myGroupSpaceTemplate = client.getGroupSpaceTemplates("CommunityofInterest"); //check that the API returns a single result if(myGroupSpaceTemplate.size() == 1) { //retrieve the metadata -- get GUID System.out.println("GUID: " + metadata.getGuid()); //get template description System.out.println("Description: " + metadata.getDescription()); //get name of user who created the template System.out.println("Keywords: " + metadata.getCreatedBy()); }
例56-24では、テンプレートGUIDを指定してスペース・テンプレートの名前を取得します。
getWebCenterSpacesURL
APIを使用して、SpacesアプリケーションのURLを取得します。
例56-25では、Spacesの現在実行中のインスタンスのURLを取得します。
getGroupSpaceURL
APIを使用して、特定のスペースのURLを取得します。これは、スペースのハイパーリンクを作成する場合、または絶対URLにすることが必要な相対URLがある場合に便利です。このAPIを使用するには、スペースの名前を指定します。
例56-26では、DatabasesスペースのURLを取得します。
例56-27では、スペースのリストをハイパーリンクとして出力します。
例56-27 ハイパーリンクとしてのスペースのリストの出力
//get the list of spaces List<String> spaces = client.getGroupSpaces(""); //print the list of spaces as hyperlinks for (String spaceName : spaces) { print("<a href =""" + client.getGroupSpaceURL(spaceName) + "">" + spaceName + "</a><br>"); }
スペース内に特定のページのURLを作成するには、スペースURLを取得し、ページ情報を追加します。スペース・ページのプリティURLを作成する方法の詳細は、『Oracle Fusion Middleware Oracle WebCenter Portal: Spacesユーザーズ・ガイド』のスペースのプリティURLに関する項を参照してください。
スペース・メンバーは、様々なRSSニュース・フィードを介してスペース内で起きていることを把握できます。次のスペースRSSフィードを使用できます。
お知らせのRSS - スペースのお知らせの表示
ディスカッションのRSS - ディスカッション・フォーラムへの投稿の追跡
リストのRSS - リストに対する改訂の監視
最近のアクティビティのRSS - 最近のアクティビティの監視
これらのスペース・サービスのRSSフィードURLは、WebCenter Portalアプリケーションから、次のSpaces APIを使用して取得できます。
getServiceRSSFeedURL
getServiceRSSFeedURLbyGuid
RSSフィードのURLを取得するには、スペースを(名前またはGUIDで)特定し、必要なサービスを(サービスIDで)指定する必要があります。サービスIDは、次のようにGroupSpaceWSClient
の定数として使用できます。
お知らせ - GroupSpaceWSClient.ANNOUNCEMENT_SERVICE_ID
ディスカッション - GroupSpaceWSClient.DISCUSSION_FORUM_SERVICE_ID
リスト - GroupSpaceWSClient.LIST_SERVICE_ID
最近のアクティビティ - GroupSpaceWSClient.RECENT_ACTIVITY_SERVICE_ID
getServiceRSSFeedURL
を使用したスペースRSSニュース・フィードURLの取得
getServiceRSSFeedURL
APIを使用し、スペース名を指定することによって特定のスペースのサービス関連のRSSニュース・フィードURLを取得します。
getServiceRSSFeedURL
を使用してサービスのRSSニュース・フィードURLを取得するには、次を使用します:
String service_URL = client.getServiceRSSFeedURL("groupspace_name",service_ID);
ここで:
service_URLは、取得されるサービス・パラメータです
groupspace_nameは、スペースの名前です
service_IDは、RSSニュース・フィードURLを取得するサービスのIDです。ANNOUNCEMENT_SERVICE_ID
、DISCUSSION_FORUM_SERVICE_ID
、RECENT_ACTIVITY_SERVICE_ID
、LIST_SERVICE_ID
のいずれかを使用します。
したがって、必要なサービスに応じて、次のものを使用できます。
String
service_URL
= client.getServiceRSSFeedURL(
"groupspace_name
", GroupSpaceWSClient.ANNOUNCEMENT_SERVICE_ID)
String
service_URL
= client.getServiceRSSFeedURL("
groupspace_name
", GroupSpaceWSClient.DISCUSSION_FORUM_SERVICE_ID)
String
service_URL
= client.getServiceRSSFeedURL("
groupspace_name
", GroupSpaceWSClient.LIST_SERVICE_ID)
String
service_URL
= client.getServiceRSSFeedURL("
groupspace_name
", GroupSpaceWSClient.RECENT_ACTIVITY_SERVICE_ID)
例56-28では、Finance_Projectという名前のスペースの最近のアクティビティのRSSフィードURLを取得します。
例56-28 最近のアクティビティのRSSフィードURLの取得
String recentActivityURL = client.getServiceRSSFeedURL("Finance_Project", GroupSpaceWSClient.RECENT_ACTIVITY_SERVICE_ID);
GetServiceRSSFeedURLbyGuid
を使用したRSSニュース・フィードURLの取得
getServiceRSSFeedURLbyGuid
APIを使用し、スペースのGUIDを指定することによって特定のスペースのサービス関連のRSSニュース・フィードURLを取得します。
getServiceRSSFeedURLbyGuid
を使用してサービスのRSSニュース・フィードURLを取得するには、次を使用します:
String service_URL = client.getServiceRSSFeedURLbyGuid("groupspace_GUID",service_ID);
ここで:
service_URLは、取得されるサービス・パラメータです
groupspace_GUIDはスペースGUIDです。スペースのGUIDの取得の詳細は、第56.2.5.3.4項「スペース・メタデータの取得」を参照してください。
service_IDは、RSSニュース・フィードURLを取得するサービスのIDです。ANNOUNCEMENT_SERVICE_ID
、DISCUSSION_FORUM_SERVICE_ID
、RECENT_ACTIVITY_SERVICE_ID
、LIST_SERVICE_ID
のいずれかを使用します。
例56-29では、GUID: s2201fa44_b441_4bdd_950e_47307f6f9800のスペースの最近のアクティビティRSSフィードURLを取得します。
GroupSpaceWSException
クラスは、Spaces APIから発生した例外を処理するためのAPIを提供します。
表56-5 GroupSpaceWSExceptionクラスのSpaces API
API | クラス | 説明 |
---|---|---|
|
GroupSpaceWSException |
ローカライズされたエラー・メッセージを作成します。 |
|
GroupSpaceWSException |
標準エラー・ストリームに例外およびそのバックトレースを出力します。 |
この項には次のサブセクションが含まれます:
場合によっては、APIによって提供されるデフォルトのエラー・メッセージが、自身の特定のアプリケーションに対しては具体性に欠けると思われることがあります。このような場合、独自のエラー・メッセージを提供できます。
getLocalizedMessage
APIを使用して、アプリケーション固有のエラー・メッセージを作成できます。
例56-30は、スペースを作成するためのコードを組み込んだサーブレットを示しています。作成プロセス中に例外が発生した場合、ローカライズされたメッセージが出力されます。
例56-30 ローカライズされたエラー・メッセージの出力
servlet1.java doGet() { ... print("<b>Output</b>"); try { GroupSpaceWSClient client = new GroupSpaceWSClient(context); client.createGroupSpace("Databases", "Databases, "A community for people interested in databases", "databases, oracle", "CommunityofInterest"); print("Successfully created space"); } catch(GroupSpaceWSException ex) { if(ex instanceof GroupSpaceNameNullException) print(ex.getLocalizedMessage()); else if (ex instanceof GroupSpaceDescNullException) print(ex.getLocalizedMessage()); } ... }
これは、デバッグ目的で、最終的にどのエラーが特定の操作の失敗につながるのかを調べて問題の根底にある原因を発見するために役立ちます。printStackTrace
APIを使用して、特定の例外を発生させたエラーをすべてリストします。
例56-31では、例外およびその原因になったエラーすべてを出力します。
例56-31 エラー・スタックのリスト
servlet1.java doGet() { ... print("<b>Output</b>"); try { GroupSpaceWSClient client = new GroupSpaceWSClient(context); client.createGroupSpace("Databases", "Databases", "A community for people interested in databases", "databases, oracle", "CommunityofInterest"); print("Successfully created space"); } catch(GroupSpaceWSException ex) { ex.printStackTrace(); } ... }
Spaces APIで問題が発生する場合は、次のことを確認してください。
WebCenter Portal: SpacesとクライアントWebCenter Portalアプリケーションの両方の資格証明ストアが適切に構成されていることを確認してください。
『Oracle Fusion Middleware Oracle WebCenter Portal管理者ガイド』の資格証明ストアの更新に関する項を参照してください。
context.setRecipientKeyAlias
に渡される別名をチェックして、Spacesのクライアント・コンテキストがWebCenter Portalアプリケーションで正しく設定されていることを確認します。この別名は、次のようにプロデューサ(Spaces)の公開鍵の別名である必要があります。
GroupspaceWSContext context = new GroupspaceWSContext();context.setEndPoint(endPointUrl);context.setRecipientKeyAlias("orakey"); groupspaceInternalWSClient = new GroupspaceWSInternalClient(context);
この例では、プロデューサの公開鍵の別名はorakeyです。「Spacesクライアント・コンテキストの設定」も参照してください。
接続の両端にキーストアが存在していることを確認してください。例:
- webcenter.jks
(Spacesの側にコピーされている)
- clientapi.jks
(WebCenter Portalアプリケーションの側にコピーされている)
たとえば、単純なトポロジの場合、次のコマンドではclientapi.jks
およびwebcenter.jks
が生成されます。
keytool -genkeypair -keyalg RSA -dname "cn=spaces,dc=example,dc=com" -alias orakey -keypass mypassword -keystore webcenter.jks -storepass mypassword -validity 360keytool -exportcert -v -alias orakey -keystore webcenter.jks -storepass mypassword -rfc -file webcenter.cerkeytool -importcert -alias webservice_client_api -file webcenter.cer -keystore clientapi.jks -storepass mypasswordkeytool -genkeypair -keyalg RSA -dname "cn=clientapi,dc=example,dc=com" -alias clientapi -keypass mypassword -keystore clientapi.jks -storepass mypassword -validity 360 keytool -exportcert -v -alias clientapi -keystore clientapi.jks -storepass mypassword -rfc -file clientapi.cer keytool -importcert -alias clientapi -file clientapi.cer -keystore webcenter.jks -storepass mypassword
「アプリケーションとSpaces間の接続のセキュリティ保護」も参照してください。
Oracle WebCenter Portal: Spacesは、様々なスペース関連操作をサポートするREST APIを提供します。REST APIを使用して、Spacesアプリケーション内で次のアクションを実行できます。
Spacesアプリケーション内のすべてのスペースをリスト、パブリック・スペースのみをリスト、参加しているスペースをリスト、検出可能スペースをリストします。
1つのスペースの詳細を表示します。
スペースのメンバーをリストします。
スペース・メンバーに対するロールの割当てをリストします。
1つのスペースに対して定義されているカスタム属性をリストします。
特定のカスタム属性の詳細を表示します。
1つのスペースのリストを表示および追加します。
1つのリストのリスト・アイテム(行)を表示および更新します。
リスト・アイテム詳細(列)を表示、更新および削除します。
この項では、WebCenter Portal: Spaces REST APIについて説明します。次のサブセクションが含まれます:
REST APIの概要は、第53章「Oracle WebCenter Portal REST APIの使用」を参照してください。
各RESTサービスは、そのサービスのエントリ・ポイントを提供するリソース索引内にリンク要素を持っています。WebCenter Portal: Spaces REST APIのエントリ・ポイントを見つけるには、次のresourceType
を持つリンク要素を見つけます。
urn:oracle:webcenter:spaces
対応するhref
またはtemplate
要素によって、URIエントリ・ポイントが提供され、それによって現在のユーザーがアクセスできるスペースのリストが返されます。クライアントはこのエントリ・ポイントにHTTPリクエストを送信して、WebCenter Portal: Spacesを操作します。
リソース索引の詳細は、第53.5.1項「リソース索引」を参照してください。
リソース・タイプの詳細は、第53.5.2.1項「リソース・タイプ」を参照してください。
クライアントがエントリ・ポイントを識別すると、リソース・タイプの分類によりナビゲートして、必要な操作を実行できます。個々のリソース・タイプの詳細は、第56.3.4項「WebCenter Portal: Spacesのリソース・タイプ」の該当の項を参照してください。
WebCenter Portal: Spacesの分類は、次のとおりです。
urn:oracle:webcenter:spaces urn:oracle:webcenter:spaces:siteresources urn:oracle:webcenter:spaces:resource:templates urn:oracle:webcenter:spaces:resource:template urn:oracle:webcenter:space:attributes urn:oracle:webcenter:space:roles urn:oracle:webcenter:space urn:oracle:webcenter:space:icon urn:oracle:webcenter:space:members urn:oracle:webcenter:space:member urn:oracle:webcenter:space:attributes urn:oracle:webcenter:space:attribute urn:oracle:webcenter:space:roles urn:oracle:webcenter:space:role urn:oracle:webcenter:space:resourceindex urn:oracle:webcenter:space:lists urn:oracle:webcenter:space:list urn:oracle:webcenter:space:rows urn:oracle:webcenter:space:row urn:oracle:webcenter:space:columns urn:oracle:webcenter:space:column
このサービスでは、セキュリティに関する特定の考慮事項はありません。一般的なセキュリティに関する考慮事項については、第53.8項「WebCenter Portal REST APIのセキュリティに関する考慮事項」を参照してください。
次の項では、各リソース・タイプについて知っておく必要がある情報をすべて提供します。
スペースのリストの表示(GET
)および新しいスペースの作成(POST
)に使用するURIを識別するには、このリソース・タイプを使用します。GET
操作からのレスポンスには、各スペースが含まれており、各スペースには、そのスペースに対して操作するためのリンクが含まれています。
spacesへのナビゲーション・パス
この項では、クライアントがハイパーメディアを経由してこのリソースにアクセスする方法を示します:
resourceindex spaces
spacesでサポートされるメソッド
次のメソッドは、このリソースによりサポートされています:
GET
: すべてのスペースに関する情報を返します。
リクエスト - 本体: なし
問合せパラメータ:
startIndex
itemsPerPage
projection
- 許可されている値はsummary
およびdetails
です。デフォルトはsummary
です。
visibility
: すべてのスペース、パブリック・スペースのみ、参加しているスペースまたは検出可能スペースのうちどのスペースがリストに含まれるのかを決定します。
使用可能な値は、all
、public
、joined
およびdiscoverable
です。デフォルトはjoined
です。
レスポンス - 本体: スペースのコレクション
POST
: 新しいスペースを作成します。
リクエスト - 本体: スペース
<space> <name>aName</name> <description>aDescription</description> <templateName>aTemplate</templateName> </space>
注意:
Basic CommunityOfInterest ProjectSpace |
spacesからリンクされるリソース・タイプ
表56-6は、クライアントがこのリソースからリンクできるリソース・タイプを示しています。
サイト・リソースのリストの取得(GET
)に使用するURIを識別するには、このリソース・タイプを使用します。GET
操作からのレスポンスには、すべてのサイト・リソース名のリストが含まれています。サイト・リソース名を取得する主な目的は、そのスペース内で使用可能なすべてのリソースを把握するためです。
返されるリストには、Spacesアプリケーションの管理コンソールの「リソース」タブの下にあるリソースが含まれ、ページ・テンプレート、ナビゲーション、スキン、ページ・スタイルなどのリソースが含まれます。
siteresourcesへのナビゲーション・パス
この項では、クライアントがハイパーメディアを経由してこのリソースにアクセスする方法を示します:
resourceindex spaces siteresources
siteresourcesでサポートされるメソッド
次のメソッドは、このリソースによりサポートされています:
GET
リクエスト - 本体: なし
問合せパラメータ:
startIndex
itemsPerPage
projection
- 許可されている値はsummary
およびdetails
です。デフォルトはsummary
です。
q
- siteResourceType
またはseeded
、あるいはその両方で検索できます。
siteResourceType
が指定されている場合、問合せによって、そのサイト・リソース・タイプのすべてのサイト・リソース名が返されます。
形式: q
= siteResourceType:equals:<
value>
使用可能な値は、siteTemplate
、contentPresenter
、pageStyle
、navigation
、resourceCatalog
またはskin
です。
例:
q=siteResourceType:equals:siteTemplate
seeded
がtrue
に指定されている場合、この問合せによってシードされているすべてのサイト・リソース名が返されます。
形式: q=seeded:equals:<
value>
使用可能な値は、true
またはfalse
です。
例:
q=seeded:equals:false
(シードされていないリソースをすべて返します)
シードされていないサイト・テンプレートが必要な場合、問合せは次のようになります。
siteResourceType:equals:siteTemplate;
seeded:equals:false
レスポンス - 本体: 指定された範囲のすべてのサイト・リソース・タイプのすべてのサイト・リソース名のリスト。siteResourceType
が指定されている場合、そのサイト・リソース・タイプのすべてのサイト・リソース名が返されます。
siteresourcesの読取り専用要素
表56-7に、siteresourcesの読取り専用要素をリストします。
表56-7 urn:oracle:webcenter:siteresourcesの読取り専用要素
要素 | タイプ | 説明 |
---|---|---|
guid |
String |
サイト・リソースのグローバルID。 |
displayName |
String |
エンド・ユーザーに表示されるサイト・リソースの名前。 |
name |
String |
サイト・リソースの名前。名前によるすべてのサイト・リソースの完全なリストは、表56-8に示します。 |
description |
String |
サイト・リソースの説明。 |
siteResourceType |
String |
サイト・リソースのタイプ。 |
scopeName |
String |
スペースの名前またはアプリケーション・レベルのデフォルト範囲のいずれか。 |
seeded |
Boolean |
サイト・リソースが事前に移入されている場合はtrueに設定します。 |
visible |
Boolean |
このサイト・リソースがユーザー・インタフェースに表示される場合はtrueに設定します。 |
createdBy |
String |
サイト・リソースを作成したユーザーのユーザー名。 |
createdDate |
日付 |
サイト・リソースが作成された日付。 |
modifiedBy |
String |
サイト・リソースを更新したユーザーのユーザー名。 |
modifiedDate |
日付 |
サイト・リソースが変更された日付。 |
version |
String |
サイト・リソースのバージョン。 |
名前によるサイト・リソースのリスト
表56-8は、名前によるサイト・リソースのリストであり、各リソースのタイプおよび説明を示します。
表56-8 WebCenter Portalによって提供される名前によるサイト・リソースのリスト
名前 | タイプ | 説明 |
---|---|---|
アコーディオン・ビュー |
contentPresenter |
複数のコンテンツ・アイテムをアコーディオン(積み重ねた)形式で表示できます。アイテムをクリックすると、その他のアイテムが閉じて、選択されたアイテムの詳細が表示されます。 |
空白 |
pageStyle |
「空白」ページ・スタイル |
空白 |
taskFlowStyle |
空白 |
ブログ |
pageStyle |
「ブログ」ページ・スタイル |
箇条書きビュー |
contentPresenter |
複数のコンテンツ・アイテムを箇条書きリストで表示します。コンテンツ・アイテムのみが表示され、サブフォルダは省略されます。 |
フォルダ・ラベルを使用した箇条書きビュー |
contentPresenter |
複数のコンテンツ・アイテムを箇条書きリストで表示します。親フォルダの名前を、リストの上にラベルとして表示します。コンテンツ・アイテムのみが表示され、サブフォルダは省略されます。 |
カルーセル・ビュー |
contentPresenter |
カルーセル形式で複数のコンテンツ・アイテムを表示します。ユーザーは、スライダ・バーを使用してアイテムを左から右に参照します。 |
デフォルトのドキュメント詳細ビュー |
contentPresenter |
作成日、変更日、作成者、アイテムを最後に変更したユーザー、パス、コメントなど1つのコンテンツ・アイテムに関する詳細情報を表示します。 |
デフォルトのホーム・スペース・カタログ |
resourceCatalog |
ホーム・スペースでアプリケーションレベルのページおよびタスク・フローを編集するときに使用します。 |
デフォルトのリスト・アイテム・ビュー |
contentPresenter |
単一のコンテンツ・アイテム・ビューで使用されます。このビューでは、1行に対するアイコンとアイテム名が表示され、アイテム名をクリックすると、アイテムが表示またはダウンロードされます。 |
フォルダのデフォルトのリスト・アイテム・ビュー |
contentPresenter |
単一のコンテンツ・アイテム・ビューで使用されます。このビューでは、1行に対するアイコンとアイテム名が表示され、アイテム名をクリックすると、アイテムが表示またはダウンロードされます。 |
デフォルトのページ・テンプレート・カタログ |
resourceCatalog |
ページ・テンプレートを編集するときに使用します |
デフォルトのスペース・カタログ |
resourceCatalog |
スペースレベルのページおよびタスク・フローを編集するときに使用します |
デフォルトのビュー |
contentPresenter |
1つのコンテンツ・アイテムを表示します。イメージおよびHTMLコンテンツ・アイテムは、ブラウザに直接表示されます。その他のアイテム・タイプの場合は、詳細は関連するファイルをダウンロードするためのリンクとともに表示されます。 |
フュージョンFX |
スキン |
|
Fusionサイド・ナビゲーション |
siteTemplate |
サイド・ナビゲーション付きストレッチ・ページ・レイアウト。Fusion FXスキンを使用します。 |
Fusionトップ・ナビゲーション |
siteTemplate |
トップ・ナビゲーション付きストレッチ・ページ・レイアウト。Fusion FXスキンを使用します。 |
ホームページ |
pageStyle |
ホーム・ページのスタイル |
アイコン表示 |
contentPresenter |
サブフォルダおよびコンテンツ・アイテムを表すアイコンを使用して、タイル・レイアウトに複数のコンテンツ・アイテムを表示します。 |
左を狭く |
pageStyle |
「左を狭く」ページ・スタイル |
リスト・ビュー |
contentPresenter |
複数のコンテンツ・アイテムを簡易リストに表示します。 |
詳細パネルを使用したリスト・ビュー |
contentPresenter |
左側のリストに複数のコンテンツ・アイテムを表示します。右側のパネルには、選択したアイテムの詳細が表示されます。 |
パラメータ・フォーム |
taskFlowStyle |
|
右を狭く |
pageStyle |
|
ソート可能な表ビュー |
contentPresenter |
複数のコンテンツ・アイテムを、ドキュメント名、作成日および変更日を含むソート可能な表に表示します。 |
HTMLページ |
pageStyle |
HTMLページ・スタイル |
スペース・デフォルト・ナビゲーション・モデル |
ナビゲーション |
スペース内の現在のページを表示するナビゲーション・モデル |
ブログ/Wiki/リストのサブメニューがあるスペース・ナビゲーション |
ナビゲーション |
ブログ、Wiki、リストの現在のページおよびサブメニューを表示するナビゲーション・モデル |
ストレッチ |
taskFlowStyle |
|
タブ・ビュー |
contentPresenter |
複数のコンテンツ・アイテムをタブとして表示します。タブをクリックすると、関連するアイテムの詳細が表示されます。 |
3列 |
pageStyle |
「3列」ページ・スタイル |
Webページ |
pageStyle |
「Webページ」ページ・スタイル |
パブリック・ページ・テンプレート |
siteTemplate |
パブリック・ページのデフォルト・ページ・テンプレート |
トップ・ナビゲーション付きの共同 |
siteTemplate |
フロー・レイアウトおよびトップ・ナビゲーション付きの、共同スペース用ページ・テンプレート。WebCenter Spaces FXスキンを使用します。 |
Spaces FX |
スキン |
WebCenter Spaces FXスキン |
トップ・ナビゲーション付きのポータル中心 |
siteTemplate |
フロー・レイアウトおよびトップ・ナビゲーション付きの、ポータル中心サイト用ページ・テンプレート。WebCenter Spaces FXスキンを使用します。 |
サイド・ナビゲーション |
siteTemplate |
サイド・ナビゲーション付きフロー・ページ・レイアウト。WebCenter Spaces FXスキンを使用します。 |
サイド・ナビゲーション(ストレッチ) |
siteTemplate |
サイド・ナビゲーション付きストレッチ・ページ・レイアウト。WebCenter Spaces FXスキンを使用します。 |
トップ・ナビゲーション |
siteTemplate |
フロー・レイアウトとトップ・ナビゲーション付きデフォルト・ページ・テンプレート。WebCenter Spaces FXスキンを使用します。 |
トップ・ナビゲーション(ストレッチ) |
siteTemplate |
トップ・ナビゲーション付きストレッチ・ページ・レイアウト。WebCenter Spaces FXスキンを使用します。 |
Wiki |
pageStyle |
Wikiページ・スタイル |
siteresourcesの書込み可能要素
このリソースに書込み可能要素はありません。
スペース・テンプレートのリストの取得(GET
)に使用するURIを識別するには、このリソース・タイプを使用します。GET
操作からのレスポンスには、テンプレート名のリストが含まれています。テンプレート名を取得する主な目的は、スペースの作成コマンドのtemplateName
パラメータの値を指定することです。
templatesへのナビゲーション・パス
この項では、クライアントがハイパーメディアを経由してこのリソースにアクセスする方法を示します:
resourceindex spaces resource templates
templatesでサポートされるメソッド
次のメソッドは、このリソースによりサポートされています:
GET
リクエスト - 本体: なし
問合せパラメータ:
startIndex
projection
- 許可されている値はsummary
およびdetails
です。デフォルトはsummary
です。
q
- 検索を実行します。
itemsPerPage
レスポンス - 本体: テンプレート名のリスト
問合せパラメータの詳細は、第53.5.2.5項「テンプレート」を参照してください。
templatesからリンクされるリソース・タイプ
表56-9は、クライアントがこのリソースからリンクできるリソース・タイプを示しています。
表56-9 urn:oracle:webcenter:spacesに関連するリソース・タイプ
rel | リソース・タイプ |
---|---|
self |
|
1つのスペースの詳細の表示(GET
)、ネストされたスペースの作成(POST
)またはスペースの削除(DELETE
)に使用するURIを識別するには、このリソース・タイプを使用します。GET
操作からのレスポンスには、その作成者、説明、メンバー、カスタム属性などURIによって識別される特定のスペースが含まれています。
注意: このリソースからのレスポンスには、そのスペースのメッセージ・ボードへのリンクも含まれています。 |
spaceへのナビゲーション・パス
この項では、クライアントがハイパーメディアを経由してこのリソースにアクセスする方法を示します:
resourceindex spaces space
spaceでサポートされるメソッド
次のメソッドは、このリソースによりサポートされています:
GET
リクエスト - 本体: なし
問合せパラメータ:
projection
- 使用可能な値はsummary
およびdetails
です。デフォルトはdetails
です。メンバーおよびカスタム属性詳細を除外するには、summary
を選択します。
レスポンス - 本体: スペース
POST
: 指定したスペースの子(サブスペース)である新しいスペースを作成します。この機能では、階層化されたスペースまたはネストされたスペースの作成がサポートされています。
リクエスト - 本体: スペース
<space> <name>FooSpace</name> <description>foobar</description> <templateName>CommunityOfInterest</templateName> </space>
注意:
Basic CommunityOfInterest ProjectSpace |
DELETE
: 指定したスペースを削除します。
リクエスト - 本体: なし
削除すると、スペースが存在していてもいなくても204ステータス・コードが返されます。
問合せパラメータの詳細は、第53.5.2.5項「テンプレート」を参照してください。
spaceの書込み可能要素
表56-10に、このリソースの書込み可能な要素を示します。
表56-10 urn:oracle:webcenter:spaceの書込み可能要素
要素 | タイプ | 説明 |
---|---|---|
|
String |
スペースの説明。 |
|
String |
スペースの内部名。 |
|
String |
urn:oracle:webcenter:spaces:resource:templatesから返される有効なテンプレート名にする必要があります。たとえば、デフォルトのテンプレート名は次のとおりです。 Basic CommunityOfInterest ProjectSpace |
spaceの読取り専用要素
表56-11に、このリソースの読取り専用要素を示します。
表56-11 urn:oracle:webcenter:spaceの読取り専用要素
要素 | タイプ | 説明 |
---|---|---|
|
String |
スペースのグローバルID。 |
|
String |
スペースを作成したユーザーのID。 |
|
|
スペースを作成したユーザーに関するユーザー情報。GUID、ID、表示名およびプロファイル・アイコンへのリンクで構成されます( |
|
String |
メンバーに表示される、スペースの名前。 |
|
String |
スペースのアイコン・イメージの完全修飾URL。 |
|
String |
スペースのロゴ・イメージの相対URL。 |
|
Boolean |
スペースがオフラインであるかオンラインであるかを示します。 |
|
Boolean |
スペースが検出可能かどうかを指定します。 |
|
Boolean |
スペースがパブリックかどうかを指定します。 |
|
String |
スペースのキーワードをリストします。 |
|
String |
スペースにメーリング・リスト電子メールがある場合は、それをリストします。 |
|
String |
スペースが子スペースであり、親がある場合は、その親の表示名を表示します。この場合、親スペースの権限が子スペースによって継承されているかどうかを示す |
|
String |
このスペースに基づいて作成されるときに、新しいスペースまたはテンプレートにコピーされるデータのサービスIDのリスト。 |
|
String |
デフォルト言語。 |
|
String |
指定されている場合は、スペースのランディング・ページのURI。 |
|
Boolean |
これがテンプレートであるかどうかを指定します。 |
|
Boolean |
サブスクライブ解除のために承認が必要かどうかを指定します。 |
|
Boolean |
スペースに関連付けられたRSSフィードがあるかどうかを指定します。 |
|
Boolean |
スペースが閉じられているかどうかを指定します。 |
|
Boolean |
スペースへのすべてのアクセスがブロックされるかどうかを指定します(これがどのように起きるかは不明)。 |
|
String |
スペースのmembers要素を返します。 |
|
String |
スペースのattributes要素を返します。 |
spaceからリンクされるリソース・タイプ
表56-12は、クライアントがこのリソースからリンクできるリソース・タイプを示しています。
表56-12 urn:oracle:webcenter:spaceに関連するリソース・タイプ
Spacesリソース索引の表示に使用するURIを識別するには、このリソース・タイプを使用します。
resourceindexへのナビゲーション・パス
この項では、クライアントがハイパーメディアを経由してこのリソースにアクセスする方法を示します:
resourceindex spaces space
resourceindexでサポートされるメソッド
次のメソッドは、このリソースによりサポートされています:
GET
リクエスト - 本体: なし
問合せパラメータ: なし
レスポンス - 本体: リソース索引
resourceindexからリンクされるリソース・タイプ
表56-13は、クライアントがこのリソースからリンクできるリソース・タイプを示しています。
表56-13 urn:oracle:webcenter:space:resourceindexに関連するリソース・タイプ
rel | リソース・タイプ |
---|---|
|
|
|
指定されたスペースのロールのリストを取得(GET
)するには、このリソース・タイプを使用します。このコールから返された結果を使用して、urn:oracle:webcenter:space:membersのスペースに新しいメンバーを追加できます。
space:rolesへのナビゲーション・パス
この項では、クライアントがハイパーメディアを経由してこのリソースにアクセスする方法を示します:
resourceindex spaces space roles
rolesでサポートされるメソッド
次のメソッドは、このリソースによりサポートされています:
GET
: 指定したスペースに割り当てられているロールのリストを返します。
rolesからリンクされるリソース・タイプ
表56-14は、クライアントがこのリソースからリンクできるリソース・タイプを示しています。
表56-14 urn:oracle:webcenter:spaces:rolesに関連するリソース・タイプ
rel | リソース・タイプ |
---|---|
self |
|
urn:oracle:webcenter:space:role |
|
urn:oracle:webcenter:parent |
|
指定されたロールを取得(GET
)するには、このリソース・タイプを使用します。
指定されたスペースのロールのリストを取得(GET
)するには、このリソース・タイプを使用します。このコールから返された結果を使用して、urn:oracle:webcenter:space:membersのスペースに新しいメンバーを追加できます。
space:roleへのナビゲーション・パス
この項では、クライアントがハイパーメディアを経由してこのリソースにアクセスする方法を示します:
resourceindex spaces space role
roleでサポートされるメソッド
次のメソッドは、このリソースによりサポートされています:
GET
: 指定したロールを返します。
roleからリンクされるリソース・タイプ
表56-14は、クライアントがこのリソースからリンクできるリソース・タイプを示しています。
表56-15 urn:oracle:webcenter:spaces:rolesに関連するリソース・タイプ
rel | リソース・タイプ |
---|---|
self |
|
urn:oracle:webcenter:space:role |
|
urn:oracle:webcenter:parent |
|
指定したスペースで使用されるアイコンを取得(GET
)するには、このリソース・タイプを使用します。
注意: このリソース・タイプは、スペースのレスポンスではなく、スペースの参照に使用されます。このリソースは、スペースが参照される任意の場所(アクティビティ・ストリームやスペース・イベント内など)で使用できます。 |
space:iconへのナビゲーション・パス
この項では、クライアントがハイパーメディアを経由してこのリソースにアクセスする方法を示します:
resourceindex spaces space icon
iconでサポートされるメソッド
次のメソッドは、このリソースによりサポートされています:
GET
: 指定したスペースに使用されるアイコンを返します。
iconからリンクされるリソース・タイプ
表56-14は、クライアントがこのリソースからリンクできるリソース・タイプを示しています。
表56-16 urn:oracle:webcenter:spaces:rolesに関連するリソース・タイプ
rel | リソース・タイプ |
---|---|
self |
|
urn:oracle:webcenter:parent |
|
あるスペースに対して定義されているカスタム属性のリストの表示(GET
)に使用するURIを識別するには、このリソース・タイプを使用します。GET
操作からのレスポンスには、そのスペースの各カスタム属性が含まれており、各属性には、その属性に対して操作するためのリンクが含まれています。また、このシナリオ・タイプは、スペースにカスタム属性を追加(POST
)するためにも使用します。
attributesへのナビゲーション・パス
この項では、クライアントがハイパーメディアを経由してこのリソースにアクセスする方法を示します:
resourceindex spaces space attributes
attributesでサポートされるメソッド
次のメソッドは、このリソースによりサポートされています:
GET
リクエスト - 本体: なし
問合せパラメータ: なし
レスポンス - 本体: 属性のコレクション
POST
: 指定したスペースにカスタム属性を追加します。
リクエスト - 本体:
<attribute> <name>anAttribute</name> <value>aValue</value> </attribute>
attributesの書込み可能要素
表56-17に、このリソースの書込み可能な要素を示します。
attributesからリンクされるリソース・タイプ
表56-18は、クライアントがこのリソースからリンクできるリソース・タイプを示しています。
表56-18 urn:oracle:webcenter:space:attributesに関連するリソース・タイプ
rel | リソース・タイプ |
---|---|
self |
|
|
|
urn:oracle:webcenter:parent |
|
1つのスペース属性の名前と値の表示(GET
)に使用するURIを識別するには、このリソース・タイプを使用します。GET
操作からのレスポンスには、URIで識別される特定の属性が含まれています。
attributeへのナビゲーション・パス
この項では、クライアントがハイパーメディアを経由してこのリソースにアクセスする方法を示します:
resourceindex spaces space attributes
attributeでサポートされるメソッド
次のメソッドは、このリソースによりサポートされています:
GET
リクエスト - 本体: なし
問合せパラメータ: なし
レスポンス - 本体: 属性
attributeの読取り専用要素
表56-19に、このリソースの読取り専用要素を示します。
表56-19 urn:oracle:webcenter:space:attributeの読取り専用要素
要素 | タイプ | 説明 |
---|---|---|
name |
String |
カスタム属性の名前。 |
description |
String |
カスタム属性の説明。 |
type |
String |
カスタム属性のデータ型。 |
value |
String |
カスタム属性の値。 |
attributeからリンクされるリソース・タイプ
表56-20は、クライアントがこのリソースからリンクできるリソース・タイプを示しています。
表56-20 urn:oracle:webcenter:space:attributeに関連するリソース・タイプ
rel | リソース・タイプ |
---|---|
self |
|
urn:oracle:webcenter:parent |
|
スペースのメンバーのリストの表示(GET
)に使用するURIを識別するには、このリソース・タイプを使用します。GET
操作からのレスポンスには、スペースの各メンバーが含まれており、各メンバーには、そのメンバーに対して操作するためのリンクが含まれています。
membersへのナビゲーション・パス
この項では、クライアントがハイパーメディアを経由してこのリソースにアクセスする方法を示します:
resourceindex spaces space
membersでサポートされるメソッド
次のメソッドは、このリソースによりサポートされています:
GET
リクエスト - 本体: なし
問合せパラメータ: なし
レスポンス - 本体: メンバーのコレクション
POST
: スペースにメンバーを追加します。
リクエスト - 本体: メンバー
<member> <name>vicki</name> <role>Participant</role> </member>
DELETE
: 指定したメンバーをスペースから削除します。urn:oracle:webcenter:space:memberでメンバーのGUIDを取得できます。
リクエスト - 本体: なし
DELETE http://hostname:portnum/rest/api/spaces/spacename/members/member_guid
spaces:space:membersの書込み可能要素
表56-21 spaces:space:membersの書込み可能要素
要素 | タイプ | 説明 |
---|---|---|
name |
String |
メンバーの名前。 |
role |
String |
メンバーのロール。この値はurn:oracle:webcenter:space:rolesから取得します。 |
membersからリンクされるリソース・タイプ
表56-22は、クライアントがこのリソースからリンクできるリソース・タイプを示しています。
表56-22 urn:oracle:webcenter:space:membersに関連するリソース・タイプ
rel | リソース・タイプ |
---|---|
self |
|
|
|
urn:oracle:webcenter:parent |
|
スペースのメンバーおよびその現在のロール割当ての詳細の表示(GET
)に使用するURIを識別するには、このリソース・タイプを使用します。GET
操作からのレスポンスには、そのURIによって識別された特定のメンバーが、そのメンバーのプロファイルへのハイパーリンクとともに含まれています。
memberへのナビゲーション・パス
この項では、クライアントがハイパーメディアを経由してこのリソースにアクセスする方法を示します:
resourceindex spaces space members
memberでサポートされるメソッド
次のメソッドは、このリソースによりサポートされています:
GET
リクエスト - 本体: なし
問合せパラメータ: なし
レスポンス - 本体: メンバー
memberの読取り専用要素
表56-23に、このリソースの読取り専用要素を示します。
表56-23 urn:oracle:webcenter:space:memberの読取り専用要素
要素 | タイプ | 説明 |
---|---|---|
guid |
String |
スペース・メンバーのグローバルID。 |
name |
String |
スペース・メンバーのユーザーID。 |
role |
String |
メンバーに割り当てられているロール。 |
displayName |
String |
メンバーの表示名。 |
memberからリンクされるリソース・タイプ
表56-24は、クライアントがこのリソースからリンクできるリソース・タイプを示しています。
表56-24 urn:oracle:webcenter:space:memberに関連するリソース・タイプ
rel | リソース・タイプ |
---|---|
self |
|
|
|
urn:oracle:webcenter:people:icon |
|
スペースのリストの表示(GET
)および追加(POST
)に使用するURIを識別するには、このリソース・タイプを使用します。GET
操作からのレスポンスには、スペース内の各リストが含まれており、各リストには、そのリストに対して操作するために使用されるリンクが含まれています。POST
操作からのレスポンスには、リストのこのコレクション内に作成されたリストおよびそのリストに対して操作するためのリンクが含まれています。
listsへのナビゲーション・パス
この項では、クライアントがハイパーメディアを経由してこのリソースにアクセスする方法を示します:
resourceindex spaces resourceindex space lists
listsでサポートされるメソッド
次のメソッドは、このリソースによりサポートされています:
GET
リクエスト - 本体: なし
問合せパラメータ:
startIndex
itemsPerPage
q
name
、title
、description
、creator
、created
、modifier
およびmodified
で検索できます。
文字列タイプの要素(name
、title
、description
、creator
およびmodifier
)で使用できる、サポートされているオペランドは、equals
、not.equals
およびcontains
です。例:
q=name:contains:issues q=creator:equals:monty
日付タイプの要素(created
およびmodified
)で使用できる、サポートされているオペランドは、equals
、not.equals
、greater.than
、greater.than.or.equals
、less.than
、less.than.or.equals
です。例:
q=created:greater.than:10-SEP-2009
projection
- 許可されている値はsummary
およびdetails
です。デフォルトはsummary
です。
レスポンス - 本体: リストのコレクション
POST
リクエスト - 本体: リスト
レスポンス - 本体: リスト
問合せパラメータの詳細は、第53.5.2.5項「テンプレート」を参照してください。
listsからリンクされるリソース・タイプ
表56-25は、クライアントがこのリソースからリンクできるリソース・タイプを示しています。
表56-25 urn:oracle:webcenter:space:listsに関連するリソース・タイプ
rel | リソース・タイプ |
---|---|
self |
|
|
スペースに属するリストの表示(GET
)、更新(PUT
)および削除(DELETE
)に使用するURIを識別するには、このリソース・タイプを使用します。GET
操作からのレスポンスには、そのURIによって識別される特定のリストが含まれています。PUT
操作からのレスポンスには、そのURIによって識別されるリストの変更されたバージョンが含まれています。DELETE
操作へのレスポンスは、204ステータス・コードです。
listへのナビゲーション・パス
この項では、クライアントがハイパーメディアを経由してこのリソースにアクセスする方法を示します:
resourceindex spaces resourceindex lists list
listでサポートされるメソッド
次のメソッドは、このリソースによりサポートされています:
GET
リクエスト - 本体: なし
問合せパラメータ: なし
レスポンス - 本体: リスト
PUT
リクエスト - 本体: リスト
レスポンス - 本体: リスト
DELETE
リクエスト - 本体: なし
レスポンス - 本体: なし
listの書込み可能要素
表56-26に、このリソースの書込み可能な要素を示します。
表56-26 urn:oracle:webcenter:space:listの書込み可能要素
要素 | タイプ | 必須 | 制約 | 説明 |
---|---|---|---|---|
name |
String |
はい |
1文字以上の文字 |
スペース・リストの名前。 |
description |
String |
いいえ |
0文字以上の文字 |
リストの説明。 |
columns |
urn:oracle:webcenter:space:list:columns |
はい |
1文字以上の文字 |
リストを構成する列。 |
listの読取り専用要素
表56-27に、このリソースの読取り専用要素を示します。
表56-27 urn:oracle:webcenter:listの読取り専用要素
要素 | タイプ | 説明 |
---|---|---|
id |
String |
リストのID。 |
name |
String |
リストの名前。 |
description |
String |
リストの説明。 |
scopeguid |
String |
親スペースのグローバルID。 |
scopename |
String |
親スペースの名前。 |
creator |
String |
リストを作成したユーザーのID。 |
author |
|
リストを作成したユーザーに関するユーザー情報。GUID、ID、表示名およびプロファイル・アイコンへのリンクで構成されます( |
created |
日付 |
リストが作成された日付。 |
modifier |
String |
リストを最後に変更したユーザーのID。 |
modifiedByUser |
|
リストを最後に変更したユーザーに関するユーザー情報。GUID、ID、表示名およびプロファイル・アイコンへのリンクで構成されます( |
modified |
日付 |
リストが最後に変更された日付。 |
columns |
String |
リストを構成する列。 |
listからリンクされるリソース・タイプ
表56-28は、クライアントがこのリソースからリンクできるリソース・タイプを示しています。
表56-28 urn:oracle:webcenter:space:listに関連するリソース・タイプ
rel | リソース・タイプ |
---|---|
self |
|
|
|
|
リストの行(リスト・アイテム)の表示(GET
)および作成(POST
)に使用するURIを識別するには、このリソース・タイプを使用します。GET
操作からのレスポンスには、このリストの各行が含まれており、各行には、その行に対して操作するためのリンクが含まれています。POST
操作からのレスポンスには、このリストに作成された行と、その行に対して操作するためのリンクが含まれています。
rowsへのナビゲーション・パス
この項では、クライアントがハイパーメディアを経由してこのリソースにアクセスする方法を示します:
resourceindex spaces resourceindex lists list rows
rowsでサポートされるメソッド
次のメソッドは、このリソースによりサポートされています:
GET
リクエスト - 本体: なし
問合せパラメータ:
startIndex
itemsPerPage
q
name
、title
、description
、creator
、created
、modifier
およびmodified
で検索できます。
文字列タイプの要素(name
、title
、description
、creator
およびmodifier
)で使用できる、サポートされているオペランドは、equals
、not.equals
、contains
およびstarts.with
です。例:
q=name:contains:issues q=creator:equals:monty
日付タイプの要素(created
およびmodified
)で使用できる、サポートされているオペランドは、equals
、not.equals
、greater.than
、greater.than.or.equals
、less.than
、less.than.or.equals
です。例:
q=created:greater.than:10-SEP-2009
レスポンス - 本体: 行のコレクション
POST
リクエスト - 本体: 行
レスポンス - 本体: 行
問合せパラメータの詳細は、第53.5.2.5項「テンプレート」を参照してください。
rowsからリンクされるリソース・タイプ
表56-29は、クライアントがこのリソースからリンクできるリソース・タイプを示しています。
表56-29 urn:oracle:webcenter:space:list:rowsに関連するリソース・タイプ
rel | リソース・タイプ |
---|---|
self |
|
parent |
|
|
リスト行(リスト・アイテム)の表示(GET
)、更新(PUT
)および削除(DELETE
)に使用するURIを識別するには、このリソース・タイプを使用します。GET
操作からのレスポンスには、そのURIで識別される特定の行が含まれています。PUT
操作からのレスポンスには、そのURIで識別される行の変更されたバージョンが含まれています。DELETE
操作へのレスポンスは、204ステータス・コードです。
rowへのナビゲーション・パス
この項では、クライアントがハイパーメディアを経由してこのリソースにアクセスする方法を示します:
resourceindex spaces resourceindex lists list rows row
rowでサポートされるメソッド
次のメソッドは、このリソースによりサポートされています:
GET
リクエスト - 本体: なし
問合せパラメータ: なし
レスポンス - 本体: 行
PUT
リクエスト - 本体: 行
レスポンス - 本体: 行
DELETE
リクエスト - 本体: なし
レスポンス - 本体: なし
問合せパラメータの詳細は、第53.5.2.5項「テンプレート」を参照してください。
rowの書込み可能要素
表56-30に、このリソースの書込み可能な要素を示します。
表56-30 urn:oracle:webcenter:space:list:rowの書込み可能要素
要素 | タイプ | 必須 | 制約 | 説明 |
---|---|---|---|---|
columns.column.id |
String |
はい |
1文字以上の文字 |
列のID(リスト・アイテムの詳細を含む)。 |
columns.column.name |
String |
いいえ |
1文字以上の文字 |
列の名前。 |
columns.column.value |
String |
はい |
1文字以上の文字 |
列の値。 |
rowの読取り専用要素
表56-31に、このリソースの読取り専用要素を示します。
表56-31 urn:oracle:webcenter:space:list:rowの読取り専用要素
要素 | タイプ | 説明 |
---|---|---|
id |
String |
行(リスト・アイテム)のID。 |
listId |
String |
リストのID。 |
scope |
String |
親スペースのグローバルID。 |
creator |
String |
リスト・アイテムを作成したユーザーのID。 |
author |
|
リスト・アイテムを作成したユーザーに関するユーザー情報。GUID、ID、表示名およびプロファイル・アイコンへのリンクで構成されます( |
created |
日付 |
リスト・アイテムが作成された日付。 |
modifier |
String |
リスト・アイテムを最後に変更したユーザーのID。 |
modifiedByUser |
|
リスト・アイテムを最後に変更したユーザーに関するユーザー情報。GUID、ID、表示名およびプロファイル・アイコンへのリンクで構成されます( |
modified |
日付 |
リスト・アイテムが最後に変更された日付。 |
rowからリンクされるリソース・タイプ
表56-32は、クライアントがこのリソースからリンクできるリソース・タイプを示しています。
表56-32 urn:oracle:webcenter:space:list:rowに関連するリソース・タイプ
rel | リソース・タイプ |
---|---|
self |
|
リストの列(リスト・アイテム詳細)の表示(GET
)および作成(POST
)に使用するURIを識別するには、このリソース・タイプを使用します。GET
操作からのレスポンスには、このリストの各列が含まれており、各列には、その列に対して操作するためのリンクが含まれています。POST
操作からのレスポンスには、このリストに作成された列と、その列に対して操作するためのリンクが含まれています。
columnsへのナビゲーション・パス
この項では、クライアントがハイパーメディアを経由してこのリソースにアクセスする方法を示します:
resourceindex spaces resourceindex lists list columns
columnsでサポートされるメソッド
次のメソッドは、このリソースによりサポートされています:
GET
リクエスト - 本体: なし
問合せパラメータ:
startIndex
itemsPerPage
q
- 検索パラメータSTARTS.WITH
およびEND.WITH
はサポートされていません。
レスポンス - 本体: 列のコレクション
POST
リクエスト - 本体: 列
レスポンス - 本体: 列
問合せパラメータの詳細は、第53.5.2.5項「テンプレート」を参照してください。
columnsからリンクされるリソース・タイプ
表56-33は、クライアントがこのリソースからリンクできるリソース・タイプを示しています。
表56-33 urn:oracle:webcenter:space:list:columnsに関連するリソース・タイプ
rel | リソース・タイプ |
---|---|
self |
|
parent |
|
|
リストの列(リスト・アイテム詳細)の表示(GET
)、更新(PUT
)および削除(DELETE
)に使用するURIを識別するには、このリソース・タイプを使用します。GET
操作からのレスポンスには、そのURIで識別される特定の列が含まれています。PUT
操作からのレスポンスには、そのURIによって識別される列の変更されたバージョンが含まれています。DELETE
操作からのレスポンスは、204ステータス・コードです。
columnへのナビゲーション・パス
この項では、クライアントがハイパーメディアを経由してこのリソースにアクセスする方法を示します:
resourceindex spaces resourceindex lists list columns column
columnでサポートされるメソッド
次のメソッドは、このリソースによりサポートされています:
GET
リクエスト - 本体: なし
問合せパラメータ: なし
レスポンス - 本体: 列
PUT
リクエスト - 本体: 列
レスポンス - 本体: 列
DELETE
リクエスト - 本体: なし
レスポンス - 本体: なし
columnで書込み可能な要素
表56-34に、このリソースの書込み可能な要素を示します。
表56-34 urn:oracle:webcenter:space:list:columnの書込み可能要素
要素 | タイプ | 必須 | 制約 | 説明 |
---|---|---|---|---|
columns.column.id |
String |
はい |
1文字以上の文字 |
列のID(リスト・アイテムの詳細を含む)。 |
columns.column.name |
String |
いいえ |
1文字以上の文字 |
列の名前。 |
columns.column.value |
String |
はい |
1文字以上の文字 |
列の値。 |
columnの読取り専用要素
表56-35に、このリソースの読取り専用要素を示します。
columnからリンクされるリソース・タイプ
表56-28は、クライアントがこのリソースからリンクできるリソース・タイプを示しています。
表56-36 urn:oracle:webcenter:space:list:columnに関連するリソース・タイプ
rel | リソース・タイプ |
---|---|
self |
|
Spacesアプリケーション内で、次のものなど様々なエンタープライズ・アプリケーションを公開できます。
WebCenter Portalアプリケーション: WebCenter Portal: Frameworkを使用して開発されたアプリケーション。
WebCenter Suite内の他のポータル - たとえば、Oracle Portal。
Oracle Applications Unlimited製品 - たとえば、E-Business Suite、Siebel、PeopleSoftおよびJDEdwardsです。
他のカスタム・アプリケーション - Oracle以外のプラットフォームを使用して開発されたアプリケーション。
WSRP、Oracle JSF Portlet Bridge、ADFタスク・フロー、外部アプリケーション向けのWebCenter Portalサポートなどのテクノロジによって、Spacesアプリケーションは、統合された方式でアプリケーション・データを使用および定義できます。次の項で、その方法を説明します。
この項には次のサブセクションが含まれます:
WebCenter Portal: Frameworkを使用して構築したWebCenter Portal: Frameworkアプリケーションを、Spacesアプリケーションでポートレットおよびタスク・フローとして公開できます。
ポートレット: コンテナ内にデプロイされ動的コンテンツを生成するWebコンポーネント。詳細は、第57章「ポートレットの概要」を参照してください。
Oracle JSF Portlet Bridge: 既存のADFアプリケーションおよびタスク・フローをJSR 168ポートレットとして簡単に公開することを可能にするテクノロジ。詳細は、第58章「Oracle JSF Portlet Bridgeを使用したJSFアプリケーションからのポートレットの作成」を参照してください。
タスク・フロー: マネージドBeanのコール・メソッドの使用、EL式の評価などで状態およびアクティビティ間の移行を定義するADFナビゲーション・コンポーネント。詳細は、Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイドのADFタスク・フローの概要に関する項を参照してください。
Oracle Applications Unlimited製品(E-Business Suite、Siebel、PeopleSoft、JDEdwardsなど)を、次のものを使用してSpacesアプリケーションで公開できます。
WebサービスおよびADF: Siebelなどのエンタープライズ・アプリケーションでは、様々なWebサービス・インタフェースが公開されています。これらのWebサービス・インタフェースを活用して、データ・コントロール、ADFタスク・フロー、およびSpacesで使用できるポートレットを構築できます。
構築済ポートレット: Oracle E-Business Suiteなどのエンタープライズ・アプリケーションには、そのままでSpacesに登録して、他のポートレットと同様に使用できるポートレットが付属しています。
次のようにして、Oracle以外のプラットフォームを使用して開発されたWebアプリケーションをSpacesアプリケーションで公開できます。
外部アプリケーションのサポート: 外部アプリケーションによって、資格証明ストアから、マップされたユーザー・アイデンティティを独自の認証が必要なWebアプリケーションに渡すことができます。詳細は、『Oracle Fusion Middleware Oracle WebCenter Portal管理者ガイド』の外部アプリケーションの登録に関する項と、『Oracle Fusion Middleware Oracle WebCenter Portal: Spacesユーザーズ・ガイド』の外部アプリケーションの登録に関する項を参照してください。
コンポーザのiframeレベルの統合: コンポーザのWebページ・ページ・スタイルおよびコンポーネントでは、異なるWebテクノロジを使用して構築されたアプリケーションのページなど任意のWebページ・コンテンツを表示できます。詳細は、『Oracle Fusion Middleware Oracle WebCenter Portal: Spacesユーザーズ・ガイド』のページへの別のWebページのビューの追加に関する項を参照してください。
コンポーザでのRaw HTMLマークアップの注入: コンポーザのHTMLマークアップ・レイアウト・コンポーネントによって、HTMLまたはJavaScriptスニペットがSpacesのページに注入されます。このコンポーネントを使用して、外部ソースからのコンテンツを表示できます。詳細は、『Oracle Fusion Middleware Oracle WebCenter Portal: Spacesユーザーズ・ガイド』のページへのHTML、JavaScript、ELなどのマークアップの追加に関する項を参照してください。
OmniPortlet: 様々なレイアウトを使用して様々なデータ・ソースからのデータを公開するポートレット。詳細は、第63章「OmniPortletを使用したポートレットの作成」を参照してください。