You are viewing a plain text version of this content. The canonical link for it is here.
Posted to s4-commits@incubator.apache.org by mm...@apache.org on 2013/03/02 17:57:53 UTC

svn commit: r1451912 - in /incubator/s4/site: ./ contrib/ doc/0.6.0/ doc/0.6.0/application_dependencies/ doc/0.6.0/configuration/ doc/0.6.0/dev_tips/ doc/0.6.0/event_dispatch/ doc/0.6.0/fault_tolerance/ doc/0.6.0/metrics/ doc/0.6.0/overview/ doc/0.6.0/...

Author: mmorel
Date: Sat Mar  2 17:57:52 2013
New Revision: 1451912

URL: http://svn.apache.org/r1451912
Log:
0.6 draft documentation updates

Added:
    incubator/s4/site/doc/0.6.0/recommended_practices/
    incubator/s4/site/doc/0.6.0/recommended_practices/index.html
    incubator/s4/site/doc/0.6.0/tools/
    incubator/s4/site/doc/0.6.0/tools/index.html
    incubator/s4/site/doc/0.6.0/twitter_trending_example/
    incubator/s4/site/doc/0.6.0/twitter_trending_example/index.html
Modified:
    incubator/s4/site/contrib/index.html
    incubator/s4/site/doc/0.6.0/application_dependencies/index.html
    incubator/s4/site/doc/0.6.0/configuration/index.html
    incubator/s4/site/doc/0.6.0/dev_tips/index.html
    incubator/s4/site/doc/0.6.0/event_dispatch/index.html
    incubator/s4/site/doc/0.6.0/fault_tolerance/index.html
    incubator/s4/site/doc/0.6.0/index.html
    incubator/s4/site/doc/0.6.0/metrics/index.html
    incubator/s4/site/doc/0.6.0/overview/index.html
    incubator/s4/site/doc/0.6.0/walkthrough/index.html
    incubator/s4/site/download/index.html
    incubator/s4/site/index.html
    incubator/s4/site/style/pygmentize.css
    incubator/s4/site/style/style.css
    incubator/s4/site/team/index.html

Modified: incubator/s4/site/contrib/index.html
URL: http://svn.apache.org/viewvc/incubator/s4/site/contrib/index.html?rev=1451912&r1=1451911&r2=1451912&view=diff
==============================================================================
--- incubator/s4/site/contrib/index.html (original)
+++ incubator/s4/site/contrib/index.html Sat Mar  2 17:57:52 2013
@@ -13,7 +13,7 @@
 <script type="text/javascript">
         var _gaq = _gaq || [];
         _gaq.push(['_setAccount', 'UA-19490961-1']);
-        _gaq.push(['_setDomainName', '.s4.io']);
+        _gaq.push(['_setDomainName', 'incubator.apache.org']);
         _gaq.push(['_trackPageview']);
         (function() {
           var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;

Modified: incubator/s4/site/doc/0.6.0/application_dependencies/index.html
URL: http://svn.apache.org/viewvc/incubator/s4/site/doc/0.6.0/application_dependencies/index.html?rev=1451912&r1=1451911&r2=1451912&view=diff
==============================================================================
--- incubator/s4/site/doc/0.6.0/application_dependencies/index.html (original)
+++ incubator/s4/site/doc/0.6.0/application_dependencies/index.html Sat Mar  2 17:57:52 2013
@@ -13,7 +13,7 @@
 <script type="text/javascript">
         var _gaq = _gaq || [];
         _gaq.push(['_setAccount', 'UA-19490961-1']);
-        _gaq.push(['_setDomainName', '.s4.io']);
+        _gaq.push(['_setDomainName', 'incubator.apache.org']);
         _gaq.push(['_trackPageview']);
         (function() {
           var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;

Modified: incubator/s4/site/doc/0.6.0/configuration/index.html
URL: http://svn.apache.org/viewvc/incubator/s4/site/doc/0.6.0/configuration/index.html?rev=1451912&r1=1451911&r2=1451912&view=diff
==============================================================================
--- incubator/s4/site/doc/0.6.0/configuration/index.html (original)
+++ incubator/s4/site/doc/0.6.0/configuration/index.html Sat Mar  2 17:57:52 2013
@@ -13,7 +13,7 @@
 <script type="text/javascript">
         var _gaq = _gaq || [];
         _gaq.push(['_setAccount', 'UA-19490961-1']);
-        _gaq.push(['_setDomainName', '.s4.io']);
+        _gaq.push(['_setDomainName', 'incubator.apache.org']);
         _gaq.push(['_trackPageview']);
         (function() {
           var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
@@ -153,7 +153,7 @@
 </ul>
 <h2 id="modules-configuration">Modules configuration</h2>
 
-<p>S4 follows a modular design and uses<a href="http://code.google.com/p/google-guice/">Guice</a> for defining modules and injecting dependencies.</p>
+<p>S4 follows a modular design and uses <a href="http://code.google.com/p/google-guice/">Guice</a> for defining modules and injecting dependencies.</p>
 
 <p>As illustrated above, an S4 node is composed of:
 * a base module that specifies how to connect to the cluster manager and how to download code
@@ -171,7 +171,7 @@
 
 <p>We provide default modules, but you may directly specify others through the command line, and it is also possible to override them with new modules and even specify new ones (custom modules classes must provide an empty no-args constructor).</p>
 
-<p>Custom overriding modules can be specified when deploying the application, through the<code>deploy</code> command, through the <em>emc</em> or <em>modulesClasses</em> option.</p>
+<p>Custom overriding modules can be specified when deploying the application, through the<code>deploy</code> command, through the <code>emc</code> or <code>modulesClasses</code> option.</p>
 
 <p>For instance, in order to enable file system based checkpointing, pass the corresponding checkpointing module class :</p>
 
@@ -179,7 +179,7 @@
 -emc=org.apache.s4.core.ft.FileSystemBackendCheckpointingModule 
 </code></pre>
 
-<p>You can also write your own custom modules. In that case, just package them into a jar file, and specify how to fetch that file when deploying the application, with the <em>mu</em> or <em>modulesURIs</em>  option.</p>
+<p>You can also write your own custom modules. In that case, just package them into a jar file, and specify how to fetch that file when deploying the application, with the <code>mu</code> or <code>modulesURIs</code>  option.</p>
 
 <p>For instance, if you checkpoint through a specific key value store, you can write you own checkpointing implementation and module, package that into fancyKeyValueStoreCheckpointingModule.jar , and then:</p>
 
@@ -199,7 +199,7 @@
 <span class="kt">int</span> <span class="n">port</span></code></pre>
 
 <ul>
-<li>specifying the parameter value at node startup (using -p inline with the node command, or with the ‘@’ syntax)</li>
+<li>specifying the parameter value at node startup (using <code>-p</code> inline with the node command, or with the ‘<code>@</code>’ syntax)</li>
 </ul>
 <p>S4 uses an internal Guice module that automatically injects configuration parameters passed through the deploy command to matching <code>@Named</code> parameters.</p>
 

Modified: incubator/s4/site/doc/0.6.0/dev_tips/index.html
URL: http://svn.apache.org/viewvc/incubator/s4/site/doc/0.6.0/dev_tips/index.html?rev=1451912&r1=1451911&r2=1451912&view=diff
==============================================================================
--- incubator/s4/site/doc/0.6.0/dev_tips/index.html (original)
+++ incubator/s4/site/doc/0.6.0/dev_tips/index.html Sat Mar  2 17:57:52 2013
@@ -13,7 +13,7 @@
 <script type="text/javascript">
         var _gaq = _gaq || [];
         _gaq.push(['_setAccount', 'UA-19490961-1']);
-        _gaq.push(['_setDomainName', '.s4.io']);
+        _gaq.push(['_setDomainName', 'incubator.apache.org']);
         _gaq.push(['_trackPageview']);
         (function() {
           var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
@@ -84,7 +84,7 @@
 
 <ul>
 <li>
-    <p>Use the default test configuration (2 clusters with following configs: <code>c=testCluster1:flp=12000:nbTasks=1</code> and <code>c=testCluster2:flp=13000:nbTasks=1</code>)</p>
+    <p>Use the default test configuration (2 clusters with following configs: <code>-c=testCluster1:flp=12000:nbTasks=1</code> and <code>-c=testCluster2:flp=13000:nbTasks=1</code>)</p>
 
     <pre><code>  s4 zkServer -t
 </code></pre>
@@ -101,17 +101,19 @@
 
 <p>This allows to <em>skip the packaging phase!</em></p>
 
-<p>A requirement is that you have both the application classes and the S4 classes in your classpath. See above.</p>
+<p>Requirements:</p>
 
-<p>Then you just need to run the <code>org.apache.s4.core.Main</code> class and pass:</p>
+<ul>
+<li>application classes <strong>and</strong> S4 classes are in your classpath. See above.</li>
+  <li>application already configured in cluster (with the <code>-appClass</code> option, no need to package the app)</li>
+</ul>
+<p>Then just run the <code>org.apache.s4.core.S4Node</code> class and pass:</p>
 
 <ul>
 <li>the cluster name: <code>-c=testCluster1</code>
 </li>
-  <li>the app class name: <code>-appClass=myAppClass</code>
-</li>
 </ul>
-<p>If you use a local Zookeeper instance, there is no need to specify the <code>-zk</code> option.</p>
+<p>If you use a local Zookeeper instance on the default port (2181), there is no need to specify the <code>-zk</code> option.</p>
 </div>
     </div>
     <div id="footer">

Modified: incubator/s4/site/doc/0.6.0/event_dispatch/index.html
URL: http://svn.apache.org/viewvc/incubator/s4/site/doc/0.6.0/event_dispatch/index.html?rev=1451912&r1=1451911&r2=1451912&view=diff
==============================================================================
--- incubator/s4/site/doc/0.6.0/event_dispatch/index.html (original)
+++ incubator/s4/site/doc/0.6.0/event_dispatch/index.html Sat Mar  2 17:57:52 2013
@@ -13,7 +13,7 @@
 <script type="text/javascript">
         var _gaq = _gaq || [];
         _gaq.push(['_setAccount', 'UA-19490961-1']);
-        _gaq.push(['_setDomainName', '.s4.io']);
+        _gaq.push(['_setDomainName', 'incubator.apache.org']);
         _gaq.push(['_trackPageview']);
         (function() {
           var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;

Modified: incubator/s4/site/doc/0.6.0/fault_tolerance/index.html
URL: http://svn.apache.org/viewvc/incubator/s4/site/doc/0.6.0/fault_tolerance/index.html?rev=1451912&r1=1451911&r2=1451912&view=diff
==============================================================================
--- incubator/s4/site/doc/0.6.0/fault_tolerance/index.html (original)
+++ incubator/s4/site/doc/0.6.0/fault_tolerance/index.html Sat Mar  2 17:57:52 2013
@@ -13,7 +13,7 @@
 <script type="text/javascript">
         var _gaq = _gaq || [];
         _gaq.push(['_setAccount', 'UA-19490961-1']);
-        _gaq.push(['_setDomainName', '.s4.io']);
+        _gaq.push(['_setDomainName', 'incubator.apache.org']);
         _gaq.push(['_trackPageview']);
         (function() {
           var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;

Modified: incubator/s4/site/doc/0.6.0/index.html
URL: http://svn.apache.org/viewvc/incubator/s4/site/doc/0.6.0/index.html?rev=1451912&r1=1451911&r2=1451912&view=diff
==============================================================================
--- incubator/s4/site/doc/0.6.0/index.html (original)
+++ incubator/s4/site/doc/0.6.0/index.html Sat Mar  2 17:57:52 2013
@@ -13,7 +13,7 @@
 <script type="text/javascript">
         var _gaq = _gaq || [];
         _gaq.push(['_setAccount', 'UA-19490961-1']);
-        _gaq.push(['_setDomainName', '.s4.io']);
+        _gaq.push(['_setDomainName', 'incubator.apache.org']);
         _gaq.push(['_trackPageview']);
         (function() {
           var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
@@ -68,6 +68,7 @@
 <ul>
 <li>You may start with an <a href="overview">overview</a> of the platform</li>
   <li>Then follow a <a href="walkthrough">walkthrough</a> for an hands-on introduction</li>
+  <li>Complement with a look at a <a href="twitter_trending_example">topic trending</a> application using Twitter data  </li>
   <li>And <a href="dev_tips">here</a> are some tips to ease the development process</li>
 </ul>
 <h2 id="configuration">Configuration</h2>
@@ -78,6 +79,11 @@
 </li>
   <li>
 <a href="event_dispatch">Dispatch events </a> within an application and between applications</li>
+</ul>
+<h2 id="running-s4">Running S4</h2>
+<ul>
+<li>
+<a href="tools">Commands</a> for creating, running and managing applications</li>
   <li>
 <a href="metrics">Monitor</a> the system</li>
 </ul>
@@ -90,11 +96,21 @@
 <h2 id="troubleshooting">Troubleshooting</h2>
 
 <ul>
-<li>Try the <a href="https://cwiki.apache.org/confluence/display/S4/FAQ">FAQ</a>
+<li><a href="recommended_practices">Recommended practices</a></li>
+  <li>Try the <a href="https://cwiki.apache.org/confluence/display/S4/FAQ">FAQ</a>
 </li>
   <li>Try the <a href="https://cwiki.apache.org/S4/s4-apache-mailing-lists.html">mailing lists</a>
 </li>
 </ul>
+<h2 id="resources">Resources</h2>
+<ul>
+<li>Questions can be asked through the <a href="https://cwiki.apache.org/confluence/display/S4/S4+Apache+mailing+lists">mailing lists</a>
+</li>
+  <li>The source code is available through <a href="https://git-wip-us.apache.org/repos/asf?p=incubator-s4.git">git</a>, <a href="http://incubator.apache.org/s4/contrib/">here</a> are instructions for fetching the code.</li>
+  <li>A nice set of <a href="http://www.slideshare.net/leoneu/20111104-s4-overview">slides</a> was used for a presentation at Stanford in November 2011.</li>
+  <li>The driving ideas are detailed in a <a href="http://www.4lunas.org/pub/2010-s4.pdf">conference publication</a> from KDCloud’11</li>
+  <li>You can also watch the <a href="http://vimeo.com/20489778">video</a> of a presentation given at LinkedIn.</li>
+</ul>
 </div>
     </div>
     <div id="footer">

Modified: incubator/s4/site/doc/0.6.0/metrics/index.html
URL: http://svn.apache.org/viewvc/incubator/s4/site/doc/0.6.0/metrics/index.html?rev=1451912&r1=1451911&r2=1451912&view=diff
==============================================================================
--- incubator/s4/site/doc/0.6.0/metrics/index.html (original)
+++ incubator/s4/site/doc/0.6.0/metrics/index.html Sat Mar  2 17:57:52 2013
@@ -13,7 +13,7 @@
 <script type="text/javascript">
         var _gaq = _gaq || [];
         _gaq.push(['_setAccount', 'UA-19490961-1']);
-        _gaq.push(['_setDomainName', '.s4.io']);
+        _gaq.push(['_setDomainName', 'incubator.apache.org']);
         _gaq.push(['_trackPageview']);
         (function() {
           var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;

Modified: incubator/s4/site/doc/0.6.0/overview/index.html
URL: http://svn.apache.org/viewvc/incubator/s4/site/doc/0.6.0/overview/index.html?rev=1451912&r1=1451911&r2=1451912&view=diff
==============================================================================
--- incubator/s4/site/doc/0.6.0/overview/index.html (original)
+++ incubator/s4/site/doc/0.6.0/overview/index.html Sat Mar  2 17:57:52 2013
@@ -13,7 +13,7 @@
 <script type="text/javascript">
         var _gaq = _gaq || [];
         _gaq.push(['_setAccount', 'UA-19490961-1']);
-        _gaq.push(['_setDomainName', '.s4.io']);
+        _gaq.push(['_setDomainName', 'incubator.apache.org']);
         _gaq.push(['_trackPageview']);
         (function() {
           var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
@@ -67,7 +67,7 @@
 
 <ul>
 <li>
-<strong>performance improvements</strong>: stream throughput improved by 1000 % (~200k messages / s / stream)</li>
+<strong>performance improvements</strong>: stream throughput improved by 1000 % (200k+ messages / s / stream)</li>
   <li>improved [configurability](S4:Configuration - 0.6.0], for both the S4 platform and deployed applications</li>
   <li>
 <strong>elasticity</strong> and fine partition tuning, through an integration with Apache Helix</li>
@@ -166,17 +166,7 @@
 
 <h1 id="where-can-i-find-more-information">Where can I find more information?</h1>
 
-<ul>
-<li>
-<a href="http://incubator.apache.org/s4/">The website</a> is a good starting point.</li>
-  <li>
-<a href="https://cwiki.apache.org/confluence/display/S4/">The wiki</a> currently contains the most up-to-date information: general information (this page), configuration, examples.</li>
-  <li>Questions can be asked through the <a href="https://cwiki.apache.org/confluence/display/S4/S4+Apache+mailing+lists">mailing lists</a>
-</li>
-  <li>The source code is available throught [git](https://git-wip-us.apache.org/repos/asf?p=incubator-s4.git], <a href="http://incubator.apache.org/s4/contrib/">here</a> are instructions for fetching the code.</li>
-  <li>A nice set of <a href="http://www.slideshare.net/leoneu/20111104-s4-overview">slides</a> was used for a presentation at Stanford in November 2011.</li>
-  <li>The driving ideas are detailed in a <a href="http://www.4lunas.org/pub/2010-s4.pdf">conference publication</a> from KDCloud’11 (joint workshop with ICDM’11)</li>
-</ul>
+<p>See the <a href="resources">resources</a> page.</p>
 </div>
     </div>
     <div id="footer">

Added: incubator/s4/site/doc/0.6.0/recommended_practices/index.html
URL: http://svn.apache.org/viewvc/incubator/s4/site/doc/0.6.0/recommended_practices/index.html?rev=1451912&view=auto
==============================================================================
--- incubator/s4/site/doc/0.6.0/recommended_practices/index.html (added)
+++ incubator/s4/site/doc/0.6.0/recommended_practices/index.html Sat Mar  2 17:57:52 2013
@@ -0,0 +1,74 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<title>S4: Recommended practices</title>
+<meta content="A general-purpose distributed stream computing platform" name="description">
+<link href="../../../style/screen.css" media="screen" rel="stylesheet" type="text/css">
+<link href="../../../style/print.css" media="print" rel="stylesheet" type="text/css">
+<!--[if lt IE 9]>
+      <link href="../../../style/ie.css" media="screen" rel="stylesheet" type="text/css">
+    <![endif]--><link href="../../../style/style.css" rel="stylesheet" type="text/css">
+<link href="../../../style/nav.css" rel="stylesheet" type="text/css">
+<script type="text/javascript">
+        var _gaq = _gaq || [];
+        _gaq.push(['_setAccount', 'UA-19490961-1']);
+        _gaq.push(['_setDomainName', 'incubator.apache.org']);
+        _gaq.push(['_trackPageview']);
+        (function() {
+          var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+          ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+          var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+        })();
+      </script><link href="../../../style/coderay.css" rel="stylesheet" type="text/css">
+<link href="../../../style/pygmentize.css" rel="stylesheet" type="text/css">
+</head>
+<body>
+    <div id="header">
+      <div class="container">
+        <div id="logo">
+          <a href="../../../">
+            <img src="../../../images/s4_test.png"></a>
+        </div>
+        <div id="navbar"><ul id="nav">
+<li>
+    <a href="../../../">home</a>
+  </li>
+  <li>
+    <a href="https://cwiki.apache.org/confluence/display/S4/S4+Wiki">doc [0.5]</a>
+  </li>
+  <li>
+    <a href="http://git-wip-us.apache.org/repos/asf?p=incubator-s4.git" onclick="_gaq.push(['_trackEvent', 'External', 'Apache Git', 'http://github.com/s4']);">code</a>
+  </li>
+  <li>
+    <a href="http://people.apache.org/~mmorel/apache-s4-0.5.0-incubating-doc/javadoc/">API</a>
+  </li>
+  <li>
+    <a href="../../../contrib">get involved</a>
+  </li>
+  <li>
+    <a href="../../../team">team</a>
+  </li>
+  <li>
+    <a href="../../../download">download</a>
+  </li>
+</ul></div>
+      </div>
+    </div>
+    <div id="wrapper">
+      <div class="container" id="container">
+<h1 id="do-not-reuse-s4-events">Do not reuse S4 events</h1>
+
+<p><strong>S4 events are immutable, however immutability is not currently enforced.</strong>
+Make sure you do not reuse incoming events and for instance simply update a field. Instead, create a new event (you may extend the <code>Event</code> class and defined a copy constructor) with the new field value.</p>
+
+<p>More information available in this <a href="https://issues.apache.org/jira/browse/S4-104">ticket</a></p>
+</div>
+    </div>
+    <div id="footer">
+      <div class="container">
+        <span class="copyright">Apache S4 - Copyright 2013 The Apache Software Foundation</span>
+      </div>
+    </div>
+  </body>
+</html>

Added: incubator/s4/site/doc/0.6.0/tools/index.html
URL: http://svn.apache.org/viewvc/incubator/s4/site/doc/0.6.0/tools/index.html?rev=1451912&view=auto
==============================================================================
--- incubator/s4/site/doc/0.6.0/tools/index.html (added)
+++ incubator/s4/site/doc/0.6.0/tools/index.html Sat Mar  2 17:57:52 2013
@@ -0,0 +1,144 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<title>S4: S4 commands</title>
+<meta content="A general-purpose distributed stream computing platform" name="description">
+<link href="../../../style/screen.css" media="screen" rel="stylesheet" type="text/css">
+<link href="../../../style/print.css" media="print" rel="stylesheet" type="text/css">
+<!--[if lt IE 9]>
+      <link href="../../../style/ie.css" media="screen" rel="stylesheet" type="text/css">
+    <![endif]--><link href="../../../style/style.css" rel="stylesheet" type="text/css">
+<link href="../../../style/nav.css" rel="stylesheet" type="text/css">
+<script type="text/javascript">
+        var _gaq = _gaq || [];
+        _gaq.push(['_setAccount', 'UA-19490961-1']);
+        _gaq.push(['_setDomainName', 'incubator.apache.org']);
+        _gaq.push(['_trackPageview']);
+        (function() {
+          var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+          ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+          var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+        })();
+      </script><link href="../../../style/coderay.css" rel="stylesheet" type="text/css">
+<link href="../../../style/pygmentize.css" rel="stylesheet" type="text/css">
+</head>
+<body>
+    <div id="header">
+      <div class="container">
+        <div id="logo">
+          <a href="../../../">
+            <img src="../../../images/s4_test.png"></a>
+        </div>
+        <div id="navbar"><ul id="nav">
+<li>
+    <a href="../../../">home</a>
+  </li>
+  <li>
+    <a href="https://cwiki.apache.org/confluence/display/S4/S4+Wiki">doc [0.5]</a>
+  </li>
+  <li>
+    <a href="http://git-wip-us.apache.org/repos/asf?p=incubator-s4.git" onclick="_gaq.push(['_trackEvent', 'External', 'Apache Git', 'http://github.com/s4']);">code</a>
+  </li>
+  <li>
+    <a href="http://people.apache.org/~mmorel/apache-s4-0.5.0-incubating-doc/javadoc/">API</a>
+  </li>
+  <li>
+    <a href="../../../contrib">get involved</a>
+  </li>
+  <li>
+    <a href="../../../team">team</a>
+  </li>
+  <li>
+    <a href="../../../download">download</a>
+  </li>
+</ul></div>
+      </div>
+    </div>
+    <div id="wrapper">
+      <div class="container" id="container">
+<blockquote>
+  <p>List of commands</p>
+</blockquote>
+
+<p>S4 ships with a toolkit for creating, packaging, deploying and running applications.</p>
+
+<p>From the source distribution, these tools are built by running:</p>
+
+<pre><code>gradlew s4-tools:installApp
+</code></pre>
+
+<p>This compiles the s4-tools subproject and generates shell scripts.</p>
+
+<h1 id="available-commands">Available commands</h1>
+
+<p>Here is the list of commands available with the <code>s4</code> tool. For each of these commands, the comprehensive documentation of all parameters is shown by specifying the <code>-help</code> option.</p>
+
+<p>Syntax: <code>s4 &lt;command&gt; &lt;options&gt;</code></p>
+
+<table>
+<thead><tr>
+<th>Purpose</th>
+      <th>Description</th>
+      <th>Command</th>
+    </tr></thead>
+<tbody>
+<tr>
+<td>Create a new application</td>
+      <td>Create a bootstrap project skeleton</td>
+      <td><code>newApp</code></td>
+    </tr>
+<tr>
+<td>Start a ZooKeeper server instance</td>
+      <td>Useful for testing</td>
+      <td><code>zkServer</code></td>
+    </tr>
+<tr>
+<td>Define an S4 cluster</td>
+      <td>Specify cluster size and initial ports for listening sockets</td>
+      <td><code>newCluster</code></td>
+    </tr>
+<tr>
+<td>Package an application</td>
+      <td>S4R archive to be deployed on S4 nodes</td>
+      <td><code>s4r</code></td>
+    </tr>
+<tr>
+<td>Deploy/configure an application</td>
+      <td>Specifies application and platform configuration</td>
+      <td><code>deploy</code></td>
+    </tr>
+<tr>
+<td>Start an S4 node</td>
+      <td>S4 node bootstrap process, connects to the cluster manager and fetches app and platform configuration, as specified through <code>deploy</code> command</td>
+      <td><code>node</code></td>
+    </tr>
+<tr>
+<td>Get information about S4 infrastructure</td>
+      <td>Shows status of S4 clusters, apps, nodes and external streams</td>
+      <td><code>status</code></td>
+    </tr>
+</tbody>
+</table>
+<p>In addition, for easy injection of data, the <code>adapter</code> command allows to start an node without having to package and deploy the application.</p>
+
+<h1 id="undeploying-an-application">Undeploying an application</h1>
+
+<p>There is currently no specific command for undeploying S4 applications. The recomended way for removing an application deployed on cluster C1 is to:</p>
+
+<ul>
+<li>kill S4 nodes belonging to cluster C1</li>
+  <li>delete ZooKeeper subtree /s4/clusters/C1</li>
+  <li>redefine cluster C1</li>
+  <li>deploy new application</li>
+  <li>restart nodes for cluster C1 (this could be automated with some utility like <a href="http://cr.yp.to/daemontools.html">daemontools</a>)</li>
+</ul>
+</div>
+    </div>
+    <div id="footer">
+      <div class="container">
+        <span class="copyright">Apache S4 - Copyright 2013 The Apache Software Foundation</span>
+      </div>
+    </div>
+  </body>
+</html>

Added: incubator/s4/site/doc/0.6.0/twitter_trending_example/index.html
URL: http://svn.apache.org/viewvc/incubator/s4/site/doc/0.6.0/twitter_trending_example/index.html?rev=1451912&view=auto
==============================================================================
--- incubator/s4/site/doc/0.6.0/twitter_trending_example/index.html (added)
+++ incubator/s4/site/doc/0.6.0/twitter_trending_example/index.html Sat Mar  2 17:57:52 2013
@@ -0,0 +1,166 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<title>S4: Twitter trending example</title>
+<meta content="A general-purpose distributed stream computing platform" name="description">
+<link href="../../../style/screen.css" media="screen" rel="stylesheet" type="text/css">
+<link href="../../../style/print.css" media="print" rel="stylesheet" type="text/css">
+<!--[if lt IE 9]>
+      <link href="../../../style/ie.css" media="screen" rel="stylesheet" type="text/css">
+    <![endif]--><link href="../../../style/style.css" rel="stylesheet" type="text/css">
+<link href="../../../style/nav.css" rel="stylesheet" type="text/css">
+<script type="text/javascript">
+        var _gaq = _gaq || [];
+        _gaq.push(['_setAccount', 'UA-19490961-1']);
+        _gaq.push(['_setDomainName', 'incubator.apache.org']);
+        _gaq.push(['_trackPageview']);
+        (function() {
+          var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+          ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+          var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+        })();
+      </script><link href="../../../style/coderay.css" rel="stylesheet" type="text/css">
+<link href="../../../style/pygmentize.css" rel="stylesheet" type="text/css">
+</head>
+<body>
+    <div id="header">
+      <div class="container">
+        <div id="logo">
+          <a href="../../../">
+            <img src="../../../images/s4_test.png"></a>
+        </div>
+        <div id="navbar"><ul id="nav">
+<li>
+    <a href="../../../">home</a>
+  </li>
+  <li>
+    <a href="https://cwiki.apache.org/confluence/display/S4/S4+Wiki">doc [0.5]</a>
+  </li>
+  <li>
+    <a href="http://git-wip-us.apache.org/repos/asf?p=incubator-s4.git" onclick="_gaq.push(['_trackEvent', 'External', 'Apache Git', 'http://github.com/s4']);">code</a>
+  </li>
+  <li>
+    <a href="http://people.apache.org/~mmorel/apache-s4-0.5.0-incubating-doc/javadoc/">API</a>
+  </li>
+  <li>
+    <a href="../../../contrib">get involved</a>
+  </li>
+  <li>
+    <a href="../../../team">team</a>
+  </li>
+  <li>
+    <a href="../../../download">download</a>
+  </li>
+</ul></div>
+      </div>
+    </div>
+    <div id="wrapper">
+      <div class="container" id="container">
+<blockquote>
+  <p>The <a href="../walkthrough">walkthrough</a> describes a very basic example; here is a more realistic one</p>
+</blockquote>
+
+<h1 id="twitter-trending-example">Twitter trending example</h1>
+
+<p>Let’s have a look at another application, that computes trendy Twitter topics by listening to the spritzer stream from the Twitter API. This application was adapted from a previous example in S4 0.3.</p>
+
+<h2 id="overview">Overview</h2>
+
+<p>This application is divided into:</p>
+
+<ul>
+<li>twitter-counter , in test-apps/twitter-counter/ : extracts topics from tweets and maintains a count of the most popular ones, periodically dumped to disk</li>
+  <li>twitter-adapter, in test-apps/twitter-adapter/ : listens to the feed from Twitter, converts status text into S4 events, and passes them to the “RawStatus” stream</li>
+</ul>
+<p>Have a look at the code in these directories. You’ll note that:</p>
+
+<ul>
+<li>the build.gradle file must be tailored to include new dependencies (twitter4j libs in twitter-adapter)</li>
+  <li>events are partitioned through various keys</li>
+</ul>
+<h2 id="run-it">Run it!</h2>
+
+<blockquote>
+  <p>Note: You need a twitter4j.properties file in your home directory with the following content (debug is optional):</p>
+</blockquote>
+
+<pre><code>debug=true
+user=&lt;a twitter username&gt;
+password=&lt;matching password&gt;
+</code></pre>
+
+<ul>
+<li>
+    <p>Start a Zookeeper instance. From the S4 base directory, do:</p>
+
+    <pre><code>  ./s4 zkServer
+</code></pre>
+  </li>
+  <li>
+    <p>Define 2 clusters : 1 for deploying the twitter-counter app, and 1 for the adapter app</p>
+
+    <pre><code>  ./s4 newCluster -c=cluster1 -nbTasks=2 -flp=12000; ./s4 newCluster -c=cluster2 -nbTasks=1 -flp=13000
+</code></pre>
+  </li>
+  <li>
+    <p>Start 2 app nodes (you may want to start each node in a separate console) :</p>
+
+    <pre><code>  ./s4 node -c=cluster1
+  ./s4 node -c=cluster1
+</code></pre>
+  </li>
+  <li>
+    <p>Start 1 node for the adapter app:</p>
+
+    <pre><code>  ./s4 node -c=cluster2 -p=s4.adapter.output.stream=RawStatus
+</code></pre>
+  </li>
+  <li>
+    <p>Deploy twitter-counter app (you may also first build the s4r then publish it, as described in the previous section)</p>
+
+    <pre><code>  ./s4 deploy -appName=twitter-counter -c=cluster1 -b=`pwd`/test-apps/twitter-counter/build.gradle
+</code></pre>
+  </li>
+  <li>
+    <p>Deploy twitter-adapter app. In this example, we don’t directly specify the app class of the adapter, we use the deployment approach for apps (remember, the adapter is also an app).</p>
+
+    <pre><code>  ./s4 deploy -appName=twitter-adapter -c=cluster2 -b=`pwd`/test-apps/twitter-adapter/build.gradle
+</code></pre>
+  </li>
+  <li>
+    <p>Observe the current 10 most popular topics in file TopNTopics.txt. The file gets updated at regular intervals, and only outputs topics with a minimum of 10 occurrences, so you may have to wait a little before the file is updated :</p>
+
+    <pre><code>  tail -f TopNTopics.txt
+</code></pre>
+  </li>
+  <li>
+    <p>You may also check the status of the S4 node with:</p>
+
+    <pre><code>  ./s4 status
+</code></pre>
+  </li>
+</ul>
+<hr>
+<h1 id="what-next">What next?</h1>
+
+<p>You have now seen some basics applications, and you know how to run them, and how to get events into the system. You may now try to code your own apps with your own data.</p>
+
+<p><a href="../application_dependencies">This page</a> will help for specifying your own dependencies.</p>
+
+<p>There are more parameters available for the scripts (typing the name of the task will list the options). In particular, if you want distributed deployments, you’ll need to pass the Zookeeper connection strings when you start the nodes.</p>
+
+<p>You may also customize the communication and the core layers of S4 by tweaking configuration files and modules.</p>
+
+<p>Last, the <a href="http://people.apache.org/~mmorel/apache-s4-0.6.0-incubating-doc/javadoc/">javadoc</a> will help you when writing applications.</p>
+
+<p>We hope this will help you start rapidly, and remember: we’re happy to help!</p>
+</div>
+    </div>
+    <div id="footer">
+      <div class="container">
+        <span class="copyright">Apache S4 - Copyright 2013 The Apache Software Foundation</span>
+      </div>
+    </div>
+  </body>
+</html>

Modified: incubator/s4/site/doc/0.6.0/walkthrough/index.html
URL: http://svn.apache.org/viewvc/incubator/s4/site/doc/0.6.0/walkthrough/index.html?rev=1451912&r1=1451911&r2=1451912&view=diff
==============================================================================
--- incubator/s4/site/doc/0.6.0/walkthrough/index.html (original)
+++ incubator/s4/site/doc/0.6.0/walkthrough/index.html Sat Mar  2 17:57:52 2013
@@ -13,7 +13,7 @@
 <script type="text/javascript">
         var _gaq = _gaq || [];
         _gaq.push(['_setAccount', 'UA-19490961-1']);
-        _gaq.push(['_setDomainName', '.s4.io']);
+        _gaq.push(['_setDomainName', 'incubator.apache.org']);
         _gaq.push(['_trackPageview']);
         (function() {
           var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
@@ -80,7 +80,7 @@
 
 <ul>
 <li>
-    <p>Compile and install S4 in the local maven repository: (you can also let the tests run without the -DskipTests option)</p>
+    <p>Compile and install S4 in the local maven repository: (you can also let the tests run without the <code>-DskipTests</code> option)</p>
 
     <pre><code>  S4:incubator-s4$ ./gradlew install -DskipTests
   .... verbose logs ...
@@ -125,50 +125,53 @@
 <p>The src/main/java/hello directory contains 3 files:</p>
 
 <ul>
-<li>HelloPE.java : a very simple PE that simply prints the name contained in incoming events</li>
+<li>
+<code>HelloPE.java</code> : a very simple PE that simply prints the name contained in incoming events</li>
 </ul>
 <pre><code class="language-java"><span class="c1">// ProcessingElement provides integration with the S4 platform</span>
 <span class="kd">public</span> <span class="kd">class</span> <span class="nc">HelloPE</span> <span class="kd">extends</span> <span class="n">ProcessingElement</span> <span class="o">{</span>
- <span class="c1">// you should define downstream streams here and inject them in the app definition</span>
-
- <span class="c1">// PEs can maintain some state</span>
- <span class="kt">boolean</span> <span class="n">seen</span> <span class="o">=</span> <span class="kc">false</span><span class="o">;</span>
-
- <span class="c1">// This method is called upon a new Event on an incoming stream.</span>
- <span class="c1">// You may overload it for handling instances of your own specialized subclasses of Event</span>
- <span class="kd">public</span> <span class="kt">void</span> <span class="nf">onEvent</span><span class="o">(</span><span class="n">Event</span> <span class="n">event</span><span class="o">)</span> <span class="o">{</span>
-     <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"Hello "</span> <span class="o">+</span> <span class="o">(</span><span class="n">seen</span> <span class="o">?</span> <span class="s">"again "</span> <span class="o">:</span> <span class="s">""</span><span class="o">)</span> <span class="o">+</span> <span class="n">event</span><span class="o">.</span><span class="na">get</span><span class="o">(</span><span class="s">"name"</span><span class="o">)</span> <span class="o">+</span> <span class="s">"!"</span><span class="o">);</span>
-     <span class="n">seen</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span>
- <span class="o">}</span>
+	<span class="c1">// you should define downstream streams here and inject them in the app definition</span>
+	
+	<span class="c1">// PEs can maintain some state</span>
+	<span class="kt">boolean</span> <span class="n">seen</span> <span class="o">=</span> <span class="kc">false</span><span class="o">;</span>
+	
+	<span class="c1">// This method is called upon a new Event on an incoming stream.</span>
+	<span class="c1">// You may overload it for handling instances of your own specialized subclasses of Event</span>
+	<span class="kd">public</span> <span class="kt">void</span> <span class="nf">onEvent</span><span class="o">(</span><span class="n">Event</span> <span class="n">event</span><span class="o">)</span> <span class="o">{</span>
+	    <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"Hello "</span> <span class="o">+</span> <span class="o">(</span><span class="n">seen</span> <span class="o">?</span> <span class="s">"again "</span> <span class="o">:</span> <span class="s">""</span><span class="o">)</span> <span class="o">+</span> <span class="n">event</span><span class="o">.</span><span class="na">get</span><span class="o">(</span><span class="s">"name"</span><span class="o">)</span> <span class="o">+</span> <span class="s">"!"</span><span class="o">);</span>
+	    <span class="n">seen</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span>
+	<span class="o">}</span>
 <span class="c1">// skipped remaining methods</span></code></pre>
 
 <ul>
-<li>HelloApp.java: defines a simple application: exposes an input stream (“names”), connected to the HelloPE. See <a href="event_dispatch">the event dispatch configuration page</a> for more information about how events are dispatched.
-  // App parent class provides integration with the S4 platform
-  public class HelloApp extends App {</li>
-</ul>
-<pre><code class="language-java"><span class="nd">@Override</span>
-<span class="kd">protected</span> <span class="kt">void</span> <span class="nf">onStart</span><span class="o">()</span> <span class="o">{</span>
-<span class="o">}</span>
-
-<span class="nd">@Override</span>
-<span class="kd">protected</span> <span class="kt">void</span> <span class="nf">onInit</span><span class="o">()</span> <span class="o">{</span>
-    <span class="c1">// That's where we define PEs and streams</span>
-    <span class="c1">// create a prototype</span>
-    <span class="n">HelloPE</span> <span class="n">helloPE</span> <span class="o">=</span> <span class="n">createPE</span><span class="o">(</span><span class="n">HelloPE</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
-    <span class="c1">// Create a stream that listens to the "lines" stream and passes events to the helloPE instance.</span>
-    <span class="n">createInputStream</span><span class="o">(</span><span class="s">"names"</span><span class="o">,</span> <span class="k">new</span> <span class="n">KeyFinder</span><span class="o">&lt;</span><span class="n">Event</span><span class="o">&gt;()</span> <span class="o">{</span>
-            <span class="c1">// the KeyFinder is used to identify keys</span>
-        <span class="nd">@Override</span>
-        <span class="kd">public</span> <span class="n">List</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="nf">get</span><span class="o">(</span><span class="n">Event</span> <span class="n">event</span><span class="o">)</span> <span class="o">{</span>
-            <span class="k">return</span> <span class="n">Arrays</span><span class="o">.</span><span class="na">asList</span><span class="o">(</span><span class="k">new</span> <span class="n">String</span><span class="o">[]</span> <span class="o">{</span> <span class="n">event</span><span class="o">.</span><span class="na">get</span><span class="o">(</span><span class="s">"name"</span><span class="o">)</span> <span class="o">});</span>
-        <span class="o">}</span>
-    <span class="o">},</span> <span class="n">helloPE</span><span class="o">);</span>
-<span class="o">}</span>
+<li>HelloApp.java: defines a simple application: exposes an input stream (“names”), connected to the HelloPE. See <a href="event_dispatch">the event dispatch configuration page</a> for more information about how events are dispatched.</li>
+</ul>
+<pre><code class="language-java"><span class="c1">// App parent class provides integration with the S4 platform</span>
+<span class="kd">public</span> <span class="kd">class</span> <span class="nc">HelloApp</span> <span class="kd">extends</span> <span class="n">App</span> <span class="o">{</span>
+		
+	<span class="nd">@Override</span>
+	<span class="kd">protected</span> <span class="kt">void</span> <span class="nf">onStart</span><span class="o">()</span> <span class="o">{</span>
+	<span class="o">}</span>
+	
+	<span class="nd">@Override</span>
+	<span class="kd">protected</span> <span class="kt">void</span> <span class="nf">onInit</span><span class="o">()</span> <span class="o">{</span>
+	    <span class="c1">// That's where we define PEs and streams</span>
+	    <span class="c1">// create a prototype</span>
+	    <span class="n">HelloPE</span> <span class="n">helloPE</span> <span class="o">=</span> <span class="n">createPE</span><span class="o">(</span><span class="n">HelloPE</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
+	    <span class="c1">// Create a stream that listens to the "lines" stream and passes events to the helloPE instance.</span>
+	    <span class="n">createInputStream</span><span class="o">(</span><span class="s">"names"</span><span class="o">,</span> <span class="k">new</span> <span class="n">KeyFinder</span><span class="o">&lt;</span><span class="n">Event</span><span class="o">&gt;()</span> <span class="o">{</span>
+	            <span class="c1">// the KeyFinder is used to identify keys</span>
+	        <span class="nd">@Override</span>
+	        <span class="kd">public</span> <span class="n">List</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="nf">get</span><span class="o">(</span><span class="n">Event</span> <span class="n">event</span><span class="o">)</span> <span class="o">{</span>
+	            <span class="k">return</span> <span class="n">Arrays</span><span class="o">.</span><span class="na">asList</span><span class="o">(</span><span class="k">new</span> <span class="n">String</span><span class="o">[]</span> <span class="o">{</span> <span class="n">event</span><span class="o">.</span><span class="na">get</span><span class="o">(</span><span class="s">"name"</span><span class="o">)</span> <span class="o">});</span>
+	        <span class="o">}</span>
+	    <span class="o">},</span> <span class="n">helloPE</span><span class="o">);</span>
+	<span class="o">}</span>
 <span class="c1">// skipped remaining methods</span></code></pre>
 
 <ul>
-<li>HelloInputAdapter is a simple adapter that reads character lines from a socket, converts them into events, and sends the events to interested S4 apps, through the “names” stream</li>
+<li>
+<code>HelloInputAdapter</code> is a simple adapter that reads character lines from a socket, converts them into events, and sends the events to interested S4 apps, through the “names” stream</li>
 </ul>
 <h2 id="run-the-sample-app">Run the sample app</h2>
 
@@ -187,7 +190,7 @@
 
     <ol>
 <li>
-        <p>Start a Zookeeper server instance (-clean option removes previous ZooKeeper data, if any):</p>
+        <p>Start a Zookeeper server instance (<code>-clean</code> option removes previous ZooKeeper data, if any):</p>
 
         <pre><code> S4:incubator-s4$ ./s4 zkServer - clean
  S4:myApp$ calling referenced s4 script : /Users/S4/tmp/incubator-s4/s4
@@ -347,100 +350,9 @@ Again specifying the app class is option
 <p><img src="../../../images/doc/0.6.0/sampleAppDeployment.png" alt="image"></p>
 
 <hr>
-<h1 id="run-the-twitter-trending-example">Run the Twitter trending example</h1>
-
-<p>Let’s have a look at another application, that computes trendy Twitter topics by listening to the spritzer stream from the Twitter API. This application was adapted from a previous example in S4 0.3.</p>
-
-<h2 id="overview">Overview</h2>
-
-<p>This application is divided into:</p>
-
-<ul>
-<li>twitter-counter , in test-apps/twitter-counter/ : extracts topics from tweets and maintains a count of the most popular ones, periodically dumped to disk</li>
-  <li>twitter-adapter, in test-apps/twitter-adapter/ : listens to the feed from Twitter, converts status text into S4 events, and passes them to the “RawStatus” stream</li>
-</ul>
-<p>Have a look at the code in these directories. You’ll note that:</p>
-
-<ul>
-<li>the build.gradle file must be tailored to include new dependencies (twitter4j libs in twitter-adapter)</li>
-  <li>events are partitioned through various keys</li>
-</ul>
-<h2 id="run-it">Run it!</h2>
-
-<blockquote>
-  <p>Note: You need a twitter4j.properties file in your home directory with the following content (debug is optional):</p>
-</blockquote>
-
-<pre><code>debug=true
-user=&lt;a twitter username&gt;
-password=&lt;matching password&gt;
-</code></pre>
-
-<ul>
-<li>
-    <p>Start a Zookeeper instance. From the S4 base directory, do:</p>
-
-    <pre><code>  ./s4 zkServer
-</code></pre>
-  </li>
-  <li>
-    <p>Define 2 clusters : 1 for deploying the twitter-counter app, and 1 for the adapter app</p>
-
-    <pre><code>  ./s4 newCluster -c=cluster1 -nbTasks=2 -flp=12000; ./s4 newCluster -c=cluster2 -nbTasks=1 -flp=13000
-</code></pre>
-  </li>
-  <li>
-    <p>Start 2 app nodes (you may want to start each node in a separate console) :</p>
-
-    <pre><code>  ./s4 node -c=cluster1
-  ./s4 node -c=cluster1
-</code></pre>
-  </li>
-  <li>
-    <p>Start 1 node for the adapter app:</p>
-
-    <pre><code>  ./s4 node -c=cluster2 -p=s4.adapter.output.stream=RawStatus
-</code></pre>
-  </li>
-  <li>
-    <p>Deploy twitter-counter app (you may also first build the s4r then publish it, as described in the previous section)</p>
-
-    <pre><code>  ./s4 deploy -appName=twitter-counter -c=cluster1 -b=`pwd`/test-apps/twitter-counter/build.gradle
-</code></pre>
-  </li>
-  <li>
-    <p>Deploy twitter-adapter app. In this example, we don’t directly specify the app class of the adapter, we use the deployment approach for apps (remember, the adapter is also an app).</p>
-
-    <pre><code>  ./s4 deploy -appName=twitter-adapter -c=cluster2 -b=`pwd`/test-apps/twitter-adapter/build.gradle
-</code></pre>
-  </li>
-  <li>
-    <p>Observe the current 10 most popular topics in file TopNTopics.txt. The file gets updated at regular intervals, and only outputs topics with a minimum of 10 occurrences, so you may have to wait a little before the file is updated :</p>
-
-    <pre><code>  tail -f TopNTopics.txt
-</code></pre>
-  </li>
-  <li>
-    <p>You may also check the status of the S4 node with:</p>
-
-    <pre><code>  ./s4 status
-</code></pre>
-  </li>
-</ul>
-<hr>
 <h1 id="what-next">What next?</h1>
 
-<p>You have now seen some basics applications, and you know how to run them, and how to get events into the system. You may now try to code your own apps with your own data.</p>
-
-<p><a href="../application_dependencies">This page</a> will help for specifying your own dependencies.</p>
-
-<p>There are more parameters available for the scripts (typing the name of the task will list the options). In particular, if you want distributed deployments, you’ll need to pass the Zookeeper connection strings when you start the nodes.</p>
-
-<p>You may also customize the communication and the core layers of S4 by tweaking configuration files and modules.</p>
-
-<p>Last, the <a href="http://people.apache.org/~mmorel/apache-s4-0.6.0-incubating-doc/javadoc/">javadoc</a> will help you when writing applications.</p>
-
-<p>We hope this will help you start rapidly, and remember: we’re happy to help!</p>
+<p>We suggest you take a look at a more comprehensive <a href="../twitter_trending_example">example application</a>.</p>
 </div>
     </div>
     <div id="footer">

Modified: incubator/s4/site/download/index.html
URL: http://svn.apache.org/viewvc/incubator/s4/site/download/index.html?rev=1451912&r1=1451911&r2=1451912&view=diff
==============================================================================
--- incubator/s4/site/download/index.html (original)
+++ incubator/s4/site/download/index.html Sat Mar  2 17:57:52 2013
@@ -13,7 +13,7 @@
 <script type="text/javascript">
         var _gaq = _gaq || [];
         _gaq.push(['_setAccount', 'UA-19490961-1']);
-        _gaq.push(['_setDomainName', '.s4.io']);
+        _gaq.push(['_setDomainName', 'incubator.apache.org']);
         _gaq.push(['_trackPageview']);
         (function() {
           var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;

Modified: incubator/s4/site/index.html
URL: http://svn.apache.org/viewvc/incubator/s4/site/index.html?rev=1451912&r1=1451911&r2=1451912&view=diff
==============================================================================
--- incubator/s4/site/index.html (original)
+++ incubator/s4/site/index.html Sat Mar  2 17:57:52 2013
@@ -13,7 +13,7 @@
 <script type="text/javascript">
         var _gaq = _gaq || [];
         _gaq.push(['_setAccount', 'UA-19490961-1']);
-        _gaq.push(['_setDomainName', '.s4.io']);
+        _gaq.push(['_setDomainName', 'incubator.apache.org']);
         _gaq.push(['_trackPageview']);
         (function() {
           var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;

Modified: incubator/s4/site/style/pygmentize.css
URL: http://svn.apache.org/viewvc/incubator/s4/site/style/pygmentize.css?rev=1451912&r1=1451911&r2=1451912&view=diff
==============================================================================
--- incubator/s4/site/style/pygmentize.css (original)
+++ incubator/s4/site/style/pygmentize.css Sat Mar  2 17:57:52 2013
@@ -391,9 +391,9 @@
 /* line 64, content/style/pygmentize.scss */
 pre {
   counter-reset: line-numbering;
-  border: solid 3px #d9d9d9;
+  /*     border: solid 3px #d9d9d9; */
   border-radius: 5px;
-  background: #fff;
+  /*     background: #fff; */
   padding: 5px;
   line-height: 23px;
   margin-bottom: 30px;
@@ -402,3 +402,13 @@ pre {
   word-break: inherit;
   word-wrap: inherit;
 }
+
+/* line 78, content/style/pygmentize.scss */
+code {
+  border-radius: 5px;
+  padding: 2px;
+  margin-bottom: 30px;
+  white-space: pre,post;
+  word-break: inherit;
+  word-wrap: inherit;
+}

Modified: incubator/s4/site/style/style.css
URL: http://svn.apache.org/viewvc/incubator/s4/site/style/style.css?rev=1451912&r1=1451911&r2=1451912&view=diff
==============================================================================
--- incubator/s4/site/style/style.css (original)
+++ incubator/s4/site/style/style.css Sat Mar  2 17:57:52 2013
@@ -5,34 +5,39 @@
   margin: 0;
 }
 
-/* line 12, content/style/style.scss */
+/* line 13, content/style/style.scss */
 body {
   font-family: "Lucida Grande";
   font-size: 90%;
   background-color: #efefef;
   color: #333;
 }
+/* line 18, content/style/style.scss */
+body code, body pre {
+  background-color: #efefef;
+  font-color: black;
+}
 
-/* line 20, content/style/style.scss */
+/* line 24, content/style/style.scss */
 a {
   color: #000;
   text-decoration: none;
   border-bottom: 1px dotted #222222;
 }
 
-/* line 26, content/style/style.scss */
+/* line 30, content/style/style.scss */
 a:hover {
   background: #ccc;
   color: #000;
 }
 
-/* line 27, content/style/style.scss */
+/* line 31, content/style/style.scss */
 a:visited {
   background: #ccc;
   color: #000;
 }
 
-/* line 29, content/style/style.scss */
+/* line 33, content/style/style.scss */
 #wrapper {
   border-top: 1px solid #bbbbbb;
   border-bottom: 1px solid #bbbbbb;
@@ -41,7 +46,7 @@ a:visited {
   padding-top: 3em;
 }
 
-/* line 38, content/style/style.scss */
+/* line 42, content/style/style.scss */
 #header {
   background: #fafafa;
   background: -webkit-gradient(linear, left top, left bottom, from(#fafafa), to(#dfdfdf));
@@ -51,7 +56,7 @@ a:visited {
   height: 110px;
 }
 
-/* line 45, content/style/style.scss */
+/* line 49, content/style/style.scss */
 #footer {
   background: #fafafa;
   background: -webkit-gradient(linear, left top, left bottom, from(#dfdfdf), to(#fafafa));
@@ -64,31 +69,31 @@ a:visited {
   text-align: center;
 }
 
-/* line 55, content/style/style.scss */
+/* line 59, content/style/style.scss */
 #header .container {
   overflow: visible;
   position: relative;
 }
 
-/* line 60, content/style/style.scss */
+/* line 64, content/style/style.scss */
 #header #logo {
   left: 0;
   position: absolute;
   top: 25px;
 }
 
-/* line 66, content/style/style.scss */
+/* line 70, content/style/style.scss */
 #logo a {
   border: none;
 }
 
-/* line 70, content/style/style.scss */
+/* line 74, content/style/style.scss */
 #logo a:hover {
   text-decoration: none;
   background: none;
 }
 
-/* line 75, content/style/style.scss */
+/* line 79, content/style/style.scss */
 #header img {
   padding: 5px;
 }
@@ -123,26 +128,26 @@ a:visited {
 }
 
 */
-/* line 110, content/style/style.scss */
+/* line 114, content/style/style.scss */
 .large {
   font-size: 1.2em;
   line-height: 1.5;
 }
 
-/* line 115, content/style/style.scss */
+/* line 119, content/style/style.scss */
 .small {
   font-size: 90%;
   color: #555;
   line-height: 1.2;
 }
 
-/* line 121, content/style/style.scss */
+/* line 125, content/style/style.scss */
 span.copyright {
   text-shadow: 1px 1px 0 white;
   color: #999;
 }
 
-/* line 130, content/style/style.scss */
+/* line 134, content/style/style.scss */
 .titleheader {
   font-size: 30px;
   text-shadow: white 0px 1px 0;
@@ -151,7 +156,7 @@ span.copyright {
   margin-bottom: 20px;
 }
 
-/* line 138, content/style/style.scss */
+/* line 142, content/style/style.scss */
 .secheader, h1 {
   font-size: 25px;
   text-shadow: white 0px 1px 0;
@@ -160,7 +165,7 @@ span.copyright {
   margin-top: 20px;
 }
 
-/* line 146, content/style/style.scss */
+/* line 150, content/style/style.scss */
 .subsecheader, h2 {
   font-size: 20px;
   text-shadow: white 0px 1px 0;
@@ -169,12 +174,12 @@ span.copyright {
   margin-top: 20px;
 }
 
-/* line 154, content/style/style.scss */
+/* line 158, content/style/style.scss */
 .subsecheader a {
   color: #7e2217;
 }
 
-/* line 158, content/style/style.scss */
+/* line 162, content/style/style.scss */
 .subssubecheader, h3 {
   font-size: 16px;
   text-shadow: white 0px 1px 0;
@@ -183,26 +188,26 @@ span.copyright {
   margin-top: 20px;
 }
 
-/* line 168, content/style/style.scss */
+/* line 172, content/style/style.scss */
 .horrule {
   margin-top: 30px;
   border-top: 1px solid #dddddd;
   clear: both;
 }
 
-/* line 174, content/style/style.scss */
+/* line 178, content/style/style.scss */
 #os_logo {
   height: 100px;
   padding: 10px;
 }
 
-/* line 179, content/style/style.scss */
+/* line 183, content/style/style.scss */
 .sidetext {
   border-left: 4px solid #dddddd;
   padding-left: 4px;
 }
 
-/* line 184, content/style/style.scss */
+/* line 188, content/style/style.scss */
 #download {
   padding: 20px;
   background: #dfdfdf;
@@ -212,7 +217,7 @@ span.copyright {
   border: 1px dotted #dddddd;
 }
 
-/* line 193, content/style/style.scss */
+/* line 197, content/style/style.scss */
 #latest_head {
   font-size: 14px;
   text-shadow: white 0px 1px 0;
@@ -220,7 +225,7 @@ span.copyright {
   color: #7e2217;
 }
 
-/* line 202, content/style/style.scss */
+/* line 206, content/style/style.scss */
 #latest_link {
   background: #fefefe;
   border: none;
@@ -234,72 +239,72 @@ span.copyright {
   -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
 }
 
-/* line 215, content/style/style.scss */
+/* line 219, content/style/style.scss */
 #disclaimer {
   color: #555;
   margin-top: 20px;
   font-size: 80%;
 }
 
-/* line 221, content/style/style.scss */
+/* line 225, content/style/style.scss */
 #latest_link a:hover {
   background: none;
 }
 
-/* line 225, content/style/style.scss */
+/* line 229, content/style/style.scss */
 #maintainers {
   margin-top: 20px;
 }
 
-/* line 229, content/style/style.scss */
+/* line 233, content/style/style.scss */
 .greybar {
   border-left: 4px solid #dddddd;
   padding-left: 10px;
 }
 
-/* line 234, content/style/style.scss */
+/* line 238, content/style/style.scss */
 ul.greybar {
   list-style-type: none;
 }
 
-/* line 239, content/style/style.scss */
+/* line 243, content/style/style.scss */
 #twitter_widget a {
   border: none;
 }
-/* line 240, content/style/style.scss */
+/* line 244, content/style/style.scss */
 #twitter_widget a:hover {
   border: none;
   background: inherit;
   text-decoration: none;
 }
-/* line 241, content/style/style.scss */
+/* line 245, content/style/style.scss */
 #twitter_widget a:visited {
   border: none;
   background: inherit;
 }
-/* line 242, content/style/style.scss */
+/* line 246, content/style/style.scss */
 #twitter_widget a:active {
   border: none;
   background: inherit;
 }
 
-/* line 246, content/style/style.scss */
+/* line 250, content/style/style.scss */
 #twitter_follow a {
   border: none;
 }
 
-/* line 249, content/style/style.scss */
+/* line 253, content/style/style.scss */
 .tabular table {
   background: #fff;
   border: 1px solid #dddddd;
 }
 
-/* line 254, content/style/style.scss */
+/* line 258, content/style/style.scss */
 input[type="text"], input[type="password"], input.text, input.title, textarea, select {
   margin: 1em 0;
 }
 
-/* line 258, content/style/style.scss */
+/* line 262, content/style/style.scss */
 input[type="text"], input[type="password"], input.text, input.title, textarea {
   padding: 5px;
   font-size: 14px;
@@ -308,7 +313,7 @@ input[type="text"], input[type="password
   color: #222;
 }
 
-/* line 266, content/style/style.scss */
+/* line 270, content/style/style.scss */
 #notice {
   -moz-border-radius: 3px;
   border-radius: 3px;
@@ -322,7 +327,7 @@ input[type="text"], input[type="password
   -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
 }
 
-/* line 280, content/style/style.scss */
+/* line 284, content/style/style.scss */
 #notice a {
   color: #7E2217;
 }

Modified: incubator/s4/site/team/index.html
URL: http://svn.apache.org/viewvc/incubator/s4/site/team/index.html?rev=1451912&r1=1451911&r2=1451912&view=diff
==============================================================================
--- incubator/s4/site/team/index.html (original)
+++ incubator/s4/site/team/index.html Sat Mar  2 17:57:52 2013
@@ -13,7 +13,7 @@
 <script type="text/javascript">
         var _gaq = _gaq || [];
         _gaq.push(['_setAccount', 'UA-19490961-1']);
-        _gaq.push(['_setDomainName', '.s4.io']);
+        _gaq.push(['_setDomainName', 'incubator.apache.org']);
         _gaq.push(['_trackPageview']);
         (function() {
           var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;