<html>
<head>
<base href="https://cwiki.apache.org/confluence">
<link rel="stylesheet" href="/confluence/s/2042/9/12/_/styles/combined.css?spaceKey=TAPESTRY&forWysiwyg=true"
type="text/css">
</head>
<body style="background: white;" bgcolor="white" class="email-body">
<div id="pageContent">
<div id="notificationFormat">
<div class="wiki-content">
<div class="email">
<h2><a href="https://cwiki.apache.org/confluence/display/TAPESTRY/Index">Index</a></h2>
<h4>Page <b>edited</b> by <a href="https://cwiki.apache.org/confluence/display/~hlship">Howard
M. Lewis Ship</a>
</h4>
<div id="versionComment">
<b>Comment:</b>
Move the Twitter panel above the blog postings<br />
</div>
<br/>
<h4>Changes (2)</h4>
<div id="page-diffs">
<table class="diff" cellpadding="0" cellspacing="0">
<tr><td class="diff-snipped" >...<br></td></tr>
<tr><td class="diff-unchanged" >{div:id=col} <br> <br></td></tr>
<tr><td class="diff-deleted-lines" style="color:#999;background-color:#fdd;text-decoration:line-through;">h3.
[Latest news|News] [!Feed-icon.gif!|https://cwiki.apache.org/confluence/createrssfeed.action?types=blogpost&spaces=TAPESTRY&title=Apache+Tapestry+News+RSS+Feed&labelString%3D&sort=created&maxResults=10&timeSpan=12&confirm=Create&showContent=true&showDiff=false]
<br> <br>{blog-posts:max=3|sort=creation|reverse=true|content=excerpts} <br>
<br></td></tr>
<tr><td class="diff-unchanged" >{widget:url=http://search.twitter.com/search?q=tapestry5}
<br>{html} <br></td></tr>
<tr><td class="diff-snipped" >...<br></td></tr>
<tr><td class="diff-unchanged" > <br>{html} <br></td></tr>
<tr><td class="diff-added-lines" style="background-color: #dfd;">
<br>h3. [Latest news|News] [!Feed-icon.gif!|https://cwiki.apache.org/confluence/createrssfeed.action?types=blogpost&spaces=TAPESTRY&title=Apache+Tapestry+News+RSS+Feed&labelString%3D&sort=created&maxResults=10&timeSpan=12&confirm=Create&showContent=true&showDiff=false]
<br> <br>{blog-posts:max=3|sort=creation|reverse=true|content=excerpts} <br>
<br></td></tr>
<tr><td class="diff-unchanged" >{div} <br> <br></td></tr>
<tr><td class="diff-snipped" >...<br></td></tr>
</table>
</div> <h4>Full Content</h4>
<div class="notificationGreySide">
<style type="text/css">
.big-col {
margin-right: 310px !important;
}
#content {
height : 1080px;
}
#col {
width : 250px;
}
DIV.left-column {
float: left;
width: 48%;
}
DIV.right-column {
float: right;
width: 48%;
}
.blogSurtitle {
background: none repeat scroll 0 0 #569D2F;
border: 2px solid #DDDDDD;
color: #FFFFFF;
margin: 1px 1px 10px;
padding: 3px;
}
a.blogDate {
color: #FFFFFF;
}
a.blogHeading {
color: #569D2F;
font-size: 14px;
}
#col p {
text-align : justify;
font-size : 11px;
line-height : 1.2 !important
}
.feature {
#height: 150px;
}
</style>
<div id="top">
<h1>
<img src="http://tapestry.apache.org/images/tapestry.png" alt="Tapestry" id="tapestry"/>
</h1>
<div id="aside">Component oriented framework for creating dynamic, robust, highly
scalable web applications in Java.</div>
<div class="clearer"></div>
</div>
<div id="features"><ul class="alternate" type="square">
<li><h3><a name="Index-JavaPower"></a>Java Power</h3>
<div class="feature radied relief"><p>Tapestry pages and components are simple
Java POJOs, with easy access to all Java language features and the vast Java ecosystem. Thanks
to Java's advanced concurrency API, Tapestry handles requests <em>fast</em> without
sacrificing security or stability.</p></div></li>
<li><h3><a name="Index-ScriptingEase"></a>Scripting Ease</h3>
<div class="feature radied relief"><p>Tapestry features <em>live class reloading</em>:
change your Java code, refresh the browser and see the changes... instantly! Have your cake
and eat it too: the speed and depth of Java, the agile development style of Ruby or Python.</p></div></li>
<li><h3><a name="Index-HighlyProductive"></a>Highly Productive</h3>
<div class="feature radied relief"><p>Simple POJO classes, streamlined templates,
live class reloading, state-of-the-art exception reporting, first-class Ajax support, and
a big library of built-in components: Tapestry is designed from the ground up to give you
great productivity.</p></div></li>
</ul>
<div class="clearer"></div></div>
<div id="bar"><p><b>We think you will love Tapestry!</b> Give
us 20 minutes and <b><a href="/confluence/display/TAPESTRY/Getting+Started" title="Getting
Started">follow our quickstart guide</a></b>.</p></div>
<div id="col">
<script src="http://widgets.twimg.com/j/2/widget.js"></script>
<script>
new TWTR.Widget({
version: 2,
type: 'search',
search: 'tapestry5',
interval: 6000,
title: 'Mentions',
subject: 'tapestry5',
width: 250,
height: 300,
theme: {
shell: {
background: '#8ec1da',
color: '#ffffff'
},
tweets: {
background: '#ffffff',
color: '#444444',
links: '#1985b5'
}
},
features: {
scrollbar: false,
loop: true,
live: true,
hashtags: true,
timestamp: true,
avatars: true,
behavior: 'default'
}
}).render().start();
</script>
<style type="text/css">
#twtr-widget-1 .twtr-doc, #twtr-widget-1 .twtr-hd a, #twtr-widget-1 h3, #twtr-widget-1 h4,
#twtr-widget-1 .twtr-popular {
background-color: #569D2F !important;
color: #FFFFFF !important;
}
#twtr-widget-1 .twtr-tweet a {
color: #569D2F !important;
}
</style>
<h3><a name="Index-LatestnewsNews%21Feedicon.gif%21https%3A%2F%2Fcwiki.apache.org%2Fconfluence%2Fcreaterssfeed.action%3Ftypes%3Dblogpost%26spaces%3DTAPESTRY%26title%3DApacheTapestryNewsRSSFeed%26labelString%253D%26sort%3Dcreated%26maxResults%3D10%26timeSpan%3D12%26confirm%3DCreate%26showContent%3Dtrue%26showDiff%3Dfalse"></a><a
href="/confluence/display/TAPESTRY/News" title="News">Latest news</a> <a href="https://cwiki.apache.org/confluence/createrssfeed.action?types=blogpost&spaces=TAPESTRY&title=Apache+Tapestry+News+RSS+Feed&labelString%3D&sort=created&maxResults=10&timeSpan=12&confirm=Create&showContent=true&showDiff=false"
class="external-link" rel="nofollow"><span class="image-wrap" style=""><img src="/confluence/download/attachments/24189566/Feed-icon.gif?version=1&modificationDate=1292070584000"
style="border: 0px solid black" /></span></a></h3>
<div class="blog-post-listing">
<div class="logo-heading-block">
<span class="logoBlock">
<a class="userLogoLink" data-username="hlship" href="/confluence/display/~hlship">
<img class="userLogo logo" src="/confluence/download/attachments/26203/hlship-42158-pp-howard-basement-hands-folded-square.jpg?version=1&modificationDate=1281842848000"
alt="User icon: hlship" title="hlship">
</a> </span>
<span class="blogHeading">
<div class="page-metadata not-personal"><a href="/confluence/display/~hlship"
class="url fn confluence-userlink" data-username="hlship"
>Howard M. Lewis Ship</a> posted on Apr 20, 2011</div>
<a class="blogHeading" href="/confluence/display/TAPESTRY/2011/04/20/Tapestry+Magic">Tapestry
Magic</a>
</span>
</div>
<div class="wiki-content">
<p>The new blog <a href="http://tawus.wordpress.com/" class="external-link"
rel="nofollow">Java Magic</a> has some detailed postings about Tapestry's Aspect
Oriented Programming features. This is a blog to track if you are interested in some of the
more advanced capabilities of Tapestry.</p>
</div>
<div class="endsection">
<a href="/confluence/pages/editblogpost.action?pageId=26118772">Edit</a>
</div>
</div>
<div class="blog-post-listing">
<div class="logo-heading-block">
<span class="logoBlock">
<a class="userLogoLink" data-username="hlship" href="/confluence/display/~hlship">
<img class="userLogo logo" src="/confluence/download/attachments/26203/hlship-42158-pp-howard-basement-hands-folded-square.jpg?version=1&modificationDate=1281842848000"
alt="User icon: hlship" title="hlship">
</a> </span>
<span class="blogHeading">
<div class="page-metadata not-personal"><a href="/confluence/display/~hlship"
class="url fn confluence-userlink" data-username="hlship"
>Howard M. Lewis Ship</a> posted on Mar 31, 2011</div>
<a class="blogHeading" href="/confluence/display/TAPESTRY/2011/03/31/Tapestry+5+In+Action%2C+a+MEAP+Best+Seller">Tapestry
5 In Action, a MEAP Best Seller</a>
</span>
</div>
<div class="wiki-content">
<p>As noted <a href="http://campaign.r20.constantcontact.com/render?llr=gimslwbab&v=001bjW2zZbXAkvzUuPhfk5ucdFKfmuyCAdH6dmhu2MBvfSfiM9-3VXzUQ0xeWqilmCv5PWsFsI0sz45WDwbvw0rAvngIbK5uQXTbTf_FzpqMNqFKrChLhE09XfZKhemehxf"
class="external-link" rel="nofollow">on Manning's MEAP blog</a>, <a href="http://www.manning.com/drobiazko/"
class="external-link" rel="nofollow">Tapestry 5 In Action</a> is the top book in
the MEAP (Manning Early Access Program) list for the week ending March 31st, 2011:</p>
<ul>
<li>Tapestry 5 in Action</li>
<li>Spring in Action, …</li>
</ul>
</div>
<p><a href="/confluence/display/TAPESTRY/2011/03/31/Tapestry+5+In+Action%2C+a+MEAP+Best+Seller"
title="Read the rest of Tapestry 5 In Action, a MEAP Best Seller ">Read more…</a></p>
<div class="endsection">
<a href="/confluence/pages/editblogpost.action?pageId=26117001">Edit</a>
</div>
</div>
<div class="blog-post-listing">
<div class="logo-heading-block">
<span class="logoBlock">
<a class="userLogoLink" data-username="hlship" href="/confluence/display/~hlship">
<img class="userLogo logo" src="/confluence/download/attachments/26203/hlship-42158-pp-howard-basement-hands-folded-square.jpg?version=1&modificationDate=1281842848000"
alt="User icon: hlship" title="hlship">
</a> </span>
<span class="blogHeading">
<div class="page-metadata not-personal"><a href="/confluence/display/~hlship"
class="url fn confluence-userlink" data-username="hlship"
>Howard M. Lewis Ship</a> posted on Mar 30, 2011</div>
<a class="blogHeading" href="/confluence/display/TAPESTRY/2011/03/30/Tapestry+Kudos">Tapestry
Kudos</a>
</span>
</div>
<div class="wiki-content">
<p>A very happy Tapestry user, Adam Zimowski, recently <a href="http://tapestry.markmail.org/thread/z5ftpvfjibbrubmc"
class="external-link" rel="nofollow">posted to the Tapestry users mailing list</a>
a short description of his progress with a major Tapestry application:</p>
<p><blockquote></blockquote>Today I'm more in love with Tapestry 5 than
ever before. I had a milestone demo at work which went well, and could actually show a good
portion of a re-written website running and working! I'm at the heights of my project development.
…</p>
</div>
<p><a href="/confluence/display/TAPESTRY/2011/03/30/Tapestry+Kudos" title="Read
the rest of Tapestry Kudos ">Read more…</a></p>
<div class="endsection">
<a href="/confluence/pages/editblogpost.action?pageId=26116911">Edit</a>
</div>
</div>
</div>
<div id="content" class="big-col">
<style>
#downloadBox {
background: url("downloadboxes.data/cadre.png") no-repeat scroll left top transparent;
font-size: 8pt;
height: 210px;
overflow: hidden;
position: relative;
width: 650px;
}
#downloadBox ul{
position : absolute;
top : 100px;
text-align : left;
}
.downloadPluginWrapper {
height: 210px;
position: relative;
}
.downloadPluginWrapper div {
height: 114px;
padding: 0 0 0 10px;
}
#download {
color: #6B6B6B;
left: 0;
margin: 5px 0 0 11px;
position: absolute;
top: 10px;
width: 160px;
}
#download a:link, #download a:visited, #download a:active, #download a:hover, #download a.add
{
font-size : 11px;
}
#download p, #demos p, #plugins p {
margin-left: 20px;
font-size : 11px;
position : absolute;
top : 65px;
}
#download h4, #plugins h4, #demos h4 {
position: absolute;
text-transform: uppercase;
top: 140px;
font-size : 11px;
}
#download h4 {
margin-left: 35px;
}
#plugins h4 {
margin-left: 50px;
}
#demos h4 {
margin-left: 55px;
}
#download h4 a, #demos h4 a, #plugins h4 a {
color: #48802C;
text-decoration: none;
}
#plugins {
color: #6B6B6B;
left: 215px;
margin: 5px 0 0 11px;
position: absolute;
top: 10px;
width: 160px;
}
#demos {
color: #6B6B6B;
left: 430px;
margin: 5px 0 0 11px;
position: absolute;
top: 10px;
width: 175px;
}
#downloadButton {
background : url("downloadboxes.data/download.png") no-repeat scroll left top transparent;
width : 130px;
height : 43px;
float : left;
position: absolute;
top: 10px;
}
#pluginsButton {
background : url("downloadboxes.data/plugins.png") no-repeat scroll left top transparent;
width : 130px;
height : 43px;
float : left;
position: absolute;
top: 10px;
}
#demosButton {
background : url("downloadboxes.data/demos.png") no-repeat scroll left top transparent;
width : 130px;
height : 43px;
float : left;
position: absolute;
top: 10px;
}
</style>
<div id="infoWrapper" align="center">
<div id="downloadBox">
<div class="downloadPluginWrapper">
<div id="download">
<a href="http://tapestry.apache.org/download.html"><div id="downloadButton"></div></a>
<p>Download the latest <b>Tapestry 5.2.5</b> binary release. </p>
<h4><a href="http://tapestry.apache.org/download.html">more downloads</a></h4>
</div>
<!-- download -->
<div id="plugins">
<a href="http://tapestry.apache.org/community.html"><div id="pluginsButton"></div></a>
<p>Community plugins: </p>
<ul>
<li><a class="external-link" rel="nofollow" href="http://tynamo.org/">Tynamo</a></li>
<li><a class="external-link" rel="nofollow" href="http://www.chenillekit.org/">Chenillekit</a></li>
<li><a class="external-link" rel="nofollow" href="http://tapestry.formos.com/nightly/tapx/">Tapx</a></li>
</ul>
<h4><a href="http://tapestry.apache.org/community.html">more plugins</a></h4>
</div>
<!-- plugins -->
<div id="demos">
<a href="http://tapestry.apache.org/demos.html"><div id="demosButton"></div></a>
<p>On-line demos available: </p>
<ul>
<li><a href="http://tapestry.zones.apache.org:8180/tapestry5-hotel-booking/signin">Hotel
Booking</a></li>
<li><a href="http://jumpstart.doublenegative.com.au/home.html">Jump
Start</a></li>
</ul>
</p>
<h4><a href="http://tapestry.apache.org/demos.html">more demos</a></h4>
</div>
<!-- demos -->
</div><!-- downloadPluginWrapper -->
</div>
</div>
<style>
.tapProperty {
width : 32px;
height : 32px;
float : left;
margin-right : 10px;
margin-left : 5px;
}
#polyglot {
background : url("whatistapestry.data/Chat.png") no-repeat scroll left top transparent;
}
#injection {
background : url("whatistapestry.data/injection.png") no-repeat scroll left top transparent;
}
#productive {
background : url("whatistapestry.data/Refresh.png") no-repeat scroll left top transparent;
}
#testable {
background : url("whatistapestry.data/accepted.png") no-repeat scroll left top transparent;
}
#fast {
background : url("whatistapestry.data/fast.png") no-repeat scroll left top transparent;
}
#reporting {
background : url("whatistapestry.data/bug.png") no-repeat scroll left top transparent;
}
#scalable {
background : url("whatistapestry.data/Web.png") no-repeat scroll left top transparent;
}
#modular {
background : url("whatistapestry.data/plugin.png") no-repeat scroll left top transparent;
}
#whatIs {
width : 650px;
position : relative;
overflow: hidden;
height : 625px;
}
#whatIs p {
margin-left: 10px;
margin-right: 10px;
}
#whatIs h3 {
margin-top: 0px;
}
#polyglotBox{
position : absolute;
left : 5px;
top : 0;
width : 325px;
}
#injectionBox{
position : absolute;
left : 330px;
top : 0;
width : 325px;
}
#productiveBox{
position : absolute;
left : 5px;
top : 130px;
width : 325px;
}
#scalableBox{
position : absolute;
left : 330px;
top : 130px;
width : 325px;
}
#reportingBox{
position : absolute;
left : 5px;
top : 260px;
width : 325px;
}
#testableBox{
position : absolute;
left : 330px;
top : 260px;
width : 325px;
}
#fastBox{
position : absolute;
left : 5px;
top : 420px;
width : 325px;
}
#modularBox{
position : absolute;
left : 330px;
top : 420px;
width : 325px;
}
#question h2 {
margin-top: 15px;
margin-bottom : 15px;
}
</style>
<div id="question">
<h2> What is Tapestry 5 ? </h2>
</div>
<div id="whatIs">
<div class="whatIsWrapper">
<div id="polyglotBox">
<div id="polyglot" class="tapProperty"></div> <h3>Pure Java and
Polyglot </h3>
<p>Written in pure Java: code your pages and components in Java, Groovy or
Scala.</p>
</div>
<div id="injectionBox">
<div id="injection" class="tapProperty"></div> <h3>Convention
Over Configuration</h3>
<p>Say goodbye to endless XML configuration files: dependency injection and
meta-programming through annotations.</p>
</div>
<div id="productiveBox">
<div id="productive" class="tapProperty"></div> <h3>Highly Productive</h3>
<p>Live class reloading means that the time between seeing an error and providing
the fix is seconds, not minutes.</p>
</div>
<div id="scalableBox">
<div id="scalable" class="tapProperty"></div><h3>Scalable</h3>
<p>Scales up big on a single server, and works great in a cluster. Keeps
session state minimal by design.</p>
</div>
<div id="reportingBox">
<div id="reporting" class="tapProperty"></div> <h3>Advanced Exception
Reporting</h3>
<p>Gives you all the tools you need to fix your problem: not just a stack
trace, but every bit of information you need to know about what Tapestry was doing, why it
was doing it, what went wrong, and how to fix it.</p>
</div>
<div id="testableBox">
<div id="testable" class="tapProperty"></div> <h3>Testable</h3>
<p>Committed to testability throughout design; built-in utilities to enhance
TDD. Support for <a href="http://seleniumhq.org/">Selenium</a> for integration
testing. <a href="http://tapestry.apache.org/current/tapestry-core/cobertura/index.html">See
Tapestry's code coverage report</a></p>
</div>
<div id="fastBox">
<div id="fast" class="tapProperty"></div> <h3>Fast</h3>
<p>Pure Java; no reflection, not even for property expressions. Built to
cleanly support large numbers of concurrent threads without contention. Automatic GZip content
compression, JavaScript aggregation, and client-side caching.</p>
</div>
<div id="modularBox">
<div id="modular" class="tapProperty"></div><h3>Adaptable And
Modular</h3>
<p>Architecture is open and extensible. There's a clean way to add your own
extensions, or override built-in logic. Provides integration with <a href="http://hibernate.org/">Hibernate</a>
and <a href="http://www.springsource.org/">Spring</a>. Third-party integrations
with other tools, such as <a href="http://www.quartz-scheduler.org">Quartz</a>
and <a href="http://lucene.apache.org/java/docs/index.html">Lucene</a>.</p>
</div>
</div> <!-- whatIsWrapper -->
</div> <!-- end whatIs -->
<p>More on <a href="/confluence/display/TAPESTRY/Principles" title="Principles">Tapestry
philosophy</a> - Who uses <a href="/confluence/display/TAPESTRY/Applications" title="Applications">Tapestry
</a>? <a href="http://twitter.com/apachetapestry" class="external-link" rel="nofollow"><span
class="image-wrap" style=""><img src="/confluence/download/attachments/24189566/twitterTapestry.png?version=2&modificationDate=1292965176000"
style="border: 0px solid black" /></span></a></p></div>
<div class="clearer"><p><!-- <p>Trigger page export: 5</p> -->
</p></div>
</div>
<div id="commentsSection" class="wiki-content pageSection">
<div style="float: right;">
<a href="https://cwiki.apache.org/confluence/users/viewnotifications.action"
class="grey">Change Notification Preferences</a>
</div>
<a href="https://cwiki.apache.org/confluence/display/TAPESTRY/Index">View Online</a>
|
<a href="https://cwiki.apache.org/confluence/pages/diffpagesbyversion.action?pageId=24189566&revisedVersion=267&originalVersion=266">View
Changes</a>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
|