Modified: websites/production/struts/content/security.html
==============================================================================
--- websites/production/struts/content/security.html (original)
+++ websites/production/struts/content/security.html Wed Dec 31 10:10:27 2014
@@ -10,9 +10,11 @@
<title>Security Issues</title>
<link
href="//fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,400italic,600italic,700italic"
rel="stylesheet" type="text/css">
- <link rel="stylesheet" href="css/main.css">
+ <link
href="//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css"
rel="stylesheet">
+ <link href="css/main.css" rel="stylesheet">
+ <link href="css/custom.css" rel="stylesheet">
- <script type="text/javascript" src="js/jquery-1.11.0.min.js"></script>
+ <script
src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script type="text/javascript" src="bootstrap/js/bootstrap.js"></script>
<script type="text/javascript" src="js/community.js"></script>
</head>
@@ -118,7 +120,7 @@
<article class="container">
<section class="col-md-12">
- <h1>Reporting New Security Issues with Apache Struts</h1>
+ <h1 id="reporting-new-security-issues-with-apache-struts">Reporting New
Security Issues with Apache Struts</h1>
<p>The Apache Struts project takes a very active stance in eliminating
security problems
and denial of service attacks against applications using the Apache Struts
framework.</p>
@@ -137,7 +139,7 @@ workarounds to generic problems (such as
the same URL repeatedly). In general our philosophy is to avoid any attacks
which can cause the server
to consume resources in a non-linear relationship to the size of inputs.</p>
-<p>The mailing address is: <a
href="mailto:[email protected]">[email protected]</a></p>
+<p>The mailing address is: <a
href="mailto:security@struts.apache.org">security@struts.apache.org</a></p>
<p><a
href="http://httpd.apache.org/docs/trunk/misc/security_tips.html">General
network server security tips</a></p>
@@ -182,5 +184,19 @@ to consume resources in a non-linear rel
}(document, 'script', 'facebook-jssdk'));</script>
+<script>
+$(function() {
+ return $("h2, h3, h4, h5, h6").each(function(i, el) {
+ var $el, icon, id;
+ $el = $(el);
+ id = $el.attr('id');
+ icon = '<i class="fa fa-link"></i>';
+ if (id) {
+ return $el.prepend($("<a />").addClass("header-link").attr("href", "#" +
id).html(icon));
+ }
+ });
+});
+</script>
+
</body>
</html>
Modified: websites/production/struts/content/struts1eol-announcement.html
==============================================================================
--- websites/production/struts/content/struts1eol-announcement.html (original)
+++ websites/production/struts/content/struts1eol-announcement.html Wed Dec 31
10:10:27 2014
@@ -10,9 +10,11 @@
<title>Apache Struts 1 EOL Announcement</title>
<link
href="//fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,400italic,600italic,700italic"
rel="stylesheet" type="text/css">
- <link rel="stylesheet" href="css/main.css">
+ <link
href="//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css"
rel="stylesheet">
+ <link href="css/main.css" rel="stylesheet">
+ <link href="css/custom.css" rel="stylesheet">
- <script type="text/javascript" src="js/jquery-1.11.0.min.js"></script>
+ <script
src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script type="text/javascript" src="bootstrap/js/bootstrap.js"></script>
<script type="text/javascript" src="js/community.js"></script>
</head>
@@ -118,7 +120,7 @@
<article class="container">
<section class="col-md-12">
- <h1>Apache Struts 1 End-Of-Life (EOL) Announcement</h1>
+ <h1 id="apache-struts-1-end-of-life-eol-announcement">Apache Struts 1
End-Of-Life (EOL) Announcement</h1>
<p><strong>The Apache Struts Project Team would like to inform you that the
Struts 1.x web framework has reached its end of life and is no longer
officially supported.</strong></p>
@@ -130,27 +132,39 @@ Struts 1 in projects. See the following
<p>See also: <a href="struts1eol-press.html">Apache Struts 1 EOL Press
Release</a></p>
-<h2>Questions and Answers</h2>
+<h2 id="questions-and-answers">Questions and Answers</h2>
<ul>
-<li><p><strong>With the announcement of Struts 1 EOL, what happens to Struts 1
resources?</strong></p>
+ <li>
+ <p><strong>With the announcement of Struts 1 EOL, what happens to Struts 1
resources?</strong></p>
-<p>All resources will stay where they are. The documentation will still be
accessible from the Apache Struts homepage, as well as the downloads for all
released Struts 1.x versions. All of the Struts 1 source code can be found in
the Apache Struts subversion repository, now and in future. All released Maven
artifacts will still be accessible in Maven Central.</p></li>
-<li><p><strong>Given a major security problem or a serious bug is reported for
Struts 1 in near future, can we expect a new release with fixes?</strong></p>
+ <p>All resources will stay where they are. The documentation will still be
accessible from the Apache Struts homepage, as well as the downloads for all
released Struts 1.x versions. All of the Struts 1 source code can be found in
the Apache Struts subversion repository, now and in future. All released Maven
artifacts will still be accessible in Maven Central.</p>
+ </li>
+ <li>
+ <p><strong>Given a major security problem or a serious bug is reported for
Struts 1 in near future, can we expect a new release with fixes?</strong></p>
+
+ <p>As of now, actually no - that is what the EOL announcement essentially
is about. Since the end of support is reached, you will either need to find
mitigations, patch the existing Struts 1 source code yourself or migrate your
project to another web framework.</p>
+ </li>
+ <li>
+ <p><strong>Is there an immediate need to eliminate Struts 1 from my
projects?</strong></p>
+
+ <p>As far as the Struts team is currently aware of, there is no urgent
issue posing the immediate need to eliminate Struts 1 usage from your projects.
However, you should be aware that security and bug fixes will no longer be
provided. If in future such flaws are found you will need to take action as
described in the preceding answer.</p>
+ </li>
+ <li>
+ <p><strong>We plan to start a new project based on Struts 1. Can we still
do so?</strong></p>
+
+ <p>Basically yes, but we would not recommend doing so. As long as no code
line is written it is very easy to conceptually select an alternative web
framework such as Struts 2.</p>
+ </li>
+ <li>
+ <p><strong>We want to migrate our project from Struts 1 to another web
framework. What would you recommend?</strong></p>
+
+ <p>You should be aware that there is currently no âdrop-inâ
replacement for Struts 1. You will need to adapt your existing code to the
framework of choice. Basically every action based Java web framework is a
possible candidate. We as the Apache Struts Team can highly recommend
investigating Struts 2 as a successor framework - it is modern, highly
decoupled, feature rich, well maintained and successfully running in many
mission critical projects in the wild. It shares the same basic principles with
Struts 1, but offers a highly improved architecture and API. Other alternatives
are e.g. Spring Web MVC, Grails or Stripes.</p>
+ </li>
+ <li>
+ <p><strong>My friends / colleagues and I would like to see Struts 1 being
maintained again. What can we do?</strong></p>
-<p>As of now, actually no - that is what the EOL announcement essentially is
about. Since the end of support is reached, you will either need to find
mitigations, patch the existing Struts 1 source code yourself or migrate your
project to another web framework.</p></li>
-<li><p><strong>Is there an immediate need to eliminate Struts 1 from my
projects?</strong></p>
-
-<p>As far as the Struts team is currently aware of, there is no urgent issue
posing the immediate need to eliminate Struts 1 usage from your projects.
However, you should be aware that security and bug fixes will no longer be
provided. If in future such flaws are found you will need to take action as
described in the preceding answer.</p></li>
-<li><p><strong>We plan to start a new project based on Struts 1. Can we still
do so?</strong></p>
-
-<p>Basically yes, but we would not recommend doing so. As long as no code line
is written it is very easy to conceptually select an alternative web framework
such as Struts 2.</p></li>
-<li><p><strong>We want to migrate our project from Struts 1 to another web
framework. What would you recommend?</strong></p>
-
-<p>You should be aware that there is currently no "drop-in"
replacement for Struts 1. You will need to adapt your existing code to the
framework of choice. Basically every action based Java web framework is a
possible candidate. We as the Apache Struts Team can highly recommend
investigating Struts 2 as a successor framework - it is modern, highly
decoupled, feature rich, well maintained and successfully running in many
mission critical projects in the wild. It shares the same basic principles with
Struts 1, but offers a highly improved architecture and API. Other alternatives
are e.g. Spring Web MVC, Grails or Stripes.</p></li>
-<li><p><strong>My friends / colleagues and I would like to see Struts 1 being
maintained again. What can we do?</strong></p>
-
-<p>You are free to put effort in Struts 1. There are basically two possible
ways to do so: either fork the existing source, or engage in community building
within the Apache Struts Project. If there are enough people demonstrating
their will and ability to provide patches, maintenance and oversight in the
long run, there is nothing holding us back from putting Struts 1 back into
maintenance with the help of these volunteers.</p></li>
+ <p>You are free to put effort in Struts 1. There are basically two
possible ways to do so: either fork the existing source, or engage in community
building within the Apache Struts Project. If there are enough people
demonstrating their will and ability to provide patches, maintenance and
oversight in the long run, there is nothing holding us back from putting Struts
1 back into maintenance with the help of these volunteers.</p>
+ </li>
</ul>
</section>
@@ -192,5 +206,19 @@ Struts 1 in projects. See the following
}(document, 'script', 'facebook-jssdk'));</script>
+<script>
+$(function() {
+ return $("h2, h3, h4, h5, h6").each(function(i, el) {
+ var $el, icon, id;
+ $el = $(el);
+ id = $el.attr('id');
+ icon = '<i class="fa fa-link"></i>';
+ if (id) {
+ return $el.prepend($("<a />").addClass("header-link").attr("href", "#" +
id).html(icon));
+ }
+ });
+});
+</script>
+
</body>
</html>
Modified: websites/production/struts/content/struts1eol-press.html
==============================================================================
--- websites/production/struts/content/struts1eol-press.html (original)
+++ websites/production/struts/content/struts1eol-press.html Wed Dec 31
10:10:27 2014
@@ -10,9 +10,11 @@
<title>Apache Struts 1 EOL Press Release</title>
<link
href="//fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,400italic,600italic,700italic"
rel="stylesheet" type="text/css">
- <link rel="stylesheet" href="css/main.css">
+ <link
href="//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css"
rel="stylesheet">
+ <link href="css/main.css" rel="stylesheet">
+ <link href="css/custom.css" rel="stylesheet">
- <script type="text/javascript" src="js/jquery-1.11.0.min.js"></script>
+ <script
src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script type="text/javascript" src="bootstrap/js/bootstrap.js"></script>
<script type="text/javascript" src="js/community.js"></script>
</head>
@@ -118,7 +120,7 @@
<article class="container">
<section class="col-md-12">
- <h1>Apache Struts 1 End-Of-Life (EOL) Press Release</h1>
+ <h1 id="apache-struts-1-end-of-life-eol-press-release">Apache Struts 1
End-Of-Life (EOL) Press Release</h1>
<p><strong>2013-04-05 - The Apache Struts Project Team would like to inform
you that the Struts 1.x web framework has reached its end of life and is no
longer officially supported.</strong></p>
@@ -151,6 +153,7 @@ successfully running in many mission cri
Struts 1, but offers a highly improved architecture, API and solution
portfolio. Other alternatives include
Spring Web MVC, Grails or Stripes.</p>
+
</section>
</article>
@@ -190,5 +193,19 @@ Spring Web MVC, Grails or Stripes.</p>
}(document, 'script', 'facebook-jssdk'));</script>
+<script>
+$(function() {
+ return $("h2, h3, h4, h5, h6").each(function(i, el) {
+ var $el, icon, id;
+ $el = $(el);
+ id = $el.attr('id');
+ icon = '<i class="fa fa-link"></i>';
+ if (id) {
+ return $el.prepend($("<a />").addClass("header-link").attr("href", "#" +
id).html(icon));
+ }
+ });
+});
+</script>
+
</body>
</html>
Modified: websites/production/struts/content/submitting-patches.html
==============================================================================
--- websites/production/struts/content/submitting-patches.html (original)
+++ websites/production/struts/content/submitting-patches.html Wed Dec 31
10:10:27 2014
@@ -10,9 +10,11 @@
<title>Submitting patches</title>
<link
href="//fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,400italic,600italic,700italic"
rel="stylesheet" type="text/css">
- <link rel="stylesheet" href="css/main.css">
+ <link
href="//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css"
rel="stylesheet">
+ <link href="css/main.css" rel="stylesheet">
+ <link href="css/custom.css" rel="stylesheet">
- <script type="text/javascript" src="js/jquery-1.11.0.min.js"></script>
+ <script
src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script type="text/javascript" src="bootstrap/js/bootstrap.js"></script>
<script type="text/javascript" src="js/community.js"></script>
</head>
@@ -118,55 +120,61 @@
<article class="container">
<section class="col-md-12">
- <h1>Submitting patches</h1>
+ <h1 id="submitting-patches">Submitting patches</h1>
-<h2>Committers</h2>
+<h2 id="committers">Committers</h2>
<p>Struts uses Git and to manage the repository the git-flow was adopted, to
read more about that please follow the links below:</p>
<ul>
-<li><a
href="http://nvie.com/posts/a-successful-git-branching-model/">http://nvie.com/posts/a-successful-git-branching-model/</a></li>
-<li><a
href="https://github.com/petervanderdoes/gitflow">https://github.com/petervanderdoes/gitflow</a></li>
+ <li><a
href="http://nvie.com/posts/a-successful-git-branching-model/">http://nvie.com/posts/a-successful-git-branching-model/</a></li>
+ <li><a
href="https://github.com/petervanderdoes/gitflow">https://github.com/petervanderdoes/gitflow</a></li>
</ul>
<p>First step is to install git-flow AVH Edition locally on your box, please
follow the steps from this link</p>
<ul>
-<li><a
href="https://github.com/petervanderdoes/gitflow/wiki">https://github.com/petervanderdoes/gitflow/wiki</a></li>
+ <li><a
href="https://github.com/petervanderdoes/gitflow/wiki">https://github.com/petervanderdoes/gitflow/wiki</a></li>
</ul>
<p>Now you can clone Struts repository locally</p>
-<div class="highlight"><pre><code class="text language-text"
data-lang="text">git clone https://git-wip-us.apache.org/repos/asf/struts.git
-</code></pre></div>
+
+<pre><code>git clone https://git-wip-us.apache.org/repos/asf/struts.git
+</code></pre>
+
<p>After cloning the repository locally you must initialize git-flow:</p>
-<div class="highlight"><pre><code class="text language-text" data-lang="text">
git flow init -d
-</code></pre></div>
+
+<pre><code> git flow init -d
+</code></pre>
+
<p>and done!</p>
<p>Please remember that <code>master</code> branch cannot be modified directly
from now on!</p>
-<h2>Non-committers</h2>
+<h2 id="non-committers">Non-committers</h2>
+
+<p>If you arenât a committer you must use this link below or mirror at
GitHub</p>
-<p>If you aren't a committer you must use this link below or mirror at
GitHub</p>
-<div class="highlight"><pre><code class="text language-text"
data-lang="text">git clone git://git.apache.org/struts.git struts-copy
-</code></pre></div>
-<h2>Security patches</h2>
+<pre><code>git clone git://git.apache.org/struts.git struts-copy
+</code></pre>
+
+<h2 id="security-patches">Security patches</h2>
<p><strong>Please read carefully, this is very important!</strong></p>
<p>If you prepared a patch to solve security issue in Apache Struts, in the
first step contact us via
-<a href="mailto:[email protected]">Security Mailing List</a>.
Don't publish any information about possible vulnerability.
+<a
href="mailto:security@struts.apache.org">Security
Mailing List</a>. Donât publish any information about possible vulnerability.
Thus will allow us coordinate the work and review if the information about
issue can be disclosed publicly.
-We don't want to inform hackers before we can protect our users :-)</p>
+We donât want to inform hackers before we can protect our users :-)</p>
<p><strong>Be responsible!!!</strong></p>
-<h2>Contributing with GitHub</h2>
+<h2 id="contributing-with-github">Contributing with GitHub</h2>
<p>Using GitHub mirror is the simplest way to contribute to Apache Struts if
you are not a member
of Struts Comitters group.</p>
-<p>First you must have an account created at GitHub to be able perform the
next step. If you don't,
+<p>First you must have an account created at GitHub to be able perform the
next step. If you donât,
go ahead and create one just right now! Please remember to setup
<a href="https://help.github.com/articles/generating-ssh-keys">SSH keys</a>
and test them!</p>
@@ -190,70 +198,82 @@ your fork and branch to compare the diff
<p>Finally hit <code>Create Pull Request</code> button and you are done!</p>
-<h3>How to merge Pull Requests</h3>
+<h3 id="how-to-merge-pull-requests">How to merge Pull Requests</h3>
<p>This section is for committers only who want to merge incoming Pull
Requests. Please remember that the repo at GitHub
is read-only, we (committers) have limited rights to it.</p>
<p>To merge PR please add GitHub as a new remote to your local copy</p>
-<div class="highlight"><pre><code class="text language-text"
data-lang="text">git remote add github [email protected]:apache/struts.git
-</code></pre></div>
+
+<pre><code>git remote add github [email protected]:apache/struts.git
+</code></pre>
+
<p>then you can fetch the PR localy and put it under a branch</p>
-<div class="highlight"><pre><code class="text language-text"
data-lang="text">git fetch github pull/28/head:some-branch
-</code></pre></div>
+
+<pre><code>git fetch github pull/28/head:some-branch
+</code></pre>
+
<p>where</p>
<ul>
-<li><code>github</code> is remote name</li>
-<li><code>28</code> is Pull Request id
(https://github.com/apache/struts/pull/28)</li>
-<li><code>some-branch</code> local branch name, it can be the same as used to
create the PR</li>
+ <li><code>github</code> is remote name</li>
+ <li><code>28</code> is Pull Request id
(https://github.com/apache/struts/pull/28)</li>
+ <li><code>some-branch</code> local branch name, it can be the same as used
to create the PR</li>
</ul>
<p>now you can switch to this branch and test, review it</p>
-<div class="highlight"><pre><code class="text language-text"
data-lang="text">git checkout some-branch
-</code></pre></div>
+
+<pre><code>git checkout some-branch
+</code></pre>
+
<p>after reviewing, switch back to the <code>develop</code> branch and
merge</p>
-<div class="highlight"><pre><code class="text language-text"
data-lang="text">git checkout develop
-git merge some-branch -m "WW-XXXX Merges #28 which resolves ..."
-</code></pre></div>
-<p>using <code>-m</code> you can define your own merge message, it's a
good way to link merge commit with ticket in JIRA</p>
-<div class="highlight"><pre><code class="text language-text"
data-lang="text">git branch -d some-branch
-</code></pre></div>
-<p>remove the branch as it isn't needed anymore</p>
-<div class="highlight"><pre><code class="text language-text"
data-lang="text">git push
-</code></pre></div>
+
+<pre><code>git checkout develop
+git merge some-branch -m "WW-XXXX Merges #28 which resolves ..."
+</code></pre>
+
+<p>using <code>-m</code> you can define your own merge message, itâs a good
way to link merge commit with ticket in JIRA</p>
+
+<pre><code>git branch -d some-branch
+</code></pre>
+
+<p>remove the branch as it isnât needed anymore</p>
+
+<pre><code>git push
+</code></pre>
+
<p>after pushing changes, <code>asfbot</code> will close the PR at GitHub. </p>
-<h2>Further reading</h2>
+<h2 id="further-reading">Further reading</h2>
<ul>
-<li><a href="http://wiki.apache.org/general/GitAtApache">Git at Apache</a></li>
+ <li><a href="http://wiki.apache.org/general/GitAtApache">Git at
Apache</a></li>
</ul>
-<h1><span id="patch-reward">Google's Patch Reward program</h1>
+<h1 id="patch-reward">Googleâs Patch Reward program</h1>
<p>During <a href="http://www.meetup.com/sfhtml5/">SFHTML5</a> Google
announced that they adding the Apache Struts project to
-<a href="https://www.google.com/about/appsecurity/patch-rewards/">the
Google's Security Patch Reward Program</a>.</p>
+<a href="https://www.google.com/about/appsecurity/patch-rewards/">the
Googleâs Security Patch Reward Program</a>.</p>
<p>What does it mean?</p>
<p>If you prepared a patch that eliminates a security vulnerability or
improves existing security mechanism
you can get a bounty :-) You will find more details on
-<a
href="http://googleonlinesecurity.blogspot.com/2013/10/going-beyond-vulnerability-rewards.html">the
Google's blog</a>
+<a
href="http://googleonlinesecurity.blogspot.com/2013/10/going-beyond-vulnerability-rewards.html">the
Googleâs blog</a>
or under the link above, just to give you a quick guideline how does it
work:</p>
<ul>
-<li>prepare a patch and submit it to our <a
href="https://issues.apache.org/jira/browse/WW">JIRA</a>,
+ <li>prepare a patch and submit it to our <a
href="https://issues.apache.org/jira/browse/WW">JIRA</a>,
it can be a Pull Request on GitHub as well, but must reference the JIRA
ticket.</li>
-<li>let us know that you did something great, post a message to <a
href="dev-mail.html">Struts Dev mailing list</a></li>
-<li>we will review the patch and if it's a real great thing then we will
merge it into our code base</li>
-<li>just wait on official release of the Apache Struts and now you can request
the reward from Google :-)</li>
+ <li>let us know that you did something great, post a message to <a
href="dev-mail.html">Struts Dev mailing list</a></li>
+ <li>we will review the patch and if itâs a real great thing then we will
merge it into our code base</li>
+ <li>just wait on official release of the Apache Struts and now you can
request the reward from Google :-)</li>
</ul>
<p><strong>NOTE</strong></p>
<p>If you are concerned that your patch can disclose a security vulnerability,
instead of submitting it as a ticket,
-send it directly to the <a href="mailto:[email protected]">Struts
Security team</a>. This will give us the possibility
+send it directly to the <a
href="mailto:security@struts.apache.org">Struts
Security team</a>. This will give us the possibility
to prepare a new release with your patch in secret.</p>
<p>Have fun and code!</p>
@@ -297,5 +317,19 @@ to prepare a new release with your patch
}(document, 'script', 'facebook-jssdk'));</script>
+<script>
+$(function() {
+ return $("h2, h3, h4, h5, h6").each(function(i, el) {
+ var $el, icon, id;
+ $el = $(el);
+ id = $el.attr('id');
+ icon = '<i class="fa fa-link"></i>';
+ if (id) {
+ return $el.prepend($("<a />").addClass("header-link").attr("href", "#" +
id).html(icon));
+ }
+ });
+});
+</script>
+
</body>
</html>
Modified: websites/production/struts/content/volunteers.html
==============================================================================
--- websites/production/struts/content/volunteers.html (original)
+++ websites/production/struts/content/volunteers.html Wed Dec 31 10:10:27 2014
@@ -10,9 +10,11 @@
<title>Volunteers</title>
<link
href="//fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,400italic,600italic,700italic"
rel="stylesheet" type="text/css">
- <link rel="stylesheet" href="css/main.css">
+ <link
href="//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css"
rel="stylesheet">
+ <link href="css/main.css" rel="stylesheet">
+ <link href="css/custom.css" rel="stylesheet">
- <script type="text/javascript" src="js/jquery-1.11.0.min.js"></script>
+ <script
src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script type="text/javascript" src="bootstrap/js/bootstrap.js"></script>
<script type="text/javascript" src="js/community.js"></script>
</head>
@@ -118,94 +120,94 @@
<article class="container">
<section class="col-md-12">
- <h1>Volunteers</h1>
+ <h1 id="volunteers">Volunteers</h1>
<p>The project consists of a diverse group of volunteers who share common
values regarding collaborative,
community-based open source development. If you are interested in some
statistics, you can find
-some <a
href="http://www.apache.org/%7Evgritsenko/stats/projects/struts">here</a></p>
+some <a
href="http://www.apache.org/~vgritsenko/stats/projects/struts">here</a></p>
-<h2>Project Management Committee Members</h2>
+<h2 id="project-management-committee-members">Project Management Committee
Members</h2>
<p>Committee members are listed in the chronological order, according to the
date each person become a committer
or committee member.</p>
<ul>
-<li>James Holmes (jholmes at apache.org)</li>
-<li>Don Brown (mrdon at apache.org)</li>
-<li>Wendy Smoak (wsmoak at apache.org)</li>
-<li>Laurie Harper (laurieh at apache.org)</li>
-<li>Alexandru Popescu (apopescu at apache.org)</li>
-<li>Rene Gielen, Vice President and Chair (rgielen at apache.org)</li>
-<li>Rainer Hermanns (hermanns at apache.org)</li>
-<li>Toby Jee (tmjee at apache.org)</li>
-<li>Paul Benedict (pbenedict at apache.org)</li>
-<li>Musachy Barroso (musachy at apache.org)</li>
-<li>Dave Newton (davenewton at apache.org)</li>
-<li>Wes Wannemacher (wesw at apache.org)</li>
-<li>Lukasz Lenart (lukaszlenart at apache.org)</li>
-<li>Philip Luppens (phil at apache.org)</li>
-<li>Maurizio Cucchiara (mcucchiara at apache.org)</li>
-<li>Johannes Geppert (jogep at apache.org)</li>
-<li>Christian Grobmeier (grobmeier at apache.org)</li>
+ <li>James Holmes (jholmes at apache.org)</li>
+ <li>Don Brown (mrdon at apache.org)</li>
+ <li>Wendy Smoak (wsmoak at apache.org)</li>
+ <li>Laurie Harper (laurieh at apache.org)</li>
+ <li>Alexandru Popescu (apopescu at apache.org)</li>
+ <li>Rene Gielen, Vice President and Chair (rgielen at apache.org)</li>
+ <li>Rainer Hermanns (hermanns at apache.org)</li>
+ <li>Toby Jee (tmjee at apache.org)</li>
+ <li>Paul Benedict (pbenedict at apache.org)</li>
+ <li>Musachy Barroso (musachy at apache.org)</li>
+ <li>Dave Newton (davenewton at apache.org)</li>
+ <li>Wes Wannemacher (wesw at apache.org)</li>
+ <li>Lukasz Lenart (lukaszlenart at apache.org)</li>
+ <li>Philip Luppens (phil at apache.org)</li>
+ <li>Maurizio Cucchiara (mcucchiara at apache.org)</li>
+ <li>Johannes Geppert (jogep at apache.org)</li>
+ <li>Christian Grobmeier (grobmeier at apache.org)</li>
</ul>
-<h2>Committers</h2>
+<h2 id="committers">Committers</h2>
<p>Other committers are listed in the chronological order, according to the
date each person became a committer.</p>
<ul>
-<li>Michael Jouravlev (mikus at apache.org)</li>
-<li>Bob Lee (crazybob at apache.org)</li>
-<li>David H. DeWolf (ddewolf at apache.org)</li>
-<li>Tom Schneider (tschneider at apache.org)</li>
-<li>Matt Raible (mraible at apache.org)</li>
-<li>Brian Pontarelli (bpontarelli at apache.org)</li>
-<li>Jeromy Evans (jeromy at apache.org)</li>
-<li>Mathias Bogaert (pathos at apache.org)</li>
-<li>John Lindal (jafl at apache.org)</li>
-<li>Bruce A. Phillips (bphillips at apache.org)</li>
-<li>Greg Huber (ghuber at apache.org)</li>
-<li>Christoph Nenning (cnenning at apache.org)</li>
+ <li>Michael Jouravlev (mikus at apache.org)</li>
+ <li>Bob Lee (crazybob at apache.org)</li>
+ <li>David H. DeWolf (ddewolf at apache.org)</li>
+ <li>Tom Schneider (tschneider at apache.org)</li>
+ <li>Matt Raible (mraible at apache.org)</li>
+ <li>Brian Pontarelli (bpontarelli at apache.org)</li>
+ <li>Jeromy Evans (jeromy at apache.org)</li>
+ <li>Mathias Bogaert (pathos at apache.org)</li>
+ <li>John Lindal (jafl at apache.org)</li>
+ <li>Bruce A. Phillips (bphillips at apache.org)</li>
+ <li>Greg Huber (ghuber at apache.org)</li>
+ <li>Christoph Nenning (cnenning at apache.org)</li>
</ul>
-<h2>Emeritus Volunteers</h2>
+<h2 id="emeritus-volunteers">Emeritus Volunteers</h2>
<p>Emeritus volunteers are no longer active in the project. An emeritus
volunteer can become active again upon request.
-("Merit never expires.")</p>
+(âMerit never expires.â)</p>
<ul>
-<li>Luis Arias</li>
-<li>David Geary (dgeary at apache.org)</li>
-<li>Pierre Delisle (pierred at apache.org)</li>
-<li>Michael Schachter</li>
-<li>Vincent Massol (vmassol at apache.org)</li>
-<li>David Winterfeldt (dwinterfeldt at apache.org)</li>
-<li>Oleg Alexeev (oalexeev at apache.org)</li>
-<li>Rob Leland (rleland at apache.org)</li>
-<li>Arron Bates (arron at apache.org)</li>
-<li>Steve Raeburn (PMC) (sraeburn at apache.org)</li>
-<li>James Turner (turner at apache.org)</li>
-<li>Sean Schofield (PMC) (schof at apache.org)</li>
-<li>Richard Feit (rich at apache.org)</li>
-<li>David M. Karr (PMC) (dmkarr at apache.org)</li>
-<li>David Graham (PMC) (dgraham at apache.org)</li>
-<li>Eddie Bush (ekbush at apache.org)</li>
-<li>Henri Yandell (PMC) (bayard at apache.org)</li>
-<li>Patrick Lightbody (PMC) (plightbo at apache.org)</li>
-<li>Greg Reddin (PMC) (greddin at apache.org)</li>
-<li>Ian Roughley (PMC) (roughley at apache.org)</li>
-<li>Craig R. McClanahan (PMC) (craigmcc at apache.org)</li>
-<li>Joe Germuska (PMC) (germuska at apache.org)</li>
-<li>Hubert Rabago (PMC) (hrabago at apache.org)</li>
-<li>Gary VanMatre (PMC) (gvanmatre at apache.org)</li>
-<li>Jason Carreira (PMC) (jcarreira at apache.org)</li>
-<li>Cedric Dumoulin (PMC) (cedric at apache.org)</li>
-<li>James Mitchell (PMC) (jmitchell at apache.org)</li>
-<li>Antonio Petrelli (PMC) (apetrelli at apache.org)</li>
-<li>Ted Husted (PMC) (husted at apache.org)</li>
-<li>Nils-Helge Garli Hegvik (PMC) (nilsga at apache.org)</li>
-<li>Martin Cooper (PMC) (martinc at apache.org)</li>
-<li>Niall Pemberton (PMC) (niallp at apache.org)</li>
+ <li>Luis Arias</li>
+ <li>David Geary (dgeary at apache.org)</li>
+ <li>Pierre Delisle (pierred at apache.org)</li>
+ <li>Michael Schachter</li>
+ <li>Vincent Massol (vmassol at apache.org)</li>
+ <li>David Winterfeldt (dwinterfeldt at apache.org)</li>
+ <li>Oleg Alexeev (oalexeev at apache.org)</li>
+ <li>Rob Leland (rleland at apache.org)</li>
+ <li>Arron Bates (arron at apache.org)</li>
+ <li>Steve Raeburn (PMC) (sraeburn at apache.org)</li>
+ <li>James Turner (turner at apache.org)</li>
+ <li>Sean Schofield (PMC) (schof at apache.org)</li>
+ <li>Richard Feit (rich at apache.org)</li>
+ <li>David M. Karr (PMC) (dmkarr at apache.org)</li>
+ <li>David Graham (PMC) (dgraham at apache.org)</li>
+ <li>Eddie Bush (ekbush at apache.org)</li>
+ <li>Henri Yandell (PMC) (bayard at apache.org)</li>
+ <li>Patrick Lightbody (PMC) (plightbo at apache.org)</li>
+ <li>Greg Reddin (PMC) (greddin at apache.org)</li>
+ <li>Ian Roughley (PMC) (roughley at apache.org)</li>
+ <li>Craig R. McClanahan (PMC) (craigmcc at apache.org)</li>
+ <li>Joe Germuska (PMC) (germuska at apache.org)</li>
+ <li>Hubert Rabago (PMC) (hrabago at apache.org)</li>
+ <li>Gary VanMatre (PMC) (gvanmatre at apache.org)</li>
+ <li>Jason Carreira (PMC) (jcarreira at apache.org)</li>
+ <li>Cedric Dumoulin (PMC) (cedric at apache.org)</li>
+ <li>James Mitchell (PMC) (jmitchell at apache.org)</li>
+ <li>Antonio Petrelli (PMC) (apetrelli at apache.org)</li>
+ <li>Ted Husted (PMC) (husted at apache.org)</li>
+ <li>Nils-Helge Garli Hegvik (PMC) (nilsga at apache.org)</li>
+ <li>Martin Cooper (PMC) (martinc at apache.org)</li>
+ <li>Niall Pemberton (PMC) (niallp at apache.org)</li>
</ul>
</section>
@@ -247,5 +249,19 @@ or committee member.</p>
}(document, 'script', 'facebook-jssdk'));</script>
+<script>
+$(function() {
+ return $("h2, h3, h4, h5, h6").each(function(i, el) {
+ var $el, icon, id;
+ $el = $(el);
+ id = $el.attr('id');
+ icon = '<i class="fa fa-link"></i>';
+ if (id) {
+ return $el.prepend($("<a />").addClass("header-link").attr("href", "#" +
id).html(icon));
+ }
+ });
+});
+</script>
+
</body>
</html>
Modified: websites/production/struts/content/youatstruts.html
==============================================================================
--- websites/production/struts/content/youatstruts.html (original)
+++ websites/production/struts/content/youatstruts.html Wed Dec 31 10:10:27 2014
@@ -10,9 +10,11 @@
<title>You at Struts</title>
<link
href="//fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,400italic,600italic,700italic"
rel="stylesheet" type="text/css">
- <link rel="stylesheet" href="css/main.css">
+ <link
href="//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css"
rel="stylesheet">
+ <link href="css/main.css" rel="stylesheet">
+ <link href="css/custom.css" rel="stylesheet">
- <script type="text/javascript" src="js/jquery-1.11.0.min.js"></script>
+ <script
src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script type="text/javascript" src="bootstrap/js/bootstrap.js"></script>
<script type="text/javascript" src="js/community.js"></script>
</head>
@@ -118,7 +120,7 @@
<article class="container">
<section class="col-md-12">
- <h1>You at Apache Struts</h1>
+ <h1 id="you-at-apache-struts">You at Apache Struts</h1>
<p>We are happy you are considering to contribute to Apache Struts and
we are definitely looking forward to your work.</p>
@@ -129,7 +131,7 @@ Apache Software Foundation (nor does any
and most of us are not paid by a company for working on Struts.</p>
<p>Still we are happy to contribute, meet up from time to time and
-provide user support. That's because we have formed a community
+provide user support. Thatâs because we have formed a community
where we know, trust, and learn from each other.</p>
<p>Considering that we are a grown set of people, you must understand
@@ -137,26 +139,26 @@ that you need to grow into the project a
While we are happy to accept your patches if they fit or discuss
technical changes on them with you, we cannot provide SCM access
on request. But if we start to believe you have grown into the project
-and would make a great addition to our committer community we'll
+and would make a great addition to our committer community weâll
held a private discussion and eventually invite you to join officially.</p>
-<p>You can read more about this on the page <a
href="http://www.apache.org/foundation/how-it-works.html">"How the ASF
works"</a>.</p>
+<p>You can read more about this on the page <a
href="http://www.apache.org/foundation/how-it-works.html">âHow the ASF
worksâ</a>.</p>
-<p>Now as you have understood that you don't need to ask for anything to
start,
+<p>Now as you have understood that you donât need to ask for anything to
start,
you can simply start. It is always a good idea to first subscribe to the
<a href="dev-mail.html">Developers Mailinglist</a>. We are discussing
everything
around Struts in public (except a few things, like discussions on persons).
-With reading the developers list you'll get a good idea what we are
planning
+With reading the developers list youâll get a good idea what we are planning
and maybe even how you can help.</p>
<p>Another way is to simply look through the <a
href="https://issues.apache.org/jira/browse/WW">Issue Tracker</a>
-and work on a patch. It's recommended to first try to understand and then
discuss
+and work on a patch. Itâs recommended to first try to understand and then
discuss
what you plan on the mailing list. This way we will find out if we are on
the same page and of course will learn about you.</p>
<p>Please note, not only code contributions are welcome. We also invite people
to join us because they have written extraordinary examples, documentation
-or help a lot on the user mailing lists. For us, "Community is over
Code".
+or help a lot on the user mailing lists. For us, âCommunity is over Codeâ.
And a good community does not reduce itself to people who write code.</p>
<p>If you like, you can read Craig R. McClanahans article on
@@ -214,5 +216,19 @@ more information how you can help us.</p
}(document, 'script', 'facebook-jssdk'));</script>
+<script>
+$(function() {
+ return $("h2, h3, h4, h5, h6").each(function(i, el) {
+ var $el, icon, id;
+ $el = $(el);
+ id = $el.attr('id');
+ icon = '<i class="fa fa-link"></i>';
+ if (id) {
+ return $el.prepend($("<a />").addClass("header-link").attr("href", "#" +
id).html(icon));
+ }
+ });
+});
+</script>
+
</body>
</html>