[CONF] Confluence Changes in the last 24 hours

2007-02-06 Thread confluence
-
This is a daily summary of all recent changes in Confluence.

-
Updated Spaces:
-

Apache Directory Community & Resources (directory) 
http://cwiki.apache.org/confluence/display/directory
|
|-Pages Added or Edited in This Space
 |-- The team was last edited by pamarcelot (04:54 PM).
 |   http://cwiki.apache.org/confluence/display/directory/The+team
 |-- Open Group certification was last edited by szoerner (03:21 PM).
 |   
http://cwiki.apache.org/confluence/display/directory/Open+Group+certification
 |-- Secure Single Sign-On with Apache Directory and Apache Kerberos was last 
edited by ck (03:15 PM).
 |   
http://cwiki.apache.org/confluence/display/directory/Secure+Single+Sign-On+with+Apache+Directory+and+Apache+Kerberos
 |-- Sources was last edited by ck (11:34 AM).
 |   http://cwiki.apache.org/confluence/display/directory/Sources

Apache Geronimo Development (GMOxDEV) 
http://cwiki.apache.org/confluence/display/GMOxDEV
|
|-Pages Added or Edited in This Space
 |-- Clustering Geronimo with Open Terracotta was last edited by davecola 
(01:53 PM).
 |   
http://cwiki.apache.org/confluence/display/GMOxDEV/Clustering+Geronimo+with+Open+Terracotta
 |-- Java EE 5 Annotations was last edited by mcconne (01:22 PM).
 |   http://cwiki.apache.org/confluence/display/GMOxDEV/Java+EE+5+Annotations

Apache CXF 2.0 Documentation (CXF20DOC) 
http://cwiki.apache.org/confluence/display/CXF20DOC
|
|-Pages Added or Edited in This Space
 |-- JMS Transport was last edited by dandiep (12:36 PM).
 |   http://cwiki.apache.org/confluence/display/CXF20DOC/JMS+Transport

Apache Geronimo v1.1 (GMOxDOC11) 
http://cwiki.apache.org/confluence/display/GMOxDOC11
|
|-Pages Added or Edited in This Space
 |-- openejb-jar.xml was last edited by [EMAIL PROTECTED] (11:57 PM).
 |   http://cwiki.apache.org/confluence/display/GMOxDOC11/openejb-jar.xml
 |-- Web services sample application was last edited by [EMAIL PROTECTED] 
(03:40 AM).
 |   
http://cwiki.apache.org/confluence/display/GMOxDOC11/Web+services+sample+application

Apache Struts 2 Documentation (WW) http://cwiki.apache.org/confluence/display/WW
|
|-Pages Added or Edited in This Space
 |-- Migration Guide was last edited by husted (09:10 AM).
 |   http://cwiki.apache.org/confluence/display/WW/Migration+Guide
 |-- Release Notes 2.0.6 was created by husted (09:09 AM).
 |   http://cwiki.apache.org/confluence/display/WW/Release+Notes+2.0.6
 |-- Plugin Developers Guide was last edited by husted (09:05 AM).
 |   http://cwiki.apache.org/confluence/display/WW/Plugin+Developers+Guide
 |-- Tiles Use was last edited by husted (09:04 AM).
 |   http://cwiki.apache.org/confluence/display/WW/Tiles+Use
 |-- Creating and Signing a Distribution was last edited by husted (08:50 AM).
 |   
http://cwiki.apache.org/confluence/display/WW/Creating+and+Signing+a+Distribution
 |-- How can we test Actions was last edited by husted (06:12 AM).
 |   http://cwiki.apache.org/confluence/display/WW/How+can+we+test+Actions

Apache Cayenne Documentation (CAYDOC) 
http://cwiki.apache.org/confluence/display/CAYDOC
|
|-Pages Added or Edited in This Space
 |-- JPA Cayenne Provider Properties was last edited by andrus (05:44 AM).
 |   
http://cwiki.apache.org/confluence/display/CAYDOC/JPA+Cayenne+Provider+Properties

Apache Directory Server v1.0 (DIRxSRVx10) 
http://cwiki.apache.org/confluence/display/DIRxSRVx10
|
|-Pages Added or Edited in This Space
 |-- ApacheDS v1.0 Features was last edited by ck (02:35 PM).
 |   
http://cwiki.apache.org/confluence/display/DIRxSRVx10/ApacheDS+v1.0+Features
 |-- ApacheDS v1.0 Developers's Guide was last edited by ck (01:39 PM).
 |   
http://cwiki.apache.org/confluence/display/DIRxSRVx10/ApacheDS+v1.0+Developers%27s+Guide
 |-- ApacheDS v1.0 Advanced User's Guide was last edited by ck (01:35 PM).
 |   
http://cwiki.apache.org/confluence/display/DIRxSRVx10/ApacheDS+v1.0+Advanced+User%27s+Guide
 |-- 1.3. Installing and starting the server was last edited by szoerner (11:23 
AM).
 |   
http://cwiki.apache.org/confluence/display/DIRxSRVx10/1.3.+Installing+and+starting+the+server
 |-- 1.2. Some Background. Directories, directory services and LDAP was last 
edited by szoerner (11:22 AM).
 |   
http://cwiki.apache.org/confluence/display/DIRxSRVx10/1.2.+Some+Background.+Directories%2C+directory+services+and+LDAP
 |-- 1.1. What Apache Directory Server is was last edited by szoerner (11:21 
AM).
 |   
http://cwiki.apache.org/confluence/display/DIRxSRVx10/1.1.+What+Apache+Directory+Server+is
 |-- 1.4. Basic configuration tasks was last edited by jconlon (11:16 AM).
 |   
http://cwiki.apache.org/confluence/display/DIRxSRVx10/1.4.+Basic+configuration+tasks
 |-- 3.3. How to enable SSL was last edited by szoerner (10:24 AM).
 |   
http://cwiki.apache.org/confluence/display/DIRxSRVx10/3.3.+How+to+enable+SSL

svn commit: r504142 - /struts/struts2/trunk/core/src/main/resources/template/simple/select.ftl

2007-02-06 Thread rgielen
Author: rgielen
Date: Tue Feb  6 06:06:46 2007
New Revision: 504142

URL: http://svn.apache.org/viewvc?view=rev&rev=504142
Log:
Fix for WW-1711:
current option is not selected if actual value to check is no String (aka: 
nameValue resolves to type other than String)

Modified:
struts/struts2/trunk/core/src/main/resources/template/simple/select.ftl

Modified: 
struts/struts2/trunk/core/src/main/resources/template/simple/select.ftl
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/resources/template/simple/select.ftl?view=diff&rev=504142&r1=504141&r2=504142
==
--- struts/struts2/trunk/core/src/main/resources/template/simple/select.ftl 
(original)
+++ struts/struts2/trunk/core/src/main/resources/template/simple/select.ftl Tue 
Feb  6 06:06:46 2007
@@ -57,7 +57,7 @@
 <#assign itemValue = stack.findString('top')/>
 
 
-<#if tag.contains(parameters.nameValue, itemKey) == true>
+<#if parameters.nameValue?exists && 
tag.contains(parameters.nameValue.toString(), itemKey) == true>
  selected="selected"<#rt/>
 
 >${itemValue?html}<#lt/>




svn commit: r504196 - /struts/struts2/trunk/core/src/main/resources/template/simple/select.ftl

2007-02-06 Thread rgielen
Author: rgielen
Date: Tue Feb  6 08:58:23 2007
New Revision: 504196

URL: http://svn.apache.org/viewvc?view=rev&rev=504196
Log:
WW-1711:
This fix will work also with primitve types & is more fm-like

Modified:
struts/struts2/trunk/core/src/main/resources/template/simple/select.ftl

Modified: 
struts/struts2/trunk/core/src/main/resources/template/simple/select.ftl
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/resources/template/simple/select.ftl?view=diff&rev=504196&r1=504195&r2=504196
==
--- struts/struts2/trunk/core/src/main/resources/template/simple/select.ftl 
(original)
+++ struts/struts2/trunk/core/src/main/resources/template/simple/select.ftl Tue 
Feb  6 08:58:23 2007
@@ -57,7 +57,7 @@
 <#assign itemValue = stack.findString('top')/>
 
 
-<#if parameters.nameValue?exists && 
tag.contains(parameters.nameValue.toString(), itemKey) == true>
+<#if parameters.nameValue?exists && 
tag.contains(parameters.nameValue?string, itemKey) == true>
  selected="selected"<#rt/>
 
 >${itemValue?html}<#lt/>




[Struts Wiki] Update of "StrutsDocComments" by MichaelJouravlev

2007-02-06 Thread Apache Wiki
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Struts Wiki" for change 
notification.

The following page has been changed by MichaelJouravlev:
http://wiki.apache.org/struts/StrutsDocComments

The comment on the change is:
Added RolloverScope reference

--
 * [:StrutsCatalogBaseAction:Use Base Action]
 * [:DataEntryForm:Implementing Data Entry Form]
 * [:EventActionDispatcher:Using Dispatch Actions]
+* [:RolloverScope:Using rollover scope instead of session]
 * ActionChaining
  * [:StrutsManualActionWebComponent:Developing components with Struts]
 * [:StrutsManualActionWebComponentSync:Synchronous component 
(non-Ajax, full page reload)]


[Struts Wiki] Update of "RolloverScope" by MichaelJouravlev

2007-02-06 Thread Apache Wiki
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Struts Wiki" for change 
notification.

The following page has been changed by MichaelJouravlev:
http://wiki.apache.org/struts/RolloverScope

The comment on the change is:
Rewrote the page.

--
  Attention! This page describes a feature that has not been implemented yet!
  
- = Rollover Scope for Struts 1.3.x =
+ = Rollover Scope for Struts 1.x =
  
- In addition to standard J2EE scope objects (request, session, applicaiton) 
Struts will support the ''rollover scope''. Ideally, for most uses and purposes 
this scope should be identical to request scope, but its content should be 
stored on the server until the next request comes in. Hence the name, the 
content of the scope rolls over to a next request.
+ Traditionally web applications have stored state information either in in the 
HTTP request or in the HTTP session. If request object is used, a common 
practice to preserve state between request is to save it into HTML FORM; in 
this case moving back and forward along page history changes the state. If 
session object is used, it may open a potential source of memory leak, because 
application has to explicitly remove user objects from session.
  
- One of the reasons for implementing rollover scope is automatic retaining of 
an !ActionForm, so its content to be displayed on a consecutive request 
(redirect-after-post pattern). Using session-scoped forms requires manual 
memory cleanup, which is tedious.
+ Caught between limitations of request object from the one hand and the 
necessity of laborious manual housekeeping of session object on another hand, 
developers rarely use redirection to split input and render tasks. This is 
unfortunate because Redirect-After-Post pattern is a simple and proven solution 
for creating user-friendly and error-resistant interfaces.
  
- == A high-level outline of a rollover scope ==
+ Starting from Struts 1.4 it will be possible to store data related to a 
multi-request conversation in the Rollover Scope.
  
- When an object is stored in rollover scope, the object is actually stored in 
the request scope. An additional reference to the object is stored in rollover 
scope container. If container does not exist, it is created and is stored 
itself in the request scope.
+ == Rollover scope in a nutshell ==
  
- When an object is accessed from rollover scope, the data is actually read 
from the request scope.
+ Physically, a rollover scope is a map stored within session scope. One 
session can have one or more associated rollover scopes. 
  
- Before returning the response to a client Struts verifies whether a rollover 
container exists in request scope. If yes, the container is saved into the 
session scope. On a next request, Struts checks whether the session contains a 
rollover container. If yes, its content is moved to the request scope and 
rollover container is disposed of.
+ Rollover scope can be used in the following ways:
+  * Directly from use code through methods of RolloverScope class. [not tested]
+  * Indirectly through saveXXX() and loadXXX() methods of Action class. [not 
implemented yet]
+  * By specifying action form scope in an action mapping of struts-config.xml 
file. [implemented]
  
- This approach allows to present rollover-scoped objects as request-scoped 
objects to an application in most cases. When an application accesses rollover 
scope, it actually accesses the request scope. Struts tags or JSTL tags 
automatically pick up data saved in rollover scope because this data has been 
copied back to request scope. Thus, no additional support is nesessary for tag 
libraries.
+ A rollover scope can be configured for automatic garbage collection. Two 
techniques are possible:
+  * Setting scope lifetime when the scope is created.
+  * Specifying a scope as a storage for an action form that corresponds to a 
multi-request conversation like a wizard.
  
- Without additional handling, the rollover-scoped object can be instantiated 
only once for a given session, because the rollover scope is stored in the 
session between requests. This is a limitation of the current implementation. 
The ways to overcome it are outlined further.
+ == Using rollover scope explicitly from application code ==
  
- == ActionForm and rollover scope ==
+ To obtain an instance of a rollover scope use {{{RolloverScope.getInstance}}} 
static method. If the scope you are accessing does not exist and "create" flag 
is true, new scope will be created.
  
- An !ActionForm can be configured to be stored in the rollover scope using 
{{{scope="rollover"}}} in an action mapping configuration, for example:
+ To store data in a scope or to read data from a scope use appropriate methods 
of Map interface. Rollover scope is just an enhanced Map.
+ 
+ To remove rollover scope from the session object use 
{{{RolloverScope.remove}}} method.
+ 
+ == 

[Struts Wiki] Update of "RolloverScope" by MichaelJouravlev

2007-02-06 Thread Apache Wiki
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Struts Wiki" for change 
notification.

The following page has been changed by MichaelJouravlev:
http://wiki.apache.org/struts/RolloverScope

The comment on the change is:
Added picture

--
  Caught between limitations of request object from the one hand and the 
necessity of laborious manual housekeeping of session object on another hand, 
developers rarely use redirection to split input and render tasks. This is 
unfortunate because Redirect-After-Post pattern is a simple and proven solution 
for creating user-friendly and error-resistant interfaces.
  
  Starting from Struts 1.4 it will be possible to store data related to a 
multi-request conversation in the Rollover Scope.
+ 
+ inline:rollover.gif
  
  == Rollover scope in a nutshell ==
  


[Struts Wiki] Update of "RolloverScope" by MichaelJouravlev

2007-02-06 Thread Apache Wiki
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Struts Wiki" for change 
notification.

The following page has been changed by MichaelJouravlev:
http://wiki.apache.org/struts/RolloverScope

The comment on the change is:
Added sample app

--
  !RequestScope enity now allows "rollover" value along with "request" and 
"session".
  
  == Source code and samples ==
- The changes related to rollover scope have not been committed to main Struts 
1.x codebase yet. You can try a simple example of rollover scope usage by 
downloading this sample application. Source code is included.
+ The changes related to rollover scope have not been committed to main Struts 
1.x codebase yet. You can try a simple example of rollover scope usage by 
downloading this sample application: attachment:rollover.war . Source code and 
build script are included.
  


[Struts Wiki] Trivial Update of "RolloverScope" by MichaelJouravlev

2007-02-06 Thread Apache Wiki
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Struts Wiki" for change 
notification.

The following page has been changed by MichaelJouravlev:
http://wiki.apache.org/struts/RolloverScope

The comment on the change is:
Small style changes

--
  
  == Using rollover scope to store an action form ==
  
- In a Struts application a rollover scope can be used just as any other J2EE 
scope, including action mappings. To declare a rollover scope for an action 
form use scope="rollover" in action mapping definition. Below is an example of 
a standard redirect-after-post pattern: one mapping for submitting user data 
from browser, another mapping for rendering a web page. An implicit rollover 
scope is used to store form bean in between requests.
+ In a Struts application a rollover scope can be used just as any other J2EE 
scope, including action mappings. To declare a rollover scope for an action 
form use scope="rollover" in action mapping definition. Below is an example of 
a standard redirect-after-post pattern: one mapping for submitting user data 
from browser, another mapping for rendering a web page. A rollover scope is 
used to store form bean in between requests. The input action inherits from 
!EventDispatchAction and is used as event processor. Render action uses 
login/logout state to render an appropriate view.
  
- The sample config below employs dual-action approach: one action for input, 
another for rendering. The input action inherits from !EventDispatchAction and 
is used as event processor. Render action uses login/logout state to render an 
appropriate view.
+ Events are defined in 'parameter' attribute (see !EventDispatchAction for 
details). Notice that 'scope' has 'rollover' value. A removal strategy of with 
lifetime of one request is defined for rollover scope - perfect for most 
redirect-after-post use cases. 
  
- Events are defined in 'parameter' attribute. Notice that 'scope' has 
'rollover' value. The rollover scope has request-based removal strategy with 
lifetime of one request - perfect for redirect-after-post pattern. Besides 
automatic removal based on removal strategy, a rollover scope can be removed 
based on action outcome. In the sample below, if an input action chooses 
'cancel' or 'userhome' outcomes, then rollover scope is removed before request 
is redirected to render action.
+ Besides automatic removal based on removal strategy, a rollover scope can be 
removed based on action outcome. In the sample below, if an input action 
chooses 'cancel' or 'userhome' outcomes, then rollover scope is removed when 
action finishes.
  
  {{{

[Struts Wiki] Trivial Update of "RolloverScope" by MichaelJouravlev

2007-02-06 Thread Apache Wiki
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Struts Wiki" for change 
notification.

The following page has been changed by MichaelJouravlev:
http://wiki.apache.org/struts/RolloverScope

The comment on the change is:
Minor updates

--
  
  = Rollover Scope for Struts 1.x =
  
- Traditionally web applications have stored state information either in in the 
HTTP request or in the HTTP session. If request object is used, a common 
practice to preserve state between request is to save it into HTML FORM; in 
this case moving back and forward along page history changes the state. If 
session object is used, it may open a potential source of memory leak, because 
application has to explicitly remove user objects from session.
+ Traditionally web applications use to store state information either in in 
the HTTP request or in the HTTP session. 
  
- Caught between limitations of request object from the one hand and the 
necessity of laborious manual housekeeping of session object on another hand, 
developers rarely use redirection to split input and render tasks. This is 
unfortunate because Redirect-After-Post pattern is a simple and proven solution 
for creating user-friendly and error-resistant interfaces.
+ If request object is used, state is usually serialized to HTML page as part 
of HTML FORM. In this case moving back and forward along page history changes 
the state. Consider implementing an online store checkout service, using 
request object to store state. After a customer payed for goods, he can click 
Back button and pay again. To prevent this kind of error a token or similar 
facility should be used.
+ 
+ If session object is used to store state, it may open a potential source of 
memory leak, because application has to explicitly remove user objects from 
session. Also, opening several windows for same-type object like a product in a 
traditional CRUD application may not be possible, because session stores state 
corresponding only to one product.
+ 
+ Because of issues related to using session, many developers abstain from 
using it, and prefer fighting with double submit problems and POSTDATA messages 
instead. They rarely split input and render tasks into two actions; when they 
do, they use in-server forwarding instead of redirection, because request 
object does not survive between requests. This is unfortunate because 
Redirect-After-Post pattern is a simple and proven solution for creating 
user-friendly and error-resistant interfaces.
  
  Starting from Struts 1.4 it will be possible to store data related to a 
multi-request conversation in the Rollover Scope.
  
@@ -14, +18 @@

  
  == Rollover scope in a nutshell ==
  
- Physically, a rollover scope is a map stored within session scope. One 
session can have one or more associated rollover scopes. 
+ Physically, a rollover scope is a map stored within session scope. One 
session object can store several associated rollover scopes.
  
  Rollover scope can be used in the following ways:
-  * Directly from use code through methods of RolloverScope class. [not tested]
+  * Directly from application code by calling methods of RolloverScope class. 
[not tested]
-  * Indirectly through saveXXX() and loadXXX() methods of Action class. [not 
implemented yet]
-  * By specifying action form scope in an action mapping of struts-config.xml 
file. [implemented]
+  * By passing rollover scope to saveXXX() and loadXXX() methods of Action 
class. [not tested]
+  * By specifying rollover scope for an action form in struts-config.xml file. 
[implemented]
  
  A rollover scope can be configured for automatic garbage collection. Two 
techniques are possible:
-  * Setting scope lifetime when the scope is created.
-  * Specifying a scope as a storage for an action form that corresponds to a 
multi-request conversation like a wizard.
+  * Specifying removal strategy (by timeout or by request count) and a 
limiting value (number of requests or time to live) at scope creation time. 
Scope will be removed when its lifetime counter exceeds limiting value.
+  * Specifying a release property in action mapping; when action forwards to a 
release target, the rollover scope is destroyed.
  
  == Using rollover scope explicitly from application code ==
  
- To obtain an instance of a rollover scope use {{{RolloverScope.getInstance}}} 
static method. If the scope you are accessing does not exist and "create" flag 
is true, new scope will be created.
+ (Not all statements of this section are backed up by actual code)
  
- To store data in a scope or to read data from a scope use appropriate methods 
of Map interface. Rollover scope is just an enhanced Map.
+ To obtain an instance of a rollover scope use {{{RolloverScope.getInstance}}} 
static method. If the scope you are accessing does not exist and "create" flag 
is true, new scope will be created. When a rollover scope i