incubator-adffaces-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From awi...@apache.org
Subject svn commit: r429972 [1/4] - in /incubator/adffaces/trunk/trinidad: src/ src/site/ src/site/xdoc/ src/site/xdoc/devguide/ trinidad-api/src/site/ trinidad-demo/src/site/ trinidad-impl/src/site/
Date Wed, 09 Aug 2006 05:46:10 GMT
Author: awiner
Date: Tue Aug  8 22:46:09 2006
New Revision: 429972

URL: http://svn.apache.org/viewvc?rev=429972&view=rev
Log:
Add a bunch of docs originally from ADF Faces

Added:
    incubator/adffaces/trunk/trinidad/src/
    incubator/adffaces/trunk/trinidad/src/site/
    incubator/adffaces/trunk/trinidad/src/site/site.xml
    incubator/adffaces/trunk/trinidad/src/site/xdoc/
    incubator/adffaces/trunk/trinidad/src/site/xdoc/FAQ.xml
    incubator/adffaces/trunk/trinidad/src/site/xdoc/api-changes.xml
    incubator/adffaces/trunk/trinidad/src/site/xdoc/devguide/
    incubator/adffaces/trunk/trinidad/src/site/xdoc/devguide/clientValidation.xml
    incubator/adffaces/trunk/trinidad/src/site/xdoc/devguide/communicatingBetweenPages.xml
    incubator/adffaces/trunk/trinidad/src/site/xdoc/devguide/configuration.xml
    incubator/adffaces/trunk/trinidad/src/site/xdoc/devguide/dialogs.xml
    incubator/adffaces/trunk/trinidad/src/site/xdoc/devguide/fileUpload.xml
    incubator/adffaces/trunk/trinidad/src/site/xdoc/devguide/index.xml
    incubator/adffaces/trunk/trinidad/src/site/xdoc/devguide/navigation.xml
    incubator/adffaces/trunk/trinidad/src/site/xdoc/devguide/table.xml
    incubator/adffaces/trunk/trinidad/src/site/xdoc/devguide/tree.xml
    incubator/adffaces/trunk/trinidad/src/site/xdoc/index.xml
    incubator/adffaces/trunk/trinidad/src/site/xdoc/installation.xml
    incubator/adffaces/trunk/trinidad/src/site/xdoc/past-release-notes.xml
    incubator/adffaces/trunk/trinidad/src/site/xdoc/release-notes.xml
    incubator/adffaces/trunk/trinidad/src/site/xdoc/release.xml
    incubator/adffaces/trunk/trinidad/src/site/xdoc/spec-diff.xml
    incubator/adffaces/trunk/trinidad/trinidad-api/src/site/site.xml
    incubator/adffaces/trunk/trinidad/trinidad-demo/src/site/
    incubator/adffaces/trunk/trinidad/trinidad-demo/src/site/site.xml
    incubator/adffaces/trunk/trinidad/trinidad-impl/src/site/
    incubator/adffaces/trunk/trinidad/trinidad-impl/src/site/site.xml

Added: incubator/adffaces/trunk/trinidad/src/site/site.xml
URL: http://svn.apache.org/viewvc/incubator/adffaces/trunk/trinidad/src/site/site.xml?rev=429972&view=auto
==============================================================================
--- incubator/adffaces/trunk/trinidad/src/site/site.xml (added)
+++ incubator/adffaces/trunk/trinidad/src/site/site.xml Tue Aug  8 22:46:09 2006
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<project name="Apache Incubator Trinidad Podling">
+  <bannerLeft>
+    <name>Apache Incubator Trinidad Podling</name>
+  </bannerLeft>
+  <body>
+    <links>
+      <item name="MyFaces" href="http://myfaces.apache.org/"/>
+    </links>
+
+    <menu name="">
+      <item name="Overview" href="release.html"/>
+      <item name="Release Notes" href="release-notes.html" />
+      <item name="Javadoc" href="trinidad-api/apidocs/index.html" />
+      <item name="Tag Documentation" href="trinidad-api/tagdoc.html" />
+    </menu>
+    
+    <menu ref="modules"/>
+    <menu ref="reports"/>
+  </body>
+</project>

Added: incubator/adffaces/trunk/trinidad/src/site/xdoc/FAQ.xml
URL: http://svn.apache.org/viewvc/incubator/adffaces/trunk/trinidad/src/site/xdoc/FAQ.xml?rev=429972&view=auto
==============================================================================
--- incubator/adffaces/trunk/trinidad/src/site/xdoc/FAQ.xml (added)
+++ incubator/adffaces/trunk/trinidad/src/site/xdoc/FAQ.xml Tue Aug  8 22:46:09 2006
@@ -0,0 +1,170 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<document>
+  <properties>
+    <title>FAQ</title>
+  </properties>
+
+  <body>
+    <section name="FAQ">
+   <p>
+        <ul>
+          <li>
+            <a href="#1. Setup">Setup</a>
+          </li> 
+          <li>
+            <a href="#2. Architecture">Architecture</a>
+          </li>
+          <li>
+            <a href="#3. Development">Development</a>
+          </li>
+        </ul>
+      </p>
+      </section>
+
+
+<section name="1. Setup">
+
+<subsection name="1.1. Does ADF Faces depend on any particular implementation of JSF?">
+
+<p>
+No. If there is an Oracle-specific implementation
+of JSF, ADF Faces will be optimized to run best on that implementation,
+but we believe it is important that ADF Faces run on any implementation
+of the JSF 1.1 specification (or later).  ADF Faces can be used
+with either the Sun Reference Implementation 1.1_01 or MyFaces 1.0.8
+(or later).
+</p>
+</subsection>
+<subsection name="1.2. What runtime or design time tools can I use to run the demo WAR?">
+
+<p>
+Please see the platform section on the <a href="installation.html#Platform Information">installation</a> page for information on how to deploy to JDeveloper, standalone OC4J, and Tomcat.
+</p>
+<p>
+Although ADF Faces is "vanilla" JSF we have not been able to run with Java Studio Creator Build 04.06.2. We are working with Sun to resolve the issues in Java Studio Creator.
+</p>
+<p>We have done some limited testing on IBM WebSphere Studio Application Developer 5.1.2. We have been able to run using .jsp, but not .jspx. If you are running the demo WAR please make sure the file names in faces-config.xml reflect any updated file names. 
+</p>
+</subsection>
+</section>
+<section name="2. Architecture">
+<subsection name="2.1. Can I use standard Faces tags with ADF Faces?">
+
+<p>
+Yes; all standard Faces tags can be used with ADF Faces.  You can even use &lt;h:form&gt; instead of &lt;af:form&gt; without losing any ADF Faces functionality.
+</p>
+
+
+</subsection>
+<subsection name="2.2. Why would I use ADF Faces instead of standard Faces?">
+
+<p>
+Good question. Here's a list of some of the advantages 
+</p>
+<p>
+<b>Note:</b> <i>The items in italics are either not yet available or only partially implemented</i>
+</p>
+
+  <ol>
+   <li>Rich DHTML/AJAX client-side renderers </li>
+   <li>Provide more efficient implementations of client-side state saving (reduced per-component size) </li>
+   <li>Rich set of components, validators, and converters</li>
+   <li>ADF Faces tags often offer more features than the standard tags;  for example,
+ all input components offer built-in label and message display support (
+ For more information on the differences between the ADF Faces tags and the
+ standard Faces tags, please see the <a href="spec-diff.html">following
+ document</a>).</li>
+   <li>Client-side converters/validators - JavaScript enabled converters and validators that attempt to catch and display errors on the client</li>
+   <li>ADF Faces tags can be used inside of the &lt;af:forEach&gt; tag (it is, unfortunately, not possible to support standard tags inside &lt;af:forEach&gt;).</li>
+   <li><i>Accessibility - support similar to <a href="http://helponline.oracle.com/jdeveloper/help/state/content/vtTopicId./navSetId.jdeveloper/vtTopicFile.jdeveloper%7Cuixhelp%7Cuixdevguide%7Caccessibility%7Ehtml/navId.4/">ADF UIX Accessibility</a></i> </li>
+   <li><i>Bidirectional language support - ADF Faces components automatically render themselves appropriately for bidirectional languages. Users can also use the "start" and "end" constants described in <a href="http://helponline.oracle.com/jdeveloper/help/state/content/vtTopicId./navSetId.jdeveloper/vtTopicFile.jdeveloper%7Cuixhelp%7Cuixdevguide%7Cinternational%7Ehtml/navId.4/">ADF UIX Bidirectional Language Support</a></i></li>
+   <li>Partial Page Rendering (PPR) - support similar to <a href="http://helponline.oracle.com/jdeveloper/help/state/content/vtTopicId./navSetId.jdeveloper/vtTopicFile.jdeveloper%7Cuixapps%7Chtmlhelp%7Ccreateui%7Cadd%7Ctable%7Cuix_atabppr%7Ehtml/navId.4/">ADF UIX PPR overview</a></li>
+   <li><i>Skinning - support similar to <a href="http://helponline.oracle.com/jdeveloper/help/state/content/navSetId.jdeveloper/navId.4/vtAnchor.laf/vtTopicFile.jdeveloper%7Cuixhelp%7Cuixdevguide%7Ccustomization%7Ehtml/">ADF UIX Look and Feel</a> </i></li>   
+   <li><i>ADF integration </i>- including support for JSR227 (Data binding)</li>
+  </ol>
+
+</subsection>
+<subsection name="2.3. What is the relationship between Fusion ADF Faces and 10.1.3 ADF Faces?">
+  <ol>
+   <li>Fusion ADF Faces implements the highly interactive BLAF+ specification.</li>
+   <li>Fusion ADF Faces uses a DHTML/AJAX architecture model.</li>
+   <li>Fusion ADF Faces components render on the client by default.</li>
+   <li>Both run the Java Server Faces lifecycle.</li>
+  </ol>
+
+</subsection>
+<subsection name="2.4. What is the relationship between ADF Faces and ADF UIX?">
+
+<p>
+ADF Faces is a significant evolution of the ADF UIX code.  The
+proprietary API (<code>UINode</code>, <code>RenderingContext</code>, etc.)
+of ADF UIX has been replaced with the standard JSF API, and we've added
+many features to our components that take advantage of the JSF architecture.
+In making this change, we've also overhauled nearly all our component
+names and  attribute names to fit in closely with JSF naming conventions.
+ADF UIX and ADF Faces can be installed in a single web application
+without conflicts.
+</p>
+</subsection>
+</section>
+<section name="3. Development">
+<subsection name="3.1. When I run a JSP, I see 'javax.servlet.jsp.JspException: Cannot find FacesContext'">
+
+<p>
+You cannot directly point to a JSF JSP file; you either need to add "/faces" after the servlet context path, or change the suffix (in the URL only) to ".faces".
+</p>
+</subsection>
+
+<subsection name="3.2. I'm getting a java.lang.ClassCastException in UIXComponentTag.setProperties()">
+
+<p>
+JSF requires the &lt;f:view&gt; JSP tag around all JSF JSP tags; this obscure error is the result of failing to include &lt;f:view&gt;.
+</p>
+</subsection>
+<subsection name="3.3. I'm having a problem seeing dialog windows">
+
+<p>
+You may have trouble seeing dialogs if you have popup blockers installed.
+</p>
+</subsection>
+<subsection name="3.4. I'm seeing the error '&quot;af:commandButton&quot; must have value or image attributes.'">
+
+<p>
+You are using JSF 1.0 (this is a bug in the JSF 1.0 RI) and ADF Faces requires JSF 1.1. 
+</p>
+</subsection>
+<subsection name="3.5. I'm seeing the error 'method assert(boolean) not found in class [XXX]'">
+
+<p>
+You need to enable J2SE 1.4 Assertions. In jdev this can be done in project properties (Select Tools -> Project Properties -> Profiles -> Development -> Compiler -> Enable J2SE 1.4 Assertions.) 
+
+</p>
+</subsection>
+
+<subsection name="3.6. My page looks really bad, as if it was totally unstyled">
+
+<p>
+You may have not have configured your Resources Servlet in your web.xml. Please refer to installation instructions to configure the ResourceServlet.
+</p>
+</subsection>
+
+<subsection name="3.6. My input field is just showing as plain text when not in read-only mode.">
+
+<p>
+You may be missing the "setXyz()" function matching the
+"getXyz()" function that is controlling your field's value, or
+you might have mispelled its name.  This makes that property
+read-only.  When ADF Faces detects that an input
+field is using a read-only model property, it automatically
+switches the field to read-only mode, which is why it looks
+like plain text.  For what it's worth, if you tried the same model
+property with &lt;h:inputText&gt;, it'd look fine when you first render
+the page, but JSF would throw an exception when you posted back
+to the server and it couldn't write the new value into the model.
+</p>
+</subsection>
+
+</section>
+      
+  </body>
+</document>

Added: incubator/adffaces/trunk/trinidad/src/site/xdoc/api-changes.xml
URL: http://svn.apache.org/viewvc/incubator/adffaces/trunk/trinidad/src/site/xdoc/api-changes.xml?rev=429972&view=auto
==============================================================================
--- incubator/adffaces/trunk/trinidad/src/site/xdoc/api-changes.xml (added)
+++ incubator/adffaces/trunk/trinidad/src/site/xdoc/api-changes.xml Tue Aug  8 22:46:09 2006
@@ -0,0 +1,2252 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<document>
+  <properties>
+    <title>API Changes from Oracle's ADF Faces</title>
+  </properties>
+
+  <body>
+    <section name="API Changes from Oracle's ADF Faces">
+      <p>
+        <ul>
+          <li>
+            <a href="#Java">Java</a>
+          </li>
+          <li>
+            <a href="#styleClass/inlineStyle Attributes">styleClass/inlineStyle Attributes</a>
+          </li>           
+          <li>
+            <a href="#Components">Components</a>
+          </li>         
+        </ul>
+      </p>
+    </section>
+
+
+
+    <section name="Java">
+     <p>
+     
+<!-- ********** start example ********** -->
+<!--subsection name="example">
+ <p>
+    <b>Class Name:</b>
+    <ul>
+      <li><b>ADF:</b> example</li>
+      <li><b>Trinidad:</b> example</li>
+    </ul>
+  </p>       
+  
+  <p>
+    <b>Additional Notes:</b>
+    <ul>
+      <li>todo</li>
+    </ul>
+  </p>
+
+</subsection-->
+<!-- ********** end example ********** -->
+
+<subsection name="ProcessScope">
+<p>
+processScope has been renamed to pageFlowScope.
+For compatibility, however, there is still a deprecated
+getProcessScope() method and processScope EL variable.  Developers
+should switch to the new getPageFlowScope() method pageFlowScope EL
+variable.
+</p>
+</subsection>
+  
+
+     </p>
+    </section>
+    <section name="Components">
+      <p>
+
+
+<!-- ********** start column ********** -->
+<subsection name="column">
+
+  <p>
+    <b>Component Name:</b>
+    <ul>
+      <li><b>ADF:</b> column</li>
+      <li><b>Trinidad:</b> column</li>
+    </ul>
+  </p>
+
+  <p><b>Changed Attributes:</b></p>
+
+  <table border="1" width="90%">
+    <tr>
+      <td><b>ADF</b></td>
+      <td><b>Trinidad</b></td>
+      <td><b>Notes</b></td>
+    </tr>
+    <tr>
+      <td>formatType</td>
+      <td>align</td>
+      <td>use "start", "center" and "end", respectively for "text", "icon" and "number".</td>
+    </tr>
+    <tr>
+      <td>headerNoWrap</td>
+      <td></td>
+      <td>removed. not in blaf+</td>
+    </tr>
+    <tr>
+      <td>gridVisible</td>
+      <td></td>
+      <td>removed. you can control the gridding on the entire table using the "horizontalGridVisible" and "verticalGridVisible" properties on the table.</td>
+    </tr>
+    <tr>
+      <td>bandingShade</td>
+      <td></td>
+      <td>removed. you can control the banding on the entire table using the "columnBandingInterval" and "rowBandingInterval" properties on the table.</td>
+    </tr>
+    <tr>
+      <td>separateRows</td>
+      <td></td>
+      <td>removed. not in blaf+</td>
+    </tr>
+  </table>
+
+  <p>
+    <b>Additional Notes:</b>
+    <ul>
+      <li>todo</li>
+    </ul>
+  </p>
+
+</subsection>
+<!-- ********** end column ********** -->
+
+
+
+<!-- ********** start commandMenuItem ********** -->
+<subsection name="commandMenuItem">
+
+  <p>
+    <b>Component Name:</b>
+    <ul>
+      <li><b>ADF:</b> commandMenuItem</li>
+      <li><b>Trinidad:</b> commandNavigationItem</li>
+    </ul>
+  </p>
+
+  <p><b>Changed Attributes:</b></p>
+
+  <table border="1" width="90%">
+    <tr>
+      <td><b>ADF</b></td>
+      <td><b>Trinidad</b></td>
+      <td><b>Notes</b></td>
+    </tr>
+    <tr>
+      <td>(n/a)</td>
+      <td>destination</td>
+      <td>The URI this component references when activated.  This is an alternative to using an action.</td>
+    </tr>
+    <tr>
+      <td>(n/a)</td>
+      <td>targetFrame</td>
+      <td>The name of the target frame (when using destination).</td>
+    </tr>
+    <tr>
+      <td>type</td>
+      <td>(removed)</td>
+      <td>No longer applicable.  If you must filter based on type, use EL on the rendered attribute to determine whether or not a navigation item is visible.</td>
+    </tr>
+  </table>
+
+  <p>
+    <b>Additional Notes:</b>
+    <ul>
+      <li><b>There is still a commandMenuItem component, but it is different than the ADF commandMenuItem component!</b> In the current release commandMenuItem is for use with the new components panelMenu and panelMenuBar.</li>
+      <li>This component obsoletes goMenuItem.</li>
+    </ul>
+  </p>
+
+</subsection>
+<!-- ********** end commandMenuItem ********** -->
+
+
+
+<!-- ********** start goButton ********** -->
+<subsection name="goButton">
+
+  <p>
+    <b>Component Name:</b>
+    <ul>
+      <li><b>ADF:</b> goButton</li>
+      <li><b>Trinidad:</b> goButton</li>
+    </ul>
+  </p>
+
+  <p><b>Changed Attributes:</b></p>
+
+  <table border="1" width="90%">
+    <tr>
+      <td><b>ADF</b></td>
+      <td><b>Trinidad</b></td>
+      <td><b>Notes</b></td>
+    </tr>
+    <tr>
+      <td>longDesc</td>
+      <td>(n/a)</td>
+      <td>Removed;  this was simply ignored in ADF.</td>
+    </tr>
+  </table>
+
+</subsection>
+<!-- ********** end goButton ********** -->
+
+
+<!-- ********** start goLink ********** -->
+<subsection name="goLink">
+
+  <p>
+    <b>Component Name:</b>
+    <ul>
+      <li><b>ADF:</b> goLink</li>
+      <li><b>Trinidad:</b> goLink</li>
+    </ul>
+  </p>
+
+  <p><b>Changed Attributes:</b></p>
+
+  <table border="1" width="90%">
+    <tr>
+      <td><b>ADF</b></td>
+      <td><b>Trinidad</b></td>
+      <td><b>Notes</b></td>
+    </tr>
+    <tr>
+      <td>longDesc</td>
+      <td>(n/a)</td>
+      <td>Removed;  this was only used when inside of a messages component, which is not a supported usage.</td>
+    </tr>
+  </table>
+
+</subsection>
+<!-- ********** end goLink ********** -->
+
+
+<!-- ********** start goMenuItem ********** -->
+<subsection name="goMenuItem">
+
+  <p>
+    <b>Component Name:</b>
+    <ul>
+      <li><b>ADF:</b> goMenuItem</li>
+      <li><b>Trinidad:</b> commandMenuItem</li>
+    </ul>
+  </p>
+
+  <p>
+    <b>Additional Notes:</b>
+    <ul>
+      <li>The goMenuItem component is obsolete because it has been merged into commandMenuItem.
+Use commandMenuItem instead.</li>
+    </ul>
+  </p>
+
+</subsection>
+<!-- ********** end goMenuItem ********** -->
+
+
+<!-- ********** start group ********** -->
+<subsection name="group">
+
+  <p>
+    <b>Component Name:</b>
+    <ul>
+      <li><b>ADF:</b> (n/a)</li>
+      <li><b>Trinidad:</b> group</li>
+    </ul>
+  </p>
+
+  <p>
+    <b>Additional Notes:</b>
+    <ul>
+      <li>The group component is an invisible control that aggregates semantically-related children.
+The children of the group will not be displayed unless the parent of the group has specific support for displaying the grouped children, e.g. the panelForm.</li>
+    </ul>
+  </p>
+
+</subsection>
+<!-- ********** end group ********** -->
+
+
+<!-- ********** start inputFile ********** -->
+<subsection name="inputFile">
+
+  <p>
+    <b>Component Name:</b>
+    <ul>
+      <li><b>ADF:</b> inputFile</li>
+      <li><b>Trinidad:</b> inputFile</li>
+    </ul>
+  </p>
+
+  <p><b>Changed Attributes:</b></p>
+
+  <table border="1" width="90%">
+    <tr>
+      <td><b>ADF</b></td>
+      <td><b>Trinidad</b></td>
+      <td><b>Notes</b></td>
+    </tr>
+    <tr>
+      <td>(n/a)</td>
+      <td>contentStyle</td>
+      <td>use contentStyle to set the style for the content part of the inputFile component.
+      For example, if you want the input field to be 300 pixels wide, you can do this:
+      contentStyle="width:300px". In ADF, inlineStyle was the closest equivalent, but
+      inlineStyle was rendered on both the label and the content. In Trinidad, inlineStyle
+      and styleClass are rendered on the root dom element.</td>
+    </tr>     
+    <tr>
+      <td>tip</td>
+      <td>(removed)</td>
+      <td>use the new help facet - see below. To upgrade put an outputText in the new help facet and set the  outputText's 'value' attribute to the old tip text.</td>
+    </tr>
+    <tr>
+      <td>valign</td>
+      <td>(removed)</td>
+      <td>we default this to look correct, so this attribute is not needed. You can use styleClass and skinning together to override the default vertical alignment of the label and contents.</td>
+    </tr> 
+  </table>
+  
+  <p><b>Changed Facets:</b></p>
+
+  <table border="1" width="90%">
+    <tr>
+      <td><b>ADF</b></td>
+      <td><b>Trinidad</b></td>
+      <td><b>Notes</b></td>
+    </tr>
+    <tr>
+      <td>(n/a)</td>
+      <td>help</td>
+      <td>information to help the user fill in a field</td>
+    </tr>
+  </table>
+
+</subsection>
+<!-- ********** end inputFile ********** -->
+
+
+<!-- ********** start inputText ********** -->
+<subsection name="inputText">
+
+  <p>
+    <b>Component Name:</b>
+    <ul>
+      <li><b>ADF:</b> inputText</li>
+      <li><b>Trinidad:</b> inputText</li>
+    </ul>
+  </p>
+
+  <p><b>Changed Attributes:</b></p>
+
+  <table border="1" width="90%">
+    <tr>
+      <td><b>ADF</b></td>
+      <td><b>Trinidad</b></td>
+      <td><b>Notes</b></td>
+    </tr>
+    <tr>
+      <td>(n/a)</td>
+      <td>contentStyle</td>
+      <td>use contentStyle to set the style for the content part of the inputText component.
+      For example, if you want the input field to be 300 pixels wide, you can do this:
+      contentStyle="width:300px". In ADF, inlineStyle was the closest equivalent, but
+      inlineStyle was rendered on both the label and the content. In Trinidad, inlineStyle
+      and styleClass are rendered on the root dom element.</td>
+    </tr>      
+    <tr>
+      <td>messageDescUrl </td>
+      <td>(removed)</td>
+      <td>see messaging framework documentation</td>
+    </tr> 
+    <tr>
+      <td>messageTargetFrame</td>
+      <td>(removed)</td>
+      <td>see messaging framework documentation</td>
+    </tr>
+    <tr>
+      <td>styleClass</td>
+      <td>styleClass</td>
+      <td><p>If in ADF, styleClass and inlineStyle were rendered on the label
+      and the &lt;input&gt;. In Trinidad, these attributes are rendered on the 
+      root dom element.</p>
+      <p>
+      If you used one of the following public style classes as the styleClass attribute value: 
+      <ul>
+      <li>AFFieldText</li>
+      <li>AFFieldTextLTR</li>
+      <li>AFPhoneFieldText</li> 
+      <li>AFPostalCodeFieldText</li>
+      <li>AFAddressFieldText</li> 
+      <li>AFFieldNumber</li>
+      </ul>
+      then you will need to append <b>'Marker'</b> to the end of the name. 
+      </p>
+      <p>
+      For example styleClass="AFFieldNumber" is now styleClass="AFFieldNumberMarker". 
+      This will ensure that only the 'content' piece (and not the 'label' piece) 
+      of the inputText component will be styled as AFFieldNumber.
+      You can still modify the public style definitions and it will be picked up 
+      by using the "Marker" style class 
+      because in our base skin implementation we map to the public style by doing this:
+      af|inputText.AFFieldNumberMarker::content {-ora-rule-ref:selector(".AFFieldNumber")}.
+      We recommend that you do not
+      add style properties to the "Marker" style classes. They are used solely in the 
+      css descendant selector to point to the content pseudo-element.
+      </p>
+      </td> 
+    </tr>     
+    <tr>
+      <td>tip</td>
+      <td>(removed)</td>
+      <td>use the new help facet - see below. To upgrade put an outputText in the new help facet and set the  outputText's 'value' attribute to the old tip text.</td>
+    </tr> 
+    <tr>
+      <td>valign</td>
+      <td>(removed)</td>
+      <td>we default this to look correct, so this attribute is not needed. You can use styleClass and skinning together to override the default vertical alignment of the label and contents.</td>
+    </tr> 
+  </table>
+  
+  <p><b>Changed Facets:</b></p>
+
+  <table border="1" width="90%">
+    <tr>
+      <td><b>ADF</b></td>
+      <td><b>Trinidad</b></td>
+      <td><b>Notes</b></td>
+    </tr>
+    <tr>
+      <td>(n/a)</td>
+      <td>help</td>
+      <td>information to help the user fill in a field</td>
+    </tr>
+  </table>
+
+</subsection>
+<!-- ********** end inputText ********** -->
+
+
+<!-- ********** start message ********** -->
+<subsection name="message">
+
+  <p>
+    <b>Component Name:</b>
+    <ul>
+      <li><b>ADF:</b> message</li>
+      <li><b>Trinidad:</b> message</li>
+    </ul>
+  </p>
+
+  <p><b>Changed Attributes:</b></p>
+
+  <table border="1" width="90%">
+    <tr>
+      <td><b>ADF</b></td>
+      <td><b>Trinidad</b></td>
+      <td><b>Notes</b></td>
+    </tr>
+    <tr>
+      <td>tip</td>
+      <td>(removed)</td>
+      <td>use the new help facet - see below. To upgrade put an outputText in the new help facet and set the  outputText's 'value' attribute to the old tip text.</td>
+    </tr> 
+  </table>
+  
+  <p><b>Changed Facets:</b></p>
+
+  <table border="1" width="90%">
+    <tr>
+      <td><b>ADF</b></td>
+      <td><b>Trinidad</b></td>
+      <td><b>Notes</b></td>
+    </tr>
+    <tr>
+      <td>(n/a)</td>
+      <td>help</td>
+      <td>information to help the user fill in a field</td>
+    </tr>
+  </table>
+
+</subsection>
+<!-- ********** end message ********** -->
+
+
+<!-- ********** start menuPath ********** -->
+<subsection name="menuPath">
+
+  <p>
+    <b>Component Name:</b>
+    <ul>
+      <li><b>ADF:</b> menuPath</li>
+      <li><b>Trinidad:</b> navigationPath</li>
+    </ul>
+  </p>
+
+</subsection>
+<!-- ********** end menuPath ********** -->
+
+
+<!-- ********** start menuTree ********** -->
+<subsection name="menuTree">
+
+  <p>
+    <b>Component Name:</b>
+    <ul>
+      <li><b>ADF:</b> menuTree</li>
+      <li><b>Trinidad:</b> navigationTree</li>
+    </ul>
+  </p>
+
+  <p><b>Changed Attributes:</b></p>
+
+  <table border="1" width="90%">
+    <tr>
+      <td><b>ADF</b></td>
+      <td><b>Trinidad</b></td>
+      <td><b>Notes</b></td>
+    </tr>
+    <tr>
+      <td>startDepth</td>
+      <td>startLevel</td>
+      <td>The starting level, based on a 0 based index, in the navigationModel to render based on the focusPath of the navigationModel.</td>
+    </tr>
+  </table>
+
+</subsection>
+<!-- ********** end menuTree ********** -->
+
+
+<!-- ********** start navigationLevel ********** -->
+<subsection name="navigationLevel (formerly menuBar, menuButtons, menuChoice, menuList, and menuTabs)">
+
+  <p>
+    <b>Component Name:</b>
+    <ul>
+      <li><b>ADF:</b> menuBar, menuButtons, menuChoice, menuList, and menuTabs</li>
+      <li><b>Trinidad:</b> navigationLevel</li>
+    </ul>
+  </p>
+
+  <p><b>Changed Attributes:</b></p>
+
+  <table border="1" width="90%">
+    <tr>
+      <td><b>ADF</b></td>
+      <td><b>Trinidad</b></td>
+      <td><b>Notes</b></td>
+    </tr>
+    <tr>
+      <td>disabled or (n/a)</td>
+      <td>disabled</td>
+      <td>Whether the component is disabled.</td>
+    </tr>
+    <tr>
+      <td>(n/a)</td>
+      <td>hint</td>
+      <td>How the navigational items are displayed. Options are:
+         <ul>
+           <li>bar</li>
+           <li>buttons</li>
+           <li>choice</li>
+           <li>list</li>
+           <li>tabs</li>
+         </ul></td>
+    </tr>
+    <tr>
+      <td>listStyle or (n/a)</td>
+      <td>styleClass</td>
+      <td>The style of the list should be encompassed through skinning instead.</td>
+    </tr>
+    <tr>
+      <td>startDepth</td>
+      <td>level</td>
+      <td></td>
+    </tr> 
+    <tr>
+      <td>title or (n/a)</td>
+      <td>title</td>
+      <td>Text that describes the items.  (This attribute is only applicable if the rendering hint supports it, e.g. "choice".)</td>
+    </tr>
+
+  </table>
+
+  <p>
+    <b>Additional Notes:</b>
+    <ul>
+      <li>This component consolidates the old menuBar, menuButtons, menuChoice, menuList, and menuTabs components into a single component, navigationLevel.</li>
+      <li>Some container components will automatically apply a suggested rendering hint if a hard-coded value is not defined.</li>
+      <li>Valid children for this component are now only commandNavigationItem components--it encompasses functionality that used to be provided by goMenuItem and commandMenuItem.</li>
+    </ul>
+  </p>
+
+</subsection>
+<!-- ********** end navigationLevel ********** -->
+
+
+<!-- ********** start objectImage ********** -->
+<subsection name="objectImage">
+
+  <p>
+    <b>Component Name:</b>
+    <ul>
+      <li><b>ADF:</b> objectImage</li>
+      <li><b>Trinidad:</b> objectImage</li>
+    </ul>
+  </p>
+
+  <p><b>Changed Attributes:</b></p>
+
+  <table border="1" width="90%">
+    <tr>
+      <td><b>ADF</b></td>
+      <td><b>Trinidad</b></td>
+      <td><b>Notes</b></td>
+    </tr>
+    <tr>
+      <td>align</td>
+      <td>(removed)</td>
+      <td>Obsolete.  This item represents deprecated attributes on the image tag.  Use styleClass or inlineStyle attributes.</td>
+    </tr>
+    <tr>
+      <td>borderWidth</td>
+      <td>(removed)</td>
+      <td>Obsolete.  This item represents deprecated attributes on the image tag.  Use styleClass or inlineStyle attributes.</td>
+    </tr>
+    <tr>
+   <td>height</td>
+   <td>(removed)</td>
+   <td>Obsolete.  Use styleClass or inlineStyle attributes.</td>
+    </tr>
+    <tr>
+   <td>width</td>
+   <td>(removed)</td>
+   <td>Obsolete.  Use styleClass or inlineStyle attributes.</td>
+    </tr>
+  </table>
+  <p>
+    <b>Additional Notes:</b>
+    <ul>
+      <li>None</li>
+    </ul>
+  </p>
+
+</subsection>
+<!-- ********** end objectImage ********** -->
+
+<!-- ********** start objectSeparator ********** -->
+<subsection name="objectSeparator">
+
+  <p>
+    <b>Component Name:</b>
+    <ul>
+      <li><b>ADF:</b> objectSeparator</li>
+      <li><b>Trinidad:</b> objectSeparator</li>
+    </ul>
+  </p>
+
+  <p><b>Changed Attributes:</b></p>
+
+  <table border="1" width="90%">
+    <tr>
+      <td><b>ADF</b></td>
+      <td><b>Trinidad</b></td>
+      <td><b>Notes</b></td>
+    </tr>
+    <tr>
+      <td>(none)</td>
+      <td>inlineStyle</td>
+      <td>this attribute was added</td>
+    </tr>
+    <tr>
+      <td>(none)</td>
+      <td>styleClass</td>
+      <td>this attribute was added</td>
+    </tr>
+  </table>
+
+</subsection>
+<!-- ********** end objectSeparator ********** -->
+
+
+<!-- ********** start outputLabel  ********** -->
+<subsection name="outputLabel">
+
+  <p>
+    <b>Component Name:</b>
+    <ul>
+      <li><b>ADF:</b> outputLabel</li>
+      <li><b>Trinidad:</b> outputLabel</li>
+    </ul>
+  </p>
+
+  <p><b>Changed Attributes:</b></p>
+
+  <table border="1" width="90%">
+    <tr>
+      <td><b>ADF</b></td>
+      <td><b>Trinidad</b></td>
+      <td><b>Notes</b></td>
+    </tr>
+    <tr>
+      <td>anchor</td>
+      <td>(removed)</td>
+      <td>Obsolete. This attribute was ignored in ADF; it gathered this information from the 'for' attribute.</td>
+    </tr>
+    <tr>
+      <td>messageType</td>
+      <td>(removed)</td>
+      <td>Obsolete, use FacesMessage instead.</td>
+    </tr>
+    <tr>
+      <td>messageDescUrl</td>
+      <td>(removed)</td>
+      <td>Obsolete.  No equivalent exists.</td>
+    </tr>
+    <tr>
+      <td>messageTargetFrame</td>
+      <td>(removed)</td>
+      <td>Obsolete.  No equivalent exists.</td>
+    </tr>
+  </table>
+
+</subsection>
+<!-- ********** end outputLabel ********** -->
+
+<!-- ********** start panelBox ********** -->
+<subsection name="panelBox">
+
+  <p>
+    <b>Component Name:</b>
+    <ul>
+      <li><b>ADF:</b> panelBox</li>
+      <li><b>Trinidad:</b> panelBox</li>
+    </ul>
+  </p>
+
+  <p><b>Changed Attributes:</b></p>
+
+  <table border="1" width="90%">
+    <tr>
+      <td><b>ADF</b></td>
+      <td><b>Trinidad</b></td>
+      <td><b>Notes</b></td>
+    </tr>
+    <tr>
+      <td>width</td>
+      <td>(removed)</td>
+      <td>Obsolete, width can be set using inlineStyle.</td>
+    </tr>
+    <tr>
+      <td>(n/a)</td>
+      <td>contentStyle</td>
+      <td>this is the inline style for the content region only.</td>
+    </tr>
+  </table>
+
+  <p>
+    <b>Additional Notes:</b>
+    <ul>
+      <li>Not all of the backgrounds may be skinned properly for Tier 1.</li>
+      <li>The default width of the panelBox (which used to be 33%) has been removed.  PanelBox will now
+      grow with its content unless it is in a geometry managed component or the width in inlineStyle
+      is set.</li>
+    </ul>
+  </p>
+
+</subsection>
+<!-- ********** end panelBox ********** -->
+
+<!-- ********** start panelForm ********** -->
+<subsection name="panelForm">
+
+  <p>
+    <b>Component Name:</b>
+    <ul>
+      <li><b>ADF:</b> panelForm</li>
+      <li><b>Trinidad:</b> panelForm</li>
+    </ul>
+  </p>
+
+  <p><b>Changed Attributes:</b></p>
+
+  <table border="1" width="90%">
+    <tr>
+      <td><b>ADF</b></td>
+      <td><b>Trinidad</b></td>
+      <td><b>Notes</b></td>
+    </tr>
+    <tr>
+      <td>width</td>
+      <td>inlineStyle or styleClass</td>
+      <td>Obsolete. This attribute is no longer needed because width can be defined explicitly through the inlineStyle attribute or implicitly through the styleClass attribute.</td>
+    </tr>
+  </table>
+  
+</subsection>
+<!-- ********** end panelForm ********** -->
+
+<!-- ********** start panelHeader ********** -->
+<subsection name="panelHeader">
+
+  <p>
+    <b>Component Name:</b>
+    <ul>
+      <li><b>ADF:</b> panelHeader</li>
+      <li><b>Trinidad:</b> panelHeader</li>
+    </ul>
+  </p>
+
+  <p><b>Changed Attributes:</b></p>
+
+  <table border="1" width="90%">
+    <tr>
+      <td><b>ADF</b></td>
+      <td><b>Trinidad</b></td>
+      <td><b>Notes</b></td>
+    </tr>
+    <tr>
+      <td>shortText</td>
+      <td>(removed)</td>
+      <td>Obsolete, no replacement</td>
+    </tr>
+    <tr>
+   <td>size</td>
+   <td>size</td>
+   <td>Negative numbers imply automatic header level determination.  Default has changed to -1.</td>
+    </tr>
+  </table>
+
+</subsection>
+<!-- ********** end panelHeader ********** -->
+<!-- ********** start panelLabelAndMessage ********** -->
+<subsection name="panelLabelAndMessage">
+
+  <p>
+    <b>Component Name:</b>
+    <ul>
+      <li><b>ADF:</b> panelLabelAndMessage</li>
+      <li><b>Trinidad:</b> panelLabelAndMessage</li>
+    </ul>
+  </p>
+
+  <p><b>Changed Attributes:</b></p>
+
+  <table border="1" width="90%">
+    <tr>
+      <td><b>ADF</b></td>
+      <td><b>Trinidad</b></td>
+      <td><b>Notes</b></td>
+    </tr>
+    <tr>
+      <td>anchor</td>
+      <td>(removed)</td>
+      <td>Obsolete. This attribute was ignored in ADF; it gathered this information from the 'for' attribute.</td>
+    </tr>
+    <tr>
+      <td>message</td>
+      <td>(removed)</td>
+      <td>Obsolete, use FacesMessage instead.</td>
+    </tr>
+    <tr>
+      <td>messageType</td>
+      <td>(removed)</td>
+      <td>Obsolete, use FacesMessage instead.</td>
+    </tr>
+    <tr>
+      <td>messageDescUrl</td>
+      <td>(removed)</td>
+      <td>Obsolete.  See messaging framework documentation.</td>
+    </tr>
+    <tr>
+      <td>messageTargetFrame</td>
+      <td>(removed)</td>
+      <td>Obsolete.  See messaging framework documentation.</td>
+    </tr>
+    <tr>
+      <td>tip</td>
+      <td>(removed)</td>
+      <td>use the new help facet - see below. To upgrade put an outputText in the new help facet and set the  outputText's 'value' attribute to the old tip text.</td>
+    </tr> 
+    <tr>
+      <td>valign</td>
+      <td>labelStyle</td>
+      <td>The valign attribute was not flexible enough so labelStyle was introduced.  The labelStyle attribute specifies inline styles for the label portion of the component, e.g. "vertical-align: bottom;" to align the label to the bottom of the container.</td>
+    </tr> 
+  </table>
+  
+  <p><b>Changed Facets:</b></p>
+
+  <table border="1" width="90%">
+    <tr>
+      <td><b>ADF</b></td>
+      <td><b>Trinidad</b></td>
+      <td><b>Notes</b></td>
+    </tr>
+    <tr>
+      <td>(n/a)</td>
+      <td>help</td>
+      <td>information to help the user fill in a field</td>
+    </tr>
+  </table>
+
+</subsection>
+<!-- ********** end panelLabelAndMessage ********** -->
+
+<!-- ********** start panelList ********** -->
+<subsection name="panelList">
+
+  <p>
+    <b>Component Name:</b>
+    <ul>
+      <li><b>ADF:</b> panelList</li>
+      <li><b>Trinidad:</b> panelList</li>
+    </ul>
+  </p>
+
+  <p><b>Changed Attributes:</b></p>
+
+  <table border="1" width="90%">
+    <tr>
+      <td><b>ADF</b></td>
+      <td><b>Trinidad</b></td>
+      <td><b>Notes</b></td>
+    </tr>
+    <tr>
+      <td>(n/a)</td>
+      <td>listStyle</td>
+      <td>The styleClass and inlineStyle attributes are now rendered on the root
+      dom element instead of the &lt;ul&gt; element as it was in ADF. In 
+      ADF you could change the list style by setting the inlineStyle attribute,
+      but now you need to set the listStyle attribute.
+      For example, you can style the list to be squares like this: 
+      listStyle='list-style-type:square'</td>
+    </tr>
+  </table>
+</subsection>
+<!-- ********** end panelList ********** -->
+
+<!-- ********** start panelPage ********** -->
+<subsection name="panelPage">
+
+  <p>
+    <b>Component Name:</b>
+    <ul>
+      <li><b>ADF:</b> panelPage</li>
+      <li><b>Trinidad:</b> panelPage</li>
+    </ul>
+  </p>
+
+  <p><b>Changed Attributes:</b></p>
+
+  <table border="1" width="90%">
+    <tr>
+      <td><b>ADF</b></td>
+      <td><b>Trinidad</b></td>
+      <td><b>Notes</b></td>
+    </tr>
+    <tr>
+      <td>chromeType</td>
+      <td>(removed)</td>
+      <td>removed, consider using skin properties to tweak panelPage</td>
+    </tr>
+    <tr>
+      <td>messageType</td>
+      <td>(removed)</td>
+      <td>removed, use the panelHeader for your title and set its messageType instead</td>
+    </tr>
+    <tr>
+      <td>quickLinksShown</td>
+      <td>(removed)</td>
+      <td>removed</td>
+    </tr>
+    <tr>
+      <td>title</td>
+      <td>(removed)</td>
+      <td>removed, use a panelHeader that you place as an indexed child where the text attribute is the title instead</td>
+    </tr>
+    <tr>
+      <td>(n/a)</td>
+      <td>auxiliaryGlobalSize</td>
+      <td>amount of pixels allocated to the splitter pane containing the global auxiliary region; value is an integer with default of 100</td>
+    </tr>
+    <tr>
+      <td>(n/a)</td>
+      <td>auxiliary1Size</td>
+      <td>amount of pixels allocated to the splitter pane containing the primary auxiliary region; value is an integer with default of 100</td>
+    </tr>
+    <tr>
+      <td>(n/a)</td>
+      <td>auxiliary2Size</td>
+      <td>amount of pixels allocated to the splitter pane containing the secondary auxiliary region; value is an integer with default of 100</td>
+    </tr>
+  </table>
+
+  <p><b>Changed Facets:</b></p>
+
+  <table border="1" width="90%">
+    <tr>
+      <td><b>ADF</b></td>
+      <td><b>Trinidad</b></td>
+      <td><b>Notes</b></td>
+    </tr>
+
+    <tr>
+      <td>actions</td>
+      <td>(removed)</td>
+      <td>removed;  use the panelHeader that you used for your title instead</td>
+    </tr>
+
+    <tr>
+      <td>brandingApp</td>
+      <td>(removed)</td>
+      <td>removed because you should use the branding facet instead</td>
+    </tr>
+
+    <tr>
+      <td>brandingAppContextual</td>
+      <td>globalContext</td>
+      <td>removed because you should use the branding facet instead</td>
+    </tr>
+
+    <tr>
+      <td>contextSwitcher</td>
+      <td>(removed)</td>
+      <td>removed, this belongs to the panelHeader that you used for your title instead</td>
+    </tr>
+
+    <tr>
+      <td>infoSupplemental</td>
+      <td>(removed)</td>
+      <td>removed, use auxiliary or contextual regions instead</td>
+    </tr>
+
+    <tr>
+      <td>menuSwitch</td>
+      <td>(removed)</td>
+      <td>removed because you should use the branding facet instead</td>
+    </tr>
+
+    <tr>
+      <td>menuGlobal</td>
+      <td>navigationGlobal</td>
+      <td>renamed because of too much confusion; this is for navigation components, not menu components</td>
+    </tr>
+
+    <tr>
+      <td>menu1</td>
+      <td>navigation1</td>
+      <td>renamed because of too much confusion; this is for navigation components, not menu components</td>
+    </tr>
+
+    <tr>
+      <td>menu2</td>
+      <td>navigation2</td>
+      <td>renamed because of too much confusion; this is for navigation components, not menu components</td>
+    </tr>
+
+    <tr>
+      <td>menu3</td>
+      <td>navigation3</td>
+      <td>renamed because of too much confusion; this is for navigation components, not menu components</td>
+    </tr>
+
+    <tr>
+      <td>(n/a)</td>
+      <td>auxiliaryGlobal</td>
+      <td>location for global auxiliary items</td>
+    </tr>
+
+    <tr>
+      <td>(n/a)</td>
+      <td>auxiliary1</td>
+      <td>location for primary auxiliary items</td>
+    </tr>
+
+    <tr>
+      <td>(n/a)</td>
+      <td>auxiliary2</td>
+      <td>location for secondary auxiliary items</td>
+    </tr>
+
+    <tr>
+      <td>(n/a)</td>
+      <td>contextGlobal</td>
+      <td>location for global context items</td>
+    </tr>
+
+    <tr>
+      <td>(n/a)</td>
+      <td>contextLocal</td>
+      <td>location for local context items in a horizontal orientation relative to the main content</td>
+    </tr>
+
+    <tr>
+      <td>(n/a)</td>
+      <td>toolbarGlobal</td>
+      <td>location for a toolbar in the global layer</td>
+    </tr>
+
+    <tr>
+      <td>(n/a)</td>
+      <td>toolbar1</td>
+      <td>location for a toolbar in the primary layer</td>
+    </tr>
+
+    <tr>
+      <td>(n/a)</td>
+      <td>toolbar2</td>
+      <td>location for a toolbar in the secondary layer</td>
+    </tr>
+
+  </table>
+</subsection>
+<!-- ********** end panelPage ********** -->
+
+
+<!-- ********** start regionDef ********** -->
+<subsection name="regionDef">
+
+  <p>
+    <b>Component Name:</b>
+    <ul>
+      <li><b>ADF:</b> regionDef</li>
+      <li><b>Trinidad:</b> componentDef</li>
+    </ul>
+  </p>
+
+  <p><b>Changed Attributes:</b>None</p>
+  <p><b>Changed Facets:</b>None</p>
+
+</subsection>
+<!-- ********** end regionDef ********** -->
+
+
+<!-- ********** start selectBooleanCheckbox ********** -->
+<subsection name="selectBooleanCheckbox">
+
+  <p>
+    <b>Component Name:</b>
+    <ul>
+      <li><b>ADF:</b> selectBooleanCheckbox</li>
+      <li><b>Trinidad:</b> selectBooleanCheckbox</li>
+    </ul>
+  </p>
+
+  <p><b>Changed Attributes:</b></p>
+
+  <table border="1" width="90%">
+    <tr>
+      <td><b>ADF</b></td>
+      <td><b>Trinidad</b></td>
+      <td><b>Notes</b></td>
+    </tr>
+    <tr>
+      <td>(n/a)</td>
+      <td>contentStyle</td>
+      <td>use contentStyle to set the style for the content part of the component.
+      In ADF, inlineStyle was the closest equivalent, but
+      inlineStyle was rendered on both the label and the content. In Trinidad, inlineStyle
+      and styleClass are rendered on the root dom element.</td>
+    </tr>     
+    <tr>
+      <td>messageDescUrl </td>
+      <td>(removed)</td>
+      <td>see messaging framework documentation</td>
+    </tr> 
+    <tr>
+      <td>messageTargetFrame</td>
+      <td>(removed)</td>
+      <td>see messaging framework documentation</td>
+    </tr> 
+    <tr>
+      <td>tip</td>
+      <td>(removed)</td>
+      <td>use the new help facet - see below. To upgrade put an outputText in the new help facet and set the  outputText's 'value' attribute to the old tip text.</td>
+    </tr>
+    <tr>
+      <td>valign</td>
+      <td>(removed)</td>
+      <td>we default this to look correct, so this attribute is not needed. You can use styleClass and skinning together to override the default vertical alignment of the label and contents.</td>
+    </tr> 
+  </table>
+  
+  <p><b>Changed Facets:</b></p>
+
+  <table border="1" width="90%">
+    <tr>
+      <td><b>ADF</b></td>
+      <td><b>Trinidad</b></td>
+      <td><b>Notes</b></td>
+    </tr>
+    <tr>
+      <td>(n/a)</td>
+      <td>help</td>
+      <td>information to help the user fill in a field</td>
+    </tr>
+  </table>
+
+</subsection>
+<!-- ********** end selectBooleanCheckbox ********** -->
+
+
+<!-- ********** start selectBooleanRadio ********** -->
+<subsection name="selectBooleanRadio">
+
+  <p>
+    <b>Component Name:</b>
+    <ul>
+      <li><b>ADF:</b> selectBooleanRadio</li>
+      <li><b>Trinidad:</b> selectBooleanRadio</li>
+    </ul>
+  </p>
+
+  <p><b>Changed Attributes:</b></p>
+
+  <table border="1" width="90%">
+    <tr>
+      <td><b>ADF</b></td>
+      <td><b>Trinidad</b></td>
+      <td><b>Notes</b></td>
+    </tr>
+    <tr>
+      <td>(n/a)</td>
+      <td>contentStyle</td>
+      <td>use contentStyle to set the style for the content part of the component.
+      In ADF, inlineStyle was the closest equivalent, but
+      inlineStyle was rendered on both the label and the content. In Trinidad, inlineStyle
+      and styleClass are rendered on the root dom element.</td>
+    </tr>     
+    <tr>
+      <td>messageDescUrl </td>
+      <td>(removed)</td>
+      <td>see messaging framework documentation</td>
+    </tr> 
+    <tr>
+      <td>messageTargetFrame</td>
+      <td>(removed)</td>
+      <td>see messaging framework documentation</td>
+    </tr> 
+    <tr>
+      <td>tip</td>
+      <td>(removed)</td>
+      <td>use the new help facet - see below. To upgrade put an outputText in the new help facet and set the  outputText's 'value' attribute to the old tip text.</td>
+    </tr>
+    <tr>
+      <td>valign</td>
+      <td>(removed)</td>
+      <td>we default this to look correct, so this attribute is not needed. You can use styleClass and skinning together to override the default vertical alignment of the label and contents.</td>
+    </tr> 
+  </table>
+  
+  <p><b>Changed Facets:</b></p>
+
+  <table border="1" width="90%">
+    <tr>
+      <td><b>ADF</b></td>
+      <td><b>Trinidad</b></td>
+      <td><b>Notes</b></td>
+    </tr>
+    <tr>
+      <td>(n/a)</td>
+      <td>help</td>
+      <td>information to help the user fill in a field</td>
+    </tr>
+  </table>
+
+</subsection>
+<!-- ********** end selectBooleanRadio ********** -->
+
+
+<!-- ********** start selectInputColor ********** -->
+<subsection name="selectInputColor">
+
+  <p>
+    <b>Component Name:</b>
+    <ul>
+      <li><b>ADF:</b> selectInputColor</li>
+      <li><b>Trinidad:</b> selectInputColor</li>
+    </ul>
+  </p>
+
+  <p><b>Changed Attributes:</b></p>
+
+  <table border="1" width="90%">
+    <tr>
+      <td><b>ADF</b></td>
+      <td><b>Trinidad</b></td>
+      <td><b>Notes</b></td>
+    </tr>
+    <tr>
+      <td>(n/a)</td>
+      <td>contentStyle</td>
+      <td>use contentStyle to set the style for the content part of the component.
+      For example, if you want the input field to be 300 pixels wide, you can do this:
+      contentStyle="width:300px". In ADF, inlineStyle was the closest equivalent, but
+      inlineStyle was rendered on both the label and the content. In Trinidad, inlineStyle
+      and styleClass are rendered on the root dom element.</td>
+    </tr>     
+    <tr>
+      <td>tip</td>
+      <td>(removed)</td>
+      <td>use the new help facet - see below. To upgrade put an outputText in the new help facet and set the  outputText's 'value' attribute to the old tip text.</td>
+    </tr>
+    <tr>
+      <td>valign</td>
+      <td>(removed)</td>
+      <td>we default this to look correct, so this attribute is not needed. You can use styleClass and skinning together to override the default vertical alignment of the label and contents.</td>
+    </tr>     
+  </table>
+  
+  <p><b>Changed Facets:</b></p>
+
+  <table border="1" width="90%">
+    <tr>
+      <td><b>ADF</b></td>
+      <td><b>Trinidad</b></td>
+      <td><b>Notes</b></td>
+    </tr>
+    <tr>
+      <td>(n/a)</td>
+      <td>help</td>
+      <td>information to help the user fill in a field</td>
+    </tr>
+  </table>
+
+</subsection>
+<!-- ********** end selectInputColor ********** -->
+
+
+<!-- ********** start selectInputDate ********** -->
+<subsection name="selectInputDate">
+
+  <p>
+    <b>Component Name:</b>
+    <ul>
+      <li><b>ADF:</b> selectInputDate</li>
+      <li><b>Trinidad:</b> selectInputDate</li>
+    </ul>
+  </p>
+
+  <p><b>Changed Attributes:</b></p>
+
+  <table border="1" width="90%">
+    <tr>
+      <td><b>ADF</b></td>
+      <td><b>Trinidad</b></td>
+      <td><b>Notes</b></td>
+    </tr>
+    <tr>
+      <td>(n/a)</td>
+      <td>contentStyle</td>
+      <td>use contentStyle to set the style for the content part of the component.
+      For example, if you want the input field to be 300 pixels wide, you can do this:
+      contentStyle="width:300px". In ADF, inlineStyle was the closest equivalent, but
+      inlineStyle was rendered on both the label and the content. In Trinidad, inlineStyle
+      and styleClass are rendered on the root dom element.</td>
+    </tr>    
+    <tr>
+      <td>tip</td>
+      <td>(removed)</td>
+      <td>use the new help facet - see below. To upgrade put an outputText in the new help facet and set the  outputText's 'value' attribute to the old tip text.</td>
+    </tr>
+    <tr>
+      <td>valign</td>
+      <td>(removed)</td>
+      <td>we default this to look correct, so this attribute is not needed. You can use styleClass and skinning together to override the default vertical alignment of the label and contents.</td>
+    </tr> 
+  </table>
+  
+  <p><b>Changed Facets:</b></p>
+
+  <table border="1" width="90%">
+    <tr>
+      <td><b>ADF</b></td>
+      <td><b>Trinidad</b></td>
+      <td><b>Notes</b></td>
+    </tr>
+    <tr>
+      <td>(n/a)</td>
+      <td>help</td>
+      <td>information to help the user fill in a field</td>
+    </tr>
+  </table>
+
+</subsection>
+<!-- ********** end selectInputDate ********** -->
+
+
+<!-- ********** start selectInputText ********** -->
+<subsection name="selectInputText">
+
+  <p>
+    <b>Component Name:</b>
+    <ul>
+      <li><b>ADF:</b> selectInputText</li>
+      <li><b>Trinidad:</b> selectInputText</li>
+    </ul>
+  </p>
+
+  <p><b>Changed Attributes:</b></p>
+
+  <table border="1" width="90%">
+    <tr>
+      <td><b>ADF</b></td>
+      <td><b>Trinidad</b></td>
+      <td><b>Notes</b></td>
+    </tr>
+    <tr>
+      <td>(n/a)</td>
+      <td>contentStyle</td>
+      <td>use contentStyle to set the style for the content part of the component.
+      For example, if you want the input field to be 300 pixels wide, you can do this:
+      contentStyle="width:300px". In ADF, inlineStyle was the closest equivalent, but
+      inlineStyle was rendered on both the label and the content. In Trinidad, inlineStyle
+      and styleClass are rendered on the root dom element.</td>
+    </tr>      
+    <tr>
+      <td>tip</td>
+      <td>(removed)</td>
+      <td>use the new help facet - see below. To upgrade put an outputText in the new help facet and set the  outputText's 'value' attribute to the old tip text.</td>
+    </tr>
+    <tr>
+      <td>valign</td>
+      <td>(removed)</td>
+      <td>we default this to look correct, so this attribute is not needed. You can use styleClass and skinning together to override the default vertical alignment of the label and contents.</td>
+    </tr>     
+  </table>
+  
+  <p><b>Changed Facets:</b></p>
+
+  <table border="1" width="90%">
+    <tr>
+      <td><b>ADF</b></td>
+      <td><b>Trinidad</b></td>
+      <td><b>Notes</b></td>
+    </tr>
+    <tr>
+      <td>(n/a)</td>
+      <td>help</td>
+      <td>information to help the user fill in a field</td>
+    </tr>
+  </table>
+
+</subsection>
+<!-- ********** end selectInputText ********** -->
+
+
+<!-- ********** start selectManyCheckbox ********** -->
+<subsection name="selectManyCheckbox">
+
+  <p>
+    <b>Component Name:</b>
+    <ul>
+      <li><b>ADF:</b> selectManyCheckbox</li>
+      <li><b>Trinidad:</b> selectManyCheckbox</li>
+    </ul>
+  </p>
+
+  <p><b>Changed Attributes:</b></p>
+
+  <table border="1" width="90%">
+    <tr>
+      <td><b>ADF</b></td>
+      <td><b>Trinidad</b></td>
+      <td><b>Notes</b></td>
+    </tr>
+    <tr>
+      <td>(n/a)</td>
+      <td>contentStyle</td>
+      <td>use contentStyle to set the style for the content part of the component.
+      In ADF, inlineStyle was the closest equivalent, but
+      inlineStyle was rendered on both the label and the content. In Trinidad, inlineStyle
+      and styleClass are rendered on the root dom element.</td>
+    </tr>      
+    <tr>
+      <td>messageDescUrl </td>
+      <td>(removed)</td>
+      <td>see messaging framework documentation</td>
+    </tr> 
+    <tr>
+      <td>messageTargetFrame</td>
+      <td>(removed)</td>
+      <td>see messaging framework documentation</td>
+    </tr> 
+    <tr>
+      <td>tip</td>
+      <td>(removed)</td>
+      <td>use the new help facet - see below. To upgrade put an outputText in the new help facet and set the  outputText's 'value' attribute to the old tip text.</td>
+    </tr>
+    <tr>
+      <td>valign</td>
+      <td>(removed)</td>
+      <td>we default this to look correct, so this attribute is not needed. You can use styleClass and skinning together to override the default vertical alignment of the label and contents.</td>
+    </tr>     
+  </table>
+  
+  <p><b>Changed Facets:</b></p>
+
+  <table border="1" width="90%">
+    <tr>
+      <td><b>ADF</b></td>
+      <td><b>Trinidad</b></td>
+      <td><b>Notes</b></td>
+    </tr>
+    <tr>
+      <td>(n/a)</td>
+      <td>help</td>
+      <td>information to help the user fill in a field</td>
+    </tr>
+  </table>
+
+</subsection>
+<!-- ********** end selectManyCheckbox ********** -->
+
+
+<!-- ********** start selectManyListbox ********** -->
+<subsection name="selectManyListbox">
+
+  <p>
+    <b>Component Name:</b>
+    <ul>
+      <li><b>ADF:</b> selectManyListbox</li>
+      <li><b>Trinidad:</b> selectManyListbox</li>
+    </ul>
+  </p>
+
+  <p><b>Changed Attributes:</b></p>
+
+  <table border="1" width="90%">
+    <tr>
+      <td><b>ADF</b></td>
+      <td><b>Trinidad</b></td>
+      <td><b>Notes</b></td>
+    </tr>
+    <tr>
+      <td>(n/a)</td>
+      <td>contentStyle</td>
+      <td>use contentStyle to set the style for the content part of the component.
+      For example, if you want the input to be 300 pixels wide, you can do this:
+      contentStyle="width:300px". In ADF, inlineStyle was the closest equivalent, but
+      inlineStyle was rendered on both the label and the content. In Trinidad, inlineStyle
+      and styleClass are rendered on the root dom element.</td>
+    </tr>       
+    <tr>
+      <td>messageDescUrl </td>
+      <td>(removed)</td>
+      <td>see messaging framework documentation</td>
+    </tr> 
+    <tr>
+      <td>messageTargetFrame</td>
+      <td>(removed)</td>
+      <td>see messaging framework documentation</td>
+    </tr> 
+    <tr>
+      <td>tip</td>
+      <td>(removed)</td>
+      <td>use the new help facet - see below. To upgrade put an outputText in the new help facet and set the  outputText's 'value' attribute to the old tip text.</td>
+    </tr> 
+    <tr>
+      <td>(n/a)</td>
+      <td>selectAllVisible</td>
+      <td>Whether or not to show an option to select all the items. Defaults to true.</td>
+    </tr>
+    <tr>
+      <td>valign</td>
+      <td>(removed)</td>
+      <td>we default this to look correct, so this attribute is not needed. You can use styleClass and skinning together to override the default vertical alignment of the label and contents.</td>
+    </tr>     
+  </table>
+  
+  <p><b>Changed Facets:</b></p>
+
+  <table border="1" width="90%">
+    <tr>
+      <td><b>ADF</b></td>
+      <td><b>Trinidad</b></td>
+      <td><b>Notes</b></td>
+    </tr>
+    <tr>
+      <td>(n/a)</td>
+      <td>help</td>
+      <td>information to help the user fill in a field</td>
+    </tr>
+  </table>
+
+</subsection>
+<!-- ********** end selectManyListbox ********** -->
+
+
+<!-- ********** start selectOneChoice ********** -->
+<subsection name="selectOneChoice">
+
+  <p>
+    <b>Component Name:</b>
+    <ul>
+      <li><b>ADF:</b> selectOneChoice</li>
+      <li><b>Trinidad:</b> selectOneChoice</li>
+    </ul>
+  </p>
+
+  <p><b>Changed Attributes:</b></p>
+
+  <table border="1" width="90%">
+    <tr>
+      <td><b>ADF</b></td>
+      <td><b>Trinidad</b></td>
+      <td><b>Notes</b></td>
+    </tr>
+    <tr>
+      <td>(n/a)</td>
+      <td>contentStyle</td>
+      <td>use contentStyle to set the style for the content part of the component.
+      For example, if you want the input to be 300 pixels wide, you can do this:
+      contentStyle="width:300px". In ADF, inlineStyle was the closest equivalent, but
+      inlineStyle was rendered on both the label and the content. In Trinidad, inlineStyle
+      and styleClass are rendered on the root dom element.</td>
+    </tr>    
+    <tr>
+      <td>messageDescUrl </td>
+      <td>(removed)</td>
+      <td>see messaging framework documentation</td>
+    </tr> 
+    <tr>
+      <td>messageTargetFrame</td>
+      <td>(removed)</td>
+      <td>see messaging framework documentation</td>
+    </tr> 
+    <tr>
+      <td>tip</td>
+      <td>(removed)</td>
+      <td>use the new help facet - see below. To upgrade put an outputText in the new help facet and set the  outputText's 'value' attribute to the old tip text.</td>
+    </tr>
+    <tr>
+      <td>valign</td>
+      <td>(removed)</td>
+      <td>we default this to look correct, so this attribute is not needed. You can use styleClass and skinning together to override the default vertical alignment of the label and contents.</td>
+    </tr>     
+  </table>
+  
+  <p><b>Changed Facets:</b></p>
+
+  <table border="1" width="90%">
+    <tr>
+      <td><b>ADF</b></td>
+      <td><b>Trinidad</b></td>
+      <td><b>Notes</b></td>
+    </tr>
+    <tr>
+      <td>(n/a)</td>
+      <td>help</td>
+      <td>information to help the user fill in a field</td>
+    </tr>
+  </table>
+
+</subsection>
+<!-- ********** end selectOneChoice ********** -->
+
+
+<!-- ********** start selectOneListbox ********** -->
+<subsection name="selectOneListbox">
+
+  <p>
+    <b>Component Name:</b>
+    <ul>
+      <li><b>ADF:</b> selectOneListbox</li>
+      <li><b>Trinidad:</b> selectOneListbox</li>
+    </ul>
+  </p>
+
+  <p><b>Changed Attributes:</b></p>
+
+  <table border="1" width="90%">
+    <tr>
+      <td><b>ADF</b></td>
+      <td><b>Trinidad</b></td>
+      <td><b>Notes</b></td>
+    </tr>
+    <tr>
+      <td>(n/a)</td>
+      <td>contentStyle</td>
+      <td>use contentStyle to set the style for the content part of the component.
+      For example, if you want the input to be 300 pixels wide, you can do this:
+      contentStyle="width:300px". In ADF, inlineStyle was the closest equivalent, but
+      inlineStyle was rendered on both the label and the content. In Trinidad, inlineStyle
+      and styleClass are rendered on the root dom element.</td>
+    </tr>    
+    <tr>
+      <td>messageDescUrl </td>
+      <td>(removed)</td>
+      <td>see messaging framework documentation</td>
+    </tr> 
+    <tr>
+      <td>messageTargetFrame</td>
+      <td>(removed)</td>
+      <td>see messaging framework documentation</td>
+    </tr>  
+    <tr>
+      <td>(n/a)</td>
+      <td>unselectedLabel</td>
+      <td>This attribute has been added to match the unselectedLabel attribute that exists on selectOneRadio and selectOneChoice. </td>
+    </tr>
+    <tr>
+      <td>tip</td>
+      <td>(removed)</td>
+      <td>use the new help facet - see below. To upgrade put an outputText in the new help facet and set the  outputText's 'value' attribute to the old tip text.</td>
+    </tr>
+    <tr>
+      <td>valign</td>
+      <td>(removed)</td>
+      <td>we default this to look correct, so this attribute is not needed. You can use styleClass and skinning together to override the default vertical alignment of the label and contents.</td>
+    </tr>     
+  </table>
+  
+  <p><b>Changed Facets:</b></p>
+
+  <table border="1" width="90%">
+    <tr>
+      <td><b>ADF</b></td>
+      <td><b>Trinidad</b></td>
+      <td><b>Notes</b></td>
+    </tr>
+    <tr>
+      <td>(n/a)</td>
+      <td>help</td>
+      <td>information to help the user fill in a field</td>
+    </tr>
+  </table>
+
+</subsection>
+<!-- ********** end selectOneListbox ********** -->
+
+
+<!-- ********** start selectOneRadio ********** -->
+<subsection name="selectOneRadio">
+
+  <p>
+    <b>Component Name:</b>
+    <ul>
+      <li><b>ADF:</b> selectOneRadio</li>
+      <li><b>Trinidad:</b> selectOneRadio</li>
+    </ul>
+  </p>
+
+  <p><b>Changed Attributes:</b></p>
+
+  <table border="1" width="90%">
+    <tr>
+      <td><b>ADF</b></td>
+      <td><b>Trinidad</b></td>
+      <td><b>Notes</b></td>
+    </tr>
+    <tr>
+      <td>(n/a)</td>
+      <td>contentStyle</td>
+      <td>use contentStyle to set the style for the content part of the component.
+      In ADF, inlineStyle was the closest equivalent, but
+      inlineStyle was rendered on both the label and the content. In Trinidad, inlineStyle
+      and styleClass are rendered on the root dom element.</td>
+    </tr>    
+    <tr>
+      <td>messageDescUrl </td>
+      <td>(removed)</td>
+      <td>see messaging framework documentation</td>
+    </tr> 
+    <tr>
+      <td>messageTargetFrame</td>
+      <td>(removed)</td>
+      <td>see messaging framework documentation</td>
+    </tr> 
+    <tr>
+      <td>tip</td>
+      <td>(removed)</td>
+      <td>use the new help facet - see below. To upgrade put an outputText in the new help facet and set the  outputText's 'value' attribute to the old tip text.</td>
+    </tr>
+    <tr>
+      <td>valign</td>
+      <td>(removed)</td>
+      <td>we default this to look correct, so this attribute is not needed. You can use styleClass and skinning together to override the default vertical alignment of the label and contents.</td>
+    </tr>     
+  </table>
+  
+  <p><b>Changed Facets:</b></p>
+
+  <table border="1" width="90%">
+    <tr>
+      <td><b>ADF</b></td>
+      <td><b>Trinidad</b></td>
+      <td><b>Notes</b></td>
+    </tr>
+    <tr>
+      <td>(n/a)</td>
+      <td>help</td>
+      <td>information to help the user fill in a field</td>
+    </tr>
+  </table>
+
+</subsection>
+<!-- ********** end selectOneRadio ********** -->
+
+<!-- ********** start showDetail ********** -->
+<subsection name="showDetail">
+
+  <p>
+    <b>Component Name:</b>
+    <ul>
+      <li><b>ADF:</b> showDetail</li>
+      <li><b>Trinidad:</b> showDetail</li>
+    </ul>
+  </p>
+  <p>
+    <b>Additional Notes:</b>
+    <ul>
+      <li>Although the APIs for this component have not changed, the behavior has.  In ADF, if either the disclosedText 
+      OR the undisclosedText attribute was not specified, and the prompt facet was not specified, then the default "hide" or
+      "show" text would be rendered in place of the missing attribute.  In the current release, the default values are only
+      displayed if NEITHER the disclosedText nor the undisclosedText is specified.  If one of those attributes is specified
+      the component will use the same label for both the disclosed state AND the undisclosed state.  If both are specified,
+      it will switch between them as normal.  This was done to prevent the application developer from having to specify BOTH
+      a disclosedText and an undisclosedText attribute in order to create a showDetail without a changing label.</li>
+    </ul>
+  </p>
+
+</subsection>
+<!-- ********** end example ********** -->
+
+<!-- ********** start showDetailHeader ********** -->
+<subsection name="showDetailHeader">
+
+  <p>
+    <b>Component Name:</b>
+    <ul>
+      <li><b>ADF:</b> showDetailHeader</li>
+      <li><b>Trinidad:</b> showDetailHeader</li>
+    </ul>
+  </p>
+
+  <p><b>Changed Attributes:</b></p>
+
+  <table border="1" width="90%">
+    <tr>
+      <td><b>ADF</b></td>
+      <td><b>Trinidad</b></td>
+      <td><b>Notes</b></td>
+    </tr>
+    <tr>
+      <td>shortText</td>
+      <td>(removed)</td>
+      <td>Obsolete, no replacement</td>
+    </tr>
+    <tr>
+   <td>size</td>
+   <td>size</td>
+   <td>Negative numbers imply automatic header level determination.  Default has changed to -1.</td>
+    </tr>
+    <tr>
+  <td>(none)</td>
+  <td>messageType</td>
+  <td>Added messageType to showDetailHeader in order to maintain consistancy with panelHeader.</td>
+    </tr>
+  </table>
+</subsection>
+<!-- ********** end showDetailHeader ********** -->
+
+<!-- ********** start showDetailItem ********** -->
+<subsection name="showDetailItem">
+
+  <p>
+    <b>Component Name:</b>
+    <ul>
+      <li><b>ADF:</b> showDetailItem</li>
+      <li><b>Trinidad:</b> showDetailItem</li>
+    </ul>
+  </p>
+
+  <p><b>Changed Attributes:</b></p>
+
+  <table border="1" width="90%">
+    <tr>
+      <td><b>ADF</b></td>
+      <td><b>Trinidad</b></td>
+      <td><b>Notes</b></td>
+    </tr>
+  </table>
+
+  <p><b>Changed Facets:</b></p>
+
+  <table border="1" width="90%">
+    <tr>
+      <td><b>ADF</b></td>
+      <td><b>Trinidad</b></td>
+      <td><b>Notes</b></td>
+    </tr>
+  </table>
+
+  <p>
+    <b>Additional Notes:</b>
+    <ul>
+      <li>The functionality added here is not rendered as part of this component.  Rather, these items
+      are to be consumed by a showOne or showMany component.</li>
+    </ul>
+  </p>
+
+</subsection>
+<!-- ********** end showDetailItem ********** -->
+
+
+<!-- ********** start showOneAccordion ********** -->
+<subsection name="showOneAccordion">
+
+  <p>
+    <b>Component Name:</b>
+    <ul>
+      <li><b>ADF:</b> showOnePanel</li>
+      <li><b>Trinidad:</b> showOneAccordion</li>
+    </ul>
+  </p>
+
+</subsection>
+<!-- ********** end showOneAccordion ********** -->
+
+
+<!-- ********** begin table ***************** -->
+<subsection name="table">
+
+  <p>
+    <b>Component Name:</b>
+    <ul>
+      <li><b>ADF:</b> table</li>
+      <li><b>Trinidad:</b> table</li>
+    </ul>
+  </p>
+
+  <p><b>Changed Attributes:</b></p>
+
+  <table border="1" width="90%">
+    <tr>
+      <td><b>ADF</b></td>
+      <td><b>Trinidad</b></td>
+      <td><b>Notes</b></td>
+    </tr>
+    <tr>
+      <td></td>
+      <td>rowSelection</td>
+      <td>new attribute to control selection. use "single" for single selection. use "multiple" for multiple selection.</td>
+    </tr>
+    <tr>
+      <td>selectionState</td>
+      <td>selectedRowKeys</td>
+      <td>renamed.
+      </td>
+    </tr>
+    <tr>
+      <td>banding</td>
+      <td>rowBandingInterval or columnBandingInterval</td>
+      <td>for row banding use nonzero value for rowBandingInterval. For column banding use nonzero value for columnBandingInterval. Use zero for both
+to turn off banding.
+      </td>
+    </tr>
+    <tr>
+      <td>bandingInterval</td>
+      <td>rowBandingInterval or columnBandingInterval</td>
+      <td>renamed.
+      </td>
+    </tr>
+    <tr>
+      <td>width</td>
+      <td>inlineStyle</td>
+      <td>removed. use inlineStyle attribute to set the width using css.
+      </td>
+    </tr>
+  </table>
+
+  <p><b>Changed Facets:</b></p>
+
+  <table border="1" width="90%">
+    <tr>
+      <td><b>ADF</b></td>
+      <td><b>Trinidad</b></td>
+      <td><b>Notes</b></td>
+    </tr>
+    <tr>
+      <td>actions</td>
+      <td> </td>
+      <td>This facet was removed. The components in this facet should be moved to the "toolbar" facet on the new decorateCollection component.</td>
+    </tr>
+    <tr>
+      <td>selection</td>
+      <td> </td>
+      <td>This facet was removed. Selection is now controlled by the new "rowSelection" attribute. See the tableSelectOne and tableSelectMany components for more details.</td>
+    </tr>
+  </table>
+
+  <p>
+    <b>Additional Notes:</b>
+    <ul>
+      <li>todo</li>
+    </ul>
+  </p>
+
+</subsection>
+<!-- ********** end table ********** -->
+
+
+<!-- ********** begin tableSelectMany ***************** -->
+<subsection name="tableSelectMany">
+
+  <p>
+    <b>Component Name:</b>
+    <ul>
+      <li><b>ADF:</b> tableSelectMany</li>
+      <li><b>Trinidad:</b> component removed</li>
+    </ul>
+  </p>
+
+  <p><b>Changed Attributes:</b></p>
+
+  <table border="1" width="90%">
+    <tr>
+      <td><b>ADF</b></td>
+      <td><b>Trinidad</b></td>
+      <td><b>Notes</b></td>
+    </tr>
+    <tr>
+      <td></td>
+      <td>text</td>
+      <td>no longer in blaf</td>
+    </tr>
+  </table>
+
+  <p><b>Changed Facets:</b></p>
+
+  <table border="1" width="90%">
+    <tr>
+      <td><b>ADF</b></td>
+      <td><b>Trinidad</b></td>
+      <td><b>Notes</b></td>
+    </tr>
+  </table>
+
+  <p>
+    <b>Additional Notes:</b>
+    <ul>
+      <li>selection on the table is controlled by the "rowSelection" attribute on the table/treeTable component</li>
+      <li>move the children of this component into the "toolbar" facet of the
+      surrounding "decorateCollection" component.</li>
+    </ul>
+  </p>
+
+</subsection>
+<!-- ********** end tableSelectMany ********** -->
+
+
+<!-- ********** begin tableSelectOne ***************** -->
+<subsection name="tableSelectOne">
+
+  <p>
+    <b>Component Name:</b>
+    <ul>
+      <li><b>ADF:</b> tableSelectOne</li>
+      <li><b>Trinidad:</b> component removed</li>
+    </ul>
+  </p>
+
+  <p><b>Changed Attributes:</b></p>
+
+  <table border="1" width="90%">
+    <tr>
+      <td><b>ADF</b></td>
+      <td><b>Trinidad</b></td>
+      <td><b>Notes</b></td>
+    </tr>
+    <tr>
+      <td></td>
+      <td>text</td>
+      <td>no longer in blaf</td>
+    </tr>
+  </table>
+
+  <p><b>Changed Facets:</b></p>
+
+  <table border="1" width="90%">
+    <tr>
+      <td><b>ADF</b></td>
+      <td><b>Trinidad</b></td>
+      <td><b>Notes</b></td>
+    </tr>
+  </table>
+
+  <p>
+    <b>Additional Notes:</b>
+    <ul>
+      <li>selection on the table is controlled by the "rowSelection" attribute on the table/treeTable component</li>
+      <li>move the children of this component into the "toolbar" facet of the
+      surrounding "decorateCollection" component.</li>
+    </ul>
+  </p>
+
+</subsection>
+<!-- ********** end tableSelectOne ********** -->
+
+
+<!-- ********** begin tree ***************** -->
+<subsection name="tree">
+
+  <p>
+    <b>Component Name:</b>
+    <ul>
+      <li><b>ADF:</b> tree</li>
+      <li><b>Trinidad:</b> tree</li>
+    </ul>
+  </p>
+
+  <p><b>Changed Attributes:</b></p>
+
+  <table border="1" width="90%">
+    <tr>
+      <td><b>ADF</b></td>
+      <td><b>Trinidad</b></td>
+      <td><b>Notes</b></td>
+    </tr>
+    <tr>
+      <td></td>
+      <td>rowSelection</td>
+      <td>new attribute to control selection. use "single" for single selection. use "multiple" for multiple selection.</td>
+    </tr>
+    <tr>
+      <td>selectionState</td>
+      <td>selectedRowKeys</td>
+      <td>renamed.
+      </td>
+    </tr>
+    <tr>
+      <td>treeState</td>
+      <td>disclosedRowKeys</td>
+      <td>renamed.
+      </td>
+    </tr>
+  </table>
+
+  <p><b>Changed Facets:</b></p>
+
+  <table border="1" width="90%">
+    <tr>
+      <td><b>ADF</b></td>
+      <td><b>Trinidad</b></td>
+      <td><b>Notes</b></td>
+    </tr>
+  </table>
+
+  <p>
+    <b>Additional Notes:</b>
+    <ul>
+      <li>todo</li>
+    </ul>
+  </p>
+
+</subsection>
+<!-- ********** end tree ********** -->
+
+
+<!-- ********** begin treeTable ***************** -->
+<subsection name="treeTable">
+
+  <p>
+    <b>Component Name:</b>
+    <ul>
+      <li><b>ADF:</b> treeTable</li>
+      <li><b>Trinidad:</b> treeTable</li>
+    </ul>
+  </p>
+
+  <p><b>Changed Attributes:</b></p>
+
+  <table border="1" width="90%">
+    <tr>
+      <td><b>ADF</b></td>
+      <td><b>Trinidad</b></td>
+      <td><b>Notes</b></td>
+    </tr>
+    <tr>
+      <td></td>
+      <td>rowSelection</td>
+      <td>new attribute to control selection. use "single" for single selection. use "multiple" for multiple selection.</td>
+    </tr>
+    <tr>
+      <td>selectionState</td>
+      <td>selectedRowKeys</td>
+      <td>renamed.
+      </td>
+    </tr>
+    <tr>
+      <td>banding</td>
+      <td>rowBandingInterval or columnBandingInterval</td>
+      <td>for row banding use nonzero value for rowBandingInterval. For column banding use nonzero value for columnBandingInterval. Use zero for both
+to turn off banding.
+      </td>
+    </tr>
+    <tr>
+      <td>bandingInterval</td>
+      <td>rowBandingInterval or columnBandingInterval</td>
+      <td>renamed.
+      </td>
+    </tr>
+    <tr>
+      <td>width</td>
+      <td>inlineStyle</td>
+      <td>removed. use inlineStyle attribute to set the width using css.
+      </td>
+    </tr>
+    <tr>
+      <td>treeState</td>
+      <td>disclosedRowKeys</td>
+      <td>renamed.
+      </td>
+    </tr>
+  </table>
+
+  <p><b>Changed Facets:</b></p>
+
+  <table border="1" width="90%">
+    <tr>
+      <td><b>ADF</b></td>
+      <td><b>Trinidad</b></td>
+      <td><b>Notes</b></td>
+    </tr>
+    <tr>
+      <td>actions</td>
+      <td> </td>
+      <td>This facet was removed. The components in this facet should be moved to the "toolbar" facet on the new decorateCollection component.</td>
+    </tr>
+    <tr>
+      <td>selection</td>
+      <td> </td>
+      <td>This facet was removed. Selection is now controlled by the new "rowSelection" attribute. See the tableSelectOne and tableSelectMany components for more details.</td>
+    </tr>
+  </table>
+
+  <p>
+    <b>Additional Notes:</b>
+    <ul>
+      <li>todo</li>
+    </ul>
+  </p>
+
+</subsection>
+<!-- ********** end treeTable ********** -->
+
+
+
+      </p>
+    </section>
+  </body>
+</document>

Added: incubator/adffaces/trunk/trinidad/src/site/xdoc/devguide/clientValidation.xml
URL: http://svn.apache.org/viewvc/incubator/adffaces/trunk/trinidad/src/site/xdoc/devguide/clientValidation.xml?rev=429972&view=auto
==============================================================================
--- incubator/adffaces/trunk/trinidad/src/site/xdoc/devguide/clientValidation.xml (added)
+++ incubator/adffaces/trunk/trinidad/src/site/xdoc/devguide/clientValidation.xml Tue Aug  8 22:46:09 2006
@@ -0,0 +1,306 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<document>
+  <properties>
+    <title>Client-side Converters and Validators</title>
+  </properties>
+
+  <body>
+    <section name="Client-side Converters and Validators">
+      <p>
+        <ul>
+          <li><a href="#Introduction">Introduction</a></li>
+          <li><a href="#Client-side Converters">Client-side Converters</a></li>
+          <li><a href="#Client-side Validators">Client-side Validators</a></li>
+        </ul>
+      </p>
+    </section>
+
+
+    <section name="Introduction">
+      <P>
+      One of the benefits of Apache Trinidad is that it supports client-side versions of converters and validators. This means that errors can be caught on the client and a round trip avoided. This chapter will explain how a developer can write their own converters and validators in such a way to take advantage of this feature. This chapter assumes knowledge of JSF converters and validators, so please make sure you understand how they work before continuing.
+      </P>
+      <p>
+      The basic idea of Apache Trinidad client conversion and validation is that it works on the client in a very similar way to how it works on the server, except the language on the client is javascript instead of java. There are javascript Converter objects that support the methods getAsString() and getAsObject(). A Converter can throw a ConverterException. There are javascript Validator objects that support the validate() method. A Validator can throw a ValidatorException. 
+      </p>
+      <p>
+      <b>Note:</b> this chapter describes a preliminary implementation which may change in future releases of Apache Trinidad.
+      </p>
+    </section>
+
+    <section name="Client-side Converters">
+    <p>
+      Let's say you've written a javax.faces.convert.Converter implementation and now you want to add client-side conversion. The first thing to do is write a version of the converter in javascript. Here is the javascript code for the converter "interface".
+    </p>
+      <p>
+ <source>
+/**
+ * Converter "interface" similar to javax.faces.convert.Converter,
+ * except that all relevant information must be passed to the constructor
+ * as the context and component are not passed to the getAsString or getAsObject method 
+ *
+ */
+function Converter()
+{
+}
+
+/**
+ * Convert the specified model object value, into a String for display
+ *
+ * @param value Model object value to be converted 
+ */
+Converter.prototype.getAsString = function(value){}
+
+/**
+ * Convert the specified string value into a model data object 
+ * which can be passed to validators
+ *
+ * @param value String value to be converted 
+ */
+Converter.prototype.getAsObject = function(value){}
+</source>
+Converters can throw a ConverterException, here is the signature:
+<ul>
+<li>ConverterException(detail) 
+  <ul>
+    <li>detail - Localized detail message text</li>
+  </ul> 
+</li>
+</ul>
+      </p>
+      <p>
+      Let's say we have implemented a social security number converter which converts a String to/from an Integer. To get a version of this working on the client we would need two things, a javascript implementation of the converter and a javascript constructor for each instance of the converter on the page. 
+      </p>
+      <p>
+      Let's take a look at an example of a javascript converter implementation for our social security number converter:
+      <source>
+      function ssnGetAsString(value)
+      {
+        return value.substring(0,3) + '-' + 
+               value.substring(3,5) + '-' + 
+               value.substring(5);
+      }
+      
+      function ssnGetAsObject(value)
+      {
+        if (!value)
+          return (void 0);
+          
+        var len=value.length;
+        var messageKey = SSNConverter.NOT;
+        if (len &lt; 9 )
+          messageKey = SSNConverter.SHORT;
+        else if (len &gt; 11)
+          messageKey = SSNConverter.LONG;
+        else if (len == 9)
+        { 
+          if (!isNaN(value))
+            return value;
+        }
+        else if (len == 11 &amp;&amp; value.charAt(3) == '-' &amp;&amp; value.charAt(6) == '-')
+        {
+          var result = value.substring(0,3) + 
+                       value.substring(4,6) + 
+                       value.substring(7);
+          
+          if (!isNaN(result))
+            return result;
+        }
+        
+        if (messageKey!=void(0) &amp;&amp; this._messages!=void(0))
+          return new ConverterException(this._messages[messageKey]);
+          
+        return (void 0);
+      }
+      
+      function SSNConverter(messages)
+      {
+        this._messages = messages;
+      }
+      
+      SSNConverter.prototype = new Converter();
+      SSNConverter.prototype.getAsString = ssnGetAsString;
+      SSNConverter.prototype.getAsObject = ssnGetAsObject;
+      
+      SSNConverter.SHORT = 'S';
+      SSNConverter.LONG  = 'L';
+      SSNConverter.NOT   = 'N';
+      </source>
+      </p>
+      <p>
+      And here's an example of a javascript constructor to get an instance of the javascript converter defined above:
+      <source>
+      new SSNConverter({S:\'Value "{0}" in "{1}" is too short.\',
+                        L:\'Value "{0}" in "{1}" is too long.\',
+                        N:\'Value "{0}" in "{1}" is not a social security number.\'})
+      </source>
+      </p>
+      <p>
+      In the current implementation if there is a ConverterException Apache Trinidad gets the detail string out of the exception and displays it replacing '{0}' with the value entered by the user and '{1}' with the label of the field.
+      </p>
+      <p>
+      At this point we have the javascript to use on the client, but we need a way to provide it from our Java Converter object. This is achieved by implementing the interface <code>org.apache.myfaces.trinidad.converter.ClientConverter</code>, which has two methods. The first method is <code>getClientScript()</code>, which is expected to return an implementation of the javascript Converter object. The second method is <code>getClientConversion()</code>, which is expected to return a  javascript constructor which will be used to instantiate an instance of the converter. </p>
+      <p>
+      Continuing with our social security number converter example, here's our social security number converter Java class (the details of the Java code has been removed from the getAsObject() and getAsString() methods) which implements ClientConverter:
+      <source>
+    package org.apache.myfaces.trinidaddemo.convertValidate;
+    
+    
+    import javax.faces.application.FacesMessage;
+    import javax.faces.component.UIComponent;
+    import javax.faces.context.FacesContext;
+    import javax.faces.convert.Converter;
+    import javax.faces.convert.ConverterException;
+    
+    import org.apache.myfaces.trinidad.converter.ClientConverter;
+    
+    
+    /**
+     * &lt;p&gt;Social Security number converter.&lt;/p&gt;
+     * 
+     */
+    public class SSNConverter implements Converter, ClientConverter
+    {
+        public static final String CONVERTER_ID = "org.apache.myfaces.trinidaddemo.SSN";
+    
+        public Object getAsObject(
+          FacesContext context, 
+          UIComponent component, 
+          String value)
+        {
+          // some Java code ...
+        }    
+        
+        public String getAsString(
+          FacesContext context, 
+          UIComponent component, 
+          Object value)
+        {
+          // some Java code ...
+        }
+     
+    
+      public String getClientConversion(
+        FacesContext context,
+       UIComponent component)
+      {    
+        // in a real app the messages would be translated
+        return "new SSNConverter({" + 
+                   "S:'Value \"{0}\" in \"{1}\" is too short.'," + 
+                   "L:'Value \"{0}\" in \"{1}\" is too long.'," + 
+                   "N:'Value \"{0}\" in \"{1}\" " + 
+                               "is not a social security number.'})";
+      }
+    
+      
+      public String getClientScript(
+       FacesContext context,
+       UIComponent component)
+      {      
+        // check if the script has already been returned this request
+        Object scriptReturned = 
+                    context.getExternalContext().getRequestMap().get(CONVERTER_ID);
+                    
+        // if scriptReturned is null the script hasn't been returned yet  
+        if ( scriptReturned == null)
+        {
+          context.getExternalContext().getRequestMap().put(CONVERTER_ID, 
+                                                           Boolean.TRUE);  
+          return  _sSSNjs;
+        }
+        // if scriptReturned is not null, then script has already been returned,
+        // so don't return it again.
+        else
+          return null;
+    
+       }
+      private static final String _sSSNjs =
+        "function ssnGetAsString(value)"+
+        "{return value.substring(0,3) + '-' " + 
+              "+ value.substring(3,5) + '-' + value.substring(5);}" +
+        "function ssnGetAsObject(value)" +
+          "{if (!value)return (void 0);" + 
+          "var len=value.length;"+
+          "var messageKey = SSNConverter.NOT;" +
+          "if (len &lt; 9 )"+
+            "messageKey = SSNConverter.SHORT;" +
+          "else if (len &gt; 11)"+
+            "messageKey = SSNConverter.LONG;" +
+          "else if (len == 9)" +
+          "{ if (!isNaN(value))" +
+              "return value;" +
+          "}" +        
+          "else if (len == 11 &amp;&amp; value.charAt(3) == '-' &amp;&amp; " +
+                    "value.charAt(6) == '-')" +
+          "{" +
+            "var result = value.substring(0,3) + value.substring(4,6) + " + 
+                        "value.substring(7);"+
+            "if (!isNaN(result))"+
+              "return result;" +
+          "}" +
+         "if (messageKey!=void(0) &amp;&amp; this._messages!=void(0))" +
+           "return new ConverterException(this._messages[messageKey]);" +
+         "return void(0);}" +
+        "function SSNConverter(messages)" +
+          "{this._messages = messages;}" +
+        "SSNConverter.prototype = new Converter();" +
+        "SSNConverter.prototype.getAsString = ssnGetAsString;" +
+        "SSNConverter.prototype.getAsObject = ssnGetAsObject;" +
+        "SSNConverter.SHORT = 'S';" +
+        "SSNConverter.LONG  = 'L';" +
+        "SSNConverter.NOT   = 'N';";
+          
+    }
+
+      </source>
+      </p>      
+      <p>
+      Now assuming we've created a tag for this converter named convertSSN, we'd get client conversion just by attaching the converter in the normal way, for example: 
+      <source>
+
+&lt;tr:inputText value="#{data.ssn}" 
+            label="ssn converter"&gt;
+  &lt;trdemo:convertSSN/&gt;              
+&lt;/tr:inputText&gt;              
+      </source>
+      </p>
+      
+    </section>
+    
+    <section name="Client-side Validators">
+      <P> 
+      The general idea of writing client validators is almost exactly the same as writing client converters. Let's say you've written a javax.faces.validator.Validator implementation and now you want to add client-side validation. The first thing to do is write a version of the validator in javascript. Here is the javascript code for the Validator "interface".
+      <source>
+/**
+ * Validator "interface" similar to javax.faces.validator.Validator,
+ * except that all relevant information must be passed to the constructor
+ * as the context and component are not passed to the validate method 
+ *
+ */
+function Validator()
+{
+}
+
+/**
+ * Perform the correctness checks implemented by this Validator. 
+ * If any violations are found, a ValidatorException will be thrown 
+ */
+Validator.prototype.validate = function(value){}
+      </source>
+      The validator can throw javascript ValidatorException objects:
+<ul>
+<li>ValidatorException(detail) 
+  <ul>
+    <li>detail - Localized detail message text</li>
+  </ul> 
+</li>
+</ul>
+      </P>
+      <p>
+      Once you have a javascript implementation of the validator and constructor, they are plugged in to the Java code using <code>org.apache.myfaces.trinidad.validator.ClientValidator</code>, which has similar methods to ClientConverter, and functions in exactly the same way. Please see the client-side converters section of this document for more information. An example will be provided in a future version of this document.
+      </p>
+    </section>
+    
+
+  </body>
+</document>



Mime
View raw message