svnno****@sourc*****
svnno****@sourc*****
2008年 11月 21日 (金) 11:50:56 JST
Revision: 1390 http://svn.sourceforge.jp/view?root=pal&view=rev&rev=1390 Author: shinsuke Date: 2008-11-21 11:50:56 +0900 (Fri, 21 Nov 2008) Log Message: ----------- contribution from N2SM. Modified Paths: -------------- pal-portal/docs/ja/configuration-guide/trunk/src/tex/ajax/api.tex pal-portal/docs/ja/configuration-guide/trunk/src/tex/ajax/guide.tex pal-portal/docs/ja/configuration-guide/trunk/src/tex/appendix/jetspeed-portlet.tex pal-portal/docs/ja/configuration-guide/trunk/src/tex/batch/usermanager.tex pal-portal/docs/ja/configuration-guide/trunk/src/tex/config/asyncaggregator.tex pal-portal/docs/ja/configuration-guide/trunk/src/tex/config/context.tex pal-portal/docs/ja/configuration-guide/trunk/src/tex/config/log.tex pal-portal/docs/ja/configuration-guide/trunk/src/tex/config/mail.tex pal-portal/docs/ja/configuration-guide/trunk/src/tex/config/port.tex pal-portal/docs/ja/configuration-guide/trunk/src/tex/config/proxy.tex pal-portal/docs/ja/configuration-guide/trunk/src/tex/config/session.tex pal-portal/docs/ja/configuration-guide/trunk/src/tex/config/spring.tex pal-portal/docs/ja/configuration-guide/trunk/src/tex/config/sslredirect.tex pal-portal/docs/ja/configuration-guide/trunk/src/tex/configuration-guide.tex pal-portal/docs/ja/configuration-guide/trunk/src/tex/db/config.tex pal-portal/docs/ja/configuration-guide/trunk/src/tex/design/guide.tex pal-portal/docs/ja/configuration-guide/trunk/src/tex/design/jpt.tex pal-portal/docs/ja/configuration-guide/trunk/src/tex/design/layout-decorator.tex pal-portal/docs/ja/configuration-guide/trunk/src/tex/design/layout.tex pal-portal/docs/ja/configuration-guide/trunk/src/tex/design/login.tex pal-portal/docs/ja/configuration-guide/trunk/src/tex/design/portlet-decorator.tex pal-portal/docs/ja/configuration-guide/trunk/src/tex/index.tex pal-portal/docs/ja/configuration-guide/trunk/src/tex/install/directory.tex pal-portal/docs/ja/configuration-guide/trunk/src/tex/install/guide.tex pal-portal/docs/ja/configuration-guide/trunk/src/tex/portal/architecture.tex pal-portal/docs/ja/configuration-guide/trunk/src/tex/portal/guide.tex pal-portal/docs/ja/configuration-guide/trunk/src/tex/portal/tools.tex pal-portal/docs/ja/configuration-guide/trunk/src/tex/portlet/deploy.tex pal-portal/docs/ja/configuration-guide/trunk/src/tex/portlet/portal.tex pal-portal/docs/ja/configuration-guide/trunk/src/tex/portlet/portlet.tex pal-portal/docs/ja/configuration-guide/trunk/src/tex/profiler/guide.tex pal-portal/docs/ja/configuration-guide/trunk/src/tex/profiler/profilingrule.tex pal-portal/docs/ja/configuration-guide/trunk/src/tex/psml/guide.tex pal-portal/docs/ja/configuration-guide/trunk/src/tex/psml/menu.tex pal-portal/docs/ja/configuration-guide/trunk/src/tex/psml/security.tex pal-portal/docs/ja/configuration-guide/trunk/src/tex/security/authfilter.tex pal-portal/docs/ja/configuration-guide/trunk/src/tex/security/config.tex pal-portal/docs/ja/configuration-guide/trunk/src/tex/security/credential.tex pal-portal/docs/ja/configuration-guide/trunk/src/tex/security/guide.tex pal-portal/docs/ja/configuration-guide/trunk/src/tex/security/login.tex pal-portal/docs/ja/configuration-guide/trunk/src/tex/security/transferfilter.tex pal-portal/docs/ja/configuration-guide/trunk/src/tex/userattribute/guide.tex Added Paths: ----------- pal-portal/docs/ja/configuration-guide/trunk/src/images/er-application.png pal-portal/docs/ja/configuration-guide/trunk/src/images/er-client.png pal-portal/docs/ja/configuration-guide/trunk/src/images/er-folder.png pal-portal/docs/ja/configuration-guide/trunk/src/images/er-security.png pal-portal/docs/ja/configuration-guide/trunk/src/tex/db/table.tex -------------- next part -------------- Added: pal-portal/docs/ja/configuration-guide/trunk/src/images/er-application.png =================================================================== (Binary files differ) Property changes on: pal-portal/docs/ja/configuration-guide/trunk/src/images/er-application.png ___________________________________________________________________ Name: svn:mime-type + image/png Added: pal-portal/docs/ja/configuration-guide/trunk/src/images/er-client.png =================================================================== (Binary files differ) Property changes on: pal-portal/docs/ja/configuration-guide/trunk/src/images/er-client.png ___________________________________________________________________ Name: svn:mime-type + image/png Added: pal-portal/docs/ja/configuration-guide/trunk/src/images/er-folder.png =================================================================== (Binary files differ) Property changes on: pal-portal/docs/ja/configuration-guide/trunk/src/images/er-folder.png ___________________________________________________________________ Name: svn:mime-type + image/png Added: pal-portal/docs/ja/configuration-guide/trunk/src/images/er-security.png =================================================================== (Binary files differ) Property changes on: pal-portal/docs/ja/configuration-guide/trunk/src/images/er-security.png ___________________________________________________________________ Name: svn:mime-type + image/png Modified: pal-portal/docs/ja/configuration-guide/trunk/src/tex/ajax/api.tex =================================================================== --- pal-portal/docs/ja/configuration-guide/trunk/src/tex/ajax/api.tex 2008-11-21 02:12:54 UTC (rev 1389) +++ pal-portal/docs/ja/configuration-guide/trunk/src/tex/ajax/api.tex 2008-11-21 02:50:56 UTC (rev 1390) @@ -34,8 +34,8 @@ \end{screen} +\subsubsection{リクエストパラメータとページ} - リクエストパラメータは、リクエストした API の動作と、追加の API パラメータを指定します。 リクエストが参照しているページは、HTTP URL 内に含まれます。 ですので、もしページを変更するリクエストを作成したい場合は、ページは以下のような HTTP URL 内で指定します。 @@ -61,9 +61,9 @@ 現時点で利用可能な API を示します。 +\subsubsection{ページの取得} - API: getpage @@ -101,44 +101,49 @@ XML レスポンス: \begin{screen} -success -getpage +\begin{verbatim} +<js> +<status>success</status> +<action>getpage</action> + <page hidden="false"> + <defaults layout-decorator="tigris" portlet-decorator="tigris"/> + <name>public.psml</name> + <path>/Public/public.psml</path> + <title>Public Share</title> + <short-title>Public Share</short-title> + <metadata name="title" xml:lang="es">Carpeta compartida</metadata> + <fragment id="ps-1000" type="layout" name="jetspeed-layouts::VelocityTwoColumns" decorator=""> + <fragment id="ps-1001" type="portlet" name="rss::RSS" decorator=""> + <property name="row" value="0"/> + <property name="column" value="0"/> + </fragment> + <fragment id="ps-1002" type="portlet" name="demo::BookmarkPortlet" decorator=""> + <property name="row" value="1"/> + <property name="column" value="1"/> + </fragment> + <fragment id="ps-1003" type="portlet" name="jsf-demo::CalendarPortlet" decorator=""> + <property name="row" value="0"/> + <property name="column" value="1"/> + </fragment> + <fragment id="P-1080bff9b03-10000" type="portlet" name="jsf-demo::CalendarPortlet" decorator=""> + <property name="row" value="1"/> + <property name="column" value="0"/> + </fragment> + </fragment> +</page> +</js> +\end{verbatim} -public.psml -/Public/public.psml -Public Share -Carpeta compartida - - - - - - - - - - - - - - - - - - - - - \end{screen} +\subsubsection{絶対位置で移動} - API: moveabs @@ -187,27 +192,31 @@ XML レスポンス: \begin{screen} -success -moveabs -ps-1003 - -1 -1 +\begin{verbatim} +<js> + <status>success</status> + <action>moveabs</action> + <id>ps-1003</id> + <old_position> + <col>1</col> + <row>1</row> + </old_position> + <new_position> + <col>1</col> + <row>0</row> + </new_position> +</js> +\end{verbatim} - -1 -0 - - \end{screen} +\subsubsection{移動} - API: moveleft, moveright, moveup, movedown @@ -248,27 +257,31 @@ XML レスポンス: \begin{screen} -success -movedown -ps-1003 - -1 -0 +\begin{verbatim} +<js> + <status>success</status> + <action>movedown</action> + <id>ps-1003</id> + <old_position> + <col>1</col> + <row>0</row> + </old_position> + <new_position> + <col>1</col> + <row>1</row> + </new_position> +</js> +\end{verbatim} - -1 -1 - - \end{screen} +\subsubsection{ポートレットの追加} - API: add @@ -317,23 +330,27 @@ XML レスポンス: \begin{screen} -success -add -jsf-demo::CalendarPortlet +\begin{verbatim} +<js> + <status>success</status> + <action>add</action> + <id>jsf-demo::CalendarPortlet</id> + <new_position> + <col>0</col> + <row>0</row> + </new_position> +</js> +\end{verbatim} -0 -0 - - \end{screen} +\subsubsection{ポートレットの削除} - API: remove @@ -374,23 +391,27 @@ XML レスポンス: \begin{screen} -success -remove -jsf-demo::CalendarPortlet +\begin{verbatim} +<js> + <status>success</status> + <action>remove</action> + <id>jsf-demo::CalendarPortlet</id> + <new_position> + <col>0</col> + <row>0</row> + </new_position> +</js> +\end{verbatim} -0 -0 - - \end{screen} +\subsubsection{ポートレットの取得} - API: getportlets @@ -431,26 +452,30 @@ XML レスポンス: \begin{screen} -success -getportlets +\begin{verbatim} +<js> +<status>success</status> +<action>getportlets</action> - - - - - - - - - - + <portlets> +<portlet name="demo::AttributeScopePortlet" displayName="Attribute Scope Demo" description="$portlet.Description"> + </portlet> +<portlet name="demo::BookmarkPortlet" displayName="Bookmark Portlet" description="Bookmark Portlet"> + </portlet> +<portlet name="demo::BookmarkPortletForXHTMLBasic" displayName="Bookmark Portlet for XHTML Basic" description="Bookmark Portlet for XHTML Basic"> + </portlet> +<portlet name="demo::CSSDemoPortlet" displayName="CSS Demo Portlet" description="$portlet.Description"> + </portlet> .... +<portlet name="rss::RSS" displayName="RSS Portlet" description="RSS Portlet"> + </portlet> +<portlet name="rss::RomeRSS" displayName="Rome RSS Portlet" description="Rome RSS Portlet"> + </portlet> +</portlets> +</js> +\end{verbatim} - - - - - \end{screen} @@ -462,42 +487,46 @@ \begin{screen} +\begin{verbatim} +<bean id="AjaxRequestService" class="org.apache.jetspeed.ajax.AjaxRequestServiceImpl"> + <constructor-arg index="0"> + <map> + <entry key="moveabs"> + <ref bean="AjaxMovePortletAbsolute"/> + </entry> + <entry key="moveleft"> + <ref bean="AjaxMovePortletLeft"/> + </entry> + <entry key="moveright"> + <ref bean="AjaxMovePortletRight"/> + </entry> + <entry key="moveup"> + <ref bean="AjaxMovePortletUp"/> + </entry> + <entry key="movedown"> + <ref bean="AjaxMovePortletDown"/> + </entry> + <entry key="add"> + <ref bean="AjaxAddPortlet"/> + </entry> + <entry key="remove"> + <ref bean="AjaxRemovePortlet"/> + </entry> + <entry key="getportlets"> + <ref bean="AjaxGetPortlets"/> + </entry> + <entry key="getpage"> + <ref bean="AjaxGetPage"/> + </entry> + </map> + </constructor-arg> + <constructor-arg index="1"> + <ref bean="AjaxVelocityEngine"/> + </constructor-arg> +</bean> +\end{verbatim} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \end{screen} Modified: pal-portal/docs/ja/configuration-guide/trunk/src/tex/ajax/guide.tex =================================================================== --- pal-portal/docs/ja/configuration-guide/trunk/src/tex/ajax/guide.tex 2008-11-21 02:12:54 UTC (rev 1389) +++ pal-portal/docs/ja/configuration-guide/trunk/src/tex/ajax/guide.tex 2008-11-21 02:50:56 UTC (rev 1390) @@ -32,17 +32,18 @@ 典型的な使用例としては、 +\begin{itemize} -ページのカスタマイズとポートレットの配置- ページ上でのポートレットの移動、コピー、追加、削除。 -レイアウトの選択- ページのレイアウトの変更 (行や列の数の変更、列のサイズの変更)。 -テーマとデコレータの選択- ページのテーマやページ上のポートレットのデコレータの変更。 -ポートレットのセレクタ- エンドユーザへのポートレットの選択リストを提供。 -セキュリティの設定- リソース (ページ、ポートレット、フォルダ、リンク、フラグメント) もしくはポータル全体でのセキュリティ制約、またはポリシーの設定。 -メニューの設定- PALポータルサイトのメニューの生成や編集。 +\item ページのカスタマイズとポートレットの配置- ページ上でのポートレットの移動、コピー、追加、削除。 +\item レイアウトの選択- ページのレイアウトの変更 (行や列の数の変更、列のサイズの変更)。 +\item テーマとデコレータの選択- ページのテーマやページ上のポートレットのデコレータの変更。 +\item ポートレットのセレクタ- エンドユーザへのポートレットの選択リストを提供。 +\item セキュリティの設定- リソース (ページ、ポートレット、フォルダ、リンク、フラグメント) もしくはポータル全体でのセキュリティ制約、またはポリシーの設定。 +\item メニューの設定- PALポータルサイトのメニューの生成や編集。 全体的な管理- 全体的な管理を行う全てのユースケースはまだ検討されていません。 +\end{itemize} - Ajax XML API リクエストの全ては、Ajax 用に登録されているのパイプラインを通して実行されます。 これは、通常の PALポータルコンポーネントのバルブ配列を用いて、Ajax リクエストを構成可能であることを意味します。 デフォルトの Ajax パイプラインは、全てのリクエストへのアクセスを保証します。 Modified: pal-portal/docs/ja/configuration-guide/trunk/src/tex/appendix/jetspeed-portlet.tex =================================================================== --- pal-portal/docs/ja/configuration-guide/trunk/src/tex/appendix/jetspeed-portlet.tex 2008-11-21 02:12:54 UTC (rev 1389) +++ pal-portal/docs/ja/configuration-guide/trunk/src/tex/appendix/jetspeed-portlet.tex 2008-11-21 02:50:56 UTC (rev 1390) @@ -11,114 +11,118 @@ \subsection{jetspeed-portlet.xsd} \begin{screen} +\begin{verbatim} +<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://portals.apache.org/jetspeed" xmlns:tns="http://portals.apache.org/jetspeed" xmlns:dc="http://www.purl.org/dc" xmlns:js="http://portals.apache.org/jetspeed" - xmlns:p="http://java.sun.com/xml/ns/portlet/portlet-app\_1\_0.xsd"> + xmlns:p="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"> - + <xs:import namespace="http://www.purl.org/dc" schemaLocation="dublin-core.xsd"/> <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/> - - - - - - - - - - - - - - - + <xs:element name="portlet-app"> + <xs:complexType mixed="true"> + <xs:sequence> + <xs:element name="security-constraint-ref" minOccurs="0" type="xs:string"/> + <xs:group ref="tns:metadataGroup" minOccurs="0" maxOccurs="unbounded"/> + <xs:element ref="tns:custom-portlet-mode" minOccurs="0" maxOccurs="unbounded"/> + <xs:element ref="tns:custom-window-state" minOccurs="0" maxOccurs="unbounded"/> + <xs:element ref="tns:portlet" minOccurs="0" maxOccurs="unbounded"/> + <xs:element ref="tns:services" minOccurs="0"/> + <xs:element ref="tns:user-attribute-ref" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + <xs:attribute name="id" type="xs:ID"/> + <xs:attribute name="version" type="xs:string"/> + </xs:complexType> + </xs:element> + <xs:element name="portlet"> + <xs:complexType> + <xs:sequence> + <xs:element name="portlet-name" type="xs:string"/> + <xs:element name="security-constraint-ref" minOccurs="0" type="xs:string"/> + <xs:group ref="tns:metadataGroup" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + <xs:attribute name="id" type="xs:ID" use="optional"/> + </xs:complexType> + </xs:element> - - - - - - - - - - - - - - - - - - - + <xs:element name="custom-portlet-mode"> + <xs:complexType> + <xs:sequence> + <xs:element name="name" type="xs:string"/> + <xs:element name="mapped-name" type="xs:string"/> + <xs:element name="description" type="xs:string" minOccurs="0"/> + </xs:sequence> + </xs:complexType> + </xs:element> - - - - - - - - - + <xs:element name="custom-window-state"> + <xs:complexType> + <xs:sequence> + <xs:element name="name" type="xs:string"/> + <xs:element name="mapped-name" type="xs:string"/> + <xs:element name="description" type="xs:string" minOccurs="0"/> + </xs:sequence> + </xs:complexType> + </xs:element> - - - - - - - - - + <xs:element name="user-attribute-ref"> + <xs:complexType> + <xs:sequence> + <xs:element name="name" type="xs:string"/> + <xs:element name="name-link" type="xs:string"/> + <xs:element name="description" type="xs:string" minOccurs="0"/> + </xs:sequence> + </xs:complexType> + </xs:element> - - - - - - - - - - - - - - - - - - - - - - - - - - + <xs:element name="metadata"> + <xs:complexType mixed="true"> + <xs:attribute name="name" use="required" type="xs:string"/> + <xs:attribute ref="xml:lang"/> + </xs:complexType> + </xs:element> + <xs:element name="services"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" ref="js:service"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="service"> + <xs:complexType> + <xs:attribute name="name" use="required" type="xs:string"/> + </xs:complexType> + </xs:element> + <xs:group name="metadataGroup"> + <xs:choice> + <xs:element ref="dc:creator"/> + <xs:element ref="dc:description"/> + <xs:element ref="dc:title"/> + <xs:element ref="dc:type"/> + <xs:element ref="dc:source"/> + <xs:element ref="dc:right"/> + <xs:element ref="dc:relation"/> + <xs:element ref="dc:publisher"/> + <xs:element ref="dc:language"/> + <xs:element ref="dc:identifer"/> + <xs:element ref="dc:format"/> + <xs:element ref="dc:contributor"/> + <xs:element ref="dc:coverage"/> + <xs:element ref="dc:subject"/> + <xs:element ref="js:metadata"/> + </xs:choice> + </xs:group> +</xs:schema> +\end{verbatim} - - - - - - - - - - - \end{screen} Modified: pal-portal/docs/ja/configuration-guide/trunk/src/tex/batch/usermanager.tex =================================================================== --- pal-portal/docs/ja/configuration-guide/trunk/src/tex/batch/usermanager.tex 2008-11-21 02:12:54 UTC (rev 1389) +++ pal-portal/docs/ja/configuration-guide/trunk/src/tex/batch/usermanager.tex 2008-11-21 02:50:56 UTC (rev 1390) @@ -33,18 +33,22 @@ webapps/palportal/WEB-INF/web.xmlに以下のサーブレット定義を加えます。 \begin{screen} -... -UserManagerServlet -jp.sf.pal.portal.servlet.UserManagerServlet - +\begin{verbatim} ... - -UserManagerServlet -/userManager - + <servlet> + <servlet-name>UserManagerServlet</servlet-name> + <servlet-class>jp.sf.pal.portal.servlet.UserManagerServlet</servlet-class> + </servlet> ... + <servlet-mapping> + <servlet-name>UserManagerServlet</servlet-name> + <url-pattern>/userManager</url-pattern> + </servlet-mapping> +... +\end{verbatim} + \end{screen} 必要に応じて、セキュリティの設定をする必要があります。 @@ -54,399 +58,387 @@ http://localhost:8080/palportal/userManager?name1=value1\&... にアクセスすると対象の操作が実行されます。 以下の操作を実行できます。 -ユーザーの認証確認ユーザーの追加パスワードの更新ユーザーの削除ユーザー属性の更新ユーザー属性の削除 +\begin{itemize} +\item ユーザーの認証確認 +\item ユーザーの追加 +\item パスワードの更新 +\item ユーザーの削除 +\item ユーザー属性の更新 +\item ユーザー属性の削除 + +\end{itemize} + \subsection{出力結果} 以下の XML 形式で結果が出力されます。 \begin{screen} +\begin{verbatim} +<?xml version="1.0" encoding="UTF-8" ?> +<results> + <status>文字列</status> + <message>文字列</message> + <result> + <name>文字列</name> + <value>文字列</value> + </result> +</results> +\end{verbatim} -文字列 -文字列 -文字列 -文字列 - - - \end{screen} \subsection{各処理の説明} +\subsubsection{ユーザーの認証確認} 指定されたユーザーが認証できるかを確認します。 URLで渡すパラメータ +\begin{table}[htbp] +\begin{center} + \begin{tabular}[tb]{|l|l|} +\hline +リクエストパラメータ & 値\\ +\hline\hline +action & authenticate\\ +\hline +username & ユーザー名\\ +\hline +password & パスワード\\ +\hline + \end{tabular} +\end{center} +\end{table} -リクエストパラメータ -値 - -action -authenticate - - -username -ユーザー名 - - -password -パスワード - - 出力結果のstatus +\begin{table}[htbp] +\begin{center} + \begin{tabular}[tb]{|l|l|} +\hline +値 & 説明\\ +\hline\hline +success & 正常終了(ユーザーが存在して、パスワードも正しい場合)\\ +\hline +authentication-failed & ユーザー認証に失敗した\\ +\hline +invalid-parameter & リクエストパラメータが正しくない\\ +\hline +excluded-user & 操作の対象外ユーザーへの処理を行った\\ +\hline + \end{tabular} +\end{center} +\end{table} -値 -説明 +\subsubsection{ユーザーの追加} -success -正常終了(ユーザーが存在して、パスワードも正しい場合) - - -authentication-failed -ユーザー認証に失敗した - - -invalid-parameter -リクエストパラメータが正しくない - - -excluded-user -操作の対象外ユーザーへの処理を行った - - - - - 指定したユーザー名でユーザーを作成します。 URLで渡すパラメータ -リクエストパラメータ -値 +\begin{table}[htbp] +\begin{center} + \begin{tabular}[tb]{|l|l|} +\hline +リクエストパラメータ & 値\\ +\hline\hline +action & create\\ +\hline +username & ユーザー名\\ +\hline +password & パスワード\\ +\hline + \end{tabular} +\end{center} +\end{table} -action -create - -username -ユーザー名 - - -password -パスワード - - 出力結果のstatus +\begin{table}[htbp] +\begin{center} + \begin{tabular}[tb]{|l|l|} +\hline +値 & 説明\\ +\hline\hline +success & 正常終了(ユーザーが正常に作成された場合)\\ +\hline +user-already-exists & ユーザーが既に存在していて、作成できない\\ +\hline +server-error & ユーザー作成時にサーバー側でエラーが発生した\\ +\hline +invalid-parameter & リクエストパラメータが正しくない\\ +\hline +excluded-user & 操作の対象外ユーザーへの処理を行った\\ +\hline + \end{tabular} +\end{center} +\end{table} -値 -説明 +\subsubsection{パスワードの更新} -success -正常終了(ユーザーが正常に作成された場合) - -user-already-exists -ユーザーが既に存在していて、作成できない - - -server-error -ユーザー作成時にサーバー側でエラーが発生した - - -invalid-parameter -リクエストパラメータが正しくない - - -excluded-user -操作の対象外ユーザーへの処理を行った - - - - - 指定されたユーザーのパスワードを変更します。 URLで渡すパラメータ +\begin{table}[htbp] +\begin{center} + \begin{tabular}[tb]{|l|l|} +\hline +リクエストパラメータ & 値\\ +\hline\hline +action & update\\ +\hline +username & ユーザー名\\ +\hline +password & パスワード\\ +\hline + \end{tabular} +\end{center} +\end{table} -リクエストパラメータ -値 - -action -update - - -username -ユーザー名 - - -password -パスワード - - 出力結果のstatus +\begin{table}[htbp] +\begin{center} + \begin{tabular}[tb]{|l|l|} +\hline +値 & 説明\\ +\hline\hline +success & 正常終了(ユーザー情報が正常に更新された場合)\\ +\hline +user-not-found & 対象ユーザーが存在しない\\ +\hline +server-error & ユーザー更新時にサーバー側でエラーが発生した\\ +\hline +invalid-parameter & リクエストパラメータが正しくない\\ +\hline +excluded-user & 操作の対象外ユーザーへの処理を行った\\ +\hline + \end{tabular} +\end{center} +\end{table} -値 -説明 +\subsubsection{ユーザーの削除} -success -正常終了(ユーザー情報が正常に更新された場合) - - -user-not-found -対象ユーザーが存在しない - - -server-error -ユーザー更新時にサーバー側でエラーが発生した - - -invalid-parameter -リクエストパラメータが正しくない - - -excluded-user -操作の対象外ユーザーへの処理を行った - - - - - 指定されたユーザー名のユーザーを削除します。 URLで渡すパラメータ +\begin{table}[ht] +\begin{center} + \begin{tabular}[tb]{|l|l|} +\hline +リクエストパラメータ & 値\\ +\hline\hline +action & update\\ +\hline +username & ユーザー名\\ +\hline +password & パスワード\\ +\hline + \end{tabular} +\end{center} +\end{table} -リクエストパラメータ -値 - -action -update - - -username -ユーザー名 - - -password -パスワード - - 出力結果のstatus +\begin{table}[htbp] +\begin{center} + \begin{tabular}[tb]{|l|l|} +\hline +値 & 説明\\ +\hline\hline +success & 正常終了(ユーザーが正常に削除された場合)\\ +\hline +user-not-found & 対象ユーザーが存在しない\\ +\hline +server-error & ユーザー削除時にサーバー側でエラーが発生した\\ +\hline +invalid-parameter & リクエストパラメータが正しくない\\ +\hline +excluded-user & 操作の対象外ユーザーへの処理を行った\\ +\hline + \end{tabular} +\end{center} +\end{table} -値 -説明 +\subsubsection{ユーザー属性の取得} -success -正常終了(ユーザーが正常に削除された場合) - -user-not-found -対象ユーザーが存在しない - - -server-error -ユーザー削除時にサーバー側でエラーが発生した - - -invalid-parameter -リクエストパラメータが正しくない - - -excluded-user -操作の対象外ユーザーへの処理を行った - - - - - 指定されたユーザーのユーザー属性を取得します。 URLで渡すパラメータ +\begin{table}[htbp] +\begin{center} + \begin{tabular}[tb]{|l|l|} +\hline +リクエストパラメータ & 値\\ +\hline\hline +action & get-user-attribute\\ +\hline +username & ユーザー名\\ +\hline +key & キー\\ +\hline + \end{tabular} +\end{center} +\end{table} -リクエストパラメータ -値 - -action -get-user-attribute - - -username -ユーザー名 - - -key -キー - - 出力結果のstatus -値 -説明 +\begin{table}[htbp] +\begin{center} + \begin{tabular}[tb]{|l|l|} +\hline +値 & 説明\\ +\hline\hline +success & 正常終了(ユーザー属性が正常に取得された場合)\\ +\hline +user-not-found & 対象ユーザーが存在しない\\ +\hline +server-error & ユーザー削除時にサーバー側でエラーが発生した\\ +\hline +invalid-parameter & リクエストパラメータが正しくない\\ +\hline +excluded-user & 操作の対象外ユーザーへの処理を行った\\ +\hline +value-is-null & キーに対応する値が null の場合\\ +\hline + \end{tabular} +\end{center} +\end{table} -success -正常終了(ユーザー属性が正常に取得された場合) - -user-not-found -対象ユーザーが存在しない - - -server-error -ユーザー削除時にサーバー側でエラーが発生した - - -invalid-parameter -リクエストパラメータが正しくない - - -excluded-user -操作の対象外ユーザーへの処理を行った - - -value-is-null -キーに対応する値が null の場合 - - 出力結果のresult +\begin{table}[htbp] +\begin{center} + \begin{tabular}[tb]{|l|l|} +\hline +key と value & 値が出力されます。\\ +\hline + \end{tabular} +\end{center} +\end{table} -key と value -値が出力されます。 +\subsubsection{ユーザー属性の更新} - - 指定されたユーザー名のユーザー属性を更新します。 URLで渡すパラメータ +\begin{table}[htbp] +\begin{center} + \begin{tabular}[tb]{|l|l|} +\hline +リクエストパラメータ & 値\\ +\hline +action & update-user-attribute\\ +\hline +username & ユーザー名\\ +\hline +key & キー\\ +\hline +value & 値\\ +\hline + \end{tabular} +\end{center} +\end{table} -リクエストパラメータ -値 - -action -update-user-attribute - - -username -ユーザー名 - - -key -キー - - -value -値 - - 出力結果のstatus +\begin{table}[htbp] +\begin{center} + \begin{tabular}[tb]{|l|l|} +\hline +値 & 説明\\ +\hline +success & 正常終了(ユーザー属性が正常に登録または更新された場合)\\ +\hline +user-not-found & 対象ユーザーが存在しない\\ +\hline +server-error & ユーザー削除時にサーバー側でエラーが発生した\\ +\hline +invalid-parameter & リクエストパラメータが正しくない\\ +\hline +excluded-user & 操作の対象外ユーザーへの処理を行った\\ +\hline + \end{tabular} +\end{center} +\end{table} -値 -説明 +\subsubsection{ユーザー属性の削除} -success -正常終了(ユーザー属性が正常に登録または更新された場合) - -user-not-found -対象ユーザーが存在しない - - -server-error -ユーザー削除時にサーバー側でエラーが発生した - - -invalid-parameter -リクエストパラメータが正しくない - - -excluded-user -操作の対象外ユーザーへの処理を行った - - - - - 指定されたユーザー名のユーザー属性を削除します。 URLで渡すパラメータ +\begin{table}[htbp] +\begin{center} + \begin{tabular}[tb]{|l|l|} +\hline +リクエストパラメータ & 値\\ +\hline +action & get-user-attribute\\ +\hline +username & ユーザー名\\ +\hline +key & キー\\ +\hline + \end{tabular} +\end{center} +\end{table} -リクエストパラメータ -値 - -action -get-user-attribute - - -username -ユーザー名 - - -key -キー - - 出力結果のstatus +\begin{table}[htbp] +\begin{center} + \begin{tabular}[tb]{|l|l|} +\hline +値 & 説明\\ +\hline +success & 正常終了(ユーザー属性が正常に削除された場合)\\ +\hline +user-not-found & 対象ユーザーが存在しない\\ +\hline +server-error & ユーザー削除時にサーバー側でエラーが発生した\\ +\hline +invalid-parameter & リクエストパラメータが正しくない\\ +\hline +excluded-user & 操作の対象外ユーザーへの処理を行った\\ +\hline +value-is-null & キーに対応する値が null の場合\\ +\hline + \end{tabular} +\end{center} +\end{table} -値 -説明 -success -正常終了(ユーザー属性が正常に削除された場合) - -user-not-found -対象ユーザーが存在しない - - -server-error -ユーザー削除時にサーバー側でエラーが発生した - - -invalid-parameter -リクエストパラメータが正しくない - - -excluded-user -操作の対象外ユーザーへの処理を行った - - -value-is-null -キーに対応する値が null の場合 - - - - - - Modified: pal-portal/docs/ja/configuration-guide/trunk/src/tex/config/asyncaggregator.tex =================================================================== --- pal-portal/docs/ja/configuration-guide/trunk/src/tex/config/asyncaggregator.tex 2008-11-21 02:12:54 UTC (rev 1389) +++ pal-portal/docs/ja/configuration-guide/trunk/src/tex/config/asyncaggregator.tex 2008-11-21 02:50:56 UTC (rev 1390) @@ -20,26 +20,32 @@ \subsection{設定方法} +\subsubsection{設定ファイルの変更} + webapps/palportal/WEB-INF/assembly/pipelines.xmlで aggregatorValve に引数を変更できます。 \begin{screen} + +\begin{verbatim} ... <bean id="aggregatorValve" class="org.apache.jetspeed.aggregator.AggregatorValve" init-method="initialize" > + <constructor-arg> + <ref bean="org.apache.jetspeed.aggregator.AsyncPageAggregator"/> + </constructor-arg> + </bean> +... +\end{verbatim} - - -... - \end{screen} org.apache.jetspeed.aggregator.AsyncPageAggregator は非同期にコンテンツを集約します。 同期的にコンテンツ集約をしたい場合は、org.apache.jetspeed.aggregator.PageAggregator を利用してください。 +\subsubsection{タイムアウトの設定} - pipelines.xmlの設定後、非同期で処理したいポートレットに対して、タイムアウト値を設定する必要があります。全てのポートレットをマルチスレッドで呼び出す場合は以下の変更をwebapps/palportal/WEB-INF/assembly/aggregation.xmlに加えます。 \begin{screen} ... @@ -59,12 +65,17 @@ 上記の設定の場合、5000ms のタイムアウト値が設定されます。 各ポートレットで個別に設定する場合には、対象のポートレットアプリケーションの jetspeed-portlet.xml で以下のような設定をします。 \begin{screen} + +\begin{verbatim} ... + <portlet> + <portlet-name>PALWcmViewer</portlet-name> + <js:metadata name="timeout">5000</js:metadata> + </portlet> +... +\end{verbatim} -PALWcmViewer -5000 -... \end{screen} Modified: pal-portal/docs/ja/configuration-guide/trunk/src/tex/config/context.tex =================================================================== --- pal-portal/docs/ja/configuration-guide/trunk/src/tex/config/context.tex 2008-11-21 02:12:54 UTC (rev 1389) +++ pal-portal/docs/ja/configuration-guide/trunk/src/tex/config/context.tex 2008-11-21 02:50:56 UTC (rev 1390) @@ -16,12 +16,13 @@ \subsection{コンテキストの変更} +\subsubsection{PALポータルの停止} PALポータルを起動している場合は、停止します。 +\subsubsection{コンテキストの変更} - 本手続きでは http://localhost:8080/palportal/ でアクセスしていたものを http://localhost:8080/ に変更することを考えます。 ルートコンテキスト(ROOT) ではない場合は、利用したいコンテキスト名に置き換えて読んでください。 @@ -46,8 +47,8 @@ \end{screen} +\subsubsection{PALポータルの起動} - PALポータルを起動します。 上記の設定により http://localhost:8080/ でアクセスすることができるようになります。 Modified: pal-portal/docs/ja/configuration-guide/trunk/src/tex/config/log.tex =================================================================== --- pal-portal/docs/ja/configuration-guide/trunk/src/tex/config/log.tex 2008-11-21 02:12:54 UTC (rev 1389) +++ pal-portal/docs/ja/configuration-guide/trunk/src/tex/config/log.tex 2008-11-21 02:50:56 UTC (rev 1390) @@ -20,16 +20,18 @@ Log4j.propertiesのデフォルトの設定は以下の通りです(一部略)。 \begin{screen} -\# ------------------------------------------------------------------------ -\# -\# Logging Configuration -\# -\# ------------------------------------------------------------------------ -\# If we don't know the logging facility, put it into the jetspeed.log +\begin{verbatim} +# ------------------------------------------------------------------------ +# +# Logging Configuration +# +# ------------------------------------------------------------------------ + +# If we don't know the logging facility, put it into the jetspeed.log log4j.rootLogger = ERROR, jetspeed -\# Jetspeed goes into Jetspeed Log +# Jetspeed goes into Jetspeed Log log4j.category.org.apache.jetspeed = ERROR, jetspeed log4j.additivity.org.apache.jetspeed = false @@ -38,69 +40,68 @@ log4j.additivity.org.apache.jetspeed.tools = false -\# Velocity Logfile +# Velocity Logfile log4j.category.velocity = ERROR, velocity log4j.additivity.velocity = false -\# Deployment Category +# Deployment Category log4j.category.deployment = ERROR, DEPLOYMENT log4j.additivity.deployment = false +######################################################################## +# +# Logfile definitions +# +######################################################################## -\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\# -\# -\# Logfile definitions -\# -\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\# - -\# jetspeed.log +# jetspeed.log log4j.appender.jetspeed = org.apache.log4j.RollingFileAppender -log4j.appender.jetspeed.File = \${applicationRoot}/WEB-INF/logs/jetspeed.log +log4j.appender.jetspeed.File = ${applicationRoot}/WEB-INF/logs/jetspeed.log log4j.appender.jetspeed.layout = org.apache.log4j.PatternLayout log4j.appender.jetspeed.layout.ConversionPattern = %d [%t] %-5p %c - %m%n log4j.appender.jetspeed.Append = true log4j.appender.jetspeed.MaxFileSize = 10MB log4j.appender.jetspeed.MaxBackupIndex = 5 -\# deployment.log +# deployment.log log4j.appender.DEPLOYMENT = org.apache.log4j.RollingFileAppender -log4j.appender.DEPLOYMENT.File = \${applicationRoot}/WEB-INF/logs/deployment.log +log4j.appender.DEPLOYMENT.File = ${applicationRoot}/WEB-INF/logs/deployment.log log4j.appender.DEPLOYMENT.layout = org.apache.log4j.PatternLayout log4j.appender.DEPLOYMENT.layout.ConversionPattern = %d [%t] %-5p %c - %m%n log4j.appender.DEPLOYMENT.Append = true log4j.appender.DEPLOYMENT.MaxFileSize = 10MB log4j.appender.DEPLOYMENT.MaxBackupIndex = 5 -\# Velocity gets configured to write its output onto the velocity category. +# Velocity gets configured to write its output onto the velocity category. log4j.appender.velocity = org.apache.log4j.RollingFileAppender -log4j.appender.velocity.File = \${applicationRoot}/WEB-INF/logs/velocity.log +log4j.appender.velocity.File = ${applicationRoot}/WEB-INF/logs/velocity.log log4j.appender.velocity.layout = org.apache.log4j.PatternLayout log4j.appender.velocity.layout.ConversionPattern = %d [%t] %-5p %c - %m%n log4j.appender.velocity.Append = true log4j.appender.velocity.MaxFileSize = 10MB log4j.appender.velocity.MaxBackupIndex = 5 +\end{verbatim} - \end{screen} + デフォルトのログレベルは ERROR に設定されています。 出力されるログファイルの保存先は、webapps/palportal/WEB-INF/logsに保存されます。 ログファイルの内容は、PALポータルを再起動しても保存されたままで、ログを追記します。 各ログファイルのファイルサイズは、10MB まで保存し、それ以上のサイズになった場合は \<ファイル名\>.\<数字\> として保存され、最大 5 つまで保持します。 それ以上になった場合は古いものから削除されます。 +\subsubsection{jetspeed.log} - jetspeed.logは、PALポータルの処理中に出力するログが保存されます。 +\subsubsection{deployment.log} - deployment.logは、PALポータルにポートレットを配備の処理中に出力するログが保存されます。 +\subsubsection{velocity.log} - - velocity.logは、レイアウトデコレータやポートレットデコレータなどで Velocity の処理中に出力するログが保存されます。 @@ -111,12 +112,16 @@ デフォルトでは ERROR が設定されているので、この値を DEBUG などに変更すると、ログレベルがデバッグになります。 利用可能なログレベルは以下の通りです。 -DEBUG: アプリケーションのデバッグ用のログを出力する。以下のログレベルで指定したものは出力される。 -INFO: アプリケーションの必要な情報を出力する用などのログを出力する。以下のログレベルで指定したものは出力される。 -WARN: 警告メッセージなどの情報を出力するログレベル。以下のログレベルで指定したものは出力される。 -ERROR: エラーメッセージなどの情報を出力するログレベル。以下のログレベルで指定したものは出力される。 -FATAL: 致命的なエラーメッセージを表示するログレベル。 +\begin{itemize} +\item DEBUG: アプリケーションのデバッグ用のログを出力する。以下のログレベルで指定したものは出力される。 +\item INFO: アプリケーションの必要な情報を出力する用などのログを出力する。以下のログレベルで指定したものは出力される。 +\item WARN: 警告メッセージなどの情報を出力するログレベル。以下のログレベルで指定したものは出力される。 +\item ERROR: エラーメッセージなどの情報を出力するログレベル。以下のログレベルで指定したものは出力される。 +\item FATAL: 致命的なエラーメッセージを表示するログレベル。 + +\end{itemize} + 値を変更後ポータルを再起動することで変更が有効になります。 Modified: pal-portal/docs/ja/configuration-guide/trunk/src/tex/config/mail.tex =================================================================== --- pal-portal/docs/ja/configuration-guide/trunk/src/tex/config/mail.tex 2008-11-21 02:12:54 UTC (rev 1389) +++ pal-portal/docs/ja/configuration-guide/trunk/src/tex/config/mail.tex 2008-11-21 02:50:56 UTC (rev 1390) @@ -25,16 +25,20 @@ \begin{screen} -localhost +\begin{verbatim} +<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl"> + <property name="host"><value>localhost</value></property> + <property name="username"><value></value></property> + <property name="password"><value></value></property> + <property name="javaMailProperties"> + <props> + <prop key="mail.smtp.auth">false</prop> + </props> + </property> +</bean> +\end{verbatim} - - -false - - - - \end{screen} host がメールサーバー名、username と password はメールサーバーのユーザー名とパスワードで、認証が必要な場合は mail.smtp.auth を true にして有効にします。 Modified: pal-portal/docs/ja/configuration-guide/trunk/src/tex/config/port.tex =================================================================== --- pal-portal/docs/ja/configuration-guide/trunk/src/tex/config/port.tex 2008-11-21 02:12:54 UTC (rev 1389) +++ pal-portal/docs/ja/configuration-guide/trunk/src/tex/config/port.tex 2008-11-21 02:50:56 UTC (rev 1390) @@ -24,12 +24,13 @@ 受信ポートを変更する場合は、conf/server.xmlの以下の 8080 を利用したいポート番号に変更します。 \begin{screen} - <Connector port="8080" maxHttpHeaderSize="8192" - emptySessionPath="true" - maxThreads="150" minSpareThreads="25" maxSpareThreads="75" - enableLookups="false" redirectPort="8443" acceptCount="100" - connectionTimeout="20000" disableUploadTimeout="true" /> - +\begin{verbatim} +<Connector port="8080" maxHttpHeaderSize="8192" + emptySessionPath="true" + maxThreads="150" minSpareThreads="25" maxSpareThreads="75" + enableLookups="false" redirectPort="8443" acceptCount="100" + connectionTimeout="20000" disableUploadTimeout="true" /> +\end{verbatim} \end{screen} 値を変更後、設定を保存し、ポータルを再起動後に有効になります。 @@ -41,8 +42,10 @@ 停止ポートを変更する場合は、conf/server.xmlの以下の 8005 を利用したいポート番号に変更します。 \begin{screen} +\begin{verbatim} +<Server port="8005" shutdown="SHUTDOWN"> +\end{verbatim} - \end{screen} 値を変更後、設定を保存し、ポータルを再起動後に有効になります。 Modified: pal-portal/docs/ja/configuration-guide/trunk/src/tex/config/proxy.tex =================================================================== --- pal-portal/docs/ja/configuration-guide/trunk/src/tex/config/proxy.tex 2008-11-21 02:12:54 UTC (rev 1389) +++ pal-portal/docs/ja/configuration-guide/trunk/src/tex/config/proxy.tex 2008-11-21 02:50:56 UTC (rev 1390) @@ -11,7 +11,7 @@ \subsection{プロキシの設定について} PALポータルをイントラネット環境に構築し、ポートレットなどでインターネットにアクセスする必要がある場合は、プロキシ情報の設定が必要になります。 -通常、JAVA\_OPTS 環境変数に -Dhttp.proxyHost=\<YOUR\_PROXY\_HOST\> -Dhttp.proxyPort=\<YOUR\_PROXY\_PORT\> を設定して、PALポータルを起動すると有効になります。 +通常、JAVA\_OPTS 環境変数に \begin{verbatim}-Dhttp.proxyHost=<YOUR_PROXY_HOST> -Dhttp.proxyPort=<YOUR_PROXY_PORT>\end{verbatim}を設定して、PALポータルを起動すると有効になります。 Modified: pal-portal/docs/ja/configuration-guide/trunk/src/tex/config/session.tex =================================================================== --- pal-portal/docs/ja/configuration-guide/trunk/src/tex/config/session.tex 2008-11-21 02:12:54 UTC (rev 1389) +++ pal-portal/docs/ja/configuration-guide/trunk/src/tex/config/session.tex 2008-11-21 02:50:56 UTC (rev 1390) @@ -25,12 +25,13 @@ emptySessionPath を設定する場合は、conf/server.xmlの以下の箇所に emptySessionPath を追加します。 \begin{screen} - <Connector port="8080" maxHttpHeaderSize="8192" - emptySessionPath="true" - maxThreads="150" minSpareThreads="25" maxSpareThreads="75" - enableLookups="false" redirectPort="8443" acceptCount="100" - connectionTimeout="20000" disableUploadTimeout="true" /> - +\begin{verbatim} +<Connector port="8080" maxHttpHeaderSize="8192" + emptySessionPath="true" + maxThreads="150" minSpareThreads="25" maxSpareThreads="75" + enableLookups="false" redirectPort="8443" acceptCount="100" + connectionTimeout="20000" disableUploadTimeout="true" /> +\end{verbatim} \end{screen} 値を変更後、設定を保存し、ポータルを再起動後に有効になります。 Modified: pal-portal/docs/ja/configuration-guide/trunk/src/tex/config/spring.tex =================================================================== --- pal-portal/docs/ja/configuration-guide/trunk/src/tex/config/spring.tex 2008-11-21 02:12:54 UTC (rev 1389) +++ pal-portal/docs/ja/configuration-guide/trunk/src/tex/config/spring.tex 2008-11-21 02:50:56 UTC (rev 1390) @@ -21,171 +21,98 @@ -設定ファイル名 -説明 +\begin{table}[htbp] +\begin{center} + \begin{tabular}[tb]{|l|l|} +\hline +設定ファイル名 & 説明\\ +\hline\hline +administration.xml & ポータルの管理用コンポーネントを定義しています\\ +\hline +aggregation.xml & コンテンツ集約を処理するコンポーネントを定義しています\\ +\hline +ajax-layout.xml & AJAX API で使用されるコンポーネントを定義しています\\ +\hline +ajax.xml & AJAX サービスを提供するコンポーネントを定義しています\\ +\hline +cache.xml & キャッシュを管理するコンポーネントを定義しています\\ +\hline +capabilities.xml & クライアントを識別するコンポーネントを定義しています\\ +\hline +cluster-node.xml & クラスタノードを管理するコンポーネントを定義しています\\ +\hline +deployment.xml & 配備処理をするコンポーネントを定義しています\\ +\hline +headtag.xml & headタグで出力するタグを管理するコンポーネントを定義しています\\ +\hline +hierarchical-principal-names.xml & 階層的なロール、グループ、ユーザーを制御します\\ +\hline +importer-page-manager.xml & PSMLデータのインポートを管理するコンポーネントを定義しています\\ +\hline +interceptors.xml & インタセプタを設定するコンポーネントを定義しています\\ +\hline +jetspeed-base.xml & ポータルで利用するコンポーネントを定義しています\\ +\hline +jetspeed-production.xml & jetspeed-production.properties を利用するときに使うコンポーネントを定義しています\\ +\hline +jetspeed-services.xml & ポータル内で利用するサービスをまとめたコンポーネントを定義しています\\ +\hline +jetspeed-spring.xml & ポータル内で必要なコンポーネントを定義しています\\ +\hline +multiple-action.xml & 複数の Ajax アクションを利用するコンポーネントを定義しています\\ +\hline +page-manager.xml & ページ情報を管理するコンポーネントを定義しています\\ +\hline +pipelines.xml & パイプラインとバルブのコンポーネントを定義しています\\ +\hline +pluto-factories.xml & Pluto を管理するコンポーネントを定義しています\\ +\hline +portal-url-generation.xml & ポータル URL を管理するコンポーネントを定義しています\\ +\hline +prefs.xml & プリファレンスを管理するコンポーネントを定義しています\\ +\hline +profiler.xml & プロファイリングルールを管理するコンポーネントを定義しています\\ +\hline +registry.xml & ポートレットの登録情報を管理するコンポーネントを定義しています\\ +\hline +request-context-objects.xml & RequestContext で利用するオプジェクトを管理するコンポーネントを定義しています\\ +\hline +search.xml & 検索コンポーネントを定義しています\\ +\hline +security-atn.xml & ログインモジュールを管理するコンポーネントを定義しています\\ +\hline +security-atz.xml & JAAS 管理情報を管理するコンポーネントを定義しています\\ +\hline +security-managers.xml & セキュリティ管理を処理するコンポーネントを定義しています\\ +\hline +security-providers.xml & ユーザー認証を管理するコンポーネントを定義しています\\ +\hline +security-spi-atn.xml & ユーザー認証を制御するコンポーネントを定義しています\\ +\hline +security-spi-atz.xml & アクセスを制御するコンポーネントを定義しています\\ +\hline +security-spi.xml & セキュリティアクセスを管理するコンポーネントを定義しています\\ +\hline +serializer.xml & データベース内のデータをインポート・エクスポートするコンポーネントを定義しています\\ +\hline +sso.xml & SSOを管理するコンポーネントを定義しています\\ +\hline +statistics.xml & 統計情報を管理するコンポーネントを定義しています\\ +\hline +theme-engine.xml & デコレータを制御するコンポーネントを定義しています\\ +\hline +transaction.xml & トランザクションを管理するコンポーネントを定義しています\\ +\hline +userinfo.xml & ユーザー属性を管理するコンポーネントを定義しています\\ +\hline +wps.xml & Websphere で必要なコンポーネントを定義しています\\ +\hline + \end{tabular} +\end{center} +\end{table} -administration.xml -ポータルの管理用コンポーネントを定義しています -aggregation.xml -コンテンツ集約を処理するコンポーネントを定義しています -ajax-layout.xml -AJAX API で使用されるコンポーネントを定義しています - - -ajax.xml -AJAX サービスを提供するコンポーネントを定義しています - - -cache.xml -キャッシュを管理するコンポーネントを定義しています - - -capabilities.xml -クライアントを識別するコンポーネントを定義しています - - -cluster-node.xml -クラスタノードを管理するコンポーネントを定義しています - - -deployment.xml -配備処理をするコンポーネントを定義しています - - -headtag.xml -headタグで出力するタグを管理するコンポーネントを定義しています - - -hierarchical-principal-names.xml -階層的なロール、グループ、ユーザーを制御します - - -importer-page-manager.xml -PSMLデータのインポートを管理するコンポーネントを定義しています - - -interceptors.xml -インタセプタを設定するコンポーネントを定義しています - - -jetspeed-base.xml -ポータルで利用するコンポーネントを定義しています - - -jetspeed-production.xml -jetspeed-production.properties を利用するときに使うコンポーネントを定義しています - - -jetspeed-services.xml -ポータル内で利用するサービスをまとめたコンポーネントを定義しています - - -jetspeed-spring.xml -ポータル内で必要なコンポーネントを定義しています - - -multiple-action.xml -複数の Ajax アクションを利用するコンポーネントを定義しています - - -page-manager.xml -ページ情報を管理するコンポーネントを定義しています - - -pipelines.xml -パイプラインとバルブのコンポーネントを定義しています - - -pluto-factories.xml -Pluto を管理するコンポーネントを定義しています - - -portal-url-generation.xml -ポータル URL を管理するコンポーネントを定義しています - - -prefs.xml -プリファレンスを管理するコンポーネントを定義しています - - -profiler.xml -プロファイリングルールを管理するコンポーネントを定義しています - - -registry.xml -ポートレットの登録情報を管理するコンポーネントを定義しています - - -request-context-objects.xml -RequestContext で利用するオプジェクトを管理するコンポーネントを定義しています - - -search.xml -検索コンポーネントを定義しています - - -security-atn.xml -ログインモジュールを管理するコンポーネントを定義しています - - -security-atz.xml -JAAS 管理情報を管理するコンポーネントを定義しています - - -security-managers.xml -セキュリティ管理を処理するコンポーネントを定義しています - - -security-providers.xml -ユーザー認証を管理するコンポーネントを定義しています - - -security-spi-atn.xml -ユーザー認証を制御するコンポーネントを定義しています - - -security-spi-atz.xml -アクセスを制御するコンポーネントを定義しています - - -security-spi.xml -セキュリティアクセスを管理するコンポーネントを定義しています - - -serializer.xml -データベース内のデータをインポート・エクスポートするコンポーネントを定義しています - - -sso.xml -SSOを管理するコンポーネントを定義しています - - -statistics.xml -統計情報を管理するコンポーネントを定義しています - - -theme-engine.xml -デコレータを制御するコンポーネントを定義しています - - -transaction.xml -トランザクションを管理するコンポーネントを定義しています - - -userinfo.xml -ユーザー属性を管理するコンポーネントを定義しています - - -wps.xml -Websphere で必要なコンポーネントを定義しています - - - - - - Modified: pal-portal/docs/ja/configuration-guide/trunk/src/tex/config/sslredirect.tex =================================================================== --- pal-portal/docs/ja/configuration-guide/trunk/src/tex/config/sslredirect.tex 2008-11-21 02:12:54 UTC (rev 1389) +++ pal-portal/docs/ja/configuration-guide/trunk/src/tex/config/sslredirect.tex 2008-11-21 02:50:56 UTC (rev 1390) @@ -20,39 +20,48 @@ webapps/palportal/WEB-INF/assembly/pipelines.xmlに jp.sf.pal.portal.redirect.impl.SSLRedirectValveImpl を追加します。 \begin{screen} + +\begin{verbatim} ... <bean id="sslRedirectValve" class="jp.sf.pal.portal.redirect.impl.SSLRedirectValveImpl"> + <constructor-arg> + <value>redirect.to.ssl.page</value> + </constructor-arg> + <constructor-arg> + <value>80</value> + </constructor-arg> + <constructor-arg> + <value>443</value> + </constructor-arg> + </bean> -redirect.to.ssl.page - - -80 - - -443 - - - <bean id="jetspeed-pipeline" class="org.apache.jetspeed.pipeline.JetspeedPipeline" init-method="initialize" > + <constructor-arg> + <value>JetspeedPipeline</value> + </constructor-arg> + <constructor-arg> + <list> + <ref bean="capabilityValve"/> + <ref bean="portalURLValve"/> + <ref bean="securityValve"/> + <ref bean="localizationValve"/> + <ref bean="passwordCredentialValve"/> + <ref bean="loginValidationValve"/> + <ref bean="profilerValve"/> + <ref bean="sslRedirectValve"/> +... +\end{verbatim} -JetspeedPipeline - - - - - -... - \end{screen} sslRedirectValve を bean 要素を追加して、jetspeed-pipeline の profilerValve の後に sslRedirectValve の ref 要素を追加します。SSLRedirectValveImplのコンストラクタ引数は、一番目の引数がページで指定するキーの名前、2番目が非SSLページで利用するポート、3番目がSSLページで利用するポートです。 Modified: pal-portal/docs/ja/configuration-guide/trunk/src/tex/configuration-guide.tex =================================================================== --- pal-portal/docs/ja/configuration-guide/trunk/src/tex/configuration-guide.tex 2008-11-21 02:12:54 UTC (rev 1389) +++ pal-portal/docs/ja/configuration-guide/trunk/src/tex/configuration-guide.tex 2008-11-21 02:50:56 UTC (rev 1390) @@ -2,6 +2,15 @@ \usepackage{graphicx} \usepackage{ascmac} +\setlength{\topmargin}{-0.3in} +\setlength{\oddsidemargin}{0pt} +\setlength{\evensidemargin}{0pt} +\setlength{\textheight}{46\baselineskip} +\setlength{\textwidth}{47zw} + + + + \title{設定ガイド} \author{Portal Application Laboratory} @@ -36,6 +45,7 @@ \chapter{データベース} \include{db/guide} \include{db/config} +\include{db/table} \chapter{セキュリティ} \include{security/guide} Modified: pal-portal/docs/ja/configuration-guide/trunk/src/tex/db/config.tex =================================================================== --- pal-portal/docs/ja/configuration-guide/trunk/src/tex/db/config.tex 2008-11-21 02:12:54 UTC (rev 1389) +++ pal-portal/docs/ja/configuration-guide/trunk/src/tex/db/config.tex 2008-11-21 02:50:56 UTC (rev 1390) @@ -19,13 +19,14 @@ Derby をデータベースとして利用している場合は、以下のような設定が記述されています。 \begin{screen} - <Resource name="jdbc/jetspeed" auth="Container" - factory="org.apache.commons.dbcp.BasicDataSourceFactory" - type="javax.sql.DataSource" username="" password="" - driverClassName="org.apache.derby.jdbc.EmbeddedDriver" - url="jdbc:derby:/tmp/Portal/database/derby/productiondb;create=true" - maxActive="100" maxIdle="30" maxWait="10000"/> - +\begin{verbatim} +<Resource name="jdbc/jetspeed" auth="Container" + factory="org.apache.commons.dbcp.BasicDataSourceFactory" + type="javax.sql.DataSource" username="" password="" + driverClassName="org.apache.derby.jdbc.EmbeddedDriver" + url="jdbc:derby:/tmp/Portal/database/derby/productiondb;create=true" + maxActive="100" maxIdle="30" maxWait="10000"/> +\end{verbatim} \end{screen} \subsection{設定方法} @@ -61,6 +62,7 @@ データベースの構成スクリプトの設定ファイル database.properties を修正します。 \begin{screen} +\begin{verbatim} ; Jetspeed Enterprise Portal 2.1.1 Database setup configuration ; db.type supported values: db2, derby, mssql, mysql, oracle, postgres, sapdb @@ -76,6 +78,7 @@ ; in the database or will be read from file system dbImportPsml = true +\end{verbatim} \end{screen} ご利用の環境に応じて、DB 名、DB のユーザー名とパスワードを設定してください。 Added: pal-portal/docs/ja/configuration-guide/trunk/src/tex/db/table.tex =================================================================== --- pal-portal/docs/ja/configuration-guide/trunk/src/tex/db/table.tex (rev 0) +++ pal-portal/docs/ja/configuration-guide/trunk/src/tex/db/table.tex 2008-11-21 02:50:56 UTC (rev 1390) @@ -0,0 +1,246 @@ + +\section{テーブル} + +\subsection{テーブル一覧} +インストール時に作成されるテーブル一覧は以下の通りです。 +インストール時にPSMLの保存先をDBに選択した場合、オプション欄にチェックされているテーブルが使用されます。 + +\begin{table}[htbp] +\begin{center} +\begin{tabular}[tb]{|l|l|c|} +\hline +テーブル名 & 説明 & オプション\\ +\hline\hline + +admin\_activity & & \\ +\hline +capability & 機能一覧 & \\ +\hline +client & クライアントタイプ & \\ +\hline +client\_to\_capability & クライアントが利用可能な機能 & \\ +\hline +client\_to\_mimetype & クライアントのMME & \\ +\hline +custom\_portlet\_mode & & \\ +\hline +custom\_window\_state & & \\ +\hline +folder & サイト内のフォルダ情報 & ○\\ +\hline +folder\_constraint & アクセス権 & ○\\ +\hline +folder\_constraints\_ref & 制約参照 & ○\\ +\hline +folder\_menu & 継承したメニュー情報 & ○\\ +\hline +folder\_menu\_metadata & & ○\\ +\hline +folder\_metadata & ロケール特有のTitle情報 & ○\\ +\hline +folder\_order & フォルダ内ソート順 & ○\\ +\hline +fragment & ページ内のポートレット情報 & ○\\ +\hline +fragment\_constraint & アクセス権 & ○\\ +\hline +fragment\_constraints\_ref & 制約参照 & ○\\ +\hline +fragment\_pref & フラグメント属性 & ○\\ +\hline +fragment\_pref\_value & 属性情報 & ○\\ +\hline +jetspeed\_service & アプリケーション情報 & \\ +\hline +language & ポートレットへのロケール情報 & \\ +\hline +link & ページ内のリンク情報 & \\ +\hline +link\_constraint & アクセス権 & \\ +\hline +link\_constraints\_ref & 制約参照 & \\ +\hline +link\_metadata & ロケール特有のTitle情報 & \\ +\hline +localized\_description & ポートレット名称 & \\ +\hline +localized\_display\_name & ポートレット表示名 & \\ +\hline +mediatype\_to\_capability & メディアと機能情報 & \\ +\hline +mediatype\_to\_mimetype & メディアとMIME情報 & \\ +\hline +media\_type & メディア(アクセス種別)情報 & \\ +\hline +mimetype & MIME情報 & \\ +\hline +ojb\_dlist & & \\ +\hline +ojb\_dlist\_entries & & \\ +\hline +ojb\_dmap & & \\ +\hline +ojb\_dset & & \\ +\hline +ojb\_dset\_entries & & \\ +\hline +ojb\_hl\_seq & & \\ +\hline +ojb\_lockentry & & \\ +\hline +ojb\_nrm & & \\ +\hline +pa\_metadata\_fields & & \\ +\hline +page & サイト内のページ情報 & ○\\ +\hline +page\_constraint & アクセス権 & ○\\ +\hline +page\_constraints\_ref & 制約参照 & ○\\ +\hline +page\_menu & 継承したメニュー情報 & ○\\ +\hline +page\_menu\_metadata & & ○\\ +\hline +page\_metadata & ロケール特有のTitle情報 & ○\\ +\hline +page\_sec\_constraint\_def & & ○\\ +\hline +page\_sec\_constraints\_def & 制約定義情報 & ○\\ +\hline +page\_sec\_constraints\_ref & & ○\\ +\hline +page\_security & ページセキュリティ情報(ファイルパス) & ○\\ +\hline +page\_statistics & 統計情報 & ○\\ +\hline +parameter & ポートレットパラメータ情報 & \\ +\hline +pd\_metadata\_fields & & \\ +\hline +portlet\_application & ポートレット情報 & \\ +\hline +portlet\_content\_type & ポートレットコンテント情報 & \\ +\hline +portlet\_definition & ポートレット定義 & \\ +\hline +portlet\_entity & & \\ +\hline +portlet\_statistics & 統計情報 & \\ +\hline +prefs\_node & ユーザ属性 & \\ +\hline +prefs\_property\_value & 属性情報 & \\ +\hline +principal\_permission & パーミッション情報 & \\ +\hline +principal\_rule\_assoc & プロファイルリングルール & \\ +\hline +profile\_page\_assoc & & \\ +\hline +profiling\_rule & プロファイルリングルール & \\ +\hline +rule\_criterion & フォールバックルール & \\ +\hline +security\_credential & & \\ +\hline +security\_group\_role & & \\ +\hline +security\_permission & ポートレットパーミッション情報 & \\ +\hline +security\_principal & ユーザ・ロール・グループ情報 & \\ +\hline +security\_role & & \\ +\hline +security\_role\_reference & & \\ +\hline +security\_user\_group & ユーザ・グループ関連情報 & \\ +\hline +security\_user\_role & ユーザ・ロール関連情報 & \\ +\hline +user\_activity & ログイン情報 & \\ +\hline +user\_attribute & ポートレットから使用するユーザ属性情報 & \\ +\hline +user\_attribute\_ref & ポートレットから使用するユーザ属性のマッピング & \\ +\hline +user\_statistics & 統計情報 & \\ +\hline +web\_application & アプリケーション情報 & \\ +\hline +clubs & & \\ +\hline +sso\_cookie & & \\ +\hline +sso\_cookie\_to\_remote & & \\ +\hline +sso\_principal\_to\_remote & & \\ +\hline +sso\_site & & \\ +\hline +sso\_site\_to\_principals & & \\ +\hline +sso\_site\_to\_remote & & \\ +\hline +\end{tabular} +\end{center} +\end{table} + + +\newpage + + +\subsection{テーブル関連図} + +\subsubsection{ユーザ・ロール・グループ情報} + +\begin{figure}[ht] +\begin{center} +\includegraphics[width=140mm]{images/er-security.eps} +\caption{ユーザ・ロール・グループ情報} +\label{fig:er-security} +\end{center} +\end{figure} + +\newpage + +\subsubsection{アプリケーション情報} + +\begin{figure}[ht] +\begin{center} +\includegraphics[width=140mm]{images/er-application.eps} +\caption{アプリケーション情報} +\label{fig:er-client} +\end{center} +\end{figure} + +\newpage + +\subsubsection{クライアント情報} + +\begin{figure}[ht] +\begin{center} +\includegraphics[width=140mm]{images/er-client.eps} +\caption{クライアント情報} +\label{fig:er-client} +\end{center} +\end{figure} + + +\newpage + +\subsubsection{ページ情報} + +\begin{figure}[ht] +\begin{center} +\includegraphics[width=150mm]{images/er-folder.eps} +\caption{ページ情報} +\label{fig:er-client} +\end{center} +\end{figure} + + + + + + Modified: pal-portal/docs/ja/configuration-guide/trunk/src/tex/design/guide.tex =================================================================== --- pal-portal/docs/ja/configuration-guide/trunk/src/tex/design/guide.tex 2008-11-21 02:12:54 UTC (rev 1389) +++ pal-portal/docs/ja/configuration-guide/trunk/src/tex/design/guide.tex 2008-11-21 02:50:56 UTC (rev 1390) @@ -46,8 +46,8 @@ レイアウトテンプレートは、ポートレットの表示列数などページの基本構成を描画する処理をします。 デコレータは、レイアウトデコレータとポートレットデコレータがあり、前者はページ全体のデザインを構成し、後者は表示するポートレットのデザインを構成します。 +\subsubsection{レイアウトテンプレート} - レイアウトテンプレートは、ポートレットの表示列数を表現するなどの、ポータルページの集約処理を制御します。 レイアウトテンプレートの機能的な部分は、PALポータル用の配備可能なレイアウトポートレットアプリケーションとしてまとめられています。 レイアウトテンプレートは、コンテンツ集約のためのコンポーネントモデルを提供し、ポートレットが生成したコンテンツを統合してポータルページを生成します。 @@ -55,8 +55,8 @@ 必要に応じて、新規のレイアウトを定義することも可能です。 +\subsubsection{デコレータ} - デコレータには、レイアウトデコレータとポートレットデコレータがあります。 レイアウトデコレータでは、ページのヘッダーやフッターなどのページ全体のでデザインを構成します。 ポートレットデコレータでは、ポートレットの枠の部分やポートレット内で表示するコンテンツのスタイルを構成します。 Modified: pal-portal/docs/ja/configuration-guide/trunk/src/tex/design/jpt.tex =================================================================== --- pal-portal/docs/ja/configuration-guide/trunk/src/tex/design/jpt.tex 2008-11-21 02:12:54 UTC (rev 1389) +++ pal-portal/docs/ja/configuration-guide/trunk/src/tex/design/jpt.tex 2008-11-21 02:50:56 UTC (rev 1390) @@ -44,16 +44,18 @@ でアクセス可能です。 たとえば、メソッドの呼び出しは、 \begin{screen} +\begin{verbatim} \# 2 つのパラメータをもつメソッド 'getTitle' の呼び出し \$jetspeed.getTitle(\$myPE, \$myF) - +\end{verbatim} \end{screen} のようになります。 プロパティの取得は、 \begin{screen} +\begin{verbatim} \# page ビーンの呼び出し (\$jetspeed.getPage に等しい) \$jetspeed.page - +\end{verbatim} \end{screen} のようになります。 Modified: pal-portal/docs/ja/configuration-guide/trunk/src/tex/design/layout-decorator.tex =================================================================== --- pal-portal/docs/ja/configuration-guide/trunk/src/tex/design/layout-decorator.tex 2008-11-21 02:12:54 UTC (rev 1389) +++ pal-portal/docs/ja/configuration-guide/trunk/src/tex/design/layout-decorator.tex 2008-11-21 02:50:56 UTC (rev 1390) @@ -39,11 +39,15 @@ レイアウトデコレータは、webapps/palportal/decorations/layoutに配置されます。 このディレクトリをルートディレクトリとして、レイアウトデコレータの名前でディレクトリを作成して、以下のファイルを配置します。 -decorator.properties -header.vm -footer.vm -css/styles.css +\begin{itemize} +\item decorator.properties +\item header.vm +\item footer.vm +\item css/styles.css + +\end{itemize} + たとえば、mydesign というレイアウトデコレータを利用したい場合は、webapps/palportal/decorations/layout/mydesignディレクトリを作成して、上記のファイルを配置します。 @@ -52,42 +56,32 @@ 実際のところ、このファイルは空でも構いませんが、他の API が使用可能なデコレータを探すために使用されるので、ファイルは存在する必要があります。 ですので、下記の定義にあるプロパティは 全てオプションであると仮定しても問題ありません。 +\begin{table}[htbp] +\begin{center} + \begin{tabular}[tb]{|l|l|l|} +\hline +プロパティ名 & 説明 & デフォルト\\ +\hline\hline +base.css.class & この値は、ヘッダーのテンプレートファイルの一番上の要素タグの中に配置されます。 & デコレータ名\\ +\hline +stylesheet & デコレータのスタイルシートへの相対パス & css/styles.css\\ +\hline +header & デコレーションのヘッダーテンプレートへの相対パス & header.vm\\ +\hline +footer & デコレーションのフッターテンプレートへの相対パス & footer.vm\\ +\hline + \end{tabular} +\end{center} +\end{table} -プロパティ名 -説明 -デフォルト - -base.css.class - -この値は、ヘッダーのテンプレートファイルの一番上の要素タグの中に配置されます。 - -デコレータ名 - - -stylesheet -デコレータのスタイルシートへの相対パス -css/styles.css - - -header -デコレーションのヘッダーテンプレートへの相対パス -header.vm - - -footer -デコレーションのフッターテンプレートへの相対パス -footer.vm - - - \subsection{テンプレートファイル} テンプレートファイルは、ヘッダーテンプレートとフッターテンプレート二より構成されます。 +\subsubsection{ヘッダーテンプレート} - ヘッダーテンプレートファイルheader.vmは、ポータルページのヘッダー部分を生成します。 注意:前提事項として、HTML と CSS についての十分な知識があると仮定してあります。 @@ -98,23 +92,25 @@ 通常、header.vm では、上部に下記のようにレイアウトデコレータで利用するパラメータの設定等を行います。 \begin{screen} -\#set(\$portalMode = "standard")\#\# -\#\# Add the current layouts configuration values to the context -\#defineLayoutObjects()\#\# -\#\# Loads our custom macros -\#parse(\$layoutDecoration.getResource("decorator-macros.vm"))\#\# -\#\# Username -\#set(\$username = \$JS2RequestContext.request.remoteUser)\#\# -\#\# Check edit -\#set(\$\_actions = \$layoutDecoration.actions)\#\# -\#foreach (\$\_action in \$\_actions)\#\# - \#if(\$\_action.actionName == "edit")\#\# - \#set (\$editable = true)\#\# - \#end\#\# -\#end\#\# -\#set(\$layoutId = \$jetspeed.currentFragment.id)\#\# -\#set(\$servletName = \$JS2RequestContext.request.servletPath)\#\# -\#initMessageResourceBundles()\#\# +\begin{verbatim} +#set($portalMode = "standard")## +## Add the current layouts configuration values to the context +#defineLayoutObjects()## +## Loads our custom macros +#parse($layoutDecoration.getResource("decorator-macros.vm"))## +## Username +#set($username = $JS2RequestContext.request.remoteUser)## +## Check edit +#set($_actions = $layoutDecoration.actions)## +#foreach ($_action in $_actions)## + #if($_action.actionName == "edit")## + #set ($editable = true)## + #end## +#end## +#set($layoutId = $jetspeed.currentFragment.id)## +#set($servletName = $JS2RequestContext.request.servletPath)## +#initMessageResourceBundles()## +\end{verbatim} \end{screen} @@ -129,13 +125,15 @@ \#defineLayoutObjects()では、webapps/palportal/WEB-INF/jetspeed\_macros.vmで以下のように記述されています。 \begin{screen} -\#macro (defineLayoutObjects) - \#set(\$preferedLocale = \$JS2RequestContext.locale) - \#set(\$rootFragment = \$jetspeed.currentFragment) - \#set(\$site = \$request.getAttribute("org.apache.jetspeed.portalsite.PortalSiteRequestContext")) - \#set(\$theme = \$request.getAttribute("org.apache.jetspeed.theme")) - \#set(\$layoutDecoration = \$theme.getDecoration(\$rootFragment)) -\#end +\begin{verbatim} +#macro (defineLayoutObjects) + #set($preferedLocale = $JS2RequestContext.locale) + #set($rootFragment = $jetspeed.currentFragment) + #set($site = $request.getAttribute("org.apache.jetspeed.portalsite.PortalSiteRequestContext")) + #set($theme = $request.getAttribute("org.apache.jetspeed.theme")) + #set($layoutDecoration = $theme.getDecoration($rootFragment)) +#end +\end{verbatim} \end{screen} @@ -165,25 +163,30 @@ \begin{screen} - - \#includeHeaderResource() - - - - \#IncludeStylesheets() - - - - - - - - - - - - +\begin{verbatim} + +<html> + <head> + #includeHeaderResource() + <base href="#BaseHref()"> + <meta http-equiv="Content-type" content="#ContentType()" /> + <meta http-equiv="Content-style-type" content="text/css" /> + #IncludeStylesheets() + <title>#PageTitle()</title> + <meta name="version" content="#SiteVersionTag()"> + <meta name="keywords" content="#PageKeywords()" /> + <meta name="description" content="#PageDescription()" /> + <script type="text/javascript" src="#GetPageResource('js/jquery-1.2.6.min.js')"></script> + <script type="text/javascript" src="#GetPageResource('js/ui-1.5.2/ui.core.packed.js')"></script> + <script type="text/javascript" src="#GetPageResource('js/ui-1.5.2/ui.sortable.packed.js')"></script> + <script type="text/javascript" src="#GetPageResource('js/main.js')"></script> + </head> +<body class="#PageBaseCSSClass()"> + <input type="hidden" id="ajaxUrl" value="#BaseHref()ajaxapi$JS2RequestContext.request.pathInfo"/> + <div class="#PageBaseCSSClass()"> ... +<html> +\end{verbatim} \end{screen} @@ -200,20 +203,28 @@ このコードは、サーブレットAPIを使って記述した場合、以下の通りです。 \begin{screen} + +\begin{verbatim} HttpServletRequest request; StingBuffer baseHref = new StringBuffer(request.getScheme()) .append("://").append(request.getServerName()) .append(":").append(request.getServerPort()) .append(request.getContextPath()).append("/"); -return baseHref.toString(); +return baseHref.toString(); +\end{verbatim} + \end{screen} Velocity マクロのコードは簡潔になり、以下の通りです。 \begin{screen} -\${request.scheme}://\${request.serverName}:\${request.serverPort}\${request.contextPath} +\begin{verbatim} +${request.scheme}://${request.serverName}:${request.serverPort}${request.contextPath} +\end{verbatim} + + \end{screen} \#ContentType()は text/htmlと、UTF-8 のような適切なエンコードの種類を返します。 @@ -222,13 +233,13 @@ \#PageBaseCSSClass()は base.css.class プロパティの値が利用され、スタイルシートの適用範囲を指定するために body タグ直下のタグでスタイルクラスとして適用するためなどに用いられます。 +\subsubsection{フッターテンプレート} - footer.vm についても header.vm と同様に記述することができます。 +\subsubsection{スタイルシート} - 通常のCSSと同様に記述することができます。 Modified: pal-portal/docs/ja/configuration-guide/trunk/src/tex/design/layout.tex =================================================================== --- pal-portal/docs/ja/configuration-guide/trunk/src/tex/design/layout.tex 2008-11-21 02:12:54 UTC (rev 1389) +++ pal-portal/docs/ja/configuration-guide/trunk/src/tex/design/layout.tex 2008-11-21 02:50:56 UTC (rev 1390) @@ -43,11 +43,14 @@ レイアウトテンプレートは以下により構成されます。 -レイアウトポートレット -レイアウトテンプレートファイル +\begin{itemize} +\item レイアウトポートレット +\item レイアウトテンプレートファイル +\end{itemize} + \subsection{レイアウトポートレット} レイアウトポートレットは、jetspeed-layouts ポートレットと呼ばれ、PALポータル用の JSR 168 ポートレットとして構成されています。 @@ -56,9 +59,15 @@ レイアウトポートレットは標準的なポートレットアプリケーション同様に、以下の操作をサポートします。 -配備配備解除再配備 +\begin{itemize} +\item 配備 +\item 配備解除 +\item 再配備 + +\end{itemize} + \subsection{レイアウトの種類} PALポータルは 1 列、2 列、3 列のレイアウトを含むいくつかのレイアウトコンポーネントを標準で含んでいます。 @@ -67,142 +76,54 @@ ページのレイアウトを変更する際には、利用したいレイアウトコンポーネントを選択します。 PSML ページごとに 1 つのルートレイアウトを指定することが可能です。 +\begin{table}[htbp] +\begin{center} + \begin{tabular}[tb]{|l|l|l|l|l|} +\hline +ポートレット名 & レイアウト名 & カラム数 & サイズ & 説明\\ +\hline\hline +VelocityOneColumn & 1列レイアウト & 1 & 100\% & ポートレットの表示エリアの100\%幅を占める1列表示。\\ +\hline +VelocityTwoColumns & 2列レイアウト(50/50) & 2 & 50\%,50\% & ポートレットの表示エリアに左から50\%、50\%幅を割り当てる2列表示。\\ +\hline +VelocityTwoColumns3366 & 2列レイアウト(33/66) & 2 & 33\%,66\% & ポートレットの表示エリアに左から33\%、66\%幅を割り当てる2列表示。\\ +\hline +VelocityTwoColumns2575 & 2列レイアウト(25/75) & 2 & 25\%,75\% & ポートレットの表示エリアに左から25\%、75\%幅を割り当てる2列表示。\\ +\hline +VelocityTwoColumns2080 & 2列レイアウト(20/80) & 2 & 20\%,80\% & ポートレットの表示エリアに左から20\%、80\%幅を割り当てる2列表示。\\ +\hline +VelocityTwoColumns1585 & 2列レイアウト(15/85) & 2 & 15\%,85\% & ポートレットの表示エリアに左から15\%、85\%幅を割り当てる2列表示。\\ +\hline +VelocityTwoColumns1090 & 2列レイアウト(10/90) & 2 & 10\%,90\% & ポートレットの表示エリアに左から10\%、90\%幅を割り当てる2列表示。\\ +\hline +VelocityTwoColumns595 & 2列レイアウト(5/95) & 2 & 5\%,95\% & ポートレットの表示エリアに左から5\%、95\%幅を割り当てる2列表示。\\ +\hline +VelocityTwoColumns6633 & 2列レイアウト(66/33) & 2 & 66\%,33\% & ポートレットの表示エリアに左から66\%、33\%幅を割り当てる2列表示。\\ +\hline +VelocityTwoColumns7525 & 2列レイアウト(75/25) & 2 & 75\%,25\% & ポートレットの表示エリアに左から75\%、25\%幅を割り当てる2列表示。\\ +\hline +VelocityTwoColumns8020 & 2列レイアウト(80/20) & 2 & 80\%,20\% & ポートレットの表示エリアに左から80\%、20\%幅を割り当てる2列表示。\\ +\hline +VelocityTwoColumns8515 & 2列レイアウト(85/15) & 2 & 85\%,15\% & ポートレットの表示エリアに左から85\%、15\%幅を割り当てる2列表示。\\ +\hline +VelocityTwoColumns9010 & 2列レイアウト(90/10) & 2 & 90\%,10\% & ポートレットの表示エリアに左から90\%、10\%幅を割り当てる2列表示。\\ +\hline +VelocityTwoColumns955 & 2列レイアウト(95/5) & 2 & 95\%,5\% & ポートレットの表示エリアに左から95\%、5\%幅を割り当てる2列表示。\\ +\hline +VelocityThreeColumns & 3列レイアウト(33/33/33) & 3 & 33\%,33\%,33\% & ポートレットの表示エリアに左から33\%、33\%、33\%幅を割り当てる3列表示。\\ +\hline +VelocityThreeColumns206020 & 3列レイアウト(20/60/20) & 3 & 20\%,60\%,20\% & ポートレットの表示エリアに左から20\%、60\%、20\%幅を割り当てる3列表示。\\ +\hline +VelocityThreeColumns157015 & 3列レイアウト(15/70/15) & 3 & 15\%,70\%,15\% & ポートレットの表示エリアに左から15\%、70\%、15\%幅を割り当てる3列表示。\\ +\hline +VelocityFourColumns & 4列レイアウト & 4 & 20\%,30\%,30\%,20\% & ポートレットの表示エリアに左から20\%、30\%、30\%、20\%幅を割り当てる4列表示。\\ +\hline + \end{tabular} +\end{center} +\end{table} -ポートレット名 -レイアウト名 -カラム数 -サイズ -説明 - -VelocityOneColumn -1 列レイアウト -1 -100% -ポートレットの表示エリアの 100% 幅を占める 1 列表示。 - - -VelocityTwoColumns -2 列レイアウト(50/50) -2 -50%,50% -ポートレットの表示エリアに左から 50%、50% 幅を割り当てる 2 列表示。 - - -VelocityTwoColumns3366 -2 列レイアウト(33/66) -2 -33%,66% -ポートレットの表示エリアに左から 33%、66% 幅を割り当てる 2 列表示。 - - -VelocityTwoColumns2575 -2 列レイアウト(25/75) -2 -25%,75% -ポートレットの表示エリアに左から 25%、75% 幅を割り当てる 2 列表示。 - - -VelocityTwoColumns2080 -2 列レイアウト(20/80) -2 -20%,80% -ポートレットの表示エリアに左から 20%、80% 幅を割り当てる 2 列表示。 - - -VelocityTwoColumns1585 -2 列レイアウト(15/85) -2 -15%,85% -ポートレットの表示エリアに左から 15%、85% 幅を割り当てる 2 列表示。 - - -VelocityTwoColumns1090 -2 列レイアウト(10/90) -2 -10%,90% -ポートレットの表示エリアに左から 10%、90% 幅を割り当てる 2 列表示。 - - -VelocityTwoColumns595 -2 列レイアウト(5/95) -2 -5%,95% -ポートレットの表示エリアに左から 5%、95% 幅を割り当てる 2 列表示。 - - -VelocityTwoColumns6633 -2 列レイアウト(66/33) -2 -66%,33% -ポートレットの表示エリアに左から 66%、33% 幅を割り当てる 2 列表示。 - - -VelocityTwoColumns7525 -2 列レイアウト(75/25) -2 -75%,25% -ポートレットの表示エリアに左から 75%、25% 幅を割り当てる 2 列表示。 - - -VelocityTwoColumns8020 -2 列レイアウト(80/20) -2 -80%,20% -ポートレットの表示エリアに左から 80%、20% 幅を割り当てる 2 列表示。 - - -VelocityTwoColumns8515 -2 列レイアウト(85/15) -2 -85%,15% -ポートレットの表示エリアに左から 85%、15% 幅を割り当てる 2 列表示。 - - -VelocityTwoColumns9010 -2 列レイアウト(90/10) -2 -90%,10% -ポートレットの表示エリアに左から 90%、10% 幅を割り当てる 2 列表示。 - - -VelocityTwoColumns955 -2 列レイアウト(95/5) -2 -95%,5% -ポートレットの表示エリアに左から 95%、5% 幅を割り当てる 2 列表示。 - - -VelocityThreeColumns -3 列レイアウト(33/33/33) -3 -33%,33%,33% -ポートレットの表示エリアに左から 33%、33%、33% 幅を割り当てる 3 列表示。 - - -VelocityThreeColumns206020 -3 列レイアウト(20/60/20) -3 -20%,60%,20% -ポートレットの表示エリアに左から 20%、60%、20% 幅を割り当てる 3 列表示。 - - -VelocityThreeColumns157015 -3 列レイアウト(15/70/15) -3 -15%,70%,15% -ポートレットの表示エリアに左から 15%、70%、15% 幅を割り当てる 3 列表示。 - - -VelocityFourColumns -4 列レイアウト -4 -20%,30%,30%,20% -ポートレットの表示エリアに左から 20%、30%、30%、20% 幅を割り当てる 4 列表示。 - - - ページへのレイアウトの適用方法については、「管理ガイド」を参照してください。 @@ -217,44 +138,48 @@ \begin{screen} -MyLayout -My Layout -私のレイアウト +\begin{verbatim} +<portlet> + <portlet-name>MyLayout</portlet-name> + <display-name>My Layout</display-name> + <display-name xml:lang="ja">私のレイアウト</display-name> + <init-param> + <name>ViewPage</name> + <value>columns</value> + </init-param> + <init-param> + <name>MaxPage</name> + <value>maximized</value> + </init-param> + <init-param> + <name>columns</name> + <value>2</value> + </init-param> + <init-param> + <name>sizes</name> + <value>50%,50%</value> + </init-param> + <init-param> + <name>layoutType</name> + <value>TwoColumns</value> + </init-param> + <portlet-class>org.apache.jetspeed.portlets.layout.ActionLayoutPortlet</portlet-class> + <resource-bundle>org.apache.jetspeed.portlets.layout.resources.LayoutResource</resource-bundle> + <expiration-cache>0</expiration-cache> + <supports> + <mime-type>text/html</mime-type> + <portlet-mode>view</portlet-mode> + <portlet-mode>edit</portlet-mode> + <portlet-mode>help</portlet-mode> + </supports> + <portlet-info> + <title>My Layout</title> + <short-title>Layout</short-title> + </portlet-info> +</portlet> +\end{verbatim} -ViewPage -columns - -MaxPage -maximized - - -columns -2 - - -sizes -50%,50% - - -layoutType -TwoColumns - -org.apache.jetspeed.portlets.layout.ActionLayoutPortlet -org.apache.jetspeed.portlets.layout.resources.LayoutResource -0 - -text/html -view -edit -help - - - -Layout - - - \end{screen} portlet-name には追加する任意のレイアウトの ID を設定してください。 Modified: pal-portal/docs/ja/configuration-guide/trunk/src/tex/design/login.tex =================================================================== --- pal-portal/docs/ja/configuration-guide/trunk/src/tex/design/login.tex 2008-11-21 02:12:54 UTC (rev 1389) +++ pal-portal/docs/ja/configuration-guide/trunk/src/tex/design/login.tex 2008-11-21 02:50:56 UTC (rev 1390) @@ -19,15 +19,20 @@ ログイン画面の表示に利用される JSP ファイル名は login.jsp になります。 login.jsp ファイルは、指定されたテーマやメディアタイプなどのクライアント環境によって、以下の順で検索されます。 -\<theme\>/\<mediatype\>/\<language\>/\<country\>/login.jsp -\<theme\>/\<mediatype\>/\<language\>/login.jsp -\<theme\>/\<mediatype\>/login.jsp -\<theme\>/login.jsp -\<mediatype\>/\<language\>/\<country\>/login.jsp -\<mediatype\>/\<language\>/login.jsp -\<mediatype\>/login.jsp -login.jsp +\begin{itemize} +\item \begin{verbatim}<theme>/<mediatype>/<language>/<country>/login.jsp\end{verbatim} +\item \begin{verbatim}<theme>/<mediatype>/<language>/login.jsp\end{verbatim} +\item \begin{verbatim}<theme>/<mediatype>/login.jsp\end{verbatim} +\item \begin{verbatim}<theme>/login.jsp\end{verbatim} +\item \begin{verbatim}<mediatype>/<language>/<country>/login.jsp\end{verbatim} +\item \begin{verbatim}<mediatype>/<language>/login.jsp\end{verbatim} +\item \begin{verbatim}<mediatype>/login.jsp\end{verbatim} +\item login.jsp +\end{itemize} + + + 上記の順に login.jsp を探していき、存在したものを利用します。 \<theme\> は、http://\<hostname\>/palportal/login/proxy へのアクセスする際にリクエストパラメータとしてorg.apache.jetspeed.login.themeの値として渡された文字列が利用されます。 \<mediatype\>、\<language\>、\<country\> については、アクセスしたクライアント情報から取得した値を利用します。 Modified: pal-portal/docs/ja/configuration-guide/trunk/src/tex/design/portlet-decorator.tex =================================================================== --- pal-portal/docs/ja/configuration-guide/trunk/src/tex/design/portlet-decorator.tex 2008-11-21 02:12:54 UTC (rev 1389) +++ pal-portal/docs/ja/configuration-guide/trunk/src/tex/design/portlet-decorator.tex 2008-11-21 02:50:56 UTC (rev 1390) @@ -38,12 +38,12 @@ ポートレットデコレータは、webapps/palportal/decorations/portletに配置されます。 このディレクトリをルートディレクトリとして、ポートレットデコレータの名前でディレクトリを作成して、以下のファイルを配置します。 +\begin{itemize} +\item decorator.properties +\item css/styles.css +\item decorator.vm +\end{itemize} -decorator.properties -css/styles.css -decorator.vm - - ただし、decorator.vmについては、定義されていない場合にはwebapps/palportal/decorations/portlet/decorator.vmがデフォルトとして使用されます。 Modified: pal-portal/docs/ja/configuration-guide/trunk/src/tex/index.tex =================================================================== --- pal-portal/docs/ja/configuration-guide/trunk/src/tex/index.tex 2008-11-21 02:12:54 UTC (rev 1389) +++ pal-portal/docs/ja/configuration-guide/trunk/src/tex/index.tex 2008-11-21 02:50:56 UTC (rev 1390) @@ -42,8 +42,11 @@ \subsection{技術的なサポートの連絡先} 本製品に関する技術的質問で、ドキュメント内に解決策が得られない場合は、次にアクセスしてください。 -公開フォーラム:http://sourceforge.jp/forum/?group\_id=1972メーリングリスト:http://sourceforge.jp/mail/?group\_id=1972 +\begin{itemize} +\item 公開フォーラム:http://sourceforge.jp/forum/?group\_id=1972 +\item メーリングリスト:http://sourceforge.jp/mail/?group\_id=1972 +\end{itemize} \subsection{関連サードパーティー Web サイトの参照} @@ -55,8 +58,11 @@ \subsection{コメントおよび提案の送付方法} Portal Application Laboratoryプロジェクトは、このドキュメントの改善に努めており、読者からのコメントおよび提案などを歓迎しています。 -メーリングリスト:http://sourceforge.jp/mail/?group\_id=1972 +\begin{itemize} +\item メーリングリスト:http://sourceforge.jp/mail/?group\_id=1972 +\end{itemize} + Modified: pal-portal/docs/ja/configuration-guide/trunk/src/tex/install/directory.tex =================================================================== --- pal-portal/docs/ja/configuration-guide/trunk/src/tex/install/directory.tex 2008-11-21 02:12:54 UTC (rev 1389) +++ pal-portal/docs/ja/configuration-guide/trunk/src/tex/install/directory.tex 2008-11-21 02:50:56 UTC (rev 1390) @@ -29,74 +29,48 @@ これらのうちのいくつかのものについては、別なページで詳しい説明がされます。 +\begin{itemize} +\item webapps/palportal -webapps/palportal +\begin{itemize} +\item decorations +\begin{itemize} +\item layout +\item portlet -decorations +\end{itemize} +\item WEB-INF +\begin{itemize} +\item assembly +\item deploy +\item lib +\item logs +\item pages +\item templates +\end{itemize} -layout +\end{itemize} +\end{itemize} -portlet - - -WEB-INF - - - - -assembly - - - - -deploy - - - - -lib - - - - -logs - - - - -pages - - - - -templates - - - - - - - - \subsection{webapps/palportal/decorations} 画面デザインに関するファイルがこのディレクトリ以下に置かれます。 PALポータルでは、デザインをデコレータと呼ばれる単位で扱います。 +\subsubsection{layout} - レイアウトデコレータが配置されます。 レイアウトデコレータは画面の周辺部分のデザインに関するファイル群になります。 @@ -107,8 +81,8 @@ 画面の周辺部分のデザインを追加したい場合、このlayoutディレクトリに置くことで追加が可能です。詳しい設定については、「レイアウトデコレータ」を参照して下さい。 +\subsubsection{portlet} - ポートレットデコレータが配置されます。 ポートレットデコレータはポートレットのデザインに関するファイル群になります。 @@ -122,34 +96,35 @@ \subsection{webapps/palportal/WEB-INF} +\subsubsection{assembly} PALポータルはデフォルトのコンポーネントフレームワークとして Spring フレームワークを使用しています。 Spring エンジンを初期化するために assembly 以下の xml ファイルが読み込まれます。 +\subsubsection{deploy} - deploy ディレクトリ以下にポートレットの war ファイルを置くことで、ポートレットを配備することができます。 ポートレットの war ファイルは自動配備されます。 +\subsubsection{lib} - PALポータルが使用する jar ファイルが置かれます。 +\subsubsection{logs} - デフォルトの設定ではこのディレクトリにログが出力されます。ログの出力のレベルや出力先ディレクトリは/WEB-INF/conf/Log4j.propertiesを変更することで設定できます。 +\subsubsection{pages} - 各ユーザのページ情報が置かれます。 +\subsubsection{templates} - ログインページや、エラーページなど、共通して使用されるファイルがこのディレクトリ以下に置かれます。 Modified: pal-portal/docs/ja/configuration-guide/trunk/src/tex/install/guide.tex =================================================================== --- pal-portal/docs/ja/configuration-guide/trunk/src/tex/install/guide.tex 2008-11-21 02:12:54 UTC (rev 1389) +++ pal-portal/docs/ja/configuration-guide/trunk/src/tex/install/guide.tex 2008-11-21 02:50:56 UTC (rev 1390) @@ -30,43 +30,49 @@ \subsection{システム要件} +\subsubsection{最小システム要件} +\begin{itemize} +\item JDK(TM) 5 以上 +\item 1 GHz 以上の 32 ビットまたは 64 ビットプロセッサを推奨 +\item 512 MB 以上のメモリー +\item 100 MB 以上のディスクスペース +\end{itemize} -JDK(TM) 5 以上 -1 GHz 以上の 32 ビットまたは 64 ビットプロセッサを推奨 -512 MB 以上のメモリー -100 MB 以上のディスクスペース +\subsubsection{サポートするOS} - - PALポータルは 100% Pure Java(TM) のポータルサーバーです。 ですので、Linux、Windows、Unix、Mac OS X など Java Virtual Machine(JVM(TM)) が動作するオペレーティングシステムで動作可能です。 +\subsubsection{アプリケーションサーバ} - PALポータルは Java のウェブアプリケーションが動作可能なアプリケーションサーバー上で稼働します。 様々なアプリケーションさーバーで動作可能ですが、以下のアプリケーションサーバーで動作確認をしています。 -Tomcat 5.5 -JBoss AS 4.0/4.2 -WebLogic Server 9.2/10 -GlassFish 2 +\begin{itemize} +\item Tomcat 5.5 +\item JBoss AS 4.0/4.2 +\item WebLogic Server 9.2/10 +\item GlassFish 2 +\end{itemize} +\subsubsection{データベース} - PALポータルはポータル内のデータを保存するためのデータベースを必要とします。 様々なデータベースをサポートしていますが、以下のデータベースで動作確認をしています。 -Derby -Oracle -MySQL -Postgres -HSQL +\begin{itemize} +\item Derby +\item Oracle +\item MySQL +\item Postgres +\item HSQL +\end{itemize} データベースの接続に関しては、Apache DB Project の OJB (http://db.apache.org/ojb/) を利用しています。 Modified: pal-portal/docs/ja/configuration-guide/trunk/src/tex/portal/architecture.tex =================================================================== --- pal-portal/docs/ja/configuration-guide/trunk/src/tex/portal/architecture.tex 2008-11-21 02:12:54 UTC (rev 1389) +++ pal-portal/docs/ja/configuration-guide/trunk/src/tex/portal/architecture.tex 2008-11-21 02:50:56 UTC (rev 1390) @@ -30,7 +30,7 @@ \begin{figure}[ht] \begin{center} -\includegraphics{images/portal-layer.eps} +\includegraphics[width=140mm]{images/portal-layer.eps} \caption{TBD} \label{fig:portal-layer} \end{center} @@ -46,9 +46,11 @@ PALポータルは、コンポーネントのパイプライン処理に基づいて、ユーザーからのリクエストを処理します。 +\newpage + \begin{figure}[ht] \begin{center} -\includegraphics{images/j2-overview.eps} +\includegraphics[width=140mm]{images/j2-overview.eps} \caption{TBD} \label{fig:j2-overview} \end{center} @@ -76,16 +78,19 @@ 依存性注入はオブジェクトの作成やオブジェクトのリンクの機能をオブジェクト自身から削除し、ファクトリへ移したパターンです。 それゆえ、依存性注入は明らかにオブジェクトの作成とリンクの制御を反転させており、Inversion of Controls(制御の反転, IOC) の形であると考えることができます。 +\subsubsection{コンポーネントフレームワーク} - PALポータルはデフォルトのコンポーネントフレームワークとしてSpring フレームワークを利用しています。 しかし、PALポータルはコンポーネントフレームワークを、たとえばPicoのような代替可能なコンポーネントフレームワークに容易に置き換えることが可能な構造をしています。 PALポータルのコンポーネントフレームワークの組み立てはJetspeedServlet内に実装されています。 + +\newpage + \begin{figure}[ht] \begin{center} -\includegraphics{images/jetspeedservlet-c.eps} +\includegraphics[width=140mm]{images/jetspeedservlet-c.eps} \caption{TBD} \label{fig:jetspeedservlet-c} \end{center} @@ -98,9 +103,13 @@ そして Spring エンジンを初期化するためにwebapps/palportal/WEB-INF/assembly以下の xml ファイルを解釈します。 JetspeedEngineは適切なコンポーネントマネージャを使って構成されます。 \begin{screen} + +\begin{verbatim} engine = new JetspeedEngine(properties, applicationRoot, config, initializeComponentManager(config, applicationRoot, properties)); +\end{verbatim} + \end{screen} @@ -108,24 +117,21 @@ +\subsubsection{コアコンポーネント} - クライアント識別 - アーチファクト ID: jetspeed-capability - コンポーネント名 説明 - - Capabilities +Capabilitiesコンポーネントはクライアントを、サポートされる MIME タイプ +やメディアタイプにマップします。このコンポーネントはCapabilityMapを生成 +します。CapabilityMapはポータルエンジンを通して、対象となるクライアント +用にポータルコンテンツを表示するために利用されます。 -Capabilitiesコンポーネントはクライアントを、サポートされる MIME タイプやメディアタイプにマップします。このコンポーネントはCapabilityMapを生成します。CapabilityMapはポータルエンジンを通して、対象となるクライアント用にポータルコンテンツを表示するために利用されます。 - - - コンポーネットマネージャ - アーチファクト ID: jetspeed-cm Modified: pal-portal/docs/ja/configuration-guide/trunk/src/tex/portal/guide.tex =================================================================== --- pal-portal/docs/ja/configuration-guide/trunk/src/tex/portal/guide.tex 2008-11-21 02:12:54 UTC (rev 1389) +++ pal-portal/docs/ja/configuration-guide/trunk/src/tex/portal/guide.tex 2008-11-21 02:50:56 UTC (rev 1390) @@ -64,12 +64,15 @@ ポートレットAPI 1.0 (JSR 168) は、Java Community Process (http://jcp.org/) により定義されているポートレットの標準仕様になります。 以下のことなどを定義しています。 -ポートレットの実行環境を定義 -コンテナとポートレット間のAPIを定義 -ポートレットのデータを保存する機能を定義 -サーブレットやJSPを呼び出し -パッケージング方法を定義 +\begin{itemize} +\item ポートレットの実行環境を定義 +\item コンテナとポートレット間のAPIを定義 +\item ポートレットのデータを保存する機能を定義 +\item サーブレットやJSPを呼び出し +\item パッケージング方法を定義 + +\end{itemize} JSR 168 の登場によって、ベンダー間を越えた UI コンポーネントのやりとりが可能になります。 Modified: pal-portal/docs/ja/configuration-guide/trunk/src/tex/portal/tools.tex =================================================================== --- pal-portal/docs/ja/configuration-guide/trunk/src/tex/portal/tools.tex 2008-11-21 02:12:54 UTC (rev 1389) +++ pal-portal/docs/ja/configuration-guide/trunk/src/tex/portal/tools.tex 2008-11-21 02:50:56 UTC (rev 1390) @@ -32,15 +32,17 @@ pal-admin ポートレットは以下のポートレットを含みます。 -ユーザー管理: ユーザー・ロール・グループの管理ツールです。 -ポートレット管理: ポータル内のポートレットを管理するツールです。 -ユーザー登録: 任意のユーザーからのユーザー登録を受け付けるポートレットです。 -パスワード再発行: 任意のユーザーからパスワード再発行要求を受け付けるポートレットです。 -サイトエディター: ポータル内のサイトを管理するツールです。 -パスワード変更: ユーザーのパスワード変更要求を受け付けるポートレットです。 -パーミッションエディター: リソースのパーミッションを編集するツールです。(拡張機能になります) -セキュリティ制約エディター: セキュリティ制約を設定するツールです。(拡張機能になります) -プロファイリングルールエディター: プロファイリングルールを設定するツールです。(拡張機能になります) +\begin{itemize} +\item ユーザー管理: ユーザー・ロール・グループの管理ツールです。 +\item ポートレット管理: ポータル内のポートレットを管理するツールです。 +\item ユーザー登録: 任意のユーザーからのユーザー登録を受け付けるポートレットです。 +\item パスワード再発行: 任意のユーザーからパスワード再発行要求を受け付けるポートレットです。 +\item サイトエディター: ポータル内のサイトを管理するツールです。 +\item パスワード変更: ユーザーのパスワード変更要求を受け付けるポートレットです。 +\item パーミッションエディター: リソースのパーミッションを編集するツールです。(拡張機能になります) +\item セキュリティ制約エディター: セキュリティ制約を設定するツールです。(拡張機能になります) +\item プロファイリングルールエディター: プロファイリングルールを設定するツールです。(拡張機能になります) +\end{itemize} 利用方法については、「管理ガイド」を参照してください。 @@ -49,8 +51,10 @@ pal-wcm ポートレットは以下のポートレットを含みます。 -WCMビューアー: 登録されているコンテンツを表示するポートレットです。 -WCMエディター: 表示するコンテンツを編集するポートレットです。 +\begin{itemize} +\item WCMビューアー: 登録されているコンテンツを表示するポートレットです。 +\item WCMエディター: 表示するコンテンツを編集するポートレットです。 +\end{itemize} 利用方法については、「管理ガイド」を参照してください。 Modified: pal-portal/docs/ja/configuration-guide/trunk/src/tex/portlet/deploy.tex =================================================================== --- pal-portal/docs/ja/configuration-guide/trunk/src/tex/portlet/deploy.tex 2008-11-21 02:12:54 UTC (rev 1389) +++ pal-portal/docs/ja/configuration-guide/trunk/src/tex/portlet/deploy.tex 2008-11-21 02:50:56 UTC (rev 1390) @@ -27,7 +27,9 @@ たとえば、helloworld.war を配備するには、 \begin{screen} -\$ cp/helloworld.war webapps/palportal/WEB-INF/deploy +\begin{verbatim} +$ cp <somewhere>/helloworld.war webapps/palportal/WEB-INF/deploy +\end{verbatim} \end{screen} Modified: pal-portal/docs/ja/configuration-guide/trunk/src/tex/portlet/portal.tex =================================================================== --- pal-portal/docs/ja/configuration-guide/trunk/src/tex/portlet/portal.tex 2008-11-21 02:12:54 UTC (rev 1389) +++ pal-portal/docs/ja/configuration-guide/trunk/src/tex/portlet/portal.tex 2008-11-21 02:50:56 UTC (rev 1390) @@ -28,9 +28,13 @@ たとえば、呼び出し方法は以下のようになります。 \begin{screen} + +\begin{verbatim} RequestContext requestContext = (RequestContext) request - .getAttribute(PortalReservedParameters.REQUEST\_CONTEXT\_ATTRIBUTE); + .getAttribute(PortalReservedParameters.REQUEST_CONTEXT_ATTRIBUTE); +\end{verbatim} + \end{screen} 上記の方法を利用するためには、ポートレット開発において、ビルド時には jetspeed-api の jar ファイルが必要になります。 @@ -52,6 +56,8 @@ \begin{screen} +\begin{verbatim} +<?xml version="1.0" encoding="UTF-8"?> <portlet-app xmlns="http://portals.apache.org/jetspeed" xmlns:js="http://portals.apache.org/jetspeed" @@ -60,15 +66,18 @@ id="pal-admin" version="1.0" xsi:schemaLocation="http://portals.apache.org/jetspeed http://portals.apache.org/jetspeed-2/2.1/schemas/jetspeed-portlet.xsd"> -PAL Portal Administration Portlets -PAL Team + <dc:title>PAL Portal Administration Portlets</dc:title> + <dc:creator>PAL Team</dc:creator> + <js:services> + <js:service name="UserManager"/> + <js:service name="PageManager"/> + <js:service name="PermissionManager"/> + </js:services> +</portlet-app> +\end{verbatim} - - - - \end{screen} 呼び出したいコンポーネントは、js:service で記述します。 @@ -77,131 +86,139 @@ \begin{screen} - - \if0 Portlet Services \fi +\begin{verbatim} +<?xml version="1.0" encoding="UTF-8"?> +<beans> + <!-- Portlet Services --> <bean id="PortalServices" class="org.apache.jetspeed.services.JetspeedPortletServices" > + <constructor-arg> + <map> + <entry key="SecurityProvider"> + <ref bean="org.apache.jetspeed.security.SecurityProvider"/> + </entry> + <entry key="PortletRegistryComponent"> + <ref bean="org.apache.jetspeed.components.portletregistry.PortletRegistry" /> + </entry> + <entry key="SearchComponent"> + <ref bean="org.apache.jetspeed.search.SearchEngine"/> + </entry> + <entry key="PAM"> + <ref bean="PAM" /> + </entry> + <entry key="UserManager"> + <ref bean="org.apache.jetspeed.security.UserManager"/> + </entry> + <entry key="PageManager"> + <ref bean="org.apache.jetspeed.page.PageManager"/> + </entry> + <entry key="RoleManager"> + <ref bean="org.apache.jetspeed.security.RoleManager"/> + </entry> + <entry key="GroupManager"> + <ref bean="org.apache.jetspeed.security.GroupManager"/> + </entry> + <entry key="Profiler"> + <ref bean="org.apache.jetspeed.profiler.Profiler"/> + </entry> + <entry key="SSO"> + <ref bean="org.apache.jetspeed.sso.SSOProvider"/> + </entry> + <entry key="EntityAccessor"> + <ref bean='org.apache.jetspeed.components.portletentity.PortletEntityAccessComponent'/> + </entry> + <entry key="WindowAccessor"> + <ref bean='org.apache.jetspeed.container.window.PortletWindowAccessor'/> + </entry> + <entry key="ApplicationServerManager"> + <ref bean="org.apache.jetspeed.tools.pamanager.servletcontainer.ApplicationServerManager"/> + </entry> + <entry key="PortletFactory"> + <ref bean="portletFactory"/> + </entry> + <entry key="DeploymentManager"> + <ref bean="deploymentManager"/> + </entry> + <entry key='IdGenerator'> + <ref bean='IdGenerator'/> + </entry> + <entry key='Powertools'> + <ref bean='Powertools'/> + </entry> + <entry key="HeaderResource"> + <ref bean="org.apache.jetspeed.headerresource.HeaderResourceFactory"/> + </entry> + <entry key="TemplateLocator"> + <ref bean="TemplateLocator"/> + </entry> + <entry key="DecorationLocator"> + <ref bean="DecorationLocator"/> + </entry> + <entry key="DecorationFactory"> + <ref bean="DecorationFactory"/> + </entry> + <entry key="PermissionManager"> + <ref bean="org.apache.jetspeed.security.PermissionManager"/> + </entry> + <entry key="PortalStatistics"> + <ref bean="PortalStatistics"/> + </entry> + <entry key="PortalAdministration"> + <ref bean="PortalAdministration"/> + </entry> + <entry key="PreferencesProvider"> + <ref bean="org.apache.jetspeed.prefs.PreferencesProvider"/> + </entry> + <entry key="org.apache.jetspeed.container.session.PortalSessionsManager"> + <ref bean="org.apache.jetspeed.container.session.PortalSessionsManager"/> + </entry> + <entry key="SecurityAccessController"> + <ref bean="org.apache.jetspeed.security.SecurityAccessController"/> + </entry> + <entry key="PortletTrackingManager"> + <ref bean="org.apache.jetspeed.aggregator.PortletTrackingManager"/> + </entry> + <entry key ="PortalAuthenticationConfiguration"> + <ref bean="org.apache.jetspeed.administration.PortalAuthenticationConfiguration"/> + </entry> + <entry key ="PortalConfiguration"> + <ref bean="PortalConfiguration"/> + </entry> + <entry key="ImporterManager"> + <ref bean="importerCastorPageManager"/> + </entry> + <entry key="decorationContentCache"> + <ref bean="decorationContentCache"/> + </entry> + <entry key="portletContentCache"> + <ref bean="portletContentCache"/> + </entry> + <entry key="AuditActivity"> + <ref bean="org.apache.jetspeed.audit.AuditActivity"/> + </entry> + <entry key="JetspeedSerializerFactory"> + <ref bean="org.apache.jetspeed.serializer.JetspeedSerializerFactory"/> + </entry> + </map> + </constructor-arg> + </bean> +</beans> +\end{verbatim} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \end{screen} ポートレット内での呼び出し方法は、PortletContext から取得します。 たとえば、PageManager は以下のように取得します。 \begin{screen} + +\begin{verbatim} PageManager pageManager = (PageManager) getPortletContext() - .getAttribute(CommonPortletServices.CPS\_PAGE\_MANAGER\_COMPONENT); + .getAttribute(CommonPortletServices.CPS_PAGE_MANAGER_COMPONENT); +\end{verbatim} + \end{screen} Modified: pal-portal/docs/ja/configuration-guide/trunk/src/tex/portlet/portlet.tex =================================================================== --- pal-portal/docs/ja/configuration-guide/trunk/src/tex/portlet/portlet.tex 2008-11-21 02:12:54 UTC (rev 1389) +++ pal-portal/docs/ja/configuration-guide/trunk/src/tex/portlet/portlet.tex 2008-11-21 02:50:56 UTC (rev 1390) @@ -30,11 +30,13 @@ この節は、簡単なポートレットを作成するためのチュートリアルです。 ポートレットの開発者は以下のような順序で開発ができます。 +\subsubsection{ポートレットクラス} - simplest/WEB-INF/classes ディレクトリに Simplest.java というファイルを以下のように作成してください。 \begin{screen} + +\begin{verbatim} public class Simplest extends javax.portlet.GenericPortlet { public void doView(javax.portlet.RenderRequest request, javax.portlet.RenderResponse response) @@ -44,72 +46,93 @@ response.getWriter().println("A very simple portlet."); } } +\end{verbatim} + \end{screen} 以下のようにコマンドを入力してクラスをコンパイルしてください。 \begin{screen} -\$ javac -cp ~/.maven/repository/org.apache.portals.jetspeed-2/jars/portlet-api-1.0.jar Simplest.java +\begin{verbatim} +$ javac -cp ~/.maven/repository/org.apache.portals.jetspeed-2/jars/portlet-api-1.0.jar Simplest.java +\end{verbatim} + + \end{screen} +\subsubsection{portlet.xml} simplest/WEB-INF ディレクトリに portlet.xml ファイルを作成してください。 \begin{screen} +\begin{verbatim} +<?xml version="1.0" encoding="UTF-8"?> +<portlet-app id="simplest" version="1.0"> + <portlet id="Simplest"> + <portlet-name>Simplest</portlet-name> + <display-name>Simple Display Name</display-name> + <portlet-class>Simplest</portlet-class> + <supports> + <mime-type>text/html</mime-type> + <portlet-mode>VIEW</portlet-mode> + </supports> + <supported-locale>en</supported-locale> + <portlet-info> + <title>Simple Title</title> + <short-title>The world's simplest portlet</short-title> + </portlet-info> + </portlet> +</portlet-app> +\end{verbatim} -Simplest -Simple Display Name -Simplest -text/html -VIEW - -en - - -The world's simplest portlet - - - - \end{screen} +\subsubsection{web.xml}¹ - simplest/WEB-INF ディレクトリに web.xml ファイルを作成してください。 \begin{screen} +\begin{verbatim} +<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" - "http://java.sun.com/dtd/web-app\_2\_3.dtd"> + "http://java.sun.com/dtd/web-app_2_3.dtd"> +<web-app> + <display-name>Simplest</display-name> + <description>The world's simplest portlet</description> +</web-app> +\end{verbatim} -Simplest -The world's simplest portlet - \end{screen} +\subsubsection{WARファイル} - simplest ディレクトリで、以下のようなコマンドを実行して、以上のファイルを war ファイルにまとめてください。 \begin{screen} -\$ jar cvf ../simplest.war . +\begin{verbatim} +$ jar cvf ../simplest.war . +\end{verbatim} + + \end{screen} +\subsubsection{WARファイルの配備} - war ファイルをwebapps/palportal/WEB-INF/deployにコピーしてください。 PALポータルは webapp を配備します。 +\subsubsection{ページに配置} 作成したポートレットをページ上に配置してください。 配置する方法については、「管理ガイド」を参照してください。 Modified: pal-portal/docs/ja/configuration-guide/trunk/src/tex/profiler/guide.tex =================================================================== --- pal-portal/docs/ja/configuration-guide/trunk/src/tex/profiler/guide.tex 2008-11-21 02:12:54 UTC (rev 1389) +++ pal-portal/docs/ja/configuration-guide/trunk/src/tex/profiler/guide.tex 2008-11-21 02:50:56 UTC (rev 1390) @@ -29,7 +29,15 @@ PALポータルのプロファイラーは、ポータルのリソースの場所に関するルールベースのエンジンです。 PALポータルでは、プロファイラーは以下のような種類のポータルリソースの場所を決定します。 -PSML ページフォルダメニュー + +\begin{itemize} + +\item PSML ページ +\item フォルダ +\item メニュー + +\end{itemize} + リクエストがポータルで受信されたとき、プロファイラーは実行時パラメータや状態 (リクエストパラメータ、HTTP ヘッダー、セッションの属性など) の正規化された値に基づき、リクエストをリソースと結びつけます。 プロファイラーはプロファイラーバルブ内の PALポータルのリクエスト処理パイプラインの中で呼び出されます。 このバルブは、リクエストコンテキストが既にポータルのリクエストやレスポンス、機能、言語、ユーザ情報と関連づけられている必要があります。 Modified: pal-portal/docs/ja/configuration-guide/trunk/src/tex/profiler/profilingrule.tex =================================================================== --- pal-portal/docs/ja/configuration-guide/trunk/src/tex/profiler/profilingrule.tex 2008-11-21 02:12:54 UTC (rev 1389) +++ pal-portal/docs/ja/configuration-guide/trunk/src/tex/profiler/profilingrule.tex 2008-11-21 02:50:56 UTC (rev 1390) @@ -27,6 +27,7 @@ \subsection{プロファイリングルール} +\subsubsection{概要} プロファイリングルールは、特定のリソースの場所を解決するリクエストを評価するときに使われる判断規準のリストを定義します。 プロファイリングルールはプロファイラーが使用します。 @@ -36,6 +37,7 @@ 全ての条件が適用されつくした場合、ルールは失敗となりフォールバックリソースが要求されます。 +\subsubsection{ルール規準} ルール規準はプロファイルのプロパティの場所を示すためのテンプレートです。 @@ -45,86 +47,58 @@ +\subsubsection{ルール規準のリゾルバ} -リゾルバ -説明 +\begin{table}[htbp] +\begin{center} + \begin{tabular}[tb]{|l|l|} +\hline +リゾルバ & 説明\\ +\hline\hline +request & リクエストパラメータ名とのマッチングによる解決\\ +\hline +session & セッションの属性名とのマッチングによる解決\\ +\hline +request.session & 最初にリクエストの属性名とのマッチングを行ってから、セッションの属性名とのマッチングを行って解決する\\ +\hline +hard.coded & ハードコードされた値による解決\\ +\hline +group.role.user & フォールバックコントローラ: 現在のユーザーグループ、次にロール、次にユーザーの所有するフォルダ以下のリソースを探す\\ +\hline +user & 現在のユーザーのディレクトリ内のリソースとマッチさせる\\ +\hline +group & 現在のグループのディレクトリ内のリソースとマッチさせる\\ +\hline +role & 現在のロールのディレクトリ内のリソースとマッチさせる\\ +\hline +mediatype & リクエストコンテキスト内のメディアタイプとマッチさせる\\ +\hline +country & リクエストコンテキスト内の国とマッチさせる\\ +\hline +user.agent & リクエストコンテキスト内のユーザーエージェントとマッチさせる\\ +\hline +language & リクエストコンテキスト内の言語とマッチさせる\\ +\hline +roles & ロールのフォールバック\\ +\hline +path & 指定されたパスとマッチする\\ +\hline +page & 指定されたページとマッチする\\ +\hline +path.session & 指定されたパスまたはセッションの値とマッチする\\ +\hline +user.attribute & 指定されたリクエスト属性の値とマッチする\\ +\hline +navigation & 現在のナビゲーションパスを変える\\ +\hline + \end{tabular} +\end{center} +\end{table} -request -リクエストパラメータ名とのマッチングによる解決 -session -セッションの属性名とのマッチングによる解決 -request.session -最初にリクエストの属性名とのマッチングを行ってから、セッションの属性名とのマッチングを行って解決する - -hard.coded -ハードコードされた値による解決 - - -group.role.user -フォールバックコントローラ: 現在のユーザーグループ、次にロール、次にユーザーの所有するフォルダ以下のリソースを探す - - -user -現在のユーザーのディレクトリ内のリソースとマッチさせる - - -group -現在のグループのディレクトリ内のリソースとマッチさせる - - -role -現在のロールのディレクトリ内のリソースとマッチさせる - - -mediatype -リクエストコンテキスト内のメディアタイプとマッチさせる - - -country -リクエストコンテキスト内の国とマッチさせる - - -user.agent -リクエストコンテキスト内のユーザーエージェントとマッチさせる - - -language -リクエストコンテキスト内の言語とマッチさせる - - -roles -ロールのフォールバック - - -path -指定されたパスとマッチする - - -page -指定されたページとマッチする - - -path.session -指定されたパスまたはセッションの値とマッチする - - -user.attribute -指定されたリクエスト属性の値とマッチする - - -navigation -現在のナビゲーションパスを変える - - - - - - - Modified: pal-portal/docs/ja/configuration-guide/trunk/src/tex/psml/guide.tex =================================================================== --- pal-portal/docs/ja/configuration-guide/trunk/src/tex/psml/guide.tex 2008-11-21 02:12:54 UTC (rev 1389) +++ pal-portal/docs/ja/configuration-guide/trunk/src/tex/psml/guide.tex 2008-11-21 02:50:56 UTC (rev 1390) @@ -45,129 +45,145 @@ \begin{screen} +\begin{verbatim} +<?xml version="1.0" encoding="UTF-8"?> +<page> + <!-- ページの情報 --> + <title>Welcome to PALポータル</title> + <metadata name="title" xml:lang="fr">Ma Premiere Page de PSML</metadata> + <metadata name="title" xml:lang="es">潤タBienvenido a PALポータル!</metadata> + <metadata name="title" xml:lang="hu">K醇rsz醇rnti a PALポータル!</metadata> - \if0 ページの情報 \fi + <!-- ページの装飾 --> + <defaults skin="orange" layout-decorator="tigris" portlet-decorator="tigris"/> -Ma Premiere Page de PSML -¡Bienvenido a PALポータル! -Köszönti a PALポータル! + <!-- ページフラグメント --> + <fragment id="100393" type="layout" name="jetspeed-layouts::VelocityOneColumn"> + <fragment id="100939" type="portlet" name="j2-admin::LocaleSelector"> + <property layout="OneColumn" name="row" value="0"/> + </fragment> + <fragment id="100345" type="layout" name="jetspeed-layouts::VelocityTwoColumns"> + <property layout="OneColumn" name="row" value="1"/> + <property layout="TwoColumns" name="sizes" value="33%,66%"/> + <fragment id="100121" type="portlet" name="j2-admin::LoginPortlet"> + <property layout="TwoColumns" name="row" value="0"/> + <property layout="TwoColumns" name="column" value="0"/> + </fragment> + <fragment id="100171" type="portlet" name="demo::UserInfoTest"> + <property layout="TwoColumns" name="row" value="0"/> + <property layout="TwoColumns" name="column" value="1"/> + </fragment> + </fragment> + </fragment> - \if0 ページの装飾 \fi + <!-- セキュリティ制限 --> + <security-constraints> + <security-constraints-ref>public-view</security-constraints-ref> + </security-constraints> +</page> +\end{verbatim} - \if0 ページフラグメント \fi - - - - - - - - - - - - - - - - - - - \if0 セキュリティ制限 \fi - -public-view - - - \end{screen} 以下に、ポータルサイトのフォルダ (folder.metadata) 用の定義を行う PSML ファイルの例を示します。 \begin{screen} +\begin{verbatim} +<?xml version="1.0" encoding="UTF-8"?> +<folder> + <!-- フォルダの説明 --> + <title>Root Folder</title> + <metadata name="title" xml:lang="fr">R醇Ppertoire racine</metadata> + <metadata name="title" xml:lang="es">Carpeta raiz</metadata> - \if0 フォルダの説明 \fi - -Répertoire racine -Carpeta raiz + <!-- フォルダ内のドキュメントの順序 --> + <document-order>Jetspeed2.link</document-order> + <document-order>Jetspeed2Wiki.link</document-order> + <document-order>apache_portals.link</document-order> + <document-order>apache.link</document-order> - \if0 フォルダ内のドキュメントの順序 \fi -Jetspeed2.link -Jetspeed2Wiki.link -apache\_portals.link -apache.link + <!-- ポータルサイトのメニュー --> + <menu name="page-navigations"> + <separator> + <text>Top Pages</text> + <metadata name="text" xml:lang="fr">Page haut</metadata> + <metadata name="text" xml:lang="es">P醇@ginas m醇@s populares</metadata> + </separator> + <options>/Administrative</options> + <separator> + <text>Profiled Pages</text> + <metadata name="text" xml:lang="es">P醇@ginas del Perfil</metadata> + </separator> + <options regexp="true">/p[0-9][0-9][0-9].psml</options> + <separator> + <text>Non Java Pages</text> + <metadata name="text" xml:lang="es">Ejemplos sin java</metadata> + </separator> + <options>/non-java</options> + </menu> - \if0 ポータルサイトのメニュー \fi + <!-- セキュリティ制限 --> + <security-constraints> + <security-constraints-ref>public-view</security-constraints-ref> + </security-constraints> +</folder> +\end{verbatim} -Top Pages -Page haut -Páginas más populares - -/Administrative - -Profiled Pages -Páginas del Perfil - -/p[0-9][0-9][0-9].psml - -Non Java Pages -Ejemplos sin java - -/non-java - - - \if0 セキュリティ制限 \fi - -public-view - - - \end{screen} 以下に、ポータルサイトのリンク (*.link) 用の PSML ファイルの例を示します。 \begin{screen} +\begin{verbatim} +<?xml version="1.0" encoding="UTF-8"?> +<link target="top"> + <!-- リンクの説明 --> + <title>PALポータルHome Page</title> + <url>http://portals.apache.org/jetspeed-2/</url> + <metadata name="title" xml:lang="es">PALポータル</metadata> +</link> +\end{verbatim} - \if0 リンクの説明 \fi -http://portals.apache.org/jetspeed-2/ -PALポータル - - \end{screen} 以下に、ポータルサイトのページのセキュリティ (page.security) 用の PSML ファイルの例を示します。 \begin{screen} +\begin{verbatim} +<?xml version="1.0" encoding="UTF-8"?> +<page-security> + <!-- 大域的な管理者の制限 --> + <security-constraints-def name="admin"> + <security-constraint> + <roles>admin</roles> + <permissions>view, edit</permissions> + </security-constraint> + </security-constraints-def> + <global-security-constraints-ref>admin</global-security-constraints-ref> - \if0 大域的な管理者の制限 \fi + <!-- パブリックな制限 --> + <security-constraints-def name="public-view"> + <security-constraint> + <users>*</users> + <permissions>view</permissions> + </security-constraint> + </security-constraints-def> + <security-constraints-def name="public-edit"> + <security-constraint> + <users>*</users> + <permissions>view, edit</permissions> + </security-constraint> + </security-constraints-def> +</page-security> +\end{verbatim} -admin -view, edit - - -admin - - \if0 パブリックな制限 \fi - - -* -view - - - - -* -view, edit - - - - \end{screen} \subsection{ ページ} @@ -177,60 +193,51 @@ 2 つの有効な属性がページエレメントの属性として存在します。 +\begin{table}[htbp] +\begin{center} + \begin{tabular}[tb]{|l|l|} +\hline +属性 & 説明\\ +\hline\hline +hidden & ページがポータルサイトのサイトメニューまたは他のナビゲーション用の要素に表れるかどうかを指示するための真偽値の属性。\\ +\hline +version & 一般的な目的のバージョントラッキングのための属性。PALポータルでは現在使われていません。\\ +\hline + \end{tabular} +\end{center} +\end{table} -属性 -説明 -hidden -ページがポータルサイトのサイトメニューまたは他のナビゲーション用の要素に表れるかどうかを指示するための真偽値の属性。 - - -version -一般的な目的のバージョントラッキングのための属性。PALポータルでは現在使われていません。 - - - \<page\> 要素は多くの他の PSML 要素を含みます。 +\begin{table}[htbp] +\begin{center} + \begin{tabular}[tb]{|l|l|} +\hline +要素 & 説明\\ +\hline\hline +title? & デフォルトのページタイトルを表すテキストを含む単純な要素。ページのタイトルは、その長い説明とみなされます。もしメニューテキスト用の短いタイトルが利用可能であれば、一部のデコレータでロールオーバー用のテキストとして使われます。もし指定されていなければ、PALポータルは page 要素を含むファイルのファイル名からタイトルを決めようと試みます。\\ +\hline +short-title? & ページのデフォルトの短いタイトルのテキストを含む単純で省略可能な要素。短いタイトルは、もし利用可能であれば、一部のデコレータ内のメニューテキストとして使われます。もし指定されない場合は title のテキストが使われます。\\ +\hline +defaults & ページとそのフラグメントのための装飾を指定します。defaults はページ毎に必要です。\\ +\hline +fragment & フラグメントの階層構造のルート。全てのページにルートのフラグメントが必要です。\\ +\hline +metadata* & 省略可能の指定である、ページ用のロケール特有のタイトルと短いタイトル。\\ +\hline +menu* & 省略可能の指定である、ページ用の追加または上書きされた継承したメニュー定義の指定。\\ +\hline +security-constraints? & 省略可能の定義である、ページ用のインラインのセキュリティ制限の定義。もし指定されなければ、ページは親フォルダ内の有効なセキュリティ制限を継承します。\\ +\hline + \end{tabular} +\end{center} +\end{table} -要素 -説明 -title? -デフォルトのページタイトルを表すテキストを含む単純な要素。ページのタイトルは、その長い説明とみなされます。もしメニューテキスト用の短いタイトルが利用可能であれば、一部のデコレータでロールオーバー用のテキストとして使われます。もし指定されていなければ、PALポータルは page 要素を含むファイルのファイル名からタイトルを決めようと試みます。 - - -short-title? -ページのデフォルトの短いタイトルのテキストを含む単純で省略可能な要素。短いタイトルは、もし利用可能であれば、一部のデコレータ内のメニューテキストとして使われます。もし指定されない場合は title のテキストが使われます。 - - - - defaults - -ページとそのフラグメントのための装飾を指定します。defaults はページ毎に必要です。 - - - - fragment - -フラグメントの階層構造のルート。全てのページにルートのフラグメントが必要です。 - - -metadata* -省略可能の指定である、ページ用のロケール特有のタイトルと短いタイトル。 - - -menu* -省略可能の指定である、ページ用の追加または上書きされた継承したメニュー定義の指定。 - - -security-constraints? -省略可能の定義である、ページ用のインラインのセキュリティ制限の定義。もし指定されなければ、ページは親フォルダ内の有効なセキュリティ制限を継承します。 - - 例: 「概要」で示した例を参照してください。 \subsection{デフォルト} @@ -240,30 +247,34 @@ デフォルトのポートレットデコレータは、デコレータ属性を持たない全てのポートレットフラグメントに対して適用されます。 defaults 要素には 3 つの有効な属性があります。 +\begin{table}[htbp] +\begin{center} + \begin{tabular}[tb]{|l|l|} +\hline +属性 & 説明\\ +\hline\hline +layout-decorator & ページをレンダリングするときに使うレイアウトデコレータの名前。この属性は必須です。\\ +\hline +portlet-decorator & ページフラグメントをレンダリングするときに使うデフォルトのポートレットデコレータの名前。この属性は省略可能ですが、ほとんどいつも設定します。\\ +\hline +skin & ページやフラグメントの表示を制御するためにデコレータ内で参照される一般的な目的のデコレータ属性。現時点では PALポータルでは使用していません。\\ +\hline + \end{tabular} +\end{center} +\end{table} -属性 -説明 - -layout-decorator -ページをレンダリングするときに使うレイアウトデコレータの名前。この属性は必須です。 - - -portlet-decorator -ページフラグメントをレンダリングするときに使うデフォルトのポートレットデコレータの名前。この属性は省略可能ですが、ほとんどいつも設定します。 - - -skin -ページやフラグメントの表示を制御するためにデコレータ内で参照される一般的な目的のデコレータ属性。現時点では PALポータルでは使用していません。 - - 例: \begin{screen} +\begin{verbatim} +<page> ... - + <defaults skin="orange" layout-decorator="tigris" portlet-decorator="tigris"/> ... +</page> +\end{verbatim} \end{screen} @@ -278,72 +289,68 @@ これは、複数列のレイアウトの列の割合をコントロールするのに使われます。 この要素には 3 つの必須の属性があります。 +\begin{table}[htbp] +\begin{center} + \begin{tabular}[tb]{|l|l|} +\hline +属性 & 説明\\ +\hline\hline +id & 必須である id は、フラグメントを特定するのに使います。そして、サイト内で定義される全てのフラグメントに渡ってユニークでなければなりません。この値は PALポータルに対して透過的でなく、一意性を保証するためのどのような仕様にも従うことが可能です。フラグメントは PALポータルで内部的にキャッシュされる可能性があるので、既存のページに対する任意の編集が、PALポータルが行う変更を保証するために新しい id を必要とするかも知れません。\\ +\hline +type & この必須の属性はレイアウトフラグメント全てで 'layout' と指定しなければなりません。\\ +\hline +name & 必須であるポートレット名は、フラグメントレイアウトを実装するのに使われます。ポートレット名は一般的に、portlet.xml ファイルで指定された 'portlet-app-id::portlet-id' の形を取ります。\\ +\hline + \end{tabular} +\end{center} +\end{table} -属性 -説明 - - -id -必須である id は、フラグメントを特定するのに使います。そして、サイト内で定義される全てのフラグメントに渡ってユニークでなければなりません。この値は PALポータルに対して透過的でなく、一意性を保証するためのどのような仕様にも従うことが可能です。フラグメントは PALポータルで内部的にキャッシュされる可能性があるので、既存のページに対する任意の編集が、PALポータルが行う変更を保証するために新しい id を必要とするかも知れません。 - - -type -この必須の属性はレイアウトフラグメント全てで 'layout' と指定しなければなりません。 - - -name -必須であるポートレット名は、フラグメントレイアウトを実装するのに使われます。ポートレット名は一般的に、portlet.xml ファイルで指定された 'portlet-app-id::portlet-id' の形を取ります。 - - - - レイアウト \<fragment\> 要素はたくさんの他の PSML 要素を含みます。 +\begin{table}[htbp] +\begin{center} + \begin{tabular}[tb]{|l|l|} +\hline +要素 & 説明\\ +\hline\hline +fragment* & 指定された fragment 要素は、レイアウトフラグメントによってレイアウトされるポートレットフラグメント、または階層化されたレイアウトフラグメントのどちらにも成り得ます。全ての子フラグメントにはこのレイアウトの位置を指定するための property 要素が必須です。レイアウトフラグメント内に指定されるフラグメントがない場合は結果としてコンテンツは生成されません。\\ +\hline +property* & レイアウトフラグメントは省略可能で 'sizes' プロパティを持つことが可能です。これは複数列の形状の明細を指定するのに使うことが可能です。階層化されたレイアウトフラグメントは、親レイアウト内の位置を特定するために 'row' または 'column' またはその両方のプロパティも持つかもしれません。\\ +\hline +security-constraints? & フラグメントとそのフラグメントの子フラグメントに対して、省略可能なインラインのセキュリティ制限を定義します。ページ、リンクの制約と違って、'view' パーミッションのみが制限されます。もし指定されなければ、フラグメントはページ内で有効なセキュリティ制限を継承します。\\ +\hline + \end{tabular} +\end{center} +\end{table} -要素 -説明 - - - fragment* - -指定された fragment 要素は、レイアウトフラグメントによってレイアウトされるポートレットフラグメント、または階層化されたレイアウトフラグメントのどちらにも成り得ます。全ての子フラグメントにはこのレイアウトの位置を指定するための property 要素が必須です。レイアウトフラグメント内に指定されるフラグメントがない場合は結果としてコンテンツは生成されません。 - - - - property* - -レイアウトフラグメントは省略可能で 'sizes' プロパティを持つことが可能です。これは複数列の形状の明細を指定するのに使うことが可能です。階層化されたレイアウトフラグメントは、親レイアウト内の位置を特定するために 'row' または 'column' またはその両方のプロパティも持つかもしれません。 - - -security-constraints? -フラグメントとそのフラグメントの子フラグメントに対して、省略可能なインラインのセキュリティ制限を定義します。ページ、リンクの制約と違って、'view' パーミッションのみが制限されます。もし指定されなければ、フラグメントはページ内で有効なセキュリティ制限を継承します。 - - 例: \begin{screen} - +\begin{verbatim} +<page> ... - - - - - - - - - - - - - - - - - + <fragment id="100393" type="layout" name="jetspeed-layouts::VelocityOneColumn"> + <fragment id="100939" type="portlet" name="j2-admin::LocaleSelector"> + <property layout="OneColumn" name="row" value="0"/> + </fragment> + <fragment id="100345" type="layout" name="jetspeed-layouts::VelocityTwoColumns"> + <property layout="OneColumn" name="row" value="1"/> + <property layout="TwoColumns" name="sizes" value="33%,66%"/> + <fragment id="100121" type="portlet" name="j2-admin::LoginPortlet"> + <property layout="TwoColumns" name="row" value="0"/> + <property layout="TwoColumns" name="column" value="0"/> + </fragment> + <fragment id="100171" type="portlet" name="demo::UserInfoTest"> + <property layout="TwoColumns" name="row" value="0"/> + <property layout="TwoColumns" name="column" value="1"/> + </fragment> + </fragment> + </fragment> ... +</page> +\end{verbatim} \end{screen} @@ -354,73 +361,62 @@ ですので、レイアウトで定められている 'row' と 'column' のレイアウトプロパティをサポートします。 この要素に対しては多数の有効な属性が存在します。 +\begin{table}[htbp] +\begin{center} + \begin{tabular}[tb]{|l|l|} +\hline +属性 & 説明\\ +\hline\hline +id & 必須である id は、フラグメントを特定するのに使います。そして、サイト内で定義される全てのフラグメントに渡って、ユニークでなければなりません。この値は PALポータルに対して透過的でなく、一意性を保証するためのどのような仕様にも従うことが可能です。フラグメントは PALポータルで内部的にキャッシュされる可能性があるので、既存のページに対する任意の編集が、PALポータルが行う変更を保証するために新しい id を必要とするかも知れません。\\ +\hline +type & この必須の属性は全てのポートレットフラグメントで 'portlet' と指定しなければなりません。\\ +\hline +name & 必須であるポートレット名は、フラグメントコンテンツを流し込むのに使われます。ポートレット名は一般的に portlet.xml ファイルで指定された 'portlet-app-id::portlet-id' の形を取ります。\\ +\hline +skin & フラグメントの表示のコントロールのための、ポートレットデコレータ内で参照する可能性のある一般的な目的のデコレータ属性。現時点では PALポータルでは使っていません。\\ +\hline +decorator & デフォルトのポートレットデコレータ名は、フラグメントのレンダリングに使われます。この属性は省略可能です。しかし、この属性が指定されない場合は、ページの defaults がデフォルトのポートレットデコレータを指定します。\\ +\hline +state & フラグメントポートレットの初期状態; 現時点ではこの属性に対しては、唯一 'hidden' が有効な値です。\\ +\hline + \end{tabular} +\end{center} +\end{table} -属性 -説明 - - -id -必須である id は、フラグメントを特定するのに使います。そして、サイト内で定義される全てのフラグメントに渡って、ユニークでなければなりません。この値は PALポータルに対して透過的でなく、一意性を保証するためのどのような仕様にも従うことが可能です。フラグメントは PALポータルで内部的にキャッシュされる可能性があるので、既存のページに対する任意の編集が、PALポータルが行う変更を保証するために新しい id を必要とするかも知れません。 - - -type -この必須の属性は全てのポートレットフラグメントで 'portlet' と指定しなければなりません。 - - -name -必須であるポートレット名は、フラグメントコンテンツを流し込むのに使われます。ポートレット名は一般的に portlet.xml ファイルで指定された 'portlet-app-id::portlet-id' の形を取ります。 - - -skin -フラグメントの表示のコントロールのための、ポートレットデコレータ内で参照する可能性のある一般的な目的のデコレータ属性。現時点では PALポータルでは使っていません。 - - -decorator -デフォルトのポートレットデコレータ名は、フラグメントのレンダリングに使われます。この属性は省略可能です。しかし、この属性が指定されない場合は、ページの defaults がデフォルトのポートレットデコレータを指定します。 - - -state -フラグメントポートレットの初期状態; 現時点ではこの属性に対しては、唯一 'hidden' が有効な値です。 - - - ポートレットの \<fragment\> 要素は他の PSML 要素を含みます。 +\begin{table}[htbp] +\begin{center} + \begin{tabular}[tb]{|l|l|} +\hline +要素 & 説明\\ +\hline\hline +property* & 親フラグメントは、親レイアウト内の位置を特定するために、'row' または 'column' またはその両方のプロパティを持てます。\\ +\hline +title? & フラグメントポートレットのタイトルを含む、省略可能で単純なテキストの要素。portlet.xml でセットされたタイトルを上書きします。\\ +\hline +preference* & フラグメントポートレットにたいして、設定される初期のユーザプリファレンスを指定します。portlet.xml 内で指定された、どのようなポートレットプリファレンスも上書きされます。\\ +\hline +security-constraints? & フラグメントに対するインラインのセキュリティ制限を省略可能で定義します。ページ、フォルダの制約と違って、'view' パーミッションだけを制限できます。もし指定されない場合は、そのフラグメントは page 内で有効なセキュリティ制限を継承します。\\ +\hline + \end{tabular} +\end{center} +\end{table} -要素 -説明 - - - - property* - -親フラグメントは、親レイアウト内の位置を特定するために、'row' または 'column' またはその両方のプロパティを持てます。 - - -title? -フラグメントポートレットのタイトルを含む、省略可能で単純なテキストの要素。portlet.xml でセットされたタイトルを上書きします。 - - - - preference* - -フラグメントポートレットにたいして、設定される初期のユーザプリファレンスを指定します。portlet.xml 内で指定された、どのようなポートレットプリファレンスも上書きされます。 - - -security-constraints? -フラグメントに対するインラインのセキュリティ制限を省略可能で定義します。ページ、フォルダの制約と違って、'view' パーミッションだけを制限できます。もし指定されない場合は、そのフラグメントは page 内で有効なセキュリティ制限を継承します。 - - 例: \begin{screen} +\begin{verbatim} +<fragment id="100393" type="layout" name="jetspeed-layouts::VelocityOneColumn"> ... - - - + <fragment id="100939" type="portlet" name="j2-admin::LocaleSelector"> + <property layout="OneColumn" name="row" value="0"/> + </fragment> ... +</fragment> +\end{verbatim} \end{screen} @@ -430,38 +426,48 @@ これらのプロパティは一般にレイアウトポートレットのパラメータとページ内のポートレットの位置を指定するために使われます。 プロパティ要素は 3 つの属性をサポートします。 +\begin{table}[htbp] +\begin{center} + \begin{tabular}[tb]{|l|l|} +\hline +要素 & 説明\\ +\hline\hline +property* & 親フラグメントは、親レイアウト内の位置を特定するために、'row' または 'column' またはその両方のプロパティを持てます。\\ +\hline +title? & フラグメントポートレットのタイトルを含む、省略可能で単純なテキストの要素。portlet.xml でセットされたタイトルを上書きします。\\ +\hline +preference* & フラグメントポートレットにたいして、設定される初期のユーザプリファレンスを指定します。portlet.xml 内で指定された、どのようなポートレットプリファレンスも上書きされます。\\ +\hline +security-constraints? & フラグメントに対するインラインのセキュリティ制限を省略可能で定義します。ページ、フォルダの制約と違って、'view' パーミッションだけを制限できます。もし指定されない場合は、そのフラグメントは page 内で有効なセキュリティ制限を継承します。\\ +\hline + \end{tabular} +\end{center} +\end{table} -属性 -説明 - -layout(廃止予定) -プロパティが紐付いているフラグメントポートレットの識別名。この属性は互換性のために用意されています。レイアウトとポートレットフラグメントの厳密な階層構造は、どのような単一のフラグメントとそのプロパティも、 1 つのレイアウトポートレットの影響下にある可能性があることを意味します。 - - -name -フラグメントプロパティの名前。PALポータルのレイアウトポートレットは 'row'、'column'、'sizes' プロパティをサポートします。 - - -value -フラグメントプロパティの値。'row' と 'column' プロパティはゼロベースの指標値を受け取ります。'sizes' プロパティは HTML frameset タグの 'rows' と 'cols' 属性の書式 (例えば '25%,75%' 等) を受け取ります。 - - 例: \begin{screen} +\begin{verbatim} +<fragment id="100876" type="portlet" name="j2-admin::LoginPortlet"> ... - - + <property layout="TwoColumns" name="row" value="2"/> + <property layout="TwoColumns" name="column" value="1"/> ... +</fragment> +\end{verbatim} \end{screen} \begin{screen} +\begin{verbatim} +<fragment id="103456" type="layout" name="jetspeed-layouts::VelocityTwoColumns"> ... - + <property layout="TwoColumns" name="sizes" value="33%,66%"/> ... +</fragment> +\end{verbatim} \end{screen} @@ -477,38 +483,48 @@ \<preference\> 要素の属性は以下のようなものです。 +\begin{table}[htbp] +\begin{center} + \begin{tabular}[tb]{|l|l|} +\hline +属性 & 説明\\ +\hline\hline +name & プリファレンスの名前。\\ +\hline +readOnly & ユーザがこのプリファレンス値を変えることができるかどうかを示す真偽値。\\ +\hline + \end{tabular} +\end{center} +\end{table} -属性 -説明 - -name -プリファレンスの名前。 - - -readOnly -ユーザがこのプリファレンス値を変えることができるかどうかを示す真偽値。 - - \<preference\> 要素は以下の要素を含みます。 +\begin{table}[htbp] +\begin{center} + \begin{tabular}[tb]{|l|l|} +\hline +要素 & 説明\\ +\hline\hline +value+ & 指定したプリファレンスと関係する値を含む単純なテキスト要素。\\ +\hline + \end{tabular} +\end{center} +\end{table} -要素 -説明 - -value+ -指定したプリファレンスと関係する値を含む単純なテキスト要素。 - - 例: \begin{screen} +\begin{verbatim} +<fragment id="uhtemp-1012" type="portlet" name="demo::BookmarkPortlet"> ... - -http://www.google.com - + <preference name="Google" readOnly="false"> + <value>http://www.google.com</value> + </preference> ... +</fragment> +\end{verbatim} \end{screen} @@ -517,55 +533,50 @@ \<folder\> 要素は、ポータルサイトのフォルダと関連する他の PSML 要素を保持する単純な入れ物です。この要素は、関連するファイルシステムディレクトリ内の folder.metadata ファイルとして存在します。フォルダの要素には 2 つの有効な属性が存在します。 +\begin{table}[htbp] +\begin{center} + \begin{tabular}[tb]{|l|l|} +\hline +属性 & 説明\\ +\hline\hline +hidden & フォルダが、ポータルサイトのメニューや他のナビゲーション用の要素に、表示されるかどうかを示す真偽値の属性。\\ +\hline +version & 一般的な用途のバージョントラッキングの属性。現時点では PALポータルでは使われていません。\\ +\hline + \end{tabular} +\end{center} +\end{table} -属性 -説明 - - -hidden -フォルダが、ポータルサイトのメニューや他のナビゲーション用の要素に、表示されるかどうかを示す真偽値の属性。 - - -version -一般的な用途のバージョントラッキングの属性。現時点では PALポータルでは使われていません。 - - \<folder\> 要素は多くの他の PSML 要素を含みます。 -要素 -説明 +\begin{table}[htbp] +\begin{center} + \begin{tabular}[tb]{|l|l|} +\hline +要素 & 説明\\ +\hline\hline +title? & デフォルトのフォルダのタイトルを含む単純な要素。フォルダのタイトルは、自身の長い説明とみなされます。もし短いタイトル名が利用可能であれば、一部のデコレータでロールオーバー用のテキストとして使われます。もし指定されていなければ、PALポータルはフォルダ要素を含むファイル名からタイトルを決めようと試みます。\\ +\hline +short-title? & フォルダのデフォルトの短いタイトルのテキストを含む省略可能な単純要素。もし短いタイトルが利用可能であれば、一部のデコレータでメニューテキストとして使われます。もし指定されない場合は、title のテキストが使われます。\\ +\hline +default-page? & フォルダのデフォルトページまたはサブフォルダのテキストを含む単純で省略可能な要素。デフォルトページは、フォルダが直接ポータルから参照されるときに使われます。このフォルダ内のどのようなページやフォルダを (親フォルダとして使われる「..」も含む) 指定することも可能です。もしデフォルトページが設定されない場合は、「default-page.psml」が使われます。もし 「default-page.psml」が存在しない場合は、フォルダ内の最初のページがデフォルトになります。\\ +\hline +document-order* & ページ、サブフォルダ、リンクといった構成要素のソートの順番を定義するのに使われる、構成要素のテキスト名を含む単純で省略可能な要素。名前にマッチする構成要素は、その要素が定義された順番に配置されます。他の構成要素は名前でソートされます。そして、メニューや他のリストでは、一致した構成要素の後に表示されます。正規表現による一致はサポートしません。\\ +\hline +metadata* & 省略可能の指定である、ロケール固有のフォルダのタイトルや短いタイトル。\\ +\hline +menu* & 省略可能の指定である、追加の、または継承したものを上書きするフォルダのメニュー定義。\\ +\hline +security-constraints? & 省略可能の定義である、フォルダ用のインラインのセキュリティ制限の定義。もし指定されなければ、フォルダは親フォルダ内の有効なセキュリティ制限を継承します。\\ +\hline + \end{tabular} +\end{center} +\end{table} -title? -デフォルトのフォルダのタイトルを含む単純な要素。フォルダのタイトルは、自身の長い説明とみなされます。もし短いタイトル名が利用可能であれば、一部のデコレータでロールオーバー用のテキストとして使われます。もし指定されていなければ、PALポータルはフォルダ要素を含むファイル名からタイトルを決めようと試みます。 - -short-title? -フォルダのデフォルトの短いタイトルのテキストを含む省略可能な単純要素。もし短いタイトルが利用可能であれば、一部のデコレータでメニューテキストとして使われます。もし指定されない場合は、title のテキストが使われます。 - - -default-page? -フォルダのデフォルトページまたはサブフォルダのテキストを含む単純で省略可能な要素。デフォルトページは、フォルダが直接ポータルから参照されるときに使われます。このフォルダ内のどのようなページやフォルダを (親フォルダとして使われる「..」も含む) 指定することも可能です。もしデフォルトページが設定されない場合は、「default-page.psml」が使われます。もし 「default-page.psml」が存在しない場合は、フォルダ内の最初のページがデフォルトになります。 - - -document-order* -ページ、サブフォルダ、リンクといった構成要素のソートの順番を定義するのに使われる、構成要素のテキスト名を含む単純で省略可能な要素。名前にマッチする構成要素は、その要素が定義された順番に配置されます。他の構成要素は名前でソートされます。そして、メニューや他のリストでは、一致した構成要素の後に表示されます。正規表現による一致はサポートしません。 - - -metadata* -省略可能の指定である、ロケール固有のフォルダのタイトルや短いタイトル。 - - -menu* -省略可能の指定である、追加の、または継承したものを上書きするフォルダのメニュー定義。 - - -security-constraints? -省略可能の定義である、フォルダ用のインラインのセキュリティ制限の定義。もし指定されなければ、フォルダは親フォルダ内の有効なセキュリティ制限を継承します。 - - 例: 「概要」の例を参照してください。 \subsection{リンク} @@ -573,108 +584,116 @@ \<link\> 要素は、ポータルサイトの外部のコンテンツを参照するのに使われるポータルリンクに関連づけられている、他の PSML 要素を保持するシンプルな入れ物です。この要素は、親フォルダと関連づけられている、適切なファイルシステムのディレクトリ内に存在する「.link」という拡張子のファイルとして存在します。この要素には 2 つの有効な属性があります。 +\begin{table}[htbp] +\begin{center} + \begin{tabular}[tb]{|l|l|} +\hline +属性 & 説明\\ +\hline\hline +target & 省略可能の指定である、外部コンテンツを開くための対象となるフレームの名前。もし指定されなければ、リンクされたコンテンツはブラウザで開いているポータルと置き換わります。\\ +\hline +version & 一般的な用途のバージョントラッキングの属性。現時点では PALポータルでは使われていません。\\ +\hline + \end{tabular} +\end{center} +\end{table} -属性 -説明 -target -省略可能の指定である、外部コンテンツを開くための対象となるフレームの名前。もし指定されなければ、リンクされたコンテンツはブラウザで開いているポータルと置き換わります。 - - -version -一般的な用途のバージョントラッキングの属性。現時点では PALポータルでは使われていません。 - - - \<link\> 要素は多数の他の PSML 要素を含みます。 +\begin{table}[htbp] +\begin{center} + \begin{tabular}[tb]{|l|l|} +\hline +要素 & 説明\\ +\hline\hline +title? & デフォルトのリンクタイトル用のテキストを含むシンプルな要素。リンクのタイトルは、その長い説明とみなされます。もしメニューテキスト用の短いタイトルが利用可能であれば、一部のデコレータでロールオーバー用のテキストとして使われます。もし指定されていなければ、PALポータルは link 要素を含むファイルのファイル名からタイトルを決めようと試みます。\\ +\hline +short-title? & リンクのデフォルトの短いタイトルのテキストを含む単純で省略可能な要素。もし短いタイトルが利用可能であれば、一部のデコレータでメニューテキストとして使われます。\\ +\hline +url & コンテンツの URL のための必須の要素。この要素のテキストは、指定されたブラウザの対象フレームをナビゲートするのに使われます。\\ +\hline +metadata* & 省略可能の指定である、ロケール固有のリンクのタイトルや短いタイトル。\\ +\hline +security-constraints? & 省略可能の指定である、リンクのためのセキュリティ制限。もし指定されなければ、リンクは親フォルダ内の有効なセキュリティ制限を継承します。\\ +\hline + \end{tabular} +\end{center} +\end{table} -要素 -説明 - -title? -デフォルトのリンクタイトル用のテキストを含むシンプルな要素。リンクのタイトルは、その長い説明とみなされます。もしメニューテキスト用の短いタイトルが利用可能であれば、一部のデコレータでロールオーバー用のテキストとして使われます。もし指定されていなければ、PALポータルは link 要素を含むファイルのファイル名からタイトルを決めようと試みます。 - - -short-title? -リンクのデフォルトの短いタイトルのテキストを含む単純で省略可能な要素。もし短いタイトルが利用可能であれば、一部のデコレータでメニューテキストとして使われます。 - - -url -コンテンツの URL のための必須の要素。この要素のテキストは、指定されたブラウザの対象フレームをナビゲートするのに使われます。 - - -metadata* -省略可能の指定である、ロケール固有のリンクのタイトルや短いタイトル。 - - -security-constraints? -省略可能の指定である、リンクのためのセキュリティ制限。もし指定されなければ、リンクは親フォルダ内の有効なセキュリティ制限を継承します。 - - 例: 「概要」の例を参照してください。 \subsection{ グローバルなページのセキュリティ} \<page-security\> 要素はグローバルなセキュリティ制限と、その定義を宣言するために使われる、他の PSML 要素を保持するためのシンプルな入れ物です。この要素は page.security ファイルとして存在し、常に PSML ファイルのシステムディレクトリのルートディレクトリに存在します。page-security 要素の有効な属性は 1 つだけ存在します。 +\begin{table}[htbp] +\begin{center} + \begin{tabular}[tb]{|l|l|} +\hline +属性 & 説明\\ +\hline\hline +version & 一般的な用途のバージョントラッキングの属性。現時点では PALポータルでは使われていません。\\ +\hline + \end{tabular} +\end{center} +\end{table} -属性 -説明 - -version -一般的な用途のバージョントラッキングの属性。現時点では PALポータルでは使われていません。 - - - \<page-security\> 要素は PSML 要素に関連する 2 つのセキュリティ制限を含みます。 +\begin{table}[htbp] +\begin{center} + \begin{tabular}[tb]{|l|l|} +\hline +要素 & 説明\\ +\hline\hline +security-constraints-def* & 省略可能の定義である、セキュリティ制限のコレクションの名前。これらのセキュリティ制限はページ、フラグメント、フォルダ、リンク内で、そして再利用とセキュリティのメンテナンスを容易にするために、この要素内で参照されます。\\ +\hline +global-security-constraints-ref* & サイト内の全てのセキュリティ制限を適用するための、省略可能の定義であるセキュリティ制限参照。それぞれのシンプルな要素のテキストは、このエレメント内のここで指定された名前のセキュリティ制限の定義を参照します。\\ +\hline + \end{tabular} +\end{center} +\end{table} -要素 -説明 - -security-constraints-def* -省略可能の定義である、セキュリティ制限のコレクションの名前。これらのセキュリティ制限はページ、フラグメント、フォルダ、リンク内で、そして再利用とセキュリティのメンテナンスを容易にするために、この要素内で参照されます。 - - -global-security-constraints-ref* -サイト内の全てのセキュリティ制限を適用するための、省略可能の定義であるセキュリティ制限参照。それぞれのシンプルな要素のテキストは、このエレメント内のここで指定された名前のセキュリティ制限の定義を参照します。 - - 例: 「概要」の例を参照してください。 \subsection{ PSML タイトルとメタデータ} ページ, フォルダ, リンクの \<metadata\> 要素はロケール特有のタイトルと短いタイトルのテキストを定義するのに使われます。これらの要素は何度でも、含まれる PSML 要素内で表れるかもしれません。しかし、複数の値が 1 つのロケールにたいして指定してはいけません。PSML XML 文書は、普通は広範囲のキャラクタセットをサポートするために、UTF-8 エンコーディングで宣言されます。 +\begin{table}[htbp] +\begin{center} + \begin{tabular}[tb]{|l|l|} +\hline +属性 & 説明\\ +\hline\hline +name & メタデータテキストの名前。この名前は、ロケール特有のタイトルテキストを指定するための、'title' と 'short-title' のどちらかを指定してください。\\ +\hline +xml:lang & メタデータテキストのためのロケール言語または言語/国セレクタ。標準の Java ロケール名が期待されます (ISO-639 と ISO-3166)。有効な値として 'en' や 'en\_US' を含みます。\\ +\hline + \end{tabular} +\end{center} +\end{table} - -属性 -説明 - -name -メタデータテキストの名前。この名前は、ロケール特有のタイトルテキストを指定するための、'title' と 'short-title' のどちらかを指定してください。 - - -xml:lang -メタデータテキストのためのロケール言語または言語/国セレクタ。標準の Java ロケール名が期待されます (ISO-639 と ISO-3166)。有効な値として 'en' や 'en\_US' を含みます。 - - 例: \begin{screen} +\begin{verbatim} +<page> ... -Ma Premiere Page de PSML -¡Bienvenido a PALポータル! -Köszönti a PALポータル! + <metadata name="title" xml:lang="fr">Ma Premiere Page de PSML</metadata> + <metadata name="title" xml:lang="es">潤タBienvenido a PALポータル!</metadata> + <metadata name="title" xml:lang="hu">K醇rsz醇rnti a PALポータル!</metadata> ... +</page> +\end{verbatim} \end{screen} Modified: pal-portal/docs/ja/configuration-guide/trunk/src/tex/psml/menu.tex =================================================================== --- pal-portal/docs/ja/configuration-guide/trunk/src/tex/psml/menu.tex 2008-11-21 02:12:54 UTC (rev 1389) +++ pal-portal/docs/ja/configuration-guide/trunk/src/tex/psml/menu.tex 2008-11-21 02:50:56 UTC (rev 1390) @@ -35,153 +35,173 @@ ポータルサイトコンポーネントによって、内部的にサポートされた共通のメニュー定義が存在し、サイトのページやフォルダの PSML 要素に明示的には定義の必要がありません。 -pages: ポータル上のページタブを定義するのに使われる、相対的なページメニュー。bredcrumbs: ページタブ以下にリンクの履歴を提供するのに使われる、ページへのパス。navigations: ポータルの横のナビゲーションパネルを定義するのに使われる、相対サブフォルダとルートレベルのリンクメニューback: ポータルページタブ上の、以前のページへ 1 つ戻るためのリンクを定義するのに使われる、親フォルダのメニュー。 -メニュー定義内で構築されるこれらは、期待どおり、サイトの PSML 内で同じ名前で宣言されるメニューに上書きされます。 +\begin{itemize} -\subsection{メニューの定義} -\<menu\> 要素は、レイアウトデコレータもしくは他のメニュー内の階層化されたメニューによって使われるメニューを定義します。menu 要素には、たくさんの有効な属性が存在します。 +\item pages: ポータル上のページタブを定義するのに使われる、相対的なページメニュー。 +\item bredcrumbs: ページタブ以下にリンクの履歴を提供するのに使われる、ページへのパス。 +\item navigations: ポータルの横のナビゲーションパネルを定義するのに使われる、相対サブフォルダとルートレベルのリンクメニュー +\item back: ポータルページタブ上の、以前のページへ 1 つ戻るためのリンクを定義するのに使われる、親フォルダのメニュー。 +\end{itemize} +メニュー定義内で構築されるこれらは、期待どおり、サイトの PSML 内で同じ名前で宣言されるメニューに上書きされます。 -属性 -説明 +\subsection{メニューの定義} -name -テンプレートコードおよび(または)メニュー参照からの検索のためのメニュー名を指定します。この属性は、トップレベルのノードで必須で、階層化されたメニューでは無視されます。 +\<menu\> 要素は、レイアウトデコレータもしくは他のメニュー内の階層化されたメニューによって使われるメニューを定義します。menu 要素には、たくさんの有効な属性が存在します。 +\begin{table}[htbp] +\begin{center} + \begin{tabular}[tb]{|l|l|} +\hline +属性 & 説明\\ +\hline\hline +name & テンプレートコードおよび(または)メニュー参照からの検索のためのメニュー名を指定します。この属性は、トップレベルのノードで必須で、階層化されたメニューでは無視されます。\\ +\hline +options & メニューの指定に、ドキュメントとフォルダの深い階層が存在する場合、メニューのためのルートドキュメントのパスを指定します。この属性は、ページ、フォルダ、メニューの選択肢のリンクの指定を行うドキュメントパスも定義します。カンマで区切ったパスおよび (または) 正規表現のパターンを、複数のオプションパスとして指定可能です。相対パスは、現在のページからの相対パスとして解釈されます。「~」や「@」といった特別なパターンを、現在のページを参照するために使うことができます。\\ +\hline +depth & オプションフォルダからのドキュメントの深さを指定します (0 以下の深さの指定は無限大を表す)。メニューの選択肢は、それぞれの可視ページを表示するか、サイトへのリンクを行うために作成されます。フォルダはこの設定によって階層化したメニューに変換されます。\\ +\hline +paths & ルートフォルダから指定された選択肢への順序付きのパスオプションを含むかどうかを指定する真偽値。この設定は「履歴」もしくは「パンくずリスト」メニューを生成するのに使います。\\ +\hline +regexp & 選択肢の値としてワイルドカードや正規表現が使われるかどうかを指定する真偽属性。ファイルシステムのコマンドラインの正規表現をサポートします。\\ +\hline +profile & オプションの値を評価する際に使われるプロファイルロケータの名前を指定します。この属性は、オプションと階層化したメニューのためのデフォルトのプロファイルの値も設定します。「*」の指定は、全てのプロファイルロケータの名前を受け入れます。これは、親メニューが選択したプロファイル名を上書きするのに使うことができます。\\ +\hline +order & マッチする選択肢の順序を判断するための、カンマで区切られたマッチするパターンの正規表現のリスト、もしくは正規表現のドキュメントパスの値。この属性は、どの選択肢の要素に対してもデフォルトの選択肢の値として適用されます。しかし、複数の選択肢の子供へのマッチを再度順序づけることはありません。もし指定されない場合、複数の選択肢は、含まれるフォルダドキュメントのものとして返される順序に含まれます。この属性にマッチしない選択肢のパスは、順序づけられたものの後に追加されます。\\ +\hline +skin & メニューのためのレイアウトのヒントを定義する省略可能なデコレータ。この属性は、選択肢や階層化したメニューのデフォルトスキンの値としても使われます。このヒントは、現時点では PALポータルのデコレータでは使われていません。\\ +\hline + \end{tabular} +\end{center} +\end{table} -options -メニューの指定に、ドキュメントとフォルダの深い階層が存在する場合、メニューのためのルートドキュメントのパスを指定します。この属性は、ページ、フォルダ、メニューの選択肢のリンクの指定を行うドキュメントパスも定義します。カンマで区切ったパスおよび (または) 正規表現のパターンを、複数のオプションパスとして指定可能です。相対パスは、現在のページからの相対パスとして解釈されます。「~」や「@」といった特別なパターンを、現在のページを参照するために使うことができます。 -depth -オプションフォルダからのドキュメントの深さを指定します (0 以下の深さの指定は無限大を表す)。メニューの選択肢は、それぞれの可視ページを表示するか、サイトへのリンクを行うために作成されます。フォルダはこの設定によって階層化したメニューに変換されます。 - - -paths -ルートフォルダから指定された選択肢への順序付きのパスオプションを含むかどうかを指定する真偽値。この設定は「履歴」もしくは「パンくずリスト」メニューを生成するのに使います。 - - -regexp -選択肢の値としてワイルドカードや正規表現が使われるかどうかを指定する真偽属性。ファイルシステムのコマンドラインの正規表現をサポートします。 - - -profile -オプションの値を評価する際に使われるプロファイルロケータの名前を指定します。この属性は、オプションと階層化したメニューのためのデフォルトのプロファイルの値も設定します。「*」の指定は、全てのプロファイルロケータの名前を受け入れます。これは、親メニューが選択したプロファイル名を上書きするのに使うことができます。 - - -order -マッチする選択肢の順序を判断するための、カンマで区切られたマッチするパターンの正規表現のリスト、もしくは正規表現のドキュメントパスの値。この属性は、どの選択肢の要素に対してもデフォルトの選択肢の値として適用されます。しかし、複数の選択肢の子供へのマッチを再度順序づけることはありません。もし指定されない場合、複数の選択肢は、含まれるフォルダドキュメントのものとして返される順序に含まれます。この属性にマッチしない選択肢のパスは、順序づけられたものの後に追加されます。 - - -skin -メニューのためのレイアウトのヒントを定義する省略可能なデコレータ。この属性は、選択肢や階層化したメニューのデフォルトスキンの値としても使われます。このヒントは、現時点では PALポータルのデコレータでは使われていません。 - - - \<menu\> 要素は、多数の他のメニュー定義の PSML 要素を含みます。タイトルとメタデータ要素を除いて、これらの要素の相対的な順序は、レイアウトデコレータがそれらを提示する順序を決定します。 +\begin{table}[htbp] +\begin{center} + \begin{tabular}[tb]{|l|l|} +\hline +要素 & 説明\\ +\hline\hline +title? & メニュー用のデフォルトのロケール非依存なタイトルを指定する単純な要素。メニューのタイトルは、その長い記述とみなされます。そして、もしメニュー用の短いタイトルが利用可能である場合、デコレータによってはロールオーバー用のテキストとして使う場合があります。もし指定されない場合、メニューの名前が使われます。\\ +\hline +short-title? & メニュー用のデフォルトのロケール非依存な短いタイトル。短いタイトルは、もし利用可能である場合、デコレータによってはメニューのテキストとして使う場合があります。もし指定されない場合、タイトルのテキストが使われます。\\ +\hline +metadata* & 追加のロケール特有のタイトルと短いタイトルを指定します(省略可)。\\ +\hline +options* & この順序付きのメニュー要素は、このメニュー定義のためのコンテンツ要素を指定します。\\ +\hline +separator* & このメニュー定義内で、インラインで含まれるテキスト行を指定するために使われる、順序付きのメニュー要素。\\ +\hline +menu* & このメニュー定義に含まれる、階層化されたメニューを定義するのに使われる、他の順序付きメニュー要素。\\ +\hline +include* & このメニュー定義に含める、他のメニューの階層化したメニュー、もしくは選択肢を指定します。含めるメニューの名前はこの順序付きのメニュー要素のテキストです。\\ +\hline +exclude* & このメニュー定義から除外する、他のメニューの選択肢と階層化したメニューを指定します。除外するための要素に含まれるメニューの名前は、この順序付きのメニュー要素のテキストです。\\ +\hline + \end{tabular} +\end{center} +\end{table} -要素 -説明 - -title? -メニュー用のデフォルトのロケール非依存なタイトルを指定する単純な要素。メニューのタイトルは、その長い記述とみなされます。そして、もしメニュー用の短いタイトルが利用可能である場合、デコレータによってはロールオーバー用のテキストとして使う場合があります。もし指定されない場合、メニューの名前が使われます。 - - -short-title? -メニュー用のデフォルトのロケール非依存な短いタイトル。短いタイトルは、もし利用可能である場合、デコレータによってはメニューのテキストとして使う場合があります。もし指定されない場合、タイトルのテキストが使われます。 - - -metadata* -追加のロケール特有のタイトルと短いタイトルを指定します(省略可)。 - - -options* -この順序付きのメニュー要素は、このメニュー定義のためのコンテンツ要素を指定します。 - - -separator* -このメニュー定義内で、インラインで含まれるテキスト行を指定するために使われる、順序付きのメニュー要素。 - - -menu* -このメニュー定義に含まれる、階層化されたメニューを定義するのに使われる、他の順序付きメニュー要素。 - - -include* -このメニュー定義に含める、他のメニューの階層化したメニュー、もしくは選択肢を指定します。含めるメニューの名前はこの順序付きのメニュー要素のテキストです。 - - -exclude* -このメニュー定義から除外する、他のメニューの選択肢と階層化したメニューを指定します。除外するための要素に含まれるメニューの名前は、この順序付きのメニュー要素のテキストです。 - - 例: \begin{screen} -/some-top-page.psml,/custom/some-other-page.psml +\begin{verbatim} +<menu name="simple"> + <options>/some-top-page.psml,/custom/some-other-page.psml</options> +</menu> +\end{verbatim} \end{screen} \begin{screen} +\begin{verbatim} +<menu name="top-2-levels" options="/" depth="2" skin="dhtml-pull-down"/> +\end{verbatim} + \end{screen} \begin{screen} +\begin{verbatim} +<menu name="top-role-pages" regexp="true" options="/*" profile="roles"/> +\end{verbatim} + \end{screen} \begin{screen} +\begin{verbatim} +<menu name="top-custom"> + <title>Top Menu</title> + <metadata name="title" xml:lang="fr">Haut</metadata> + <options regexp="true" profile="groups">/group-pages/*</options> + <menu options="/" profile="page"> + <separator> + <text>-- Top Pages --</text> + <title>Top Pages</title> + </separator> + <options regexp="true">/*</options> + <separator> + <title>Custom Pages</title> + </separator> + <options depth="2">/custom-folder/</options> + </menu> + <exclude>top-role-pages</exclude> + <separator>More Top Pages</separator> + <include nest="true">top-role-pages</include> +</menu> +\end{verbatim} -Haut -/group-pages/* - --- Top Pages -- - - -/* - - - -/custom-folder/ - -top-role-pages -More Top Pages -top-role-pages - - \end{screen} デフォルトの共通メニュー宣言のための定義は、内部的にポータルサイトコンポーネントによってサポートされます。 \begin{screen} +\begin{verbatim} +<menu name="pages" regexp="true" options="*.psml"/> +\end{verbatim} \end{screen} \begin{screen} +\begin{verbatim} +<menu name="breadcrumbs" options="~" paths="true"/> +\end{verbatim} + \end{screen} \begin{screen} -Folders -./*/ -page-navigations -Additional Links -/*.link +\begin{verbatim} +<menu name="navigations"> + <separator>Folders</separator> + <options regexp="true">./*/</options> + <include>page-navigations</include> + <separator>Additional Links</separator> + <options regexp="true">/*.link</options> +</menu> +\end{verbatim} \end{screen} \begin{screen} +\begin{verbatim} +<menu name="back" options="../"/> +\end{verbatim} + \end{screen} これらの定義のセパレータのテキストは、内部的に変換されることに注意してください。 @@ -189,44 +209,41 @@ \<options\> 要素は、メニュー内に単一または複数の選択肢を定義します。この単純な要素の文字列は、ページ、もしくはフォルダ、もしくはリンクのメニューの選択肢を作るドキュメントのパスを指定します。複数の選択肢のパスを、パスおよび (もしくは) 正規表現パターンをカンマで区切ったリストとして指定することも可能です。相対パスは、現在のページからの相対パスとして解釈されます。「~」や「@」といった特別なパターンを、現在のページを参照するために使うことができます。この要素は、メニュー要素とたくさんの属性を共有します。 +\begin{table}[htbp] +\begin{center} + \begin{tabular}[tb]{|l|l|} +\hline +属性 & 説明\\ +\hline\hline +depth & 選択肢のフォルダからのドキュメントの深さを指定します (0 以下の深さは無限大を表します)。メニューの選択肢は、サイトへのそれぞれの可視ページまたはリンクを表示するように作成されます。フォルダは、この設定によって階層化したメニューに変換されます。\\ +\hline +paths & ルートフォルダから指定された選択肢への順序付きのパスの選択肢を含むかどうかを指定する真偽値。この設定は「履歴」もしくは「パンくずリスト」メニューを生成するのに使います。\\ +\hline +regexp & 選択肢の値としてワイルドカードや正規表現が使われるかどうかを指定する真偽属性。ファイルシステムのコマンドラインの正規表現をサポートします。\\ +\hline +profile & 選択肢の値を評価する際に使われるプロファイルロケータの名前を指定します。この属性は、選択肢と階層化したメニューのためのデフォルトのプロファイルの値も設定します。「*」の指定は、全てのプロファイルロケータの名前を受け入れます。これは、親メニューが選択したプロファイル名を上書きするのに使うことができます。\\ +\hline +order & マッチする選択肢の順序を判断するための、カンマで区切られたマッチするパターンの正規表現のリスト、もしくは正規表現のドキュメントパスの値。この属性は、どの選択肢の要素に対してもデフォルトの選択肢の値として適用されます。しかし、複数の選択肢の子供へのマッチを再度順序づけることはありません。もし指定されない場合、複数の選択肢は、含まれるフォルダドキュメントの順番で返される順序に含まれます。この属性にマッチしない選択肢のパスは、順序づけられたものの後に追加されます。\\ +\hline +skin & メニューの選択肢のレイアウトのヒントを定義するデコレータ(省略可)。このヒントは、現時点では PALポータルのデコレータでは使われていません。\\ +\hline + \end{tabular} +\end{center} +\end{table} -属性 -説明 - - -depth -選択肢のフォルダからのドキュメントの深さを指定します (0 以下の深さは無限大を表します)。メニューの選択肢は、サイトへのそれぞれの可視ページまたはリンクを表示するように作成されます。フォルダは、この設定によって階層化したメニューに変換されます。 - - -paths -ルートフォルダから指定された選択肢への順序付きのパスの選択肢を含むかどうかを指定する真偽値。この設定は「履歴」もしくは「パンくずリスト」メニューを生成するのに使います。 - - -regexp -選択肢の値としてワイルドカードや正規表現が使われるかどうかを指定する真偽属性。ファイルシステムのコマンドラインの正規表現をサポートします。 - - -profile -選択肢の値を評価する際に使われるプロファイルロケータの名前を指定します。この属性は、選択肢と階層化したメニューのためのデフォルトのプロファイルの値も設定します。「*」の指定は、全てのプロファイルロケータの名前を受け入れます。これは、親メニューが選択したプロファイル名を上書きするのに使うことができます。 - - -order -マッチする選択肢の順序を判断するための、カンマで区切られたマッチするパターンの正規表現のリスト、もしくは正規表現のドキュメントパスの値。この属性は、どの選択肢の要素に対してもデフォルトの選択肢の値として適用されます。しかし、複数の選択肢の子供へのマッチを再度順序づけることはありません。もし指定されない場合、複数の選択肢は、含まれるフォルダドキュメントの順番で返される順序に含まれます。この属性にマッチしない選択肢のパスは、順序づけられたものの後に追加されます。 - - -skin -メニューの選択肢のレイアウトのヒントを定義するデコレータ(省略可)。このヒントは、現時点では PALポータルのデコレータでは使われていません。 - - 例: \begin{screen} +\begin{verbatim} +<menu> ... - + <options regexp="true" order="*.psml,*.link"> /some-top-page.psml,/custom/some-other-page.psml,/*.link - + </options> ... +</menu> +\end{verbatim} \end{screen} @@ -236,48 +253,55 @@ \<separator\> 要素は、メニューに含めるセパレータを定義します。セパレータは、選択肢もしくは階層化したメニューが、メニューの定義内のこの要素以下に現れた場合のみ含まれます。セパレータのテキストは、この要素内のテキスト、もしくはテキストメニュー定義の要素内で指定することが可能です。セパレータ要素に記述可能な属性は 1 つしかありません。 +\begin{table}[htbp] +\begin{center} + \begin{tabular}[tb]{|l|l|} +\hline +属性 & 説明\\ +\hline\hline +skin & メニューセパレータのレイアウトのヒントを定義する省略可能なデコレータ。このヒントは、現時点では PALポータルのデコレータでは使われていません。\\ +\hline + \end{tabular} +\end{center} +\end{table} -属性 -説明 - -skin -メニューセパレータのレイアウトのヒントを定義する省略可能なデコレータ。このヒントは、現時点では PALポータルのデコレータでは使われていません。 - - - \<separator\> 要素は、たくさんの他のメニュー定義の PSML 要素を含みます。 +\begin{table}[htbp] +\begin{center} + \begin{tabular}[tb]{|l|l|} +\hline +要素 & 説明\\ +\hline\hline +title? & メニュー用のデフォルトのロケール非依存なタイトルを指定する単純な要素。セパレータのタイトルは、その長い記述とみなされます。そして、もしセパレータのテキストが利用可能である場合、デコレータによってはロールオーバー用のテキストとして使う場合があります。\\ +\hline +text? & メニュー用のデフォルトのロケール非依存なテキストを指定する単純な要素。セパレータのテキストは必須で、この属性によって指定されようと、セパレータ要素内のテキストとして指定されようと、レイアウトデコレータがメニュー内に挿入するためのテキストとなります。\\ +\hline +metadata* & ロケール特有の追加のタイトルとセパレータテキスト(省略可)。\\ +\hline + \end{tabular} +\end{center} +\end{table} -要素 -説明 - -title? -メニュー用のデフォルトのロケール非依存なタイトルを指定する単純な要素。セパレータのタイトルは、その長い記述とみなされます。そして、もしセパレータのテキストが利用可能である場合、デコレータによってはロールオーバー用のテキストとして使う場合があります。 - - -text? -メニュー用のデフォルトのロケール非依存なテキストを指定する単純な要素。セパレータのテキストは必須で、この属性によって指定されようと、セパレータ要素内のテキストとして指定されようと、レイアウトデコレータがメニュー内に挿入するためのテキストとなります。 - - -metadata* -ロケール特有の追加のタイトルとセパレータテキスト(省略可)。 - - 例: \begin{screen} +\begin{verbatim} +<menu> ... -------------- + <separator>-------------</separator> ... - --- Top 10 Pages -- -Haut Pages - - + <separator> + <text>-- Top 10 Pages --</text> + <metadata name="text" xml:lang="fr">Haut Pages</metadata> + <title>Top 10 pages as voted by the PALポータルusers!</title> + </separator> ... +</menu> +\end{verbatim} \end{screen} @@ -286,22 +310,29 @@ \<include\> 要素は、選択肢または、他のメニューの階層化した メニューを含みます。含めるメニューの名前は、このエレメントのテキスト値として指定します。この要素に含めることのできる有効な属性は 1 つしかありません。 +\begin{table}[htbp] +\begin{center} + \begin{tabular}[tb]{|l|l|} +\hline +属性 & 説明\\ +\hline\hline +nest & 指定したメニューが、階層化するためのものかどうかを制御する真偽値。もしこの属性に 'true' が指定された場合、含めるメニューはサブメニューとして階層化されます。そうでないのなら、全ての選択肢と指定したメニューの階層化したメニューは、このメニュー内にインラインで挿入されます。\\ +\hline + \end{tabular} +\end{center} +\end{table} -属性 -説明 - - -nest -指定したメニューが、階層化するためのものかどうかを制御する真偽値。もしこの属性に 'true' が指定された場合、含めるメニューはサブメニューとして階層化されます。そうでないのなら、全ての選択肢と指定したメニューの階層化したメニューは、このメニュー内にインラインで挿入されます。 - - 例: \begin{screen} +\begin{verbatim} +<menu> ... -navigations + <include nest="true">navigations</include> ... +</menu> +\end{verbatim} \end{screen} @@ -313,9 +344,13 @@ 例: \begin{screen} +\begin{verbatim} +<menu> ... -pages + <exclude>pages</exclude> ... +</menu> +\end{verbatim} \end{screen} @@ -325,54 +360,69 @@ ページレイアウトデコレータは、ページが PALポータルパイプラインで描画されるとき、ポータルサイトコンポーネントからメニューを要求します。デコレータは、メニューが PSML で定義されることを期待します。カスタムメニューがポータルに表示される前に、デコレータは、カスタムメニューの描画を変更する必要があります。以下に、Velocity レイアウトデコレータの header.vm ファイルから抜き出した例を示します。 \begin{screen} + +\begin{verbatim} ... -\#set(\$pagesStandardMenu = \$site.getMenu("pages")) -\#if(!\$pagesStandardMenu.empty) +#set($pagesStandardMenu = $site.getMenu("pages")) +#if(!$pagesStandardMenu.empty) + <div class="tabs"> +#includeTabsNavigation($pagesStandardMenu $LEFT_TO_RIGHT) + </div> +#end +... +\end{verbatim} -\#includeTabsNavigation(\$pagesStandardMenu \$LEFT\_TO\_RIGHT) -\#end -... - \end{screen} このコードは、ポータルページ内の標準的なページのタブメニューを描画します。ポータルサイトコンポーネントは Velocity のコンテキスト変数\$siteとして表れます。空のメニュー定義のための判断は、空のメニューがページコンテンツ内に描画されないことを保証するために設計されています。最後に、デコレータマクロが、メニューコンテンツを展開するために実行されます。一般に、再帰的なマクロの起動で階層化したメニューを描画することをサポートするために、このアプローチを取ります。この場合、デコレータはページオプションだけを期待します。以下に、ページのタブメニューを描画するのに使われるマクロ実装を示します。 \begin{screen} -\#macro (includeTabsNavigation \$\_menu \$\_orientation) +\begin{verbatim} +#macro (includeTabsNavigation $_menu $_orientation) + <table border="0" cellpadding="0" cellspacing="0"> + <tr> + #foreach($element in $_menu.elements.iterator()) + #if($element.elementType == "option") + #set($tabTitle = $element.getTitle($preferedLocale)) + #set($tabName = $element.getShortTitle($preferedLocale)) + #if($_orientation == $LEFT_TO_RIGHT) + #if($element.isSelected($site)) + <td class="LTabLeft" nowrap="true"> </td> + <td class="LTab" align="center" valign="middle" nowrap="true" title="$!tabTitle">${tabName}</td> + <td class="LTabRight" nowrap="true"> </td> + #else + #set($tabUrl = $jetspeed.getAbsoluteUrl($element.url)) + <td class="LTabLeftLow" nowrap="true"> </td> + <td class="LTabLow" align="center" valign="middle" nowrap="true" title="$!tabTitle"><a href="$tabUrl">${tabName}</a></td> + <td class="LTabRightLow" nowrap="true"> </td> + #end + #end + #end + #end + </tr> + </table> +#end +\end{verbatim} - \#foreach(\$element in \$\_menu.elements.iterator()) - \#if(\$element.elementType == "option") - \#set(\$tabTitle = \$element.getTitle(\$preferedLocale)) - \#set(\$tabName = \$element.getShortTitle(\$preferedLocale)) - \#if(\$\_orientation == \$LEFT\_TO\_RIGHT) - \#if(\$element.isSelected(\$site)) -\ -\${tabName} -\ - \#else - \#set(\$tabUrl = \$jetspeed.getAbsoluteUrl(\$element.url)) -\ -\${tabName} -\ - \#end - \#end - \#end - \#end - -\#end - \end{screen} このマクロは、ポータルサイトコンポーネントによって提供される、処理されたページメニューの選択肢全てに渡って反復されます。これは、表示されるタブそれぞれを作るための HTML 要素のテーブルデータを描画します。メニュー全体は、単一の行の HTML テーブルとして描画されます。 以下に、ポータルサイトコンポーネントオブジェクトがレイアウトデコーレータに表示する、宣言型のメニューのインタフェースを作るためのプライマリのインタフェースのリストを以下に挙げます。 -org.apache.jetspeed.portalsite.Menuorg.apache.jetspeed.portalsite.MenuElementorg.apache.jetspeed.portalsite.MenuOptionorg.apache.jetspeed.portalsite.MenuSeparatororg.apache.jetspeed.portalsite.PortalSiteRequestContext> +\begin{itemize} +\item org.apache.jetspeed.portalsite.Menuorg.apache.jetspeed.portalsite.MenuElement +\item org.apache.jetspeed.portalsite.MenuOption +\item org.apache.jetspeed.portalsite.MenuSeparator +\item org.apache.jetspeed.portalsite.PortalSiteRequestContext> + +\end{itemize} + \subsection{ポータルサイトコンポーネント} PALポータルのポータルサイトコンポーネントには、 2 つの密接に関係した役割があります。 Modified: pal-portal/docs/ja/configuration-guide/trunk/src/tex/psml/security.tex =================================================================== --- pal-portal/docs/ja/configuration-guide/trunk/src/tex/psml/security.tex 2008-11-21 02:12:54 UTC (rev 1389) +++ pal-portal/docs/ja/configuration-guide/trunk/src/tex/psml/security.tex 2008-11-21 02:50:56 UTC (rev 1390) @@ -29,20 +29,29 @@ \subsection{セキュリティについて} セキュリティ制約は、ページとフォルダに適用されます。セキュリティ制約は、ページとフォルダに対するアクセスを許可したり拒否したりします。制約は、以下の 4 つの場所の 1 つまたは全てで定義されます。 -グローバル:PSML ツリーのルートに存在するpage.securityファイル内の宣言として定義フォルダ:各ディレクトリにオプショナルに存在するfolder.metadataファイル内で定義ページ:特定のページへのアクセスを制限するために PSML ファイル内で定義フラグメント:ページ内の特定のフラグメントに対するアクセスを制限するために PSML ファイルの中で定義 +\begin{itemize} +\item グローバル:PSML ツリーのルートに存在するpage.securityファイル内の宣言として定義 +\item フォルダ:各ディレクトリにオプショナルに存在するfolder.metadataファイル内で定義 +\item ページ:特定のページへのアクセスを制限するために PSML ファイル内で定義 +\item フラグメント:ページ内の特定のフラグメントに対するアクセスを制限するために PSML ファイルの中で定義 +\end{itemize} + +\subsubsection{許可} + 許可は、ページまたはフォルダへのアクセスに対するパーミッション、承認、権限の授与、主体のリストのどれかに関係します。セキュリティ制約を与えるということは、 1 つ以上のパーミッションと組み合せた、 1 つ以上のセキュリティ主体のリストの関連付けを行うということです。制約を与えると、関連づけられたパーミッションのリストの通りになるようページまたはフォルダへのアクセスが許可されます。 +\subsubsection{否認} 否認のセキュリティ制約は、 1 つ以上のセキュリティ主体と共に宣言されます。制約の否認は、与えられた主体のリストの通りになるよう、ページやフォルダに対するアクセスを禁止します。制約の否認は、制約の承認の前にリストアップされる必要があることに注意してください。 +\subsubsection{宣言型と参照型の制約} - ページとフォルダのリソース制約が適用されるとき、制約は宣言型または参照型の制約のどちらかである可能性があります。宣言型の制約は、特定のページまたはフォルダのリソースが、適切に使われるために宣言されます。参照型の制約は、中央集権的なセキュリティ制約リソースであるpage.securityファイル内で宣言された制約を参照します。サイト毎かサブサイト毎に、任意のページやフォルダ内で参照される制約を宣言するために、page.securityが 1 つあります。 @@ -51,17 +60,20 @@ セキュリティ制約は、PSML ファイル内、もしくはフォルダのメタデータファイル内、もしくはグローバルなセキュリティの宣言中にある XML 要素です。セキュリティ制限には name という属性が 1 つ存在します。セキュリティ制約は、以下の要素を持ちます。 +\begin{itemize} -roles - カンマで区切られた 1 つ以上のロール主体のリスト、もしくは全てのロールを表す -groups - カンマで区切られた 1 つ以上のグループ主体のリスト、もしくは全てのグループを表す -users - カンマで区切られた 1 つ以上のユーザー主体、もしくは全てのユーザーを表す -owner - 単一のユーザー主体 -permissions - カンマで区切られた 1 つ以上のパーミッション (view, edit, help) のリスト +\item roles - カンマで区切られた 1 つ以上のロール主体のリスト、もしくは全てのロールを表す +\item groups - カンマで区切られた 1 つ以上のグループ主体のリスト、もしくは全てのグループを表す +\item users - カンマで区切られた 1 つ以上のユーザー主体、もしくは全てのユーザーを表す +\item owner - 単一のユーザー主体 +\item permissions - カンマで区切られた 1 つ以上のパーミッション (view, edit, help) のリスト +\end{itemize} 最初の 4 つの要素 (roles, groups, users, owner) は全て、承認されるもしくは拒否されるパーミッションを持つ主体を定義します。 +\subsubsection{パーミッション} パーミッションは、セキュリティ制限によって許可が与えられるポータルのモードです。パーミッションは許可を行うだけで、否認はしません。 viewパーミッションは、オペレーティングシステムにおけるreadパーミッションと同様のものです。 @@ -70,13 +82,19 @@ +\subsubsection{ロール} 制約は、与えられたリソースへのパーミッションのセットを、 1 つ以上のロール主体に与えることができます。ロールは、承認されたロール主体 (つまりそのユーザーがメンバーであるということ) のユーザーリストから得られます。もし承認されたユーザーが、リストされたロールのどれかのメンバーであるのなら、リソースに対するパーミッションが与えられます。 \begin{screen} -adminstrator, manager -view, edit +\begin{verbatim} +<page> + <security-constraint> + <roles>adminstrator, manager</roles> + <permissions>view, edit</permissions> + </security-constraint> +\end{verbatim} \end{screen} @@ -85,61 +103,85 @@ \begin{screen} -adminstrator, manager +\begin{verbatim} + <security-constraint> + <roles>adminstrator, manager</roles> + </security-constraint> +\end{verbatim} \end{screen} +\subsubsection{グループ} - 制約は、与えられたリソースへのパーミッションのセットを、 1 つ以上のグループ主体に与えることができます。 グループは、承認されたグループ主体 (つまりユーザーがメンバーであるグループ) のユーザーのリストから得られます。 もし承認されたユーザーが、リストされたグループのどれかのメンバーであるのなら、リソースに対するパーミッションが与えられます。 \begin{screen} -accounting, development -view +\begin{verbatim} + <security-constraint> + <groups>accounting, development</groups> + <permissions>view</permissions> + </security-constraint> +\end{verbatim} \end{screen} 制約は、グループ主体のリソース全体に対するアクセスを拒否することもできます。もし承認されたユーザーが、リストされたグループのいずれかのメンバーであるのなら、リソースに対する全てのアクセスが拒否されます。 \begin{screen} -accounting, development +\begin{verbatim} + <security-constraint> + <groups>accounting, development</groups> + </security-constraint> +\end{verbatim} \end{screen} +\subsubsection{ユーザー} - 制約は、与えられたリソースへのパーミッションのセットを、 1 つ以上のユーザー主体に与えることができます。現在のユーザーは、リソースに対するパーミッションを与えるためにカンマで区切られたリスト中にリストされる、主体の 1 つでなければなりません。 \begin{screen} -joey, deedee, johnny -view, edit, help +\begin{verbatim} + <security-constraint> + <users>joey, deedee, johnny</users> + <permissions>view, edit, help</permissions> + </security-constraint> +\end{verbatim} \end{screen} 制約は、ユーザー主体の全てのリソースに対するアクセスを拒否することも可能です。もし承認されたユーザーがリスト内にあれば、全てのアクセスは拒否されます。 \begin{screen} -fred +\begin{verbatim} + <security-constraint> + <users>fred</users> + </security-constraint> +\end{verbatim} \end{screen} +\subsubsection{組み合せ} - 1 つ以上の種類の主体の集合に対してパーミッションを与えたり、拒否したりできることに注意してください。例えば、ここではロール (manager, developer) とグループ (QA と Research) と特定のユーザー (dilbert) に対して、view と edit のパーミッションを与えています。もし承認されたユーザーが、ここにリストされたロール、ユーザー、グループのどれかのメンバーであるのなら、このリソースに対するパーミッションが与えられます。 \begin{screen} -hacker, coder, guru -unix, linux, freebsd -betty, fred, barney, wilma -view, edit +\begin{verbatim} + <security-constraint> + <roles>hacker, coder, guru</roles> + <groups>unix, linux, freebsd</groups> + <users>betty, fred, barney, wilma</users> + <permissions>view, edit</permissions> + </security-constraint> +\end{verbatim} \end{screen} @@ -148,20 +190,28 @@ \begin{screen} -hacker, coder, guru -unix, linux, freebsd -betty, fred, barney, wilma +\begin{verbatim} + <security-constraint> + <roles>hacker, coder, guru</roles> + <groups>unix, linux, freebsd</groups> + <users>betty, fred, barney, wilma</users> + </security-constraint> +\end{verbatim} \end{screen} +\subsubsection{すべて*} - 全てを意味する * (アスタリスク) は、ロール、グループ、ユーザー、パーミッションの全てに適用可能です。 \begin{screen} -* -* +\begin{verbatim} + <security-constraint> + <users>*</users> + <permissions>*</permissions> + </security-constraint> +\end{verbatim} \end{screen} @@ -181,33 +231,60 @@ \begin{screen} + <security-constraints-def name="admin"> + <security-constraint> + <roles>admin</roles> + <permissions>view, edit</permissions> + </security-constraint> + </security-constraints-def> + <global-security-constraints-ref>admin</global-security-constraints-ref> -admin -view, edit - -admin - \end{screen} +\subsubsection{デフォルトの制約} セキュリティ制約の宣言には、PALポータルのデフォルトの配備で作成されるものがあります。 -制約名与えられる対象パーミッショングローバルかどうかadminroles: adminview, edityesmanagerroles: managerviewnousersroles: user, managerviewnopublic-viewusers: *viewnopublic-editusers: *view, editno +\begin{table}[htbp] +\begin{center} + \begin{tabular}[tb]{|l|l|l|l|l|} +\hline +制約名 & 与えられる対象 & パーミッション & グローバルかどうか & \\ +\hline\hline +admin & roles: & admin & view, edit & yes\\ +\hline +manager & roles: & manager & view & no\\ +\hline +users & roles: user, manager & view & no & \\ +\hline +public-view & users: & * & view & no\\ +\hline +public-edit & users: & * & view, edit & no\\ +\hline + \end{tabular} +\end{center} +\end{table} + + \subsection{フォルダの制約} フォルダのセキュリティ制約は、サイト内の各フォルダにオプショナルで存在するfolder.metadataファイル内のsecurity-constraints リスト内に記述されます。folder.metadataファイルがない場合、もしくはそのファイル内にセキュリティ制約の記述がない場合は、フォルダは、サイトかサブサイトのルートフォルダまでディレクトリをたどって、親フォルダの制約を継承することに注意してください。以下に 2 つの例を示します。 1 つ目は参照型の制約であり、 2 つ目は宣言型の制約です。 \begin{screen} -public-view +\begin{verbatim} + <security-constraints> + <security-constraints-ref>public-view</security-constraints-ref> + <security-constraint> + <groups>engineering</groups> + <permissions>view</permissions> + </security-constraint> + </security-constraints> +\end{verbatim} -engineering -view - - \end{screen} @@ -220,13 +297,17 @@ \begin{screen} -global-view +\begin{verbatim} + <security-constraints> + <security-constraints-ref>global-view</security-constraints-ref> + <security-constraint> + <groups>accounting</groups> + <permissions>view, edit</permissions> + </security-constraint> + </security-constraints> +\end{verbatim} -accounting -view, edit - - \end{screen} 全てのセキュリティ制約は、security-constraints内に記述しなければなりません。 @@ -242,19 +323,23 @@ 宣言型のセキュリティ制約は、デフォルトでページマネージャコンポーネントの Spring の設定で有効になります。以下に、page-manager.xmlという Spring の部品設定ファイルのデフォルトのページマネージャ bean の設定を示します。 \begin{screen} + +\begin{verbatim} <bean id="org.apache.jetspeed.page.PageManager" name="pageManager" class="org.apache.jetspeed.page.psml.CastorXmlPageManager"> + <constructor-arg index="0"><ref bean="IdGenerator"/></constructor-arg> + <constructor-arg index="1"><ref bean="DocumentHandlerFactory"/></constructor-arg> + <constructor-arg index="2"><ref bean="FolderHandler"/></constructor-arg> + <constructor-arg index="3"><ref bean="PageFileCache"/></constructor-arg> + <!-- permissions security enabled flag, default=false --> + <constructor-arg index="4"><value>false</value></constructor-arg> + <!-- 制約セキュリティモデルの有効フラグ、デフォルト true --> + <constructor-arg index="5"><value>true</value></constructor-arg> + </bean> +\end{verbatim} - - - \if0 permissions security enabled flag, default=false \fi -false - \if0 制約セキュリティモデルの有効フラグ、デフォルト true \fi -true - - \end{screen} この例の 6 番目 (index="5") の真偽値のコンストラクタ引数が、"制約セキュリティ" モデルを有効にするかどうかの指定を行うものです。もし、宣言型のセキュリティ制約が有効でないのなら、全てのインライン、参照型、グローバルのセキュリティ制約は無視されます。 Modified: pal-portal/docs/ja/configuration-guide/trunk/src/tex/security/authfilter.tex =================================================================== --- pal-portal/docs/ja/configuration-guide/trunk/src/tex/security/authfilter.tex 2008-11-21 02:12:54 UTC (rev 1389) +++ pal-portal/docs/ja/configuration-guide/trunk/src/tex/security/authfilter.tex 2008-11-21 02:50:56 UTC (rev 1390) @@ -19,69 +19,83 @@ PALポータルでは、次の認証フィルターを提供しています。 -jp.sf.pal.portal.filter.CookieAuthFilter: クッキーからユーザー名とパスワードを取得する。 -jp.sf.pal.portal.filter.RequestHeaderAuthFilter: リクエストヘッダーからユーザー名とパスワードを取得する。 -jp.sf.pal.portal.filter.RequestParameterAuthFilter: リクエストパラメータからからユーザー名とパスワードを取得する。 +\begin{itemize} +\item jp.sf.pal.portal.filter.CookieAuthFilter: クッキーからユーザー名とパスワードを取得する。 +\item jp.sf.pal.portal.filter.RequestHeaderAuthFilter: リクエストヘッダーからユーザー名とパスワードを取得する。 +\item jp.sf.pal.portal.filter.RequestParameterAuthFilter: リクエストパラメータからからユーザー名とパスワードを取得する。 +\end{itemize} \subsection{初期値} web.xml で filter 要素内の init-param 要素で値を指定できます。 +\subsubsection{username.key} +\begin{itemize} -ユーザー名を取得するためのキー -デフォルト値: org.apache.jetspeed.login.username +\item ユーザー名を取得するためのキー +\item デフォルト値: org.apache.jetspeed.login.username +\end{itemize} +\subsubsection{password.key} +\begin{itemize} +\item パスワードを取得するためのキー +\item デフォルト値: org.apache.jetspeed.login.password -パスワードを取得するためのキー -デフォルト値: org.apache.jetspeed.login.password +\end{itemize} +\subsubsection{skip.password.check.} +\begin{itemize} +\item パスワード確認をスキップするかどうか。 +\item デフォルト値: false +\end{itemize} -パスワード確認をスキップするかどうか。 -デフォルト値: false - - - \subsection{設定方法} web.xml に以下のように記述します。 \begin{screen} -... -AuthFilter -jp.sf.pal.portal.filter.RequestHeaderAuthFilter - -username.key -USERNAME - - -password.key -PASSWORD - - -skip.password.check -true - - +\begin{verbatim} ... + <filter> + <filter-name>AuthFilter</filter-name> + <filter-class>jp.sf.pal.portal.filter.RequestHeaderAuthFilter</filter-class> + <init-param> + <param-name>username.key</param-name> + <param-value>USERNAME</param-value> + </init-param> + <init-param> + <param-name>password.key</param-name> + <param-value>PASSWORD</param-value> + </init-param> + <init-param> + <param-name>skip.password.check</param-name> + <param-value>true</param-value> + </init-param> + </filter> +... + <filter-mapping> + <filter-name>AuthFilter</filter-name> + <url-pattern>/*</url-pattern> + </filter-mapping> +... +</bean> +\end{verbatim} -AuthFilter -/* -... \end{screen} Modified: pal-portal/docs/ja/configuration-guide/trunk/src/tex/security/config.tex =================================================================== --- pal-portal/docs/ja/configuration-guide/trunk/src/tex/security/config.tex 2008-11-21 02:12:54 UTC (rev 1389) +++ pal-portal/docs/ja/configuration-guide/trunk/src/tex/security/config.tex 2008-11-21 02:50:56 UTC (rev 1390) @@ -17,24 +17,24 @@ 全ての設定ファイルはwebapps/palportal/WEB-INF/assemblyに配置されています。 +\subsubsection{security-atn.xml} - この設定ファイルはログインモジュールの設定を提供しています。 ログインモジュールを変更したい場合に編集します。 +\subsubsection{security-atz.xml} - この設定ファイルは、承認ポリシーの設定を提供します。 +\subsubsection{security-managers.xml} - この設定ファイルは、セキュリティに関するマネージャ機能を提供します。 +\subsubsection{security-providers.xml} - この設定ファイルは、様々なプロバイダーを提供しています。 @@ -42,98 +42,112 @@ これにより、複数の認証方法が適用することができます。 \begin{screen} + +\begin{verbatim} <bean id="org.apache.jetspeed.security.AuthenticationProviderProxy" class="org.apache.jetspeed.security.impl.AuthenticationProviderProxyImpl"> + <constructor-arg > + <list> + <ref bean="org.apache.jetspeed.security.AuthenticationProvider"/> + </list> + </constructor-arg> + <constructor-arg ><value>DefaultAuthenticator</value></constructor-arg> +</bean> +\end{verbatim} - - - -DefaultAuthenticator - - \end{screen} AuthenticationProvider は、ポータル上で利用する認証プロバイダーを設定しています。 以下の例では、ユーザー情報の管理にデータベースを利用する認証方法を設定しています。 \begin{screen} + +\begin{verbatim} <bean id="org.apache.jetspeed.security.AuthenticationProvider" class="org.apache.jetspeed.security.impl.AuthenticationProviderImpl"> -DefaultAuthenticator -The default authenticator -login.conf + <constructor-arg index="0"><value>DefaultAuthenticator</value></constructor-arg> + <constructor-arg index="1"><value>The default authenticator</value></constructor-arg> + <constructor-arg index="2"><value>login.conf</value></constructor-arg> + <constructor-arg index="3"> + <ref bean="org.apache.jetspeed.security.spi.CredentialHandler"/> + </constructor-arg> + <constructor-arg index="4"> + <ref bean="org.apache.jetspeed.security.spi.UserSecurityHandler"/> + </constructor-arg> +</bean> +\end{verbatim} - - - - \end{screen} AuthorizationProvider はパーミッションを適用するために使用される SecurityPolicies を設定します。 \begin{screen} + +\begin{verbatim} <bean id="org.apache.jetspeed.security.AuthorizationProvider" class="org.apache.jetspeed.security.impl.AuthorizationProviderImpl"> + <constructor-arg index="0"> + <ref bean="org.apache.jetspeed.security.impl.RdbmsPolicy"/> + </constructor-arg> + <!-- Does not use the default policy as a default behavior --> + <constructor-arg index="1"><value>false</value></constructor-arg> +</bean> +\end{verbatim} - \if0 Does not use the default policy as a default behavior \fi -false - - \end{screen} +\subsubsection{security-spi.xml} - この設定ファイルは、共通の認証・承認 SPI の設定を提供します。 +\subsubsection{security-spi-atn.xml} - この設定ファイルは、認証 SPI の設定を提供します。 +\begin{table}[htbp] +\begin{center} + \begin{tabular}[tb]{|l|l|} +\hline +コンポーネント名 & 説明\\ +\hline\hline +org.apache.jetspeed.security.spi.CredentialHandler & CredentialHandler は資格に関する操作を内包します。その処理は、PasswordCredentialProvider や InternalPasswordCredentialInterceptor により定義されたパスワード検証処理の実装を持ちます。\\ +\hline +org.apache.jetspeed.security.spi.UserSecurityHandler & UserSecurityHandler はユーザー主体まわりの操作を内包します。\\ +\hline + \end{tabular} +\end{center} +\end{table} -コンポーネント名 -説明 -org.apache.jetspeed.security.spi.CredentialHandler -CredentialHandler は資格に関する操作を内包します。その処理は、PasswordCredentialProvider や InternalPasswordCredentialInterceptor により定義されたパスワード検証処理の実装を持ちます。 +\subsubsection{security-spi-atz.xml} -org.apache.jetspeed.security.spi.UserSecurityHandler -UserSecurityHandler はユーザー主体まわりの操作を内包します。 - - - - - この設定ファイルは、承認 SPI の設定を提供します。 +\begin{table}[htbp] +\begin{center} + \begin{tabular}[tb]{|l|l|} +\hline +コンポーネント名 & 説明\\ +\hline\hline +org.apache.jetspeed.security.spi.RoleSecurityHandler & RoleSecurityHandler はロール主体まわりの処理を内包しています。\\ +\hline +org.apache.jetspeed.security.spi.GroupSecurityHandler & GroupSecurityHandler はグループ主体まわりの処理を内包しています。\\ +\hline +org.apache.jetspeed.security.spi.SecurityMappingHandler & SecurityMappingHandler は主体間のマッピング操作を内包しています。\\ +\hline + \end{tabular} +\end{center} +\end{table} -コンポーネント名 -説明 - -org.apache.jetspeed.security.spi.RoleSecurityHandler -RoleSecurityHandler はロール主体まわりの処理を内包しています。 - - -org.apache.jetspeed.security.spi.GroupSecurityHandler -GroupSecurityHandler はグループ主体まわりの処理を内包しています。 - - -org.apache.jetspeed.security.spi.SecurityMappingHandler -SecurityMappingHandler は主体間のマッピング操作を内包しています。 - - - - - - Modified: pal-portal/docs/ja/configuration-guide/trunk/src/tex/security/credential.tex =================================================================== --- pal-portal/docs/ja/configuration-guide/trunk/src/tex/security/credential.tex 2008-11-21 02:12:54 UTC (rev 1389) +++ pal-portal/docs/ja/configuration-guide/trunk/src/tex/security/credential.tex 2008-11-21 02:50:56 UTC (rev 1390) @@ -39,15 +39,15 @@ PALポータルでは、パスワード資格を扱うために PasswordCredential の実装を提供して、認証に利用しています。 +\subsubsection{パスワードエンコード} - PasswordCredentialProvider から CredentialPasswordEncoder が利用可能であれば、パスワードは保存される前にエンコードされます。 提供している MessageDigestCredentialPasswordEncoder はパスワードの暗号化にメッセージダイジェストのハッシュアルゴリズムを適用します。 たとえば、SHA-1 や Base64 などが利用可能です。 +\subsubsection{パスワード検証} - PasswordCredentialProvider から CredentialPasswordValidator が利用可能であれば、パスワードは保存される前に検証されます。 たとえば、DefaultCredentialPasswordValidator はパスワードを必須にします。 また、SimpleCredentialPasswordValidator は最小の文字列数や最小の数値文字数などを検証することもできます。 @@ -55,28 +55,41 @@ InternalCredential では、ライフサイクルイベントで割り込んで検証します。 DefaultCredentialHandler が InternalPasswordCredentialInterceptor で提供されていれば、以下の状況で呼ばれます。 -保存場所から資格を読み取った後ユーザー認証した後新しい資格を保存する前新しいパスワードを資格に保存する前 + +\begin{itemize} + +\item 保存場所から資格を読み取った後 +\item ユーザー認証した後 +\item 新しい資格を保存する前 +\item 新しいパスワードを資格に保存する前 + +\end{itemize} + + PALポータルは、基本的なインターセプターを提供しています。 -ValidatePasswordOnLoadInterceptor: + +\begin{itemize} + +\item ValidatePasswordOnLoadInterceptor: このインターセプターは保存時にパスワードを検証し、正しくなければ変更を要求します。 それは PasswordCredentialProvider の CredentialPasswordValidator により構成されます。 -EncodePasswordOnFirstLoadInterceptor: +\item EncodePasswordOnFirstLoadInterceptor: このインターセプターはパスワード保存先から暗号化されていないパスワードを読み取ったときに実行されます。 -PasswordCredentialProvider の CredentialPasswordEncoder を使用して、データベースから平文パスワードを初回読み込み時に自動的にエンコードします。 -PasswordExpirationInterceptor: +\item PasswordCredentialProvider の CredentialPasswordEncoder を使用して、データベースから平文パスワードを初回読み込み時に自動的にエンコードします。 +\item PasswordExpirationInterceptor: このインターセプターはパスワードの有効期間を確認します。 それは、InternalCredential の expiration\_date と is\_expired の値で管理され、期限切れの場合は期限切れフラグを立てます。 -MaxPasswordAuthenticationFailuresInterceptor: +\item MaxPasswordAuthenticationFailuresInterceptor: このインターセプターは不正パスワード入力の最大回数を確認して、パスワードハッキングを防ぎます。 最大失敗回数に到達すると、その資格は無効になります。 認証に成功すると、失敗回数はリセットされます。 -PasswordHistoryInterceptor: +\item PasswordHistoryInterceptor: このインターセプターは過去にパスワードが利用したものでないかを確認します。 新いパスワードを設定すると、現在のパスワードを FIFO スタックに保存します。 以前に利用したものであれば、PasswordAlreadyUsedException が発生します。 +\end{itemize} - DefaultCredentialHandler は 1 つだけのインターセプターをサポートしています。 しかし、InternalPasswordCredentialInterceptorsProxy を用いることで、複数のインターセプターを利用することができます。 @@ -86,9 +99,11 @@ DefaultCredentialHandler の実装で利用されるコンポーネントを以下の図に示します。 +\newpage + \begin{figure}[ht] \begin{center} -\includegraphics{images/credential-handler-c.eps} +\includegraphics[width=140mm]{images/credential-handler-c.eps} \caption{TBD} \label{fig:credential-handler-c} \end{center} @@ -101,7 +116,7 @@ \begin{figure}[ht] \begin{center} -\includegraphics{images/principals-credentials-schema.eps} +\includegraphics[width=140mm]{images/principals-credentials-schema.eps} \caption{TBD} \label{fig:principals-credentials-schema} \end{center} Modified: pal-portal/docs/ja/configuration-guide/trunk/src/tex/security/guide.tex =================================================================== --- pal-portal/docs/ja/configuration-guide/trunk/src/tex/security/guide.tex 2008-11-21 02:12:54 UTC (rev 1389) +++ pal-portal/docs/ja/configuration-guide/trunk/src/tex/security/guide.tex 2008-11-21 02:50:56 UTC (rev 1390) @@ -22,7 +22,7 @@ \begin{figure}[ht] \begin{center} -\includegraphics{images/security-arch-overview.eps} +\includegraphics[width=140mm]{images/security-arch-overview.eps} \caption{TBD} \label{fig:security-arch-overview} \end{center} @@ -48,7 +48,7 @@ \begin{figure}[ht] \begin{center} -\includegraphics{images/atn-arch-c.eps} +\includegraphics[width=140mm]{images/atn-arch-c.eps} \caption{TBD} \label{fig:atn-arch-c} \end{center} @@ -57,19 +57,27 @@ 上記のコンポーネントについては、以下のとおりです。 -コンポーネント説明DefaultLoginModulePALポータル標準の LoginModule の実装で、UserManager の authenticate() メソッドを利用しています。 -そのメソッドにより、設定された様々な AuthenticationProvider に対して、認証を提供することができます。 -UserManager -認証とユーザー管理を提供するコンポーネントです。 -AuthenticationProviderProxy や SecurityProvider を通して、様々な AuthenticationProvider が利用することができます。 -SecurityProvider -SPI の実装で利用可能なセキュリティプロバイダーを提供します。 -AuthenticationProviderProxy -複数の AuthenticationProvider 実装のプロキシとして動作します。 -AuthenticationProviderProx は、認証およびユーザー管理のために適切な AuthenticationProvider を呼び出すことができます。 +\begin{table}[htbp] +\begin{center} + \begin{tabular}[tb]{|l|l|} +\hline +コンポーネント & 説明\\ +\hline\hline +DefaultLoginModule & PALポータル標準の LoginModule の実装で、UserManager の authenticate() メソッドを利用しています。そのメソッドにより、設定された様々な AuthenticationProvider に対して、認証を提供することができます。\\ +\hline +UserManager & 認証とユーザー管理を提供するコンポーネントです。 AuthenticationProviderProxy や SecurityProvider を通して、様々な AuthenticationProvider が利用することができます。\\ +\hline +SecurityProvider & SPI の実装で利用可能なセキュリティプロバイダーを提供します。\\ +\hline +AuthenticationProviderProxy & 複数の AuthenticationProvider 実装のプロキシとして動作します。 AuthenticationProviderProx は、認証およびユーザー管理のために適切な AuthenticationProvider を呼び出すことができます。\\ +\hline + \end{tabular} +\end{center} +\end{table} + \subsection{承認概要} PALポータルは、主体とパーミッション間の関係を管理するデータベースを利用するための java.security.Policy を実装しています。 @@ -77,7 +85,7 @@ \begin{figure}[ht] \begin{center} -\includegraphics{images/rdbms-policy-overview-c.eps} +\includegraphics[width=140mm]{images/rdbms-policy-overview-c.eps} \caption{TBD} \label{fig:rdbms-policy-overview-c} \end{center} @@ -92,20 +100,15 @@ PALポータルでは以下のセキュリティサービスへのインターフェースを提供しています。 +\begin{itemize} -UserManager: ユーザー管理機能を提供します。 +\item UserManager: ユーザー管理機能を提供します。 +\item GroupManager: グループ管理機能を提供します。 +\item RoleManager: ロール管理機能を提供します。 +\item PermissionManager: パーミッション管理機能を提供します。 +\end{itemize} -GroupManager: グループ管理機能を提供します。 -RoleManager: ロール管理機能を提供します。 - -PermissionManager: パーミッション管理機能を提供します。 - - - - - - Modified: pal-portal/docs/ja/configuration-guide/trunk/src/tex/security/login.tex =================================================================== --- pal-portal/docs/ja/configuration-guide/trunk/src/tex/security/login.tex 2008-11-21 02:12:54 UTC (rev 1389) +++ pal-portal/docs/ja/configuration-guide/trunk/src/tex/security/login.tex 2008-11-21 02:50:56 UTC (rev 1390) @@ -35,7 +35,7 @@ \begin{figure}[ht] \begin{center} -\includegraphics{images/loginprocess.eps} +\includegraphics[width=140mm]{images/loginprocess.eps} \caption{TBD} \label{fig:loginprocess} \end{center} @@ -57,28 +57,37 @@ login.conf の内容は以下の通りです。 \begin{screen} + +\begin{verbatim} Jetspeed { org.apache.jetspeed.security.impl.DefaultLoginModule required; }; +\end{verbatim} + + \end{screen} この設定を上書きして変更するためには、webapps/palportal/WEB-INF/classesに login.conf を作成します。 login.conf のファイル名などを変更したい場合などは、security-providers.xmlで login.conf を指定しているので、その値を変更してください。 \begin{screen} + +\begin{verbatim} <bean id="org.apache.jetspeed.security.AuthenticationProvider" class="org.apache.jetspeed.security.impl.AuthenticationProviderImpl"> -DefaultAuthenticator -The default authenticator -login.conf + <constructor-arg index="0"><value>DefaultAuthenticator</value></constructor-arg> + <constructor-arg index="1"><value>The default authenticator</value></constructor-arg> + <constructor-arg index="2"><value>login.conf</value></constructor-arg> + <constructor-arg index="3"> + <ref bean="org.apache.jetspeed.security.spi.CredentialHandler"/> + </constructor-arg> + <constructor-arg index="4"> + <ref bean="org.apache.jetspeed.security.spi.UserSecurityHandler"/> + </constructor-arg> +</bean> +\end{verbatim} - - - - - - \end{screen} AuthenticationProvider は、システムプロパティの java.security.auth.login.config の値を security-providers.xml で指定した login.conf のパスを設定して、使用される LoginModule を設定します。 @@ -88,9 +97,11 @@ DefaultLoginModule の実装は、以下の図のようになります。 +\newpage + \begin{figure}[ht] \begin{center} -\includegraphics{images/default-login-module-c.eps} +\includegraphics[width=140mm]{images/default-login-module-c.eps} \caption{TBD} \label{fig:default-login-module-c} \end{center} @@ -99,47 +110,24 @@ DefaultLoginModule で使用されるクラスの役割は以下の通りです。 +\begin{table}[htbp] +\begin{center} + \begin{tabular}[tb]{|l|l|} +\hline +クラス名 & 説明\\ +\hline\hline +org.apache.jetspeed.security.impl.DefaultLoginModule & javax.security.auth.spi.LoginModule の実装です。 DefaultLoginModule での認証確認は、UserManager を利用しています。\\ +\hline +org.apache.jetspeed.security.LoginModuleProxy & UserManager を DefaultLoginModule で利用するためのユーティリティコンポーネントです。\\ +\hline +org.apache.jetspeed.security.User & User は javax.security.auth.Subject と java.util.prefs.Preferences を保持するインターフェースです。 PALポータルでは、UserPrincipal、RolePrincipal、GroupPrincipal の 3 種類の主体を扱います。\\ +\hline +org.apache.jetspeed.security.UserManager & ユーザーに関する操作を提供するインターフェースです。このインターフェースは、様々な SPI を集約したもので、SPI で定義された機能を利用することができます。\\ +\hline + \end{tabular} +\end{center} +\end{table} -クラス名 -説明 - -org.apache.jetspeed.security.impl.DefaultLoginModule - - -javax.security.auth.spi.LoginModule の実装です。 -DefaultLoginModule での認証確認は、UserManager を利用しています。 - - - - -org.apache.jetspeed.security.LoginModuleProxy - - -UserManager を DefaultLoginModule で利用するためのユーティリティコンポーネントです。 - - - - -org.apache.jetspeed.security.User - - -User は javax.security.auth.Subject と java.util.prefs.Preferences を保持するインターフェースです。 -PALポータルでは、UserPrincipal、RolePrincipal、GroupPrincipal の 3 種類の主体を扱います。 - - - - -org.apache.jetspeed.security.UserManager - - -ユーザーに関する操作を提供するインターフェースです。 -このインターフェースは、様々な SPI を集約したもので、SPI で定義された機能を利用することができます。 - - - - - - Modified: pal-portal/docs/ja/configuration-guide/trunk/src/tex/security/transferfilter.tex =================================================================== --- pal-portal/docs/ja/configuration-guide/trunk/src/tex/security/transferfilter.tex 2008-11-21 02:12:54 UTC (rev 1389) +++ pal-portal/docs/ja/configuration-guide/trunk/src/tex/security/transferfilter.tex 2008-11-21 02:50:56 UTC (rev 1390) @@ -27,71 +27,84 @@ web.xml で filter 要素内の init-param 要素で値を指定できます。 +\subsubsection{transferred.info} +\begin{itemize} -転送対象の情報を指定する。転送対象となる情報は、ユーザー情報(JSR 168 PLT.17)として格納されている情報です。それ以外にユーザーIDをusernameとして定義しています。 -「名前キー=値キー」を , 区切りで指定する。名前キーがクッキーでキーとして利用されます。値キーはユーザー情報で利用されるキーの部分または username を利用します。 +\item 転送対象の情報を指定する。転送対象となる情報は、ユーザー情報(JSR 168 PLT.17)として格納されている情報です。それ以外にユーザーIDをusernameとして定義しています。 +\item 「名前キー=値キー」を , 区切りで指定する。名前キーがクッキーでキーとして利用されます。値キーはユーザー情報で利用されるキーの部分または username を利用します。 +\end{itemize} +\subsubsection{path} +\begin{itemize} +\item クッキーに指定する際の path として渡される情報。 +\end{itemize} -クッキーに指定する際の path として渡される情報。 +\subsubsection{domain} +\begin{itemize} +\item クッキーに指定する際の domain として渡される情報。 +\end{itemize} +\subsubsection{max.age} +\begin{itemize} -クッキーに指定する際の domain として渡される情報。 +\item クッキーに指定する際の maxAge として渡される情報。 +\end{itemize} +\subsubsection{secure} +\begin{itemize} +\item クッキーに指定する際の secure として渡される情報。 -クッキーに指定する際の maxAge として渡される情報。 +\end{itemize} - - - - -クッキーに指定する際の secure として渡される情報。 - - - - \subsection{設定方法} web.xml に以下のように記述します。 \begin{screen} + +\begin{verbatim} ... + <filter> + <filter-name>CookieTransferFilter</filter-name> + <filter-class>jp.sf.pal.portal.filter.CookieTransferFilter</filter-class> + <init-param> + <param-name>transferred.info</param-name> + <param-value>H=username,NAME=user.name.given</param-value> + </init-param> + <init-param> + <param-name>path</param-name> + <param-value>/</param-value> + </init-param> + <init-param> + <param-name>max.age</param-name> + <param-value>-1</param-value> + </init-param> + </filter> +... + <filter-mapping> + <filter-name>CookieTransferFilter</filter-name> + <url-pattern>/*</url-pattern> + </filter-mapping> +... +\end{verbatim} -CookieTransferFilter -jp.sf.pal.portal.filter.CookieTransferFilter -transferred.info -H=username,NAME=user.name.given -path -/ - - -max.age --1 - - -... - -CookieTransferFilter -/* - -... - \end{screen} 設定を保存し、ポータルを再起動後に有効になります。 Modified: pal-portal/docs/ja/configuration-guide/trunk/src/tex/userattribute/guide.tex =================================================================== --- pal-portal/docs/ja/configuration-guide/trunk/src/tex/userattribute/guide.tex 2008-11-21 02:12:54 UTC (rev 1389) +++ pal-portal/docs/ja/configuration-guide/trunk/src/tex/userattribute/guide.tex 2008-11-21 02:50:56 UTC (rev 1390) @@ -31,29 +31,40 @@ たとえば、JSR 168 の PLT.17.1 では、属性に関して portlet.xml で以下のように定義されます。 \begin{screen} +\begin{verbatim} +<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>\end{verbatim} -User Given Name -user.name.given - -User Last Name -user.name.family - - -User eMail -user.home-info.online.email - - ... - \end{screen} このように属性が定義されると、ポートレットは PortletRequest インタフェースで定義された USER\_INFO 定数を使って PortletRequest から変更できない Map としてログインしているユーザーの属性値にアクセスすることが可能になります。 -Map userInfo = (Map)request.getAttribute(PortletRequest.USER\_INFO); +\begin{screen} + +\begin{verbatim} +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") : ""; +String email = (userInfo!=null) ? (String)userInfo.get("user.home-info.online.email") : "";</portlet-app> +\end{verbatim} + +\end{screen} + ポートレット仕様で定義されないのは、ポータルが定義されたユーザー属性をユーザーの具体的な属性にどのようにマッピングするかです。 @@ -72,8 +83,8 @@ jetspeed-portlet.xml 内で定義されるカスタムマッピングの使用 +\subsubsection{カスタムのユーザー属性マッピング} - もし対象とするポータルとして PALポータルを利用して新しいポートレットアプリケーションを書いたのなら、ポータル内でユーザー属性と一致する User Attributes を定義することは簡単でしょう。 しかし、もし既に存在するポートレットアプリケーションを PALポータル上に配備したいのなら、ポートレットアプリケーションに必要な属性名と PALポータルの User Preferences に格納される具体的な属性名の間のミスマッチがあるかもしれません。 @@ -87,22 +98,41 @@ ユーザー属性のマッピングはカスタムのユーザー属性名を定義する "name" エレメントと、その属性名にマップされる具体的な属性名を定義する"name-link" エレメントを含む "user-attribute-ref" エレメントによって定義されます。 \begin{screen} + +\begin{verbatim} <portlet-app version="1.0" - xmlns="http://java.sun.com/xml/ns/portlet/portlet-app\_1\_0.xsd" + 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> +\end{verbatim} -user-name-given -user.name.given +\end{screen} -user-name-family -user.name.family +先の例のようなカスタムのマッピングを使って、ポートレットは次のようにユーザー属性にアクセスできます。 - ... +\begin{screen} +\begin{verbatim} +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") : ""; +\end{verbatim} + + \end{screen} -先の例のようなカスタムのマッピングを使って、ポートレットは次のようにユーザー属性にアクセスできます。 + 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") : "";