svn commit: r869360 - in /websites/production/tapestry/content: cache/main.pageCache tapestry-for-jsf-users.html

2013-07-13 Thread buildbot
Author: buildbot
Date: Sat Jul 13 17:20:44 2013
New Revision: 869360

Log:
Production update by buildbot for tapestry

Modified:
websites/production/tapestry/content/cache/main.pageCache
websites/production/tapestry/content/tapestry-for-jsf-users.html

Modified: websites/production/tapestry/content/cache/main.pageCache
==
Binary files - no diff available.

Modified: websites/production/tapestry/content/tapestry-for-jsf-users.html
==
--- websites/production/tapestry/content/tapestry-for-jsf-users.html (original)
+++ websites/production/tapestry/content/tapestry-for-jsf-users.html Sat Jul 13 
17:20:44 2013
@@ -34,9 +34,9 @@
 /div
 
 div id=top
-div id=smallbannerdiv class=searchbox style=float:right;margin: .3em 
1em .1em 1em
+div id=smallbannerdiv class=searchbox style=float:right;margin: .3em 
1em .1em 1emp
 span style=color: #999; font-size: 90%Tapestry docs, issues, wikis amp; 
blogs:/span
-form enctype=application/x-www-form-urlencoded method=get 
action=http://tapestry.apache.org/search.html;
+/pform enctype=application/x-www-form-urlencoded method=get 
action=http://tapestry.apache.org/search.html;
   input type=text name=q
   input type=submit value=Search
 /form
@@ -74,19 +74,19 @@ table.ScrollbarTable td.ScrollbarNextIco
 
 /td/trtrtd colspan=1 
rowspan=1
  span class=icon icon-page 
title=PagePage:/span
- a shape=rect href=principles.htmlPrinciples/a
+ a shape=rect 
href=tapestry-tutorial.htmlTapestry Tutorial/a
 
 /td/trtrtd colspan=1 
rowspan=1
  span class=icon icon-page 
title=PagePage:/span
- a shape=rect 
href=tapestry-tutorial.htmlTapestry Tutorial/a
+ a shape=rect href=getting-started.htmlGetting 
Started/a
 
 /td/trtrtd colspan=1 
rowspan=1
  span class=icon icon-page 
title=PagePage:/span
- a shape=rect 
href=tapestry-for-jsf-users.htmlTapestry for JSF Users/a
+ a shape=rect href=principles.htmlPrinciples/a
 
 /td/trtrtd colspan=1 
rowspan=1
  span class=icon icon-page 
title=PagePage:/span
- a shape=rect href=getting-started.htmlGetting 
Started/a
+ a shape=rect 
href=tapestry-for-jsf-users.htmlTapestry for JSF Users/a
 
 /td/tr/table
 /div
@@ -95,10 +95,10 @@ table.ScrollbarTable td.ScrollbarNextIco
 
 pBecause both JSF and Tapestry are component oriented frameworks designed to 
serve mostly the same kinds of problems in similar ways, developers who already 
know JSF will find it very easy to learn Tapestry. In fact, Facelets, the 
default view technology in JSF 2.0, was created specifically to give JSF a 
Tapestry-like templating capability, so Facelets users should feel right at 
home./p
 
-pJSF is a rich, mature web framework specification, and there are lots of 
smart people who use it productively. This guide isn't intended as a 
pro-versus-con comparison or as advocacy of any kind. Instead, it just attempts 
to make transitions between the two frameworks easier, regardless of the reason 
for doing so./p
-
 pSince almost all modern JSF applications use Facelets as their view 
technology, we assume the use of Facelets here when discussing JSF features./p
 
+pJSF is a rich, mature web framework specification, and there are lots of 
smart people who use it productively. This guide isn't intended as a 
pro-versus-con comparison or as advocacy of any kind. Instead, it just attempts 
to make transitions between the two frameworks easier, regardless of the reason 
for doing so./p
+
 h2a shape=rect 
name=TapestryforJSFUsers-SidebysideComparison/aSide-by-side Comparison/h2
 
 pJSF and Tapestry have a lot of superficial similarities, so the first steps 
in that transition are all about relating similar concepts, terms and 
components in your mind:/p
@@ -119,23 +119,23 @@ table.ScrollbarTable td.ScrollbarNextIco
 
 table class=sectionMacro border=0 cellpadding=5 cellspacing=0 
width=100%tbodytrtd colspan=1 rowspan=1 valign=top 
class=confluenceTd
 div class=code panel style=border-width: 1px;div class=codeHeader 
panelHeader style=border-bottom-width: 1px;bJSF template 
(helloworld.xhtml)/b/divdiv class=codeContent panelContent
-pre class=code-xml
-lt;html xmlns=span class=code-quotehttp://www.w3.org/1999/xhtml;/span
-span class=code-keywordxmlns:h/span=span 
class=code-quotehttp://java.sun.com/jsf/html;/spangt;
-  span class=code-taglt;h:bodygt;/span
-

[CONF] Apache Tapestry Tapestry for JSF Users

2013-07-13 Thread Bob Harner (Confluence)







Tapestry for JSF Users
Page edited by Bob Harner


Comment:
Minor tweak of _expression_ example and other tweaks


 Changes (4)
 




...
 | || JSF Syntax || Tapestry Syntax || 
| Property (calls getMyProperty() or setMyProperty()) | #\{employeeBean.employeeName\} | $\{employeeName\} | 
| Property (calls getEmployeeName() or setEmployeeName()) | #\{employeeBean.employeeName\} | $\{employeeName\} | 
| Boolean property (calls isHourly() or setHourly()) | #\{employeeBean.hourly\} | $\{hourly\} | | Property chain | #\{employeeBean.address.street\} | $\{address.street\} | 
...
h3. Event handling  
In JSF, you specify the event via the {{action}} parameter (for example, h:commandButton value=Submit action="" For Tapestry, event handler methods are found by method naming conventions (onSomeEvent() or by method annotations (@Event), based on a combination of the t:id attribute and event name, and the action name used depends on the component. For example, the t:actionlink component in Tapestry emits an action event when clicked, and you handle that event in your onAction() method. 
 h2. Validation 
...
By contrast, Tapestry implements this Post-Redirect-Get pattern by default. The URL will always reflect the page youre seeing, not the page you just came from.  
Note that by default Tapestry does not save property values across the Post-Redirect-Get cycle. This means that you have to consider how (and whether) to persist property values from one page to the next.  The usual solution is to either make the values part of the pages [Activation Context|Navigation#Page Activation] (which means the values will be appended to the URL) or [@Persist the properties|Persistent Page Data] the values in the session. 
 h2. Custom and Composite Components 
...


Full Content

Component Cheat SheetCheat Sheets

Tapestry for JSF Users


Related Articles


 Page:
 Introduction





 Page:
 Tapestry Tutorial





 Page:
 Getting Started





 Page:
 Principles





 Page:
 Tapestry for JSF Users






This is a cheat sheet for learning Tapestry, designed for those who already know JavaServer Faces (JSF).

Because both JSF and Tapestry are component oriented frameworks designed to serve mostly the same kinds of problems in similar ways, developers who already know JSF will find it very easy to learn Tapestry. In fact, Facelets, the default view technology in JSF 2.0, was created specifically to give JSF a Tapestry-like templating capability, so Facelets users should feel right at home.

Since almost all modern JSF applications use Facelets as their view technology, we assume the use of Facelets here when discussing JSF features.

JSF is a rich, mature web framework specification, and there are lots of smart people who use it productively. This guide isn't intended as a pro-versus-con comparison or as advocacy of any kind. Instead, it just attempts to make transitions between the two frameworks easier, regardless of the reason for doing so.

Side-by-side Comparison

JSF and Tapestry have a lot of superficial similarities, so the first steps in that transition are all about relating similar concepts, terms and components in your mind:




 Concepts  Terminology 
 JSF 
 Tapestry 


 Java class associated with a page or component 
 "Backing Bean" 
 "Component Class" 


 Component attributes/parameters 
 "attributes" 
 "parameters" 


 Common Attributes/Parameters
 JSF 
 Tapestry 


 HTML Attribute used for invisible instrumentation 
 jsfc="someComponentType" 
 t:type="someComponentType" 


 CSS "class" attribute name 
 styleClass 
 class 


 Alternating "zebra" striped rows 
 rowclasses="class1,class2" 
 class="${cycle:class1,class2}" using cycle binding prefix, or with CSS: .rowClass:nth-child(even) {background-color: #e8e8e8;} 


 Output and Messages 
 JSF 
 Tapestry 


 Escaped HTML from property 
 

svn commit: r869367 - in /websites/production/tapestry/content: cache/main.pageCache tapestry-for-jsf-users.html

2013-07-13 Thread buildbot
Author: buildbot
Date: Sat Jul 13 18:20:44 2013
New Revision: 869367

Log:
Production update by buildbot for tapestry

Modified:
websites/production/tapestry/content/cache/main.pageCache
websites/production/tapestry/content/tapestry-for-jsf-users.html

Modified: websites/production/tapestry/content/cache/main.pageCache
==
Binary files - no diff available.

Modified: websites/production/tapestry/content/tapestry-for-jsf-users.html
==
--- websites/production/tapestry/content/tapestry-for-jsf-users.html (original)
+++ websites/production/tapestry/content/tapestry-for-jsf-users.html Sat Jul 13 
18:20:44 2013
@@ -169,7 +169,7 @@ public class HelloWorld {
 pJSF uses the Unified Expression Language with the #{...} or ${...} syntax 
for accessing Backing Bean properties. For its part, Tapestry uses the ${...} 
syntax with a similar but more limited expression language called a 
shape=rect href=property-expressions.html title=Property 
ExpressionsProperty Expressions/a. Both allow easy access to properties via 
the usual JavaBean conventions, but with Tapestry you don't have to specify 
which class the expression starts at (because it always starts at the component 
class corresponding to the template). Some comparisons:/p
 
 div class=table-wrap
-table class=confluenceTabletbodytrtd colspan=1 rowspan=1 
class=confluenceTd#160;/tdth colspan=1 rowspan=1 
class=confluenceTh JSF Syntax /thth colspan=1 rowspan=1 
class=confluenceTh Tapestry Syntax /th/trtrtd colspan=1 rowspan=1 
class=confluenceTd Property (calls getMyProperty() or setMyProperty()) 
/tdtd colspan=1 rowspan=1 class=confluenceTd 
#{employeeBean.employeeName} /tdtd colspan=1 rowspan=1 
class=confluenceTd ${employeeName} /td/trtrtd colspan=1 rowspan=1 
class=confluenceTd Boolean property (calls isHourly() or setHourly()) 
/tdtd colspan=1 rowspan=1 class=confluenceTd #{employeeBean.hourly} 
/tdtd colspan=1 rowspan=1 class=confluenceTd ${hourly} 
/td/trtrtd colspan=1 rowspan=1 class=confluenceTd Property chain 
/tdtd colspan=1 rowspan=1 class=confluenceTd 
#{employeeBean.address.street} /tdtd colspan=1 rowspan=1 
class=confluenceTd ${address.stre
 et} /td/trtrtd colspan=1 rowspan=1 class=confluenceTd Null-safe 
property chain /tdtd colspan=1 rowspan=1 class=confluenceTd 
#{employeeBean.address.street} /tdtd colspan=1 rowspan=1 
class=confluenceTd ${address?.street} /td/trtrtd colspan=1 
rowspan=1 class=confluenceTd 5th element in a List /tdtd colspan=1 
rowspan=1 class=confluenceTd #{employeeBean.employees[5].name} /tdtd 
colspan=1 rowspan=1 class=confluenceTd ${employees.get(5).name} 
/td/trtrtd colspan=1 rowspan=1 class=confluenceTd Negation 
/tdtd colspan=1 rowspan=1 class=confluenceTd #{! employeeBean.hourly} 
/tdtd colspan=1 rowspan=1 class=confluenceTd ${! hourly} 
/td/trtrtd colspan=1 rowspan=1 class=confluenceTd Arithmetic 
amp; relational operators /tdtd colspan=1 rowspan=1 
class=confluenceTd +-*/% div mod /tdtd colspan=1 rowspan=1 
class=confluenceTd emnot available/em /td/trtrtd co
 lspan=1 rowspan=1 class=confluenceTd Relational operators /tdtd 
colspan=1 rowspan=1 class=confluenceTd == != ne lt; lt gt; gt lt;= le 
gt;= ge /tdtd colspan=1 rowspan=1 class=confluenceTd emnot 
available/em /td/trtrtd colspan=1 rowspan=1 class=confluenceTd 
Ternary operator /tdtd colspan=1 rowspan=1 class=confluenceTd 
#{myBean.foo lt; 0 ? 'bar' : 'baz'} /tdtd colspan=1 rowspan=1 
class=confluenceTd emnot available/em /td/trtrtd colspan=1 
rowspan=1 class=confluenceTd Method calling /tdtd colspan=1 
rowspan=1 class=confluenceTd #{myBean.employees.size()} /tdtd 
colspan=1 rowspan=1 class=confluenceTd ${employees.size()} 
/td/trtrtd colspan=1 rowspan=1 class=confluenceTd Iterated Range 
/tdtd colspan=1 rowspan=1 class=confluenceTd emnot avaialble/em 
/tdtd colspan=1 rowspan=1 class=confluenceTd ${1..10} 
/td/trtrtd colspan=1 rowspan=1 class=
 confluenceTd Iterated Range (calculated) /tdtd colspan=1 rowspan=1 
class=confluenceTd emnot avaialble/em /tdtd colspan=1 rowspan=1 
class=confluenceTd ${1..groupList.size()} /td/trtrtd colspan=1 
rowspan=1 class=confluenceTd List /tdtd colspan=1 rowspan=1 
class=confluenceTd emnot available/em /tdtd colspan=1 rowspan=1 
class=confluenceTd ${ [ user.name, user.email, user.phone ] } 
/td/trtrtd colspan=1 rowspan=1 class=confluenceTd Map /tdtd 
colspan=1 rowspan=1 class=confluenceTd emnot available/em /tdtd 
colspan=1 rowspan=1 class=confluenceTd ${ { 'id':'4039','type':'hourly' 
} } /td/tr/tbody/table
+table class=confluenceTabletbodytrtd colspan=1 rowspan=1 
class=confluenceTd#160;/tdth colspan=1 rowspan=1 
class=confluenceTh JSF Syntax /thth colspan=1 rowspan=1 
class=confluenceTh Tapestry Syntax /th/trtrtd colspan=1 rowspan=1 
class=confluenceTd Property (calls getEmployeeName() or setEmployeeName()) 
/tdtd colspan=1 rowspan=1 class=confluenceTd 

[jira] [Created] (TAP5-2140) Choose Component

2013-07-13 Thread Barry Books (JIRA)
Barry Books created TAP5-2140:
-

 Summary: Choose Component
 Key: TAP5-2140
 URL: https://issues.apache.org/jira/browse/TAP5-2140
 Project: Tapestry 5
  Issue Type: New Feature
  Components: tapestry-core
Affects Versions: 5.4
Reporter: Barry Books
Priority: Minor


Add support for Choose component that allows 

choose
when test
when test
otherwise

flow control

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (TAP5-2014) Zone highlight leaves behind an explicit background-color which overrides css background-color

2013-07-13 Thread Lenny Primak (JIRA)

[ 
https://issues.apache.org/jira/browse/TAP5-2014?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13707894#comment-13707894
 ] 

Lenny Primak commented on TAP5-2014:


The FlowLogix tapestry library will contain a fix for this bug in the next 
release. (1.2.3)
which will go out sometime in the next week or so.

Ref: FlowLogix Issue http://code.google.com/p/flowlogix/issues/detail?id=43

 Zone highlight leaves behind an explicit background-color which overrides css 
 background-color
 --

 Key: TAP5-2014
 URL: https://issues.apache.org/jira/browse/TAP5-2014
 Project: Tapestry 5
  Issue Type: Bug
  Components: tapestry-core
Affects Versions: 5.3.6
Reporter: Geoff Callender

 Zone highlighter (i.e. t:update=highlight) leaves behind an explicit 
 background-color that overrides the background-color specified in css. 
 Instead, I think it should finish by removing the style changes that it added.
 An example consequence: it kills off my hover effect. I have a table row with 
 a hover effect, eg.
 tr { background-color: #fff; }
 tr:hover { background-color: #eee; }
 and the row is also a zone with a highlight effect 
 tr t:type=Zone t:id=rowZone id=prop:currentRowZoneId 
 t:update=highlight
 The hover effect works just fine until the zone updates, and then it no 
 longer works.
 Here's the row before the zone updates:
 tr class=even t-zone tapestry-zone id=rowZone_5
 Here's the row after the zone updates:
 tr class=even t-zone tapestry-zone id=rowZone_5 
 style=background-image: none; background-color: rgb(255, 255, 255); 
 The problem would go away if the zone update finished by leaving the row the 
 way that it found it:
 tr class=even t-zone tapestry-zone id=rowZone_5
 You can see the problem if you turn on Highlight zone updates in this 
 example:
 
 http://jumpstart.doublenegative.com.au/jumpstart/examples/ajax/eventlinksinaloop

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira