shins****@users*****
shins****@users*****
2006年 1月 25日 (水) 23:02:25 JST
Update of /cvsroot/jetspeed-japan/jetspeed-2-trans/ja/xdocs/guides In directory sf-cvs:/tmp/cvs-serv19394/ja/xdocs/guides Modified Files: guide-user-attributes.xml Log Message: submitted by KATOH Yasufumi jetspeed-2-trans/ja/xdocs/guides/guide-user-attributes.xml 1.1.1.1 -> 1.2 (modified) http://cvs.sourceforge.jp/cgi-bin/viewcvs.cgi/jetspeed-japan/jetspeed-2-trans/ja/xdocs/guides/guide-user-attributes.xml.diff?r1=1.1.1.1&r2=1.2 =================================================================== RCS file: jetspeed-2-trans/ja/xdocs/guides/guide-user-attributes.xml,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -r1.1.1.1 -r1.2 --- guide-user-attributes.xml 2005/12/16 03:43:36 1.1.1.1 +++ guide-user-attributes.xml 2006/01/25 14:02:25 1.2 @@ -1,141 +1,270 @@ -<?xml version="1.0"?> -<!-- -Copyright 2004 The Apache Software Foundation - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. ---> -<document> - <properties> - <title>Guide to Defining User Attributes</title> - <subtitle>PLT.17 User Information Configuration</subtitle> - <authors> - <person name="Ate Douma" email="ate****@douma*****"/> - </authors> - </properties> - <body> - <section name="Defining User Attributes"> - <p> - The Portlet Specification defines how Portlet Applications can use User Attributes.<br/> - The attributes must be defined in the portlet.xml like (see PLT.17.1):</p> - <source><![CDATA[ -<portlet-app version="1.0" xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"> - <user-attribute> - <description>User Given Name</description> - <name>user.name.given</name> - </user-attribute> - <user-attribute> - <description>User Last Name</description> - <name>user.name.family</name> - </user-attribute> - <user-attribute> - <description>User eMail</description> - <name>user.home-info.online.email</name> - </user-attribute> - ... -</portlet-app>]]></source> - <p> - Once attributes are defined like this, a portlet can access the current values for the logged on - user as an unmodifiable Map from the PortletRequest using the USER_INFO constant defined in the - PortletRequest interface (see PLT.17.2):</p> - <source> -Map userInfo = (Map)request.getAttribute(PortletRequest.USER_INFO); -String givenName = (userInfo!=null) ? (String)userInfo.get("user.name.given") : ""; -String lastName = (userInfo!=null) ? (String)userInfo.get("user.name.family") : ""; -String email = (userInfo!=null) ? (String)userInfo.get("user.home-info.online.email") : "";</source> - <p> - What is not defined by the Portlet Specification is <em>how</em> the Portal - must map the defined User Attributes to concrete attributes of a user.</p> - </section> - <section name="Mapping User Attributes"> - <p> - Jetspeed-2 provides a very flexible way to define concrete User attributes and defining access to them.</p> - <p> - Concrete User attributes are stored using User Preferences for which Jetspeed-2 provides its own database - back end for storage (which is customizable by the way like almost any component of Jetspeed-2). The user - attributes implementation leverages Jetspeed's - <a href="multiproject/jetspeed-prefs/index.html">java.util.prefs.Preferences</a> implementation.<br/> - The concrete User attributes are stored under a specific node in the User preferences and can contain - any named attribute at will.<br/> - These concrete User attributes can be mapped to the defined User Attributes in the portlet.xml in two ways: - <ol> - <li> - Using an exact match of attribute names - </li> - <li> - Using a custom mapping definition in a jetspeed-portlet.xml - </li> - </ol> - </p> - <subsection name="Custom User Attribute Mapping"> - <p> - If you write new Portlet Applications with Jetspeed-2 as target Portal, defining User Attributes which - match the concrete User attributes in the Portal usually will be quite straightforward<br/> - But, if you have an existing Portlet Application which you want to deploy on Jetspeed-2, there might - be a mismatch between the attribute names needed by the Portlet Application and the - concrete attribute names as stored in the Jetspeed-2 User Preferences.</p> - <p> - <em> - Note: The Portlet Specification defines a set of attribute names which are recommended to be used - in Appendix PLT.D.<br/> - Portlet Applications using these attribute names and Portals storing the concrete User attributes - also using these names won't need any custom attribute mapping as will be described below.<br/> - Although Jetspeed-2 allows a fully free definition of the concrete User attributes, - it is recommended to use these predefined attributes names as much as possible.</em></p> - <p> - The jetspeed-portlet.xml allows jetspeed specific configurations and customizations to be specified.<br/> - This deployment document isn't required, but will be processed if found within the WEB-INF folder of a - Portlet Application war.<br/> - Jetspeed specific configurations must be defined using the "http://portals.apache.org/jetspeed" namespace.</p> - <p> - User attribute mapping is defined using an "user-attribute-ref" element containing a "name" element defining - the custom user attribute name and a "name-link" element defining the concrete attribute name to which it - is mapped:</p> - <source><![CDATA[ -<portlet-app version="1.0" - xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd" - xmlns:js="http://portals.apache.org/jetspeed"> - <js:user-attribute-ref> - <js:name>user-name-given</js:name> - <js:name-link>user.name.given</js:name-link> - </js:user-attribute> - <js:user-attribute-ref> - <js:name>user-name-family</js:name> - <js:name-link>user.name.family</js:name-link> - </js:user-attribute> - ... -</portlet-app>]]></source> - <p> - Using the above custom mapping as an example, the Portlet can now access the user attributes as follows:</p> - <source> -Map userInfo = (Map)request.getAttribute(PortletRequest.USER_INFO); -String givenName = (userInfo!=null) ? (String)userInfo.get("user-name-given") : ""; -String lastName = (userInfo!=null) ? (String)userInfo.get("user-name-family") : ""; -String email = (userInfo!=null) ? (String)userInfo.get("user.home-info.online.email") : "";</source> - <p> - Note that the email attribute for which no custom mapping was defined still can be access using - exact name matching (provided the concrete attribute is defined for the logged on user).</p> - </subsection> - </section> - <section name="Defining User Attributes in Jetspeed-2"> - <p> - Jetspeed-2 is provided with several Administrative Portlets, including for User Management.<br/> - Using the User Management Portlets, it is very easy to define or modify concrete attributes for a user:</p> - <img src="../images/definingUserAttributes.jpg"/> - <p> - The User Info Test demo Portlet, default deployed in Jetspeed-2 and displayed on the start page, uses - the above example User Attribute definitions and displays the values for the logged on user (also showing that - these can be accessed from both the PortletRequest as well as the HttpServletRequest from within a servlet):</p> - <img src="../images/usingUserAttributes.jpg"/> - </section> - </body> -</document> \ No newline at end of file +<?xml version="1.0"?> +<!-- +Copyright 2004 The Apache Software Foundation + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +--> +<document> + <properties> + <title>[Guide to Defining User Attributes] ユーザ属性定義のガイド</title> + <subtitle>[PLT.17 User Information Configuration] PLT.17 ユーザ情報に関する設定</subtitle> + <authors> + <person name="Ate Douma" email="ate****@douma*****"/> + </authors> + <translators> + <person name="加藤泰文" email="karma****@prog*****" /> + </translators> + </properties> + <body> + <section name="[Defining User Attributes] ユーザ属性の定義"> + <div class="original"> + <p> + The Portlet Specification defines how Portlet Applications can use User Attributes.<br/> + The attributes must be defined in the portlet.xml like (see PLT.17.1):</p> + </div> + <p> + ポートレット仕様はどのようにしてポートレットアプリケーションがユーザ属性を使用出来るのかについて定義をしています。属性は portlet.xml で以下のように定義されます (PLT.17.1 参照)。</p> + <div class="original"> + <source><![CDATA[ +<portlet-app version="1.0" xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"> + <user-attribute> + <description>User Given Name</description> + <name>user.name.given</name> + </user-attribute> + <user-attribute> + <description>User Last Name</description> + <name>user.name.family</name> + </user-attribute> + <user-attribute> + <description>User eMail</description> + <name>user.home-info.online.email</name> + </user-attribute> + ... +</portlet-app>]]></source> + </div> + <source><![CDATA[ +<portlet-app version="1.0" xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"> + <user-attribute> + <description>User Given Name</description> + <name>user.name.given</name> + </user-attribute> + <user-attribute> + <description>User Last Name</description> + <name>user.name.family</name> + </user-attribute> + <user-attribute> + <description>User eMail</description> + <name>user.home-info.online.email</name> + </user-attribute> + ... +</portlet-app>]]></source> + <div class="original"> + <p> + Once attributes are defined like this, a portlet can access the current values for the logged on + user as an unmodifiable Map from the PortletRequest using the USER_INFO constant defined in the + PortletRequest interface (see PLT.17.2):</p> + </div> + <p> + このように属性が定義されると、ポートレットは PortletRequest インタフェース (PLT.17.2 参照) で定義された USER_INFO 定数を使って PortletRequest から変更出来ない Map としてログインしているユーザの現在値にアクセスすることが可能になります。 + </p> + <div class="original"> + <source> +Map userInfo = (Map)request.getAttribute(PortletRequest.USER_INFO); +String givenName = (userInfo!=null) ? (String)userInfo.get("user.name.given") : ""; +String lastName = (userInfo!=null) ? (String)userInfo.get("user.name.family") : ""; +String email = (userInfo!=null) ? (String)userInfo.get("user.home-info.online.email") : "";</source> + </div> + <source> +Map userInfo = (Map)request.getAttribute(PortletRequest.USER_INFO); +String givenName = (userInfo!=null) ? (String)userInfo.get("user.name.given") : ""; +String lastName = (userInfo!=null) ? (String)userInfo.get("user.name.family") : ""; +String email = (userInfo!=null) ? (String)userInfo.get("user.home-info.online.email") : "";</source> + <div class="original"> + <p> + What is not defined by the Portlet Specification is <em>how</em> the Portal + must map the defined User Attributes to concrete attributes of a user.</p> + </div> + <p> + ポートレット仕様で定義されないのは、ポータルが定義されたユーザ属性をユーザの具体的な属性にどのようにマッピングするかということです。 + </p> + </section> + <section name="[Mapping User Attributes] ユーザ属性のマッピング"> + <div class="original"> + <p> + Jetspeed-2 provides a very flexible way to define concrete User attributes and defining access to them.</p> + </div> + <p> + Jetspeed 2 は具体的なユーザ属性を定義したり、そのユーザ属性へのアクセスを定義したりするためにとても柔軟な方法を提供しています。</p> + <div class="original"> + <p> + Concrete User attributes are stored using User Preferences for which Jetspeed-2 provides its own database + back end for storage (which is customizable by the way like almost any component of Jetspeed-2). The user + attributes implementation leverages Jetspeed's + <a href="multiproject/jetspeed-prefs/index.html">java.util.prefs.Preferences</a> implementation.<br/> + The concrete User attributes are stored under a specific node in the User preferences and can contain + any named attribute at will.<br/> + These concrete User attributes can be mapped to the defined User Attributes in the portlet.xml in two ways: + <ol> + <li> + Using an exact match of attribute names + </li> + <li> + Using a custom mapping definition in a jetspeed-portlet.xml + </li> + </ol> + </p> + </div> + <p> + 具体的なユーザ属性は Jetspeed 2 が情報を格納しておくためのデータベースバックエンドとしている User Preferences を使って格納されます (これは Jetspeed 2 の殆んどのコンポーネントのような方法でカスタマイズ出来ます)。ユーザ属性の実装は Jetspeed の <a href="multiproject/jetspeed-prefs/index.html">java.util.prefs.Preferences</a> の実装を利用しています。<br/> + 具体的なユーザ属性は User preferences 内の特定のノード下に格納されます。そして任意の名前の属性を自由に含むことが出来ます。<br/> + これらの具体的なユーザ属性は portlet.xml 内で以下のような二つの方法で定義されたユーザ属性にマップされます。 + <ol> + <li> + 属性名との完全一致を使って + </li> + <li> + jetspeed-portlet.xml 内で定義されるカスタムマッピングを使って + </li> + </ol> + </p> + <subsection name="[Custom User Attribute Mapping] カスタムのユーザ属性マッピング"> + <div class="original"> + <p> + If you write new Portlet Applications with Jetspeed-2 as target Portal, defining User Attributes which + match the concrete User attributes in the Portal usually will be quite straightforward<br/> + But, if you have an existing Portlet Application which you want to deploy on Jetspeed-2, there might + be a mismatch between the attribute names needed by the Portlet Application and the + concrete attribute names as stored in the Jetspeed-2 User Preferences.</p> + </div> + <p> + もしあなたがターゲットとするポータルとして Jetspeed 2 を対象として新しいポートレットアプリケーションを書いたのなら、ポータル内で具体的なユーザ属性と一致する User Attributes を定義することは簡単でしょう。<br/> + しかし、もし既に存在するポートレットアプリケーションを Jetspeed 2 上に配備したいのなら、ポートレットアプリケーションに必要な属性名と Jetspeed 2 の User Preferences に格納される具体的な属性名の間のミスマッチがあるかもしれません。 + </p> + <div class="original"> + <p> + <em> + Note: The Portlet Specification defines a set of attribute names which are recommended to be used + in Appendix PLT.D.<br/> + Portlet Applications using these attribute names and Portals storing the concrete User attributes + also using these names won't need any custom attribute mapping as will be described below.<br/> + Although Jetspeed-2 allows a fully free definition of the concrete User attributes, + it is recommended to use these predefined attributes names as much as possible.</em></p> + </div> + <p> + <em> + 注意: ポートレット仕様は Appendix PLT.D. で推奨される属性名のセットを定義しています。<br/> + これらの属性名を使ったポートレットアプリケーションと具体的なユーザ属性をこれらの名前を使って格納しているポータルは以下で述べるようなカスタムの属性のマッピングを使う必要は一切ありません。<br/> + Jetspeed 2 は具体的なユーザ属性を全く自由に定義することが出来ますが、可能な限りこれらのあらかじめ定義された属性を使うことが推奨されます。</em></p> + <div class="original"> + <p> + The jetspeed-portlet.xml allows jetspeed specific configurations and customizations to be specified.<br/> + This deployment document isn't required, but will be processed if found within the WEB-INF folder of a + Portlet Application war.<br/> + Jetspeed specific configurations must be defined using the "http://portals.apache.org/jetspeed" namespace.</p> + </div> + <p> + jetspeed-portlet.xml に jetspeed 特有の設定やカスタマイズを記述することが出来ます。<br/> + このドキュメントの配備は必須ではありません。しかし、もしポートレットアプリケーションの war ファイル内の WEB-INF フォルダにこのドキュメントが見付かれば、処理が行われます。<br/> + Jetspeed 特有の設定は "http://portals.apache.org/jetspeed" 名前空間を使って定義しなければなりません。 + </p> + <div class="original"> + <p> + User attribute mapping is defined using an "user-attribute-ref" element containing a "name" element defining + the custom user attribute name and a "name-link" element defining the concrete attribute name to which it + is mapped:</p> + </div> + <p> + ユーザ属性のマッピングはカスタムのユーザ属性名を定義する "name" エレメントを含む "user-attribute-ref" エレメントと、その属性名にマップされる具体的な属性名を定義する"name-link" エレメントによって定義されます。 + </p> + <div class="original"> + <source><![CDATA[ +<portlet-app version="1.0" + xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd" + xmlns:js="http://portals.apache.org/jetspeed"> + <js:user-attribute-ref> + <js:name>user-name-given</js:name> + <js:name-link>user.name.given</js:name-link> + </js:user-attribute> + <js:user-attribute-ref> + <js:name>user-name-family</js:name> + <js:name-link>user.name.family</js:name-link> + </js:user-attribute> + ... +</portlet-app>]]></source> + </div> + <source><![CDATA[ +<portlet-app version="1.0" + xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd" + xmlns:js="http://portals.apache.org/jetspeed"> + <js:user-attribute-ref> + <js:name>user-name-given</js:name> + <js:name-link>user.name.given</js:name-link> + </js:user-attribute> + <js:user-attribute-ref> + <js:name>user-name-family</js:name> + <js:name-link>user.name.family</js:name-link> + </js:user-attribute> + ... +</portlet-app>]]></source> + <div class="original"> + <p> + Using the above custom mapping as an example, the Portlet can now access the user attributes as follows:</p> + </div> + <p> + 先の例のようなカスタムのマッピングを使って、ポートレットは次のようにユーザ属性にアクセス出来ます。</p> + <div class="original"> + <source> +Map userInfo = (Map)request.getAttribute(PortletRequest.USER_INFO); +String givenName = (userInfo!=null) ? (String)userInfo.get("user-name-given") : ""; +String lastName = (userInfo!=null) ? (String)userInfo.get("user-name-family") : ""; +String email = (userInfo!=null) ? (String)userInfo.get("user.home-info.online.email") : "";</source> + </div> + <source> +Map userInfo = (Map)request.getAttribute(PortletRequest.USER_INFO); +String givenName = (userInfo!=null) ? (String)userInfo.get("user-name-given") : ""; +String lastName = (userInfo!=null) ? (String)userInfo.get("user-name-family") : ""; +String email = (userInfo!=null) ? (String)userInfo.get("user.home-info.online.email") : "";</source> + <div class="original"> + <p> + Note that the email attribute for which no custom mapping was defined still can be access using + exact name matching (provided the concrete attribute is defined for the logged on user).</p> + </div> + <p> + カスタムのマッピングが定義されていない (ログオンしているユーザのために定義されている具体的な属性が提供されている) email 属性も完全一致でのアクセスが可能であることに注意してください。 + </p> + </subsection> + </section> + <section name="[Defining User Attributes in Jetspeed-2] Jetspeed 2 でのユーザ属性の定義"> + <div class="original"> + <p> + Jetspeed-2 is provided with several Administrative Portlets, including for User Management.<br/> + Using the User Management Portlets, it is very easy to define or modify concrete attributes for a user:</p> + </div> + <p> + Jetspeed 2 にはユーザ管理を含むいくつかの管理ポートレットがあります。<br/> + ユーザ管理ポートレットを使って、非常に簡単にユーザに対する具体的な属性を定義したり修正したりできます。 + </p> + <img src="../images/definingUserAttributes.jpg"/> + <div class="original"> + <p> + The User Info Test demo Portlet, default deployed in Jetspeed-2 and displayed on the start page, uses + the above example User Attribute definitions and displays the values for the logged on user (also showing that + these can be accessed from both the PortletRequest as well as the HttpServletRequest from within a servlet):</p> + </div> + <p> + デフォルトの Jetspeed 2 で配備され、スタートページに表示される、ユーザ情報テスト (User Info Test) デモポートレットは前述の例のユーザ属性定義を使い、ログオンユーザの値を表示しています。(これらの値はサーブレット内の HttpServletRequest と PortletRequest の両方からアクセス可能な表示です) + </p> + <img src="../images/usingUserAttributes.jpg"/> + </section> + </body> +</document>