tapestry-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From conflue...@apache.org
Subject [CONF] Apache Tapestry > Index
Date Fri, 13 Jan 2012 18:47:00 GMT
<html>
<head>
    <base href="https://cwiki.apache.org/confluence">
            <link rel="stylesheet" href="/confluence/s/2042/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/~hlship">Howard
M. Lewis Ship</a>
    </h4>
        <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" >&lt;!-- Temporary &quot;Stop
SOPA&quot; --&gt; <br> <br></td></tr>
            <tr><td class="diff-changed-lines" >&lt;a <span class="diff-deleted-words"style="color:#999;background-color:#fdd;text-decoration:line-through;">style=&quot;width:550px;height:32px;vertical-align:middle;text-align:center;background-color:#000;position:absolute;z-index:5555;top:130px;left:170px;background-image:url(http://americancensorship.org/images/stop-censorship-small.png);background-position:center</span>
<span class="diff-added-words"style="background-color: #dfd;">style=&quot;width:550px;height:32px;vertical-align:middle;text-align:center;background-color:#000;position:absolute;z-index:999;top:130px;left:170px;background-image:url(http://americancensorship.org/images/stop-censorship-small.png);background-position:center</span>
center;background-repeat:no-repeat;&quot; href=&quot;http://americancensorship.org&quot;&gt;&lt;/a&gt;
<br></td></tr>
            <tr><td class="diff-unchanged" > <br></td></tr>
            <tr><td class="diff-added-lines" style="background-color: #dfd;">&lt;link
rel=&quot;stylesheet&quot; href=&quot;http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.17/themes/base/jquery-ui.css&quot;
type=&quot;text/css&quot; media=&quot;all&quot; /&gt; <br>			&lt;script
src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
<br>			&lt;script src=&quot;http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.17/jquery-ui.min.js&quot;
type=&quot;text/javascript&quot;&gt;&lt;/script&gt; <br> <br>&lt;div
id=&quot;sopa&quot; title=&quot;Stop SOPA&quot;&gt; <br>&lt;p&gt;As
web developers, we&#39;re deeply concerned about the &lt;a href=&quot;http://en.wikipedia.org/wiki/Stop_Online_Piracy_Act&quot;&gt;Stop
Online Piracy Act&lt;/a&gt;. We encourage all developers to visit &lt;a href=&quot;http://americancensorship.org&quot;&gt;Stop
American Cencorship&lt;/a&gt; and do their part to oppose this misguided bill. <br>&lt;/p&gt;
<br> <br>&lt;p&gt;Cancel this dialog to begin exploring Apache Tapestry.&lt;/p&gt;
<br> <br>&lt;script&gt; <br>	$(function() { <br>		$( &quot;#sopa&quot;
).dialog({ modal:true }); <br>	}); <br>&lt;/script&gt; <br> <br>
<br>&lt;/div&gt; <br> <br></td></tr>
            <tr><td class="diff-unchanged" >&lt;!-- END Temporary &quot;Stop
SOPA&quot; --&gt; <br> <br></td></tr>
            <tr><td class="diff-snipped" >...<br></td></tr>
    
            </table>
    </div>                            <h4>Full Content</h4>
                    <div class="notificationGreySide">
        
<!-- Force update: 2 -->
<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>

<!-- Temporary "Stop SOPA" -->

<a style="width:550px;height:32px;vertical-align:middle;text-align:center;background-color:#000;position:absolute;z-index:999;top:130px;left:170px;background-image:url(http://americancensorship.org/images/stop-censorship-small.png);background-position:center
center;background-repeat:no-repeat;" href="http://americancensorship.org"></a>

<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.17/themes/base/jquery-ui.css"
type="text/css" media="all" />
			<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
			<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.17/jquery-ui.min.js"
type="text/javascript"></script>
		
<div id="sopa" title="Stop SOPA">
<p>As web developers, we're deeply concerned about the <a href="http://en.wikipedia.org/wiki/Stop_Online_Piracy_Act">Stop
Online Piracy Act</a>. We encourage all developers to visit <a href="http://americancensorship.org">Stop
American Cencorship</a> and do their part to oppose this misguided bill.
</p>

<p>Cancel this dialog to begin exploring Apache Tapestry.</p>

<script>
	$(function() {
		$( "#sopa" ).dialog({ modal:true });
	});
</script>


</div>

<!-- END Temporary "Stop SOPA" -->



<div id="top">
  <h1>
    <img src="http://tapestry.apache.org/images/tapestry.png" alt="Tapestry" id="tapestry"
width="550" height="230" style="max-height: inherit" />
  </h1>

  <div style="float: right;width: 280px">

    <div style="margin: 1em; text-align: right">
      <form action="http://tapestry.apache.org/search.html" method="get">
        <input type="text" name="q"/>
        <input type="submit" value="Search"/>
      </form>
    </div>

    <div style="font-family:Georgia,serif;font-size:18px;font-style:italic;line-height:1.3em;padding:
1em 1em 0 0;">
      Component oriented framework for creating dynamic, robust, highly scalable web applications
in Java.
    </div>

  </div>

</div>
  <div class="clear"></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&#33;</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&amp;spaces=TAPESTRY&amp;title=Apache+Tapestry+News+RSS+Feed&amp;labelString%3D&amp;sort=created&amp;maxResults=10&amp;timeSpan=12&amp;confirm=Create&amp;showContent=true&amp;showDiff=false"
class="external-link" rel="nofollow"><span class="image-wrap" style=""><img src="/confluence/download/attachments/24189566/Feed-icon.gif?version=1&amp;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="mlusetti" href="/confluence/display/~mlusetti">
               <img class="userLogo logo" src="/confluence/download/attachments/23339463/faccia.jpg?version=1&modificationDate=1324504849000"
               alt="User icon: mlusetti" title="mlusetti">
           </a>            </span>
            <span class="blogHeading">
                <div class="page-metadata not-personal"><a href="/confluence/display/~mlusetti"
                          class="url fn confluence-userlink" data-username="mlusetti"
                   >Massimo Lusetti</a> posted on Dec 21, 2011</div>
                <a class="blogHeading" href="/confluence/display/TAPESTRY/2011/12/21/Announcing+Tapestry+5.3.1">Announcing
Tapestry 5.3.1</a>
            </span>
        </div>
    
    <div class="wiki-content">
        <p>The Tapestry Team is very proud to announce the availability of Apache Tapestry
5.3.1.</p>
    </div>
            <p><a href="/confluence/display/TAPESTRY/2011/12/21/Announcing+Tapestry+5.3.1"
title="Read the rest of Announcing Tapestry 5.3.1 ">Read more&hellip;</a></p>
    
            
        <div class="endsection">
        
            <a href="/confluence/pages/editblogpost.action?pageId=27834077">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 Nov 23, 2011</div>
                <a class="blogHeading" href="/confluence/display/TAPESTRY/2011/11/23/Announcing+Tapestry+5.3">Announcing
Tapestry 5.3</a>
            </span>
        </div>
    
    <div class="wiki-content">
        <p>The Tapestry Team is very proud to announce the availability of Apache Tapestry
5.3.</p>
    </div>
            <p><a href="/confluence/display/TAPESTRY/2011/11/23/Announcing+Tapestry+5.3"
title="Read the rest of Announcing Tapestry 5.3 ">Read more&hellip;</a></p>
    
            
        <div class="endsection">
        
            <a href="/confluence/pages/editblogpost.action?pageId=27832056">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 Oct 31, 2011</div>
                <a class="blogHeading" href="/confluence/display/TAPESTRY/2011/10/31/Tapestry+5.3+Release+Candidate">Tapestry
5.3 Release Candidate</a>
            </span>
        </div>
    
    <div class="wiki-content">
        <p>We've released a new <b>release candidate</b> for Tapestry 5.3:
Apache Tapestry <b>5.3-rc-2</b>.</p>
    </div>
            <p><a href="/confluence/display/TAPESTRY/2011/10/31/Tapestry+5.3+Release+Candidate"
title="Read the rest of Tapestry 5.3 Release Candidate ">Read more&hellip;</a></p>
    
            
        <div class="endsection">
        
            <a href="/confluence/pages/editblogpost.action?pageId=27830050">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.3.1</b> 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/jumpstart">JumpStart</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 and naming conventions.</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/5.2/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. Integrated GZip content
compression, JavaScript aggregation and compression, 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>,
<a href="http://jcp.org/aboutJava/communityprocess/final/jsr317/index.html">JPA</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&amp;modificationDate=1292965176000"
style="border: 0px solid black" /></span></a></p></div>


<div style="clear:both"></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=290&originalVersion=289">View
Changes</a>
            </div>
</div>
</div>
</div>
</div>
</body>
</html>

Mime
View raw message