Author: ikabiljo
Date: Tue Sep  1 03:50:17 2015
New Revision: 1700383

URL: http://svn.apache.org/r1700383
Log:
Updating html files for the site


Added:
    giraph/site/blocks.html
Modified:
    giraph/site/aggregators.html
    giraph/site/build.html
    giraph/site/build_site.html
    giraph/site/dependencies.html
    giraph/site/dependency-convergence.html
    giraph/site/faq.html
    giraph/site/generating_patches.html
    giraph/site/gora.html
    giraph/site/hive.html
    giraph/site/implementation.html
    giraph/site/index.html
    giraph/site/integration.html
    giraph/site/intro.html
    giraph/site/io.html
    giraph/site/issue-tracking.html
    giraph/site/javadoc_modules.html
    giraph/site/license.html
    giraph/site/literature.html
    giraph/site/mail-lists.html
    giraph/site/ooc.html
    giraph/site/pagerank.html
    giraph/site/plugin-management.html
    giraph/site/presentations.html
    giraph/site/project-info.html
    giraph/site/project-reports.html
    giraph/site/project-summary.html
    giraph/site/quick_start.html
    giraph/site/releases.html
    giraph/site/rexster.html
    giraph/site/source-repository.html
    giraph/site/surefire-report.html
    giraph/site/taglist.html
    giraph/site/team-list.html

Modified: giraph/site/aggregators.html
URL: 
http://svn.apache.org/viewvc/giraph/site/aggregators.html?rev=1700383&r1=1700382&r2=1700383&view=diff
==============================================================================
--- giraph/site/aggregators.html (original)
+++ giraph/site/aggregators.html Tue Sep  1 03:50:17 2015
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia at 2014-10-25
+ | Generated by Apache Maven Doxia at 2015-08-31
  | Rendered using Apache Maven Fluido Skin 1.3.0
 -->
 <html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en">
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20141025" />
+    <meta name="Date-Revision-yyyymmdd" content="20150831" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Giraph - 
     Aggregators</title>
@@ -97,6 +97,9 @@
                       <li>      <a href="options.html"  title="Options 
List">Options List</a>
 </li>
                   
+                      <li>      <a href="blocks.html"  title="Blocks 
Framework">Blocks Framework</a>
+</li>
+                  
                       <li>      <a href="faq.html"  title="FAQ">FAQ</a>
 </li>
                   
@@ -223,8 +226,8 @@
         
                 
                     
-                  <li id="publishDate" class="pull-right">Last Published: 
2014-10-25</li> <li class="divider pull-right">|</li>
-              <li id="projectVersion" class="pull-right">Version: 
1.1.0-hadoop2</li>
+                  <li id="publishDate" class="pull-right">Last Published: 
2015-08-31</li> <li class="divider pull-right">|</li>
+              <li id="projectVersion" class="pull-right">Version: 
1.2.0-SNAPSHOT</li>
             
                             </ul>
       </div>
@@ -352,7 +355,7 @@ under the License. -->
 
     <footer>
             <div class="container">
-              <div class="row span12">Copyright &copy;                    
2011-2014
+              <div class="row span12">Copyright &copy;                    
2011-2015
                         <a href="http://www.apache.org";>The Apache Software 
Foundation</a>.
             All Rights Reserved.      
                     

Added: giraph/site/blocks.html
URL: http://svn.apache.org/viewvc/giraph/site/blocks.html?rev=1700383&view=auto
==============================================================================
--- giraph/site/blocks.html (added)
+++ giraph/site/blocks.html Tue Sep  1 03:50:17 2015
@@ -0,0 +1,512 @@
+<!DOCTYPE html>
+<!--
+ | Generated by Apache Maven Doxia at 2015-08-31
+ | Rendered using Apache Maven Fluido Skin 1.3.0
+-->
+<html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en">
+  <head>
+    <meta charset="UTF-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+    <meta name="Date-Revision-yyyymmdd" content="20150831" />
+    <meta http-equiv="Content-Language" content="en" />
+    <title>Giraph - 
+    Blocks Framework</title>
+    <link rel="stylesheet" href="./css/apache-maven-fluido-1.3.0.min.css" />
+    <link rel="stylesheet" href="./css/site.css" />
+    <link rel="stylesheet" href="./css/print.css" media="print" />
+
+      
+    <script type="text/javascript" 
src="./js/apache-maven-fluido-1.3.0.min.js"></script>
+
+    
+            </head>
+        <body class="topBarEnabled">
+          
+                        
+                    
+                
+
+    <div id="topbar" class="navbar navbar-fixed-top ">
+      <div class="navbar-inner">
+                                  <div class="container"><div 
class="nav-collapse">
+            
+                
+                                <ul class="nav">
+                          <li class="dropdown">
+        <a href="#" class="dropdown-toggle" data-toggle="dropdown">Project 
Information <b class="caret"></b></a>
+        <ul class="dropdown-menu">
+        
+                      <li>      <a href="team-list.html"  title="Team">Team</a>
+</li>
+                  
+                      <li>      <a href="mail-lists.html"  title="Mailing 
Lists">Mailing Lists</a>
+</li>
+                  
+                      <li>      <a href="source-repository.html"  
title="Source Repository">Source Repository</a>
+</li>
+                  
+                      <li>      <a href="issue-tracking.html"  title="Issue 
Tracking">Issue Tracking</a>
+</li>
+                  
+                      <li>      <a href="integration.html"  title="Continuous 
Integration">Continuous Integration</a>
+</li>
+                  
+                      <li>      <a href="project-summary.html"  
title="Summary">Summary</a>
+</li>
+                  
+                      <li>      <a 
href="http://www.apache.org/licenses/LICENSE-2.0.html";  
title="License">License</a>
+</li>
+                  
+                      <li>      <a href="dependencies.html"  
title="Dependencies">Dependencies</a>
+</li>
+                  
+                      <li class="dropdown-submenu">
+                                      <a href="project-reports.html"  
title="Reports">Reports</a>
+              <ul class="dropdown-menu">
+                                  <li>      <a href="surefire-report.html"  
title="Surefire Report">Surefire Report</a>
+</li>
+                                  <li>      <a 
href="checkstyle-aggregate.html"  title="Checkstyle Results">Checkstyle 
Results</a>
+</li>
+                                  <li>      <a href="apidocs/index.html"  
title="JavaDoc">JavaDoc</a>
+</li>
+                                  <li>      <a href="testapidocs/index.html"  
title="Test JavaDoc">Test JavaDoc</a>
+</li>
+                              </ul>
+            </li>
+                          </ul>
+      </li>
+                <li class="dropdown">
+        <a href="#" class="dropdown-toggle" data-toggle="dropdown">User Docs 
<b class="caret"></b></a>
+        <ul class="dropdown-menu">
+        
+                      <li>      <a href="intro.html"  
title="Introduction">Introduction</a>
+</li>
+                  
+                      <li>      <a href="literature.html"  title="Related 
Literature">Related Literature</a>
+</li>
+                  
+                      <li>      <a href="releases.html"  title="Download 
Releases">Download Releases</a>
+</li>
+                  
+                      <li>      <a href="quick_start.html"  title="Quick 
Start">Quick Start</a>
+</li>
+                  
+                      <li>      <a href="build.html"  title="Building and 
Testing">Building and Testing</a>
+</li>
+                  
+                      <li>      <a href="options.html"  title="Options 
List">Options List</a>
+</li>
+                  
+                      <li>      <a href="blocks.html"  title="Blocks 
Framework">Blocks Framework</a>
+</li>
+                  
+                      <li>      <a href="faq.html"  title="FAQ">FAQ</a>
+</li>
+                  
+                      <li>      <a href="presentations.html"  
title="Presentations">Presentations</a>
+</li>
+                  
+                      <li>      <a 
href="https://cwiki.apache.org/confluence/display/GIRAPH";  title="External 
Community Wiki">External Community Wiki</a>
+</li>
+                          </ul>
+      </li>
+                <li class="dropdown">
+        <a href="#" class="dropdown-toggle" data-toggle="dropdown">Developer 
Docs <b class="caret"></b></a>
+        <ul class="dropdown-menu">
+        
+                      <li>      <a href="apidocs/index.html"  
title="JavaDoc">JavaDoc</a>
+</li>
+                  
+                      <li>      <a href="testapidocs/index.html"  title="Test 
JavaDoc">Test JavaDoc</a>
+</li>
+                  
+                      <li>      <a href="taglist.html"  title="Tag List">Tag 
List</a>
+</li>
+                  
+                      <li>      <a href="cobertura/index.html"  
title="Cobertura Test Coverage">Cobertura Test Coverage</a>
+</li>
+                  
+                      <li>      <a href="giraph-core/jdepend-report.html"  
title="Jdepend">Jdepend</a>
+</li>
+                  
+                      <li>      <a href="xref/index.html"  title="Source 
Xref">Source Xref</a>
+</li>
+                  
+                      <li>      <a href="xref-test/index.html"  title="Test 
Source Xref">Test Source Xref</a>
+</li>
+                  
+                      <li class="dropdown-submenu">
+                                      <a href="javadoc_modules.html"  
title="Modules">Modules</a>
+              <ul class="dropdown-menu">
+                                  <li>      <a href="aggregators.html"  
title="Aggregators">Aggregators</a>
+</li>
+                                  <li>      <a href="ooc.html"  
title="Out-of-core">Out-of-core</a>
+</li>
+                                  <li>      <a href="implementation.html"  
title="Implementation">Implementation</a>
+</li>
+                                  <li>      <a href="pagerank.html"  
title="Page Rank Example">Page Rank Example</a>
+</li>
+                                  <li>      <a href="io.html"  
title="Input/Output in Giraph">Input/Output in Giraph</a>
+</li>
+                                  <li>      <a href="hive.html"  title="Hive 
I/O">Hive I/O</a>
+</li>
+                                  <li>      <a href="gora.html"  title="Gora 
I/O">Gora I/O</a>
+</li>
+                                  <li>      <a href="rexster.html"  
title="Rexster I/O">Rexster I/O</a>
+</li>
+                              </ul>
+            </li>
+                  
+                      <li>      <a href="generating_patches.html"  title="How 
to generate patches?">How to generate patches?</a>
+</li>
+                  
+                      <li>      <a href="build_site.html"  title="How to build 
this site?">How to build this site?</a>
+</li>
+                          </ul>
+      </li>
+                  </ul>
+          
+                      <form id="search-form" 
action="http://www.google.com/search"; method="get"  class="navbar-search 
pull-right" >
+    
+  <input value="http://giraph.apache.org"; name="sitesearch" type="hidden"/>
+  <input class="search-query" name="q" id="query" type="text" />
+</form>
+<script type="text/javascript" 
src="http://www.google.com/coop/cse/brand?form=search-form";></script>
+          
+                            
+            
+            
+            
+    <iframe 
src="http://www.facebook.com/plugins/like.php?href=http://giraph.apache.org/&send=false&layout=button_count&show-faces=false&action=like&colorscheme=dark";
+        scrolling="no" frameborder="0"
+        style="border:none; width:80px; height:20px; margin-top: 10px;"  
class="pull-right" ></iframe>
+                        
+    <script type="text/javascript" 
src="https://apis.google.com/js/plusone.js";></script>
+
+        <ul class="nav pull-right"><li style="margin-top: 10px;">
+    
+    <div class="g-plusone" data-href="http://giraph.apache.org/"; 
data-size="medium"  width="60px" align="right" ></div>
+
+        </li></ul>
+                              
+                   
+                      </div>
+          
+        </div>
+      </div>
+    </div>
+    
+        <div class="container">
+          <div id="banner">
+        <div class="pull-left">
+                                                  <a href="./" id="bannerLeft">
+                                                                               
                 <img src="images/ApacheGiraph.svg" />
+                </a>
+                      </div>
+        <div class="pull-right">  </div>
+        <div class="clear"><hr/></div>
+      </div>
+
+      <div id="breadcrumbs">
+        <ul class="breadcrumb">
+                
+                    
+                              <li class="">
+                    <a href="http://www.apache.org/"; class="externalLink" 
title="Apache">
+        Apache</a>
+        </li>
+      <li class="divider ">/</li>
+            <li class="">
+                    <a href="./" title="Giraph">
+        Giraph</a>
+        </li>
+      <li class="divider ">/</li>
+        <li class="">
+    Blocks Framework</li>
+        
+                
+                    
+                  <li id="publishDate" class="pull-right">Last Published: 
2015-08-31</li> <li class="divider pull-right">|</li>
+              <li id="projectVersion" class="pull-right">Version: 
1.2.0-SNAPSHOT</li>
+            
+                            </ul>
+      </div>
+
+      
+                
+        <div id="bodyColumn" >
+                                  
+            <!-- Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License. -->
+  
+    <div class="section">
+<h2>Blocks Framework<a name="Blocks_Framework"></a></h2>
+      Blocks Framework is new and improved API for writing Giraph 
applications. It allows you to easily organize your code to have better 
encapsulation, reusability and flexibility. If you know the old way of writing 
applications and want to learn about motivation behind the new API, read <a 
href="#Motivation">Motivation section</a>. If you have an existing application 
that you want to migrate to new api read <a href="#Migration">Migration 
section</a>.
+    </div>
+
+    
+<div class="section">
+<h2>Introduction<a name="Introduction"></a></h2>
+      
+<p>
+        Flow of the program within the framework is defined as an Iterable of 
steps, represented as a Block class. Each Block is a unit of execution, 
representing some computation to be performed on the graph. We can combine 
simple Blocks into more complex execution using nesting:
+        </p>
+<div class="source">
+<pre>
+new SequenceBlock(b1, b2, ...)
+new RepeatBlock(n, b)
+new IfBlock(condition, thenBlock)
+        </pre></div>
+      
+
+      
+<p>
+        Each step is represented as a Piece class. Implementation logic will 
be nicely organized and hidden within Pieces, and flow of the application is 
clear. Piece captures these three consecutive operations:
+        </p>
+<ul>
+          
+<li>Workers going through all vertices, potentially sending messages and 
performing aggregation/reduction.</li>
+          
+<li>Master receiving aggregated/reduced values, performing any computation, 
and potentially broadcasting some values.</li>
+          
+<li>Workers going through all vertices, receiving messages sent in the first 
operation, and receiving values broadcased in the second operation</li>
+        </ul>
+       
+    </div>
+
+    
+<div class="section">
+<h2>Walkthrough of building PageRank application<a 
name="Walkthrough_of_building_PageRank_application"></a></h2>
+      
+<div class="section">
+<h3>Simple application<a name="Simple_application"></a></h3>
+        
+<p>Example is a good way of understanding how things work, and we will explain 
how to build PageRank on top of the Framework. Note that framework works with 
Java 7 as well, but it is preferable to develop in Java 8, since code will look 
simpler.</p>
+        
+<p>
+          We start every application by creating a new class that will extend 
AbstractBlockFactory, where we will define types of vertex id, vertex value, 
edge value, etc. For our example, VertexID is going to be long, vertex value is 
going to be double - the page rank of a vertex, and we will have unweighted 
graph - so it will look like <a class="externalLink" 
href="https://github.com/apache/giraph/blob/trunk/giraph-block-app-8/src/test/java/org/apache/giraph/block_app/examples/pagerank/AbstractPageRankExampleBlockFactory.java";>this</a>.
+        </p>
+        
+<p>
+          Main function that we need to extend is createBlock - which defines 
what should be executed. 
+          PageRank is an iterative algorithm, where in each step, value of 
each vertex is updated to be weighted sum of it's neighbors. We can do so by 
sending our value to all of our neighbors, and after receiving the messages - 
sum them all up, and update vertex value accordingly. We will use 
Pieces.sendMessageToNeighbors to do so:
+        </p>
+        
+<div class="source">
+<pre> 
+// Types here represent vertex id, vertex value, edge value and message 
respectively. 
+// For types we do not use - we just leave it unspecified - as we do with 
vertex id and edge value here
+Block iter = Pieces.&lt;WritableComparable, DoubleWritable, Writable, 
DoubleWritable&gt;sendMessageToNeighbors(
+  &quot;PageRankIteration&quot;,
+  DoubleWritable.class,
+  // messageSupplier - which message to send to neighbors
+  (vertex) -&gt; new DoubleWritable(vertex.getValue().get() / 
vertex.getNumEdges()),
+  // messagesConsumer - what to do with received messages
+  (vertex, messages) -&gt; {
+    double sum = 0;
+    for (DoubleWritable value&#160;: messages) {
+      sum += value.get();
+    }
+    vertex.getValue().set(0.15f + 0.85f * sum);
+  });
+        </pre></div> 
+
+        
+<p>Now we have a piece that does one PageRank iteration, and we only need to 
execute it number of iterations we want:</p>
+        
+<div class="source">
+<pre>new RepeatBlock(NUM_ITERATIONS.get(conf), iter);</pre></div>
+        
+<p>
+          And that is all, we now have a fully functional PageRank 
application! We can even use DoubleSumMessageCombiner so framework does the sum 
for us, shown in <a class="externalLink" 
href="https://github.com/apache/giraph/blob/trunk/giraph-block-app-8/src/test/java/org/apache/giraph/block_app/examples/pagerank/PageRankExampleBlockFactory.java";>PageRank</a>.
+        </p>
+        
+        </div>
+        
+<div class="section">
+<h3>Adding convergence<a name="Adding_convergence"></a></h3>
+        
+        
+<p>
+          But most likely - we are going to want to run as many iterations as 
needed - until application converges. Let's say we want to run it until no 
vertices update their value by more than EPS=1e-3. We will use RepeatUntilBlock 
- which provides a way for pieces to signal when repetition should be stopped 
early through toQuit argument:
+        </p>
+
+        
+<div class="source">
+<pre>
+ObjectTransfer&lt;Boolean&gt; converged = new ObjectTransfer&lt;&gt;();
+Block iter = ...;
+return new RepeatUntilBlock(
+    NUM_ITERATIONS.get(conf),
+    iter,
+    converged);
+        </pre></div>
+
+        
+<p>
+          ObjectTransfer has two functions void accept(T) and T get(), and 
allows different Blocks/Pieces to transfer values between them. 
RepeatUntilBlock will in each iteration call get() on it, and terminate once it 
returns true. We now only need to modify our iteration, to update converged 
value, once vertex update is small enough. We can do that by looking after each 
iteration by how much each vertex value changes - and decide whether to 
continue iterating, by calculating max of those changes. We are going to do so 
in two connected steps, and for that there is utility class SendMessageChain, 
which allows chain of connected logic to be executed, which cannot be done 
within a single Piece:
+        </p>
+
+        
+<div class="source">
+<pre>
+Block iter = SendMessageChain.&lt;WritableComparable, DoubleWritable, 
Writable, DoubleWritable&gt;
+startSendToNeighbors(
+  &quot;PageRankSend&quot;,
+  DoubleSumMessageCombiner.class,
+  // which message to send to neighbors
+  (vertex) -&gt; new DoubleWritable(vertex.getValue().get() / 
vertex.getNumEdges())
+).endReduce(
+  &quot;PageRankUpdateAndCheckConvergence&quot;,
+  // which reduce operation to perform
+  SumReduce.LONG,
+  // how to process combined message, and return value to be reduced
+  (vertex, combinedMessage) -&gt; {
+    double sum = combinedMessage&#160;!= null&#160;? 
combinedMessage.get()&#160;: 0;
+    double newValue = 0.15f + 0.85f * sum;
+    double change = Math.abs(newValue - vertex.getValue().get());
+    vertex.getValue().set(newValue);
+    return (change &gt; EPS)&#160;? new LongWritable(1)&#160;: new 
LongWritable(0);
+  },
+  // what to do with reduced value - number of vertices that changed their 
value above threshold
+  (changingCount) -&gt; converged.accept(changingCount.get() == 0)
+);
+        </pre></div>
+
+        
+<p>
+          This now together gives us a full PageRank application, that will 
stop after converging! You can find the code for it in <a class="externalLink" 
href="https://github.com/apache/giraph/blob/trunk/giraph-block-app-8/src/test/java/org/apache/giraph/block_app/examples/pagerank/PageRankWithConvergenceExampleBlockFactory.java";>PageRankWithConvergence</a>.
+        </p>
+        
+<p>
+          SendMessageChain is just a wrapper around two or more pieces 
connected together. We can instead extend our original example by adding a 
Pieces.reduce after iteration piece, and connecting the two pieces via 
ObjectTransfer, as can be seen in <a class="externalLink" 
href="https://github.com/apache/giraph/blob/trunk/giraph-block-app-8/src/test/java/org/apache/giraph/block_app/examples/pagerank/PageRankWithTransferAndConvergenceExampleBlockFactory.java";>PageRankWithTransferAndConvergence</a>.
+          You can see more example usage of SendMessageChain in <a 
class="externalLink" 
href="https://github.com/apache/giraph/blob/trunk/giraph-block-app-8/src/test/java/org/apache/giraph/block_app/library/TestMessageChain.java";>it's
 test</a>
+        </p>
+      </div>
+    </div>
+
+    
+<div class="section">
+<h2>Common library<a name="Common_library"></a></h2>
+      
+<p>For common logic - there is a growing library of utilities, that helps you 
do them easily. Looking at their implementations is also a good way to 
understand how framework works.</p>
+
+      
+<p>
+        Set of common pieces are provided, allowing you to write simple 
applications, without writing a single Piece directly:
+        </p>
+<div class="source">
+<pre>
+Pieces.forAllVertices((vertex) -&gt; { code});
+Pieces.sendMessageToNeighbors(messageClass, messageSupplier, messagesConsumer)
+Pieces.sendMessage(messageClass, messageSupplier, targetsSupplier, 
messagesConsumer)
+Pieces.reduce(reducer, whatToReduce, whatToDoWithResultOnMaster);
+Pieces.reduceAndBroadcast(reducer, whatToReduce, 
whatToDoWithResultOnEachVertex);
+Pieces.removeVertices((vertex) -&gt; boolean);
+// and chaining above actions:
+SendMessageChain.startSend(___).thenSendToNeighbors(___).endReduce(___)
+        </pre></div>
+        Suppliers and consumers above are just functions (interfaces with only 
one method - functional interfaces), which allow those pieces to execute your 
logic. There are set of common suppliers written in CommonVertexSuppliers, like 
vertexIdSupplier, vertexValueSupplier, vertexNeighborsSupplier, which you can 
pass above where appropriate. 
+      
+
+      
+<p>
+        Common reusable pieces:
+        </p>
+<div class="source">
+<pre>
+// cleaning up input graphs:
+PrepareGraphPieces.removeAsymEdges()
+PrepareGraphPieces.removeStandAloneVertices()
+// adjusting graph:
+PrepareGraphPieces.normalizeEdges()
+PrepareGraphPieces.makeSymmetricUnweighted()
+PrepareGraphPieces.makeSymmetricWeighted()
+// Calculating size of the graph:
+PrepareGraphPieces.countTotalEdgesPiece
+PrepareGraphPieces.calcSumEdgesPiece
+        </pre></div>
+      
+
+      
+<p>
+        Working with pieces:
+        </p>
+<div class="source">
+<pre>
+// executing multiple pieces consecutively, in the same stage/superstep:
+new DelegatePiece&lt;&gt;(piece1, piece2, ...)
+// executing piece only on subset of vertices:
+new FilteringPiece&lt;&gt;(filterFunction, piece)
+new FilteringPiece&lt;&gt;(filterSendFunction, filterReceiveFunction)
+new FilteringBlock(filterFunction, block)
+        </pre></div>
+      
+    </div>
+
+    
+<div class="section">
+<h2>Migration<a name="Migration"></a></h2>
+      
+<p>
+        But even if you have code written without this framework, you can 
still benefit from many goodnesses of the framework, with minor changes. 
Additionally there is a simple step-by-step migration path to the framework, if 
you want more.
+      </p>
+      
+<p>
+        First, we have a simple step, with minimal code change - that makes 
your whole application a single Block, you can then easily combine with other 
blocks. In order to do so, you only need to change parent classes from Giraph 
ones (AbstractComputation, MasterCompute, WorkerContext), to their drop-in 
replacements - (MigrationFullAbstractComputation, MigrationFullMasterCompute 
and MigrationFullWorkerContext). Those classes are fully compatible, so you 
will not need to modify any code within them. Then you only need to write your 
block factory which extends MigrationFullBlockFactory, to specify vertex and 
edge types, and call createMigrationAppBlock with initial computations. You can 
then combine multiple applications, or use any library written in the 
framework, but your application is left as one whole indivisible block.
+      </p>
+      
+<p>
+        If you want to benefit from the framework within your application as 
well, execution needs to be changed to use composition of Blocks. In order to 
do so easily, you should modify parent classes to 
(MigrationAbstractComputation, MigrationMasterCompute and 
MigrationWorkerContext). They don't have any methods that affect computation 
ordering - and so all you need to do is fix compile errors, by moving that 
logic within composition of Blocks, within BlockFactory or utility functions. 
Calling MigrationPiece.createMigrationPiece and passing appropriate 
computations, gives you an independent piece, that you can then use in the same 
way as before, but also combine it in any other way with other pieces you have 
or are written within the library.
+      </p>
+      
+<p>
+        This allows you to benefit fully from the framework, but you might 
still want to cleanup your code, by moving it into Pieces, from the migration 
classes - but that should be simple to do so at this point - it should be only 
moving the code around.
+      </p>
+    </div>
+
+    
+<div class="section">
+<h2>Motivation<a name="Motivation"></a></h2>
+      TODO
+    </div>
+  
+
+                  </div>
+          </div>
+
+    <hr/>
+
+    <footer>
+            <div class="container">
+              <div class="row span12">Copyright &copy;                    
2011-2015
+                        <a href="http://www.apache.org";>The Apache Software 
Foundation</a>.
+            All Rights Reserved.      
+                    
+      </div>
+
+        
+                <p id="poweredBy" class="pull-right">
+                          <a href="http://maven.apache.org/"; title="Built by 
Maven" class="poweredBy">
+        <img class="builtBy" alt="Built by Maven" 
src="./images/logos/maven-feather.png" />
+      </a>
+              </p>
+        
+                </div>
+    </footer>
+  </body>
+</html>

Modified: giraph/site/build.html
URL: 
http://svn.apache.org/viewvc/giraph/site/build.html?rev=1700383&r1=1700382&r2=1700383&view=diff
==============================================================================
--- giraph/site/build.html (original)
+++ giraph/site/build.html Tue Sep  1 03:50:17 2015
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia at 2014-10-25
+ | Generated by Apache Maven Doxia at 2015-08-31
  | Rendered using Apache Maven Fluido Skin 1.3.0
 -->
 <html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en">
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20141025" />
+    <meta name="Date-Revision-yyyymmdd" content="20150831" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Giraph - 
     Building and testing</title>
@@ -97,6 +97,9 @@
                       <li>      <a href="options.html"  title="Options 
List">Options List</a>
 </li>
                   
+                      <li>      <a href="blocks.html"  title="Blocks 
Framework">Blocks Framework</a>
+</li>
+                  
                       <li>      <a href="faq.html"  title="FAQ">FAQ</a>
 </li>
                   
@@ -223,8 +226,8 @@
         
                 
                     
-                  <li id="publishDate" class="pull-right">Last Published: 
2014-10-25</li> <li class="divider pull-right">|</li>
-              <li id="projectVersion" class="pull-right">Version: 
1.1.0-hadoop2</li>
+                  <li id="publishDate" class="pull-right">Last Published: 
2015-08-31</li> <li class="divider pull-right">|</li>
+              <li id="projectVersion" class="pull-right">Version: 
1.2.0-SNAPSHOT</li>
             
                             </ul>
       </div>
@@ -307,7 +310,7 @@ additional argument <tt>-Dhadoop=non_sec
 
     <footer>
             <div class="container">
-              <div class="row span12">Copyright &copy;                    
2011-2014
+              <div class="row span12">Copyright &copy;                    
2011-2015
                         <a href="http://www.apache.org";>The Apache Software 
Foundation</a>.
             All Rights Reserved.      
                     

Modified: giraph/site/build_site.html
URL: 
http://svn.apache.org/viewvc/giraph/site/build_site.html?rev=1700383&r1=1700382&r2=1700383&view=diff
==============================================================================
--- giraph/site/build_site.html (original)
+++ giraph/site/build_site.html Tue Sep  1 03:50:17 2015
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia at 2014-10-25
+ | Generated by Apache Maven Doxia at 2015-08-31
  | Rendered using Apache Maven Fluido Skin 1.3.0
 -->
 <html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en">
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20141025" />
+    <meta name="Date-Revision-yyyymmdd" content="20150831" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Giraph - 
     How to build this site in maven</title>
@@ -97,6 +97,9 @@
                       <li>      <a href="options.html"  title="Options 
List">Options List</a>
 </li>
                   
+                      <li>      <a href="blocks.html"  title="Blocks 
Framework">Blocks Framework</a>
+</li>
+                  
                       <li>      <a href="faq.html"  title="FAQ">FAQ</a>
 </li>
                   
@@ -223,8 +226,8 @@
         
                 
                     
-                  <li id="publishDate" class="pull-right">Last Published: 
2014-10-25</li> <li class="divider pull-right">|</li>
-              <li id="projectVersion" class="pull-right">Version: 
1.1.0-hadoop2</li>
+                  <li id="publishDate" class="pull-right">Last Published: 
2015-08-31</li> <li class="divider pull-right">|</li>
+              <li id="projectVersion" class="pull-right">Version: 
1.2.0-SNAPSHOT</li>
             
                             </ul>
       </div>
@@ -283,7 +286,7 @@ under the License. -->
 
     <footer>
             <div class="container">
-              <div class="row span12">Copyright &copy;                    
2011-2014
+              <div class="row span12">Copyright &copy;                    
2011-2015
                         <a href="http://www.apache.org";>The Apache Software 
Foundation</a>.
             All Rights Reserved.      
                     


Reply via email to