tapestry-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From conflue...@apache.org
Subject [CONF] Apache Tapestry > Index
Date Thu, 14 Oct 2010 11:34:00 GMT
<html>
<head>
    <base href="https://cwiki.apache.org/confluence">
            <link rel="stylesheet" href="/confluence/s/1810/9/12/_/styles/combined.css?spaceKey=TAPESTRY&amp;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/~ccordenier">Christophe
Cordenier</a>
    </h4>
        <div id="versionComment">
        <b>Comment:</b>
        Remove &lt;br/&gt; that were breaking the design<br />
    </div>
        <br/>
                         <h4>Changes (36)</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" >h3. Tapestry is ... a web framework
for Java <br> <br></td></tr>
            <tr><td class="diff-changed-lines" >Tapestry applications are written
in Java, the most popular <span class="diff-added-words"style="background-color: #dfd;">enterprise
applications development language. Tapestry combines</span> <br></td></tr>
            <tr><td class="diff-deleted-lines" style="color:#999;background-color:#fdd;text-decoration:line-through;">enterprise
applications development language. Tapestry combines <br></td></tr>
            <tr><td class="diff-changed-lines" >simple Java classes with straight-forward
templates to form <span class="diff-added-words"style="background-color: #dfd;">components
and pages. Tapestry takes care of all the &quot;ugly plumbing&quot; of a typical web
application. Tapestry embraces convention over configuration. Say goodbye to endlessly editing</span>
<br></td></tr>
            <tr><td class="diff-deleted-lines" style="color:#999;background-color:#fdd;text-decoration:line-through;">components
and pages. Tapestry takes care of all the <br>&quot;ugly plumbing&quot; of a
typical web application. Tapestry embraces <br>convention over configuration. Say goodbye
to endlessly editing <br></td></tr>
            <tr><td class="diff-unchanged" >XML configuration files! <br>
<br>h3. Tapestry is ... component based <br> <br></td></tr>
            <tr><td class="diff-changed-lines" >Tapestry applications consist
of pages and components. Components <span class="diff-added-words"style="background-color:
#dfd;">are easy to write, and easy to hook together. Tapestry always has an overall map
of your application, because it knows all the pages and all the components within the pages
... this lets Tapestry do all the &quot;dirty plumbing&quot; of web application development.</span>
<br></td></tr>
            <tr><td class="diff-deleted-lines" style="color:#999;background-color:#fdd;text-decoration:line-through;">are
easy to write, and easy to hook together. Tapestry always has an overall map of <br>your
application, because it knows all the pages <br>and all the components within the pages
... this lets Tapestry do <br>all the &quot;dirty plumbing&quot; of web application
development. <br></td></tr>
            <tr><td class="diff-unchanged" > <br>h3. Tapestry is ... agile
<br> <br></td></tr>
            <tr><td class="diff-changed-lines" >Easy to code, easy to test, easy
to deploy. Tapestry encourages you <span class="diff-added-words"style="background-color:
#dfd;">to work in small increments with immediate feedback so you are always making fast,
forward progress. Want to code in Groovy or Scala instead?  No problem!</span> <br></td></tr>
            <tr><td class="diff-deleted-lines" style="color:#999;background-color:#fdd;text-decoration:line-through;">to
work in small increments with immediate feedback so you are <br>always making fast,
forward progress. Want to code in Groovy or <br>Scala instead?  No problem! <br></td></tr>
            <tr><td class="diff-unchanged" > <br>h3. Tapestry is ... fast
<br> <br></td></tr>
            <tr><td class="diff-changed-lines" >Tapestry is pure Java. It doesn&#39;t
use Java reflection, and is built <span class="diff-added-words"style="background-color:
#dfd;">to cleanly support large numbers of concurrent threads. Better yet, it automatically
includes standard performance-enhancing strategies such as GZip content compression, JavaScript
aggregation, and far future expires headers ... all of which cut down response size and the
number of client requests.</span> <br></td></tr>
            <tr><td class="diff-deleted-lines" style="color:#999;background-color:#fdd;text-decoration:line-through;">to
cleanly support large numbers of concurrent threads. Better yet, it <br>automatically
includes standard performance-enhancing strategies such <br>as GZip content compression,
JavaScript aggregation, and far future <br>expires headers ... all of which cut down
response size and the number <br>of client requests. <br></td></tr>
            <tr><td class="diff-unchanged" > <br>h3. Tapestry is ... productive
<br> <br></td></tr>
            <tr><td class="diff-changed-lines" >Code and templates are lean and
mean. Live class reloading means <span class="diff-added-words"style="background-color:
#dfd;">that the time between seeing an error and providing the fix</span> <br></td></tr>
            <tr><td class="diff-deleted-lines" style="color:#999;background-color:#fdd;text-decoration:line-through;">that
the time between seeing an error and providing the fix <br></td></tr>
            <tr><td class="diff-changed-lines" >is seconds, not minutes. Advanced
exception reporting gives you all <span class="diff-added-words"style="background-color:
#dfd;">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.</span> <br></td></tr>
            <tr><td class="diff-deleted-lines" style="color:#999;background-color:#fdd;text-decoration:line-through;">the
tools you need to fix your problem: not just <br>a stack trace, but every bit of information
you need to know about <br>what Tapestry was doing, why it was doing it, what went wrong,
and how <br>to fix it. <br></td></tr>
            <tr><td class="diff-unchanged" > <br>h3. Tapestry is ... scalable
<br> <br></td></tr>
            <tr><td class="diff-changed-lines" >Tapestry works well for everything
from a lone developer working on <span class="diff-added-words"style="background-color:
#dfd;">an application with just a couple of pages,</span> <br></td></tr>
            <tr><td class="diff-deleted-lines" style="color:#999;background-color:#fdd;text-decoration:line-through;">an
application with just a couple of pages, <br></td></tr>
            <tr><td class="diff-changed-lines" >all the way up to large teams
and applications with hundreds of <span class="diff-added-words"style="background-color:
#dfd;">pages and custom components. For big teams, Tapestry&#39;s pages and components
design keeps the efforts of different developers automatically integrated.</span> <br></td></tr>
            <tr><td class="diff-deleted-lines" style="color:#999;background-color:#fdd;text-decoration:line-through;">pages
and custom components. For big teams, Tapestry&#39;s <br>pages and components design
keeps the efforts of different <br>developers automatically integrated. <br></td></tr>
            <tr><td class="diff-unchanged" > <br></td></tr>
            <tr><td class="diff-changed-lines" >Tapestry scales up big on a single
server, but also gives you great <span class="diff-added-words"style="background-color:
#dfd;">options for when you need to switch to a cluster. Tapestry makes it easy to store
information on the client (as hidden fields or query parameters) or on the server (in the
session).</span> <br></td></tr>
            <tr><td class="diff-deleted-lines" style="color:#999;background-color:#fdd;text-decoration:line-through;">options
for when you need to switch to a cluster. Tapestry makes <br>it easy to store information
on the client (as hidden fields or <br>query parameters) or on the server (in the session).
<br></td></tr>
            <tr><td class="diff-unchanged" > <br>h3. Tapestry is ... adaptable
<br> <br></td></tr>
            <tr><td class="diff-changed-lines" >Tapestry&#39;s architecture
is open and extensible. Don&#39;t like how <span class="diff-added-words"style="background-color:
#dfd;">Tapestry operates? There&#39;s a clean way to add your own</span> <br></td></tr>
            <tr><td class="diff-deleted-lines" style="color:#999;background-color:#fdd;text-decoration:line-through;">Tapestry
operates? There&#39;s a clean way to add your own <br></td></tr>
            <tr><td class="diff-changed-lines" >logic, or substitute some of Tapestry&#39;s
logic with your own. Tapestry <span class="diff-added-words"style="background-color: #dfd;">modules
make it easy to create components and package them for reuse in your current application,
or across many applications.</span> <br></td></tr>
            <tr><td class="diff-deleted-lines" style="color:#999;background-color:#fdd;text-decoration:line-through;">modules
make it easy to create components and package them <br>for reuse in your current application,
or across many applications. <br></td></tr>
            <tr><td class="diff-unchanged" > <br></td></tr>
            <tr><td class="diff-changed-lines" >Tapestry has built-in modules
for integrating Tapestry with the popular <span class="diff-added-words"style="background-color:
#dfd;">[Hibernate|http://hibernate.org] and [Spring|http://www.springsource.org/] projects,
and third-party integrations with other</span> <br></td></tr>
            <tr><td class="diff-deleted-lines" style="color:#999;background-color:#fdd;text-decoration:line-through;">[Hibernate|http://hibernate.org]
and [Spring|http://www.springsource.org/] projects, and third-party integrations with other
<br></td></tr>
            <tr><td class="diff-unchanged" >tools, such as [Quartz|http://www.quartz-scheduler.org/].
<br> <br>h3. Tapestry is ... global <br> <br></td></tr>
            <tr><td class="diff-changed-lines" >Tapestry has built-in support
for more than a dozen different <span class="diff-added-words"style="background-color:
#dfd;">languages, and makes it easy for your application to cleanly</span> <br></td></tr>
            <tr><td class="diff-deleted-lines" style="color:#999;background-color:#fdd;text-decoration:line-through;">languages,
and makes it easy for your application to cleanly <br></td></tr>
            <tr><td class="diff-changed-lines" >support multiple localizations.
Tapestry automatically tracks the <span class="diff-added-words"style="background-color:
#dfd;">user&#39;s preferred locale and makes it easy to access</span> <br></td></tr>
            <tr><td class="diff-deleted-lines" style="color:#999;background-color:#fdd;text-decoration:line-through;">user&#39;s
preferred locale and makes it easy to access <br></td></tr>
            <tr><td class="diff-unchanged" >user-localized messages across the
entire application. <br> <br>h3. Tapestry is ... dependable <br> <br></td></tr>
            <tr><td class="diff-changed-lines" >Tapestry&#39;s roots go back
to 2003 as an Apache project, and even <span class="diff-added-words"style="background-color:
#dfd;">earlier as an open-source project. Thousands of applications</span> <br></td></tr>
            <tr><td class="diff-deleted-lines" style="color:#999;background-color:#fdd;text-decoration:line-through;">earlier
as an open-source project. Thousands of applications <br></td></tr>
            <tr><td class="diff-changed-lines" >run on Tapestry, including high-throughput
sites such as SeeSaw.com. <span class="diff-added-words"style="background-color: #dfd;">Tapestry
applications have a history of running glitch-free.</span> <br></td></tr>
            <tr><td class="diff-deleted-lines" style="color:#999;background-color:#fdd;text-decoration:line-through;">Tapestry
applications have a history of running glitch-free. <br></td></tr>
            <tr><td class="diff-unchanged" > <br>h3. Tapestry is ... fun
<br> <br></td></tr>
            <tr><td class="diff-changed-lines" >Tapestry removes the tedium of
developing web applications, leaving <span class="diff-added-words"style="background-color:
#dfd;">just the fun parts. Tapestry keeps you &quot;in the zone&quot;, having fun
and coding up a storm!  Tapestry: code less deliver more!</span> <br></td></tr>
            <tr><td class="diff-deleted-lines" style="color:#999;background-color:#fdd;text-decoration:line-through;">just
the fun parts. Tapestry keeps you &quot;in the zone&quot;, having <br>fun and
coding up a storm!  Tapestry: code less deliver more! <br></td></tr>
            <tr><td class="diff-unchanged" > <br>More on [Tapestry philosophy|TAPESTRY:Principles]
<br></td></tr>
            <tr><td class="diff-snipped" >...<br></td></tr>
        </table>
</div>                            <h4>Full Content</h4>
                    <div class="notificationGreySide">
        
<div id="top">
  <h1>
    <img src="http://people.apache.org/~uli/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 fast 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&#33;</b> Give us 20 minutes and
<b><a href="/confluence/display/TAPESTRY/Tutorial" title="Tutorial">follow our
tutorial</a></b>.</p>
</div>

<div id="col">

<h2><a name="Index-News%21Feedicon.gif%21https%3A%2F%2Fcwiki.apache.org%2Fconfluence%2Fcreaterssfeed.action%3Ftypes%3Dblogpost%26spaces%3DTAPESTRY%26title%3DApacheTapestryNewsRSSFeed%26labelString%253D%26sort%3Dmodified%26maxResults%3D10%26timeSpan%3D5%26confirm%3DCreate%26showContent%3Dfalse%26showDiff%3Dfalse"></a>News
<a href="https://cwiki.apache.org/confluence/createrssfeed.action?types=blogpost&amp;spaces=TAPESTRY&amp;title=Apache+Tapestry+News+RSS+Feed&amp;labelString%3D&amp;sort=modified&amp;maxResults=10&amp;timeSpan=5&amp;confirm=Create&amp;showContent=false&amp;showDiff=false"
class="external-link" rel="nofollow"><span class="image-wrap" style=""><img src="/confluence/download/attachments/20645177/Feed-icon.gif?version=1&amp;modificationDate=1274858890000"
style="border: 0px solid black" /></span></a></h2>

    
                    <div class="blogSurtitle">
                <img src="/confluence/images/icons/blogentry_16.gif" height="16" width="16"
border="0" align="absmiddle" />
                <a class="blogDate" href="/confluence/display/TAPESTRY/2010/10/11">Monday,
11 October 2010</a>
            </div>
        
        <div class="blogpost" style="margin-bottom: 30px">
            <div><a class="blogHeading" href="/confluence/display/TAPESTRY/2010/10/11/Tapestry+version+5.2.1+%28beta%29">Tapestry
version 5.2.1 (beta)</a></div>

            <div class="pagesubheading">
                            Last changed Oct 12, 2010 18:59 by <a class="confluence-userlink
username:hlship url fn" href="/confluence/display/~hlship">Howard M. Lewis Ship</a>
                                            </div>
                <div class="wiki-content">
                 <p>Following a successful vote, the Tapestry team has released the
first beta release of Tapestry 5.2, version 5.2.1.</p>

<p>This release consists mostly of bug fixes on top of release 5.2.0.  Full <a href="/confluence/display/TAPESTRY/Release+Notes+5.2.1"
title="Release Notes 5.2.1">release notes</a> are available. Mainly, this release
improves live service reloading and a number of issues related to JavaScript and Ajax.</p>
                </div>
                                    <p><a href="/confluence/display/TAPESTRY/2010/10/11/Tapestry+version+5.2.1+%28beta%29"
title="Read the rest of Tapestry version 5.2.1 (beta)">Read more&hellip;</a></p>
                            <div class="endsection">
                <b>Posted at Oct 11, 2010</b> by
                <img src="/confluence/images/icons/user_16.gif" height="16" width="16"
border="0" align="absmiddle" title="User Profile: Howard M. Lewis Ship">
                <a class="confluence-userlink username:hlship url fn" href="/confluence/display/~hlship">Howard
M. Lewis Ship</a>                |
                <img src="/confluence/images/icons/comment_16.gif" height="16" width="16"
border="0" align="absmiddle">
                                    <a href="/confluence/display/TAPESTRY/2010/10/11/Tapestry+version+5.2.1+%28beta%29?showComments=true#comments">0
comments</a>
                                                |
                    <a href="/confluence/pages/editblogpost.action?pageId=23340490">Edit</a>
                            </div>
        </div>
    
                    <div class="blogSurtitle">
                <img src="/confluence/images/icons/blogentry_16.gif" height="16" width="16"
border="0" align="absmiddle" />
                <a class="blogDate" href="/confluence/display/TAPESTRY/2010/05/26">Wednesday,
26 May 2010</a>
            </div>
        
        <div class="blogpost" style="margin-bottom: 30px">
            <div><a class="blogHeading" href="/confluence/display/TAPESTRY/2010/05/26/New+Website">New
Website</a></div>

            <div class="pagesubheading">
                            Last changed Jul 08, 2010 11:05 by <a class="confluence-userlink
username:uli url fn" href="/confluence/display/~uli">Ulrich Stärk</a>
                                            </div>
                <div class="wiki-content">
                 <p>The Apache Tapestry project is pleased to announce the launch of
its new website...</p>

<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam a felis diam, vel
ultrices quam. Etiam ligula nisl, tristique id tincidunt ut, blandit non nisi. Nulla ultricies
lacinia ipsum, sit amet pellentesque nibh rutrum in. Nulla facilisi. Vestibulum eget felis
sed ipsum vestibulum laoreet. Morbi vitae odio erat. Vivamus eu mauris eu purus euismod auctor
at at lectus. Quisque varius blandit nibh, &hellip;</p>
                </div>
                                    <p><a href="/confluence/display/TAPESTRY/2010/05/26/New+Website"
title="Read the rest of New Website">Read more&hellip;</a></p>
                            <div class="endsection">
                <b>Posted at May 26, 2010</b> by
                <img src="/confluence/images/icons/user_16.gif" height="16" width="16"
border="0" align="absmiddle" title="User Profile: Ulrich St&#xE4;rk">
                <a class="confluence-userlink username:uli url fn" href="/confluence/display/~uli">Ulrich
Stärk</a>                |
                <img src="/confluence/images/icons/comment_16.gif" height="16" width="16"
border="0" align="absmiddle">
                                    <a href="/confluence/display/TAPESTRY/2010/05/26/New+Website?showComments=true#comments">0
comments</a>
                                                |
                    <a href="/confluence/pages/editblogpost.action?pageId=21791140">Edit</a>
                            </div>
        </div>
    
</div>

<div id="content" class="big-col">


<h2><a name="Index-WhatisTapestry%3F"></a>What is Tapestry?</h2>

<h3><a name="Index-Tapestryis...awebframeworkforJava"></a>Tapestry is ...
a web framework for Java</h3>

<p>Tapestry applications are written in Java, the most popular enterprise applications
development language. Tapestry combines<br/>
simple Java classes with straight-forward templates to form components and pages. Tapestry
takes care of all the "ugly plumbing" of a typical web application. Tapestry embraces convention
over configuration. Say goodbye to endlessly editing<br/>
XML configuration files!</p>

<h3><a name="Index-Tapestryis...componentbased"></a>Tapestry is ... component
based</h3>

<p>Tapestry applications consist of pages and components. Components are easy to write,
and easy to hook together. Tapestry always has an overall map of your application, because
it knows all the pages and all the components within the pages ... this lets Tapestry do all
the "dirty plumbing" of web application development.</p>

<h3><a name="Index-Tapestryis...agile"></a>Tapestry is ... agile</h3>

<p>Easy to code, easy to test, easy to deploy. Tapestry encourages you to work in small
increments with immediate feedback so you are always making fast, forward progress. Want to
code in Groovy or Scala instead?  No problem!</p>

<h3><a name="Index-Tapestryis...fast"></a>Tapestry is ... fast</h3>

<p>Tapestry is pure Java. It doesn't use Java reflection, and is built to cleanly support
large numbers of concurrent threads. Better yet, it automatically includes standard performance-enhancing
strategies such as GZip content compression, JavaScript aggregation, and far future expires
headers ... all of which cut down response size and the number of client requests.</p>

<h3><a name="Index-Tapestryis...productive"></a>Tapestry is ... productive</h3>

<p>Code and templates are lean and mean. Live class reloading means that the time between
seeing an error and providing the fix<br/>
is seconds, not minutes. Advanced exception reporting 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>

<h3><a name="Index-Tapestryis...scalable"></a>Tapestry is ... scalable</h3>

<p>Tapestry works well for everything from a lone developer working on an application
with just a couple of pages,<br/>
all the way up to large teams and applications with hundreds of pages and custom components.
For big teams, Tapestry's pages and components design keeps the efforts of different developers
automatically integrated.</p>

<p>Tapestry scales up big on a single server, but also gives you great options for when
you need to switch to a cluster. Tapestry makes it easy to store information on the client
(as hidden fields or query parameters) or on the server (in the session).</p>

<h3><a name="Index-Tapestryis...adaptable"></a>Tapestry is ... adaptable</h3>

<p>Tapestry's architecture is open and extensible. Don't like how Tapestry operates?
There's a clean way to add your own<br/>
logic, or substitute some of Tapestry's logic with your own. Tapestry modules make it easy
to create components and package them for reuse in your current application, or across many
applications.</p>

<p>Tapestry has built-in modules for integrating Tapestry with the popular <a href="http://hibernate.org"
class="external-link" rel="nofollow">Hibernate</a> and <a href="http://www.springsource.org/"
class="external-link" rel="nofollow">Spring</a> projects, and third-party integrations
with other<br/>
tools, such as <a href="http://www.quartz-scheduler.org/" class="external-link" rel="nofollow">Quartz</a>.</p>

<h3><a name="Index-Tapestryis...global"></a>Tapestry is ... global</h3>

<p>Tapestry has built-in support for more than a dozen different languages, and makes
it easy for your application to cleanly<br/>
support multiple localizations. Tapestry automatically tracks the user's preferred locale
and makes it easy to access<br/>
user-localized messages across the entire application.</p>

<h3><a name="Index-Tapestryis...dependable"></a>Tapestry is ... dependable</h3>

<p>Tapestry's roots go back to 2003 as an Apache project, and even earlier as an open-source
project. Thousands of applications<br/>
run on Tapestry, including high-throughput sites such as SeeSaw.com. Tapestry applications
have a history of running glitch-free.</p>

<h3><a name="Index-Tapestryis...fun"></a>Tapestry is ... fun</h3>

<p>Tapestry removes the tedium of developing web applications, leaving just the fun
parts. Tapestry keeps you "in the zone", having fun and coding up a storm!  Tapestry: code
less deliver more!</p>

<p>More on <a href="/confluence/display/TAPESTRY/Principles" title="Principles">Tapestry
philosophy</a></p>

<h2><a name="Index-WhoisusingTapestry%3F"></a>Who is using Tapestry?</h2>

<div id="references">
<ul class="alternate" type="square">
	<li><span class="image-wrap" style=""><img src="/confluence/download/attachments/20645177/wooki.png?version=1&amp;modificationDate=1274884868000"
style="border: 0px solid black" /></span><br/>
<a href="http://www.wooki.com" class="external-link" rel="nofollow">Wooki</a>
: Opensource collaboration app</li>
	<li><span class="image-wrap" style=""><img src="/confluence/download/attachments/20645177/seesaw.png?version=1&amp;modificationDate=1274884869000"
style="border: 0px solid black" /></span><br/>
<a href="http://www.seesaw.com" class="external-link" rel="nofollow">Seesaw</a>
: Video streaming</li>
</ul>


<div class="clearer"></div></div>
</div><div class="clearer"></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=20645177&revisedVersion=32&originalVersion=31">View
Changes</a>
            </div>
</div>
</div>
</div>
</div>
</body>
</html>

Mime
View raw message