From richfaces-svn-commits at lists.jboss.org Thu Aug 2 09:29:45 2007 Content-Type: multipart/mixed; boundary="===============5728800379762380279==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r2006 - in trunk/docs/userguide/en/src/main: resources/images and 1 other directory. Date: Thu, 02 Aug 2007 09:29:43 -0400 Message-ID: --===============5728800379762380279== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: smukhina Date: 2007-08-02 09:29:43 -0400 (Thu, 02 Aug 2007) New Revision: 2006 Added: trunk/docs/userguide/en/src/main/resources/images/newpic1.jpg trunk/docs/userguide/en/src/main/resources/images/newpic2.jpg trunk/docs/userguide/en/src/main/resources/images/newpic3.jpg trunk/docs/userguide/en/src/main/resources/images/newpic4.jpg Modified: trunk/docs/userguide/en/src/main/docbook/modules/AUGWADParams.xml trunk/docs/userguide/en/src/main/docbook/modules/RFCarchitectover.xml trunk/docs/userguide/en/src/main/docbook/modules/RFCfaq.xml trunk/docs/userguide/en/src/main/docbook/modules/RFClinks.xml trunk/docs/userguide/en/src/main/docbook/modules/RFCtechreqs.xml Log: http://jira.jboss.com/jira/browse/RF-522 Guides chapters merging Modified: trunk/docs/userguide/en/src/main/docbook/modules/AUGWADParams.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/docs/userguide/en/src/main/docbook/modules/AUGWADParams.xml 2007-= 08-02 13:16:21 UTC (rev 2005) +++ trunk/docs/userguide/en/src/main/docbook/modules/AUGWADParams.xml 2007-= 08-02 13:29:43 UTC (rev 2006) @@ -105,6 +105,13 @@ (skin name) or a property of a org.ajax4jsf.framework.skin typ= e. Skin in last case, this instance is used as a current skin + + org.ajax4jsf.COMPRESS_SCRIPT + true + This parameter could be used to increase the fle= xibility of Ajax4jsf usage. It doesn't allow A4J to reformat JavaScrip= t files (makes it impossible to debug) + + + Modified: trunk/docs/userguide/en/src/main/docbook/modules/RFCarchitectover= .xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/docs/userguide/en/src/main/docbook/modules/RFCarchitectover.xml 2= 007-08-02 13:16:21 UTC (rev 2005) +++ trunk/docs/userguide/en/src/main/docbook/modules/RFCarchitectover.xml 2= 007-08-02 13:29:43 UTC (rev 2006) @@ -22,12 +22,324 @@ = RichFaces is based on the Ajax4jsf framework, so AJAX request support is performed with this - framework. This support is explained in the Architecture Overview se= ction of the Ajax4jsf Developers Guide found under the - Ajax4jsf - project. In this section, we will focus on skinnability. + framework. + +
+ Basic concepts of the Ajax4jsf Framework +
+ + Introduction + The framework is implemented as a component library which adds A= JAX capability into existing = + pages, so you don't need to write any JavaScript code or to rep= lace existing = + components with new AJAX widgets. Ajax4jsf enab= les page-wide AJAX support instead of the = + traditional component-wide support. So, you can define the event on = the page that = + invokes an AJAX request and the areas of the page that should be syn= chronized with the JSF = + Component Tree after the AJAX request changes the data on the server= according to the = + events fired on the client. + Next Figure shows how it works: +
+ Request Processing flow +
+ + + + + + Ajax4jsf allows to define (by means of JSF = tags) different parts of a JSF page you = + wish to update with an AJAX request and provide a few options to se= nd AJAX requests to = + the server. Also JSF page doesn't change from a "regular&= quot; JSF = + page and you don't need to write any JavaScript or XMLHttpReq= uest objects by hands, everything is done automatically.
+
+ + Architecture Overview + Next figure lists several important elements of the Aj= ax4jsf framework +
+ Ajax4jsf component structure +
+ + + + + + + Ajax Filter. + To get all benefits of Ajax4jsf, you sho= uld register an AJAX Filter in web.xml = + file of your application.The AJAX Filter recognizes multiple request= types. The sequence diagram on Figure 3 = + shows the difference in processing of a "regular" JSF requ= est and an AJAX request. + + In the first case the whole JSF tree will be encoded, + in the second one option it depends on the "size" of the A= JAX region (you can define AJAX region = + by using the <a4j:region>). As you can see, in the second case the filter parses = + the content of an AJAX response before sending it to the client side= . + Have a look at the next picture to understand these two ways: +
+ Request Processing sequence diagram +
+ + + + + + In both cases, the information about required static or dynamic = resources that your application = + requests is registered in the ResourseBuilder class. + When a request for a resource comes (Figure 4), the AJAX filter = checks the Resource Cache = + for this resource and if it is there, the resource is sent to the cl= ient. Otherwise, = + the filter searches for the resource among those that are registered= by the = + ResourceBuilder. If the resource is registered, the AJAX filter will= send a request to the = + ResourceBuilder to create (deliver) the resource. + Next Figure shows the ways of resource request processing. +
+ Resource request sequence diagram +
+ + + + + + + AJAX Action Components + + There are four AJAX Action Components: AjaxCommandButton, AjaxComma= ndLink, AjaxPoll and AjaxSupport. = + You can use them to send AJAX requests from the client side. = + + + + AJAX Containers + + AjaxContainer is an interface that describes an area on your JSF pag= e that should be decoded = + during an AJAX request. AjaxViewRoot and AjaxRegion are implementati= ons of this interface. = + + + + JavaScript Engine + Ajax4jsf JavaScript Engine runs on the c= lient-side. It knows how to update different areas = + on your JSF page based on the information from the Ajax response. Do = + not use this JavaScript code directly, as it is available automatica= lly. = + + +
+
+ + Limitations and Rules + In order to create AJAX4JSF applications properly, keep the fol= lowing points in mind: + + + The AJAX framework should not append or delete, but only replace e= lements on the page. For successful updates, an element with the same ID as= in the response must exist on the page. If you'd like to append any c= ode to a page, put in a placeholder for it (any empty element). For the sam= e reason, it's recommended to place messages in the + "AjaxOutput" + component (as no messages is also a message). + + + Don't use + <f:verbatim> + for self-rendered containers, since this component = is transient and not saved in the tree. + + + AJAX requests are made by XMLHttpRequest functions in XML format, = but this XML bypasses most validations and the corrections that might be ma= de in a browser. So, create only a strict standards-compliant code for HTML= and XHTML, without skipping any required elements or attributes. Any neces= sary XML corrections are automatically made by the XML filter on the server= , but lot's of unexpected effects can be produced by an incorrect HT= ML code. + + +
+
+ + How To... +
+ + Send an AJAX request + There are different ways to send AJAX requests from your JSF p= age. You may use = + <a4j:commandButton>, + <a4j:commandLink>, <a4j:poll> + or + <a4j:support> + tags. = + + All these tags hide the usual JavaScript activities that are r= equired for an XMHttpRequest = + object building and an AJAX request sending. Also, they allow y= ou to decide which components of = + your JSF page are to be re-rendered as a result of the AJAX resp= onse (you can list the = + IDs of these components in the "reRender" attribute). + + + + <a4j:commandButton> + and + <a4j:commandLink> + tags are used to send an AJAX = + request on "onclick" JavaScript event. = + + + + <a4j:poll> + tag is used to send an AJAX = + request periodically using a timer. = + + The + <a4j:support> + tag allows you to add AJAX functionality to standard J= SF components = + and send AJAX request onto a chosen JavaScript event: "onke= yup", "onmouseover", = + etc. + + Most important attributes of components that provide AJAX requ= est calling features are: + + + + "reRender" + attribute as it was mentioned before specifies components to be reRendered = + after AJAX response. The attribute can be specified using EL= expression and formed dynamicaly on the + server side (see FAQ chapter). + + + + "RequestDelay" + attribute is used for a requests frequency regulat= ion. + + + + +]]> + So every next request from the frequent keyboard events wi= ll be delayed = + on 3 ms to reduce the number of requests. + + + + + "EventsQueue" + is a queue that stores the next request. = + + + + "LimitToList" + attribute is used to regulate updatable regions. S= etting = + it to true limits the updatable areas only to ones specified= in a + reRender list, in other case all Output Panels of the region= are updated. + + + "ajaxSingle" + attributes specify regions to be sent with a reque= st, = + if "false" it is a full region, in other case it&a= pos;s is only a control caused = + event. + + +
+
+ + Decide What to Send + You may describe a region on the page you wish to send to the = server, in this way you can = + control what part of the JSF View is decoded on the server side = when you send an = + AJAX request. = + + The easiest way to describe an AJAX region on your JSF page is= to do nothing, = + because the content between the + <f:view> + and + </f:view> + tags is considered = + the default AJAX region. + + You may define multiple AJAX regions on the JSF page (they can= even be nested) by using = + the + <a4j:region> + tag. = + + If you wish to render the content of an AJAX response outside = of the active region then = + the value of the "renderRegionOnly" attribute should b= e set to "false". Otherwise, your = + AJAX updates are limited to elements of the active region. + +
+
+ + Decide What to Change + Using IDs in the "reRender" attribute to define &quo= t;AJAX zones" for update works fine in = + many cases. = + + But you can not use this approach if your page contains, e.g. = a <f:verbatim> + tag and you wish to update its content on an AJAX response. + + The problem with the + <f:verbatim/> + tag as described above is related to the = + value of the transientFlag of JSF components. If the value of th= is flag is true, the = + component must not participate in state saving or restoring of p= rocess. + + In order to provide a solution to this kind of problems, Ajax4= jsf uses the concept of = + an output panel that is defined by the + <a4j:outputPanel> + tag. If you put a &l= t;f:verbatim> + tag inside of the output panel, then the content of the + <f:verbatim/> + tag and content of = + other panel's child tags could be updated on AJAX response.= There are two ways to = + control this: + + = + By setting the "ajaxRendered" attribute value to= "true". + + + By setting the "reRender" attribute value of an = Action Component to the output panel ID. + + = + +
+
+
+ + Request Errors and Session Expiration Handling + Ajax4jsf allows to redefine standard handlers responsible for proc= essing of different exceptional situations. It helps to define own JavaScri= pt, which is executed when this situations occur. +
+ + Request Errors Handling + To execute your own code on the client in case of an error durin= g AJAX request, it's necessary to redefine the standard "A4J.AJAX.onError "= method: + + The function defined this way accepts as parameters: + + req - a params string of a request that calls an error + status - the number of an error returned by the server + message - a default message for the given error + + Thus, it's possible to create your own handler that is called = on timeouts, inner server errors, and etc. +
+
+ + Session Expired Handling + Beginning with Ajax4jsf version 1.0.5 it's possible to rede= fine also the + "onExpired" + framework method that is called on the + "Session Expiration" + event. = + + Example: + + + +Here the function receives in params: + + loc - URL of the current page (on demand can be updated) <= /listitem> + expiredMsg - a default message on + "Session Expiration" + event. + = + +Note: +Until the version 1.0.5 the method can't be redefined on + "Session Expiration", + a confirmation dialog with a request for view reloading w= as always called. + +
+
+
+ Other Relevant Resources + Introduction to Ajax4Jsf by Shunmuga Raja + = +
+ +
+ + +
= Modified: trunk/docs/userguide/en/src/main/docbook/modules/RFCfaq.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/docs/userguide/en/src/main/docbook/modules/RFCfaq.xml 2007-08-02 = 13:16:21 UTC (rev 2005) +++ trunk/docs/userguide/en/src/main/docbook/modules/RFCfaq.xml 2007-08-02 = 13:29:43 UTC (rev 2006) @@ -318,8 +318,8 @@ + + What should I change on the server side? + As it was mentioned before, the + list of zones to be reRendered can be specified as EL expressi= on. But there is a + question that must be specified more exactly. + The list of Ids is formed during beforePhase of RENDER_RESP= ONSE. Therefore, in this + case one can point reRender to the Set type Bean's proper= ty and fill the Set + during a tracking request. + It's the way to form a list of updatable areas dynamic= ally. +
+
+ + + How to check sending request conditions? Custom JavaScript = before request + "OnSubmit" attribute. + To check on the client some terms of request sending, the <= emphasis > + "onSubmit + " attribute is added to all components, which = may cause the request. + + Example: + + + +]]> + So in this case "doSomething()" funct= ion is executed before + the AJAX request. + Besides, if this function returns "false", AJAX r= equest + isn't fired. + + Note: + Behavior of our + "onsubmit" + slightly differs from the standard one. Do not = return + "true" + if you want to fire the request - because + <xxx><a4j:support + event=3D"onclick" onsubmit=3D"return + true;"> + is transformed into <xxx onclick=3D"re= turn true; + A4J.Submit(.... );" > and the request isn't f= ired also in + this case (but the standard event processing fired). You m= ust only return + "false" + if your conditions weren't completed or p= erform some actions + (if needed) without any returns in case you need to fire i= t. + +
+
+ + What is differences of "onCompelete" attribute a= fter release 1.0? + To avoid differences with other JavaScript attributes, a fu= nction placement in a + JavaScript call is changed, instead of simple inserting of att= ribute content + (..oncomplete :anotherFunction(this)..), it places (oncomplete: + function(){anotherFunction(this);}..) in anonymous function, t= o allow put + "chain" of statements in attribute. + Since, + "this" + keyword will point to a parameters map instead of = a control element as it + was before. You may use + document.findElementById() + to get references to this object after a request is= processed as when a page + is updated in AJAX you will have reference to a control, remov= ed from a DOM tree. + Or, if you are sure that your element is not updated, you c= an add + "onsubmit" + in + <a4j:support> + (or onclick in + <a4j:commandLink/Button> + ) to place reference to known variable ( + <a4j:commandLink onclick=3D"var myControl=3Dt= his;" + oncomplete=3D"anotherFunction(myControl)"/> + ). + + New: + The onComplete syntax now is: + + ]]> + + where the event is a variable wher= e the JS event copy that + fires the request is placed into. One may use it to get th= e element instead of this. + and data is a variable that contains = deserialized value from + the data attribute. + +
+
+ + Is it possible to use InvokeOnComponent with JSF 1.2?</titl= e> + <para> Ajax4jsf currently does not use <emphasis >invokeOnComponen= t</emphasis> + because of the 2 reasons: </para> + <itemizedlist> + <listitem> Compatibility with JSF 1.1 and MyFaces applications= is kept, due to a big + amount of code used in corporate applications. </listitem> + <listitem> + <emphasis > InvokeOnComponent</emphasis> works with alread= y known + clientId, and works fine for communication between widget = and backed component, or + updates content of already rendered component. But there a= re some troubles to use + this method for more complex use-cases implemented in Ajax= 4jsf, as there is a choice + for updatable components in application logic, where it&ap= os;s necessary to + navigate in a components tree by the native id, with + <property>findComponent()</property> methods. </listitem> + </itemizedlist> + <para> Thus, for example, only entire dataTable can be updated in = response (but all AJAX + action components inside table work properly). </para> + </section> + <!--<section id=3D"RegionsInDataTables"> + <?dbhtml filename=3D"RegionsInDataTables.html"?> + <title>Regions in Data Tables + The regions in Data Tables aren't supported now, but the fe= ature will be implemented in a new Ajax4jsf version for JSF 1.2. +
--> +
+ + How to avoid generating exception for "keepAlive"= component? + To avoid exception, don't forget that the component sto= res beans in + serialized view, but your bean should implement java.io.Serial= izable. +
+
+ + Why does filter usage damage an application layout? + Ajax4jsf uses filters for correction of= xhtml code received on an + AJAX response, because when a response is recieved from the se= rver, Ajax4jsf makes + direct changes in DOM tree and browser doesn't make any c= orrections in + generated xhtml. There are two ways for setting filt= ers that could + be used in an Ajax4jsf-based application. + The first one: + + + Example: + + + Ajax4jsf Filter + ajax4jsf + org.ajax4jsf.Filter +]]> + This filter is based on Tidy Filter usa= ge and recommended for + applications with complicated or non-standard markup, as all t= he necessary xhtml code + corrections are made by the filter when a response comes from = the server. + Anyway, some obvious errors could damage a layout, if it ha= ppens, make sure that the + markup corresponds to the xhtml-strict specification. + The second one: + + + Example: + + + org.ajax4jsf.FastFilter + ajax4jsf + org.ajax4jsf.FastFilter +]]> + This filter is based on the Nekko pacer= . In this case an output + xhtml code isn't strictly verified and it also could caus= e lot's of + errors and corrupt a layout as a result. Though if you sure th= at your application markup + is really strict for this filter, the filter considerably acce= lerates all AJAX requests + processing. + Extra information. + forceParcer parameters setting for filters: + + + Example: + + +... + +forceparser +false + +... +]]> + The "false" setting for initialization parameter s= witches off + application of filters for non-AJAX requests, if "true&qu= ot; is chosen, the + filter checks all requests. + Changes for Ajax4jsf 1.1.0 + forceparser parameter default value i= s false from this version. + + +
+
+ + Why form isn't submitted or setter isn't called a= fter AJAX request? + This situation could happen because of conversion/validation= errors on form + submission. In order to verify this, it's necessary to pl= ace this updating via + an AJAX error message inside a form: + + + Example: + + + +]]> +
+ +
+ + How to create "a4j delayed render zone"? + The <a4j:support> c= omponent has a + "requestDelay" attribute where you can define the de= lay. + More information about this problem could be found on the Ajax4Jsf Users Forum. + +
+ + +
+ + How to stop "a4j:poll"? + More information about this problem could be found on the Ajax4Jsf Users Forum. + +
+ + +
+ + + How to use IgnoreDupResponses and requestDelay? + The + "IgnoreDupResponses" + attribute appeared from 1.0.4 RC1 version and is u= sed on the client for + response ignoring after an AJAX request if a newer request has= been already sent. + The additional information could be found here. + + "RequestDelay" + attribute also defines the client behavior. It set= s the time delay, after + which another request could be sent, all other requests are ta= ken away from a queue + except the last one. +
+ + +
+ + How to refresh an image using <a4j:support> component= ? + More information about this problem could be found on the Ajax4Jsf Users Forum. + +
+ + + +
+ + How to use "EventQueue" attribute? + The + "EventQueue" + attribute defines the query name where the request= s are saved before their + sending to the server. The queue is created for redundant requ= ests deleting during + frequent events, which call several requests forming one after= another. The queue cuts + redundant requests and send only the last one. The queue is cr= eated in any case and + named on default, the attribute usage only re-defines this nam= e. +
+ +
+ + Is <a4j:page> component required or not? + + <4j:page> is a compon= ent used for solving + of incompatibility problems in early Ajax4jsf and MyFaces vers= ions. The component + encodes the full html page structure. + More information about this problem could be found on the Ajax4Jsf Users Forum. + +
+ +
+ + Can I have several <a4j:status> components on one pag= e? + Yes, you can. More information about this problem could be f= ound on the JBoss Ajax4= jsf Online Demos. + +
+ +
+ + Can I use <a4j:region> within <a4j:repeat>?</ti= tle> + <para> + <emphasis role=3D"bold"><a4j:region></emphasis> can&apos= ;t work inside + iteration components like <emphasis role=3D"bold"><h:dataTa= ble></emphasis> + and <emphasis role=3D"bold"><a4j:repeat></emphasis>. </p= ara> + <para>The details could be found <ulink + url=3D"http://jboss.com/index.html?module=3Dbb&op=3Dvi= ewtopic&t=3D109080" + >here. </ulink> + </para> + </section> + + <section id=3D"RerenderingPartPage"> + <?dbhtml filename=3D"RerenderingPartPage.html"?> + <title>How to reRender only particular row(s) of dataTable? + If you use dataTable then you may use ajaxKeys attribute to= bind the rowKeys to be + reRendered there. After you need to point reRender on the whol= e table and only specified + rows will be reRedered. Also the example of usage of <a4j:repeat> component are available here. +
+ + +
+ + Why custom AJAX request does not work? + More information about this problem could be found on the Ajax4Jsf Users Forum. + +
= + = + = +
+ + How to reRender single dataTable column? + More information about this problem could be found on the Ajax4Jsf Users Forum. + +
+ +
+ + How to disable skinability? + There is possibility to use special skin with name "plain". It doesn't h= ave any parameters. = + It's necessary for embedding RichFaces components into existing projecst= which have its own styles. + For information you can see discussion about this problem on= the Ajax4Jsf Users Forum. + +
= + = +
+ + Why does reRendering fail? Hide/Show components using rende= red. + During "show/hide" functionality implementation t= he main error + happens because of the "reRender" attribute of some = AJAX Action + Component is set on a component that depends on rendered prope= rties, i.e. a component + that is to be hidden/rendered is tried to be updated. The prob= lem is that if + rendered=3D"false" in this moment, the component isn= 't in the + DOM tree and can't be updated because of the general limi= tations described in + the Ajax Processing chapter. + The correct variant of functionality implantation: + + + + With the rendered attribute wrap the component that = is to be hidden or + rendered on AJAX in a wrapper component (e.g. a4j:outp= utPanel) + + + + Set reRender of an AJAX Action component on this wra= pper component instead of + the component itself. + + + + + Example: + + + = + + + + +... + +... +]]> + + In this case the wrapper component always presents in the DO= M tree and its inner + content could be updated dynamically on AJAX. +
+ +
+ + How to prevent duplicate reRendering when using <a4j:pol= l>? + For information you can see discussion about this problem on= the Ajax4Jsf Users Forum. + +
= + = +
+ + Why does JavaScript call don't work in <a4j:include= >? + More information about this problem could be found on the Ajax4Jsf Users Forum. + +
+ +
+ + How to use <a4j:include> and navigation rules? + For information you can see discussion about this problem on= the Ajax4Jsf Users Forum. + +
= + = +
+ + What does ResourceNotRegistered Exception mean? + + Ajax4jsf registers its resources (scripts, images) after an = application is accessed + and then accesses it via a generated URL. During an applicatio= n development when a + developer constantly updates it on the server, it could happen= that Ajax4jsf + re-registers its resources after every server restart and a br= owser tries to access them + via cashed URL. + + The problem is solved with browser cash update (e.g. CTRL+F5= ). +
Modified: trunk/docs/userguide/en/src/main/docbook/modules/RFClinks.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/docs/userguide/en/src/main/docbook/modules/RFClinks.xml 2007-08-0= 2 13:16:21 UTC (rev 2005) +++ trunk/docs/userguide/en/src/main/docbook/modules/RFClinks.xml 2007-08-0= 2 13:29:43 UTC (rev 2006) @@ -36,6 +36,13 @@ Ri= ch Faces Wiki + + Ajax4Jsf Wiki + + Aja= x4Jsf Wiki + + = + Ajax4jsf/Rich Faces Blog Modified: trunk/docs/userguide/en/src/main/docbook/modules/RFCtechreqs.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/docs/userguide/en/src/main/docbook/modules/RFCtechreqs.xml 2007-0= 8-02 13:16:21 UTC (rev 2005) +++ trunk/docs/userguide/en/src/main/docbook/modules/RFCtechreqs.xml 2007-0= 8-02 13:29:43 UTC (rev 2006) @@ -52,7 +52,7 @@ to be compatible with the widest possible variety of environments. = This is what you need to start working with - RichFaces: + RichFaces 3.1: = Java Added: trunk/docs/userguide/en/src/main/resources/images/newpic1.jpg =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Property changes on: trunk/docs/userguide/en/src/main/resources/images/newp= ic1.jpg ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/docs/userguide/en/src/main/resources/images/newpic2.jpg =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Property changes on: trunk/docs/userguide/en/src/main/resources/images/newp= ic2.jpg ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/docs/userguide/en/src/main/resources/images/newpic3.jpg =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Property changes on: trunk/docs/userguide/en/src/main/resources/images/newp= ic3.jpg ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/docs/userguide/en/src/main/resources/images/newpic4.jpg =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Property changes on: trunk/docs/userguide/en/src/main/resources/images/newp= ic4.jpg ___________________________________________________________________ Name: svn:mime-type + application/octet-stream --===============5728800379762380279==--