Author: buildbot
Date: Sun Mar 23 00:10:44 2014
New Revision: 903028
Log:
Staging update by buildbot for thrift
Modified:
websites/staging/thrift/trunk/content/ (props changed)
websites/staging/thrift/trunk/content/index.html
Propchange: websites/staging/thrift/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Sun Mar 23 00:10:44 2014
@@ -1 +1 @@
-1580385
+1580386
Modified: websites/staging/thrift/trunk/content/index.html
==============================================================================
--- websites/staging/thrift/trunk/content/index.html (original)
+++ websites/staging/thrift/trunk/content/index.html Sun Mar 23 00:10:44 2014
@@ -67,14 +67,89 @@
</div>
<div class="container">
- <ul>
-<li><a href="/about.html">About</a></li>
-<li><a href="/developers.html">Developers</a></li>
-<li><a href="/docs/">Index of docs/</a></li>
-<li><a href="/download.html">Download</a></li>
-<li><a href="/mailing.html">Mailing Lists</a></li>
-<li><a href="/tutorial/">Index of tutorial/</a></li>
-</ul>
+ <p>{% extends 'default' %}
+{% block title}Home{% endblock %}
+{% block content %}
+<div class="row">
+ <div class="span8">
+ <p>
+ The Apache Thrift software framework, for scalable cross-language
services development, combines a software stack with a code generation engine
to build services that work efficiently and seamlessly between C++, Java,
Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js,
Smalltalk, OCaml and Delphi and other languages.
+ </p>
+ <h3>Getting Started</h3>
+ <p>
+ <ul>
+ <li>
+ <b>Download Apache Thrift</b>
+ <p>To get started, <a href="/download">download</a> a copy of
Thrift.</p>
+ </li>
+ <li>
+ <b>Build and Install the Apache Thrift compiler</b>
+ <p>You will then need to <a
href="/docs/BuildingFromSource">build</a> the Apache Thrift compiler and
install it. See the <a href="/docs/install">installing Thrift</a> guide for any
help with this step.</p>
+ </li>
+ <li>
+ <b>Writing a .thrift file</b>
+ <p>After the Thrift compiler is installed you will need to create a
thrift file. This file is an <a href="/docs/idl">interface definition</a> made
up of <a href="/docs/types">thrift types</a> and Services. The services you
define in this file are implemented by the server and are called by any
clients. The Thrift compiler is used to generate your Thrift File into source
code which is used by the different client libraries and the server you write.
To generate the source from a thrift file run</p>
+ <pre>
+ <code>thrift --gen <language> <Thrift filename></code>
+ </pre>
+ <p>The sample tutorial.thrift file used for all the client and
server tutorials can be found <a
href="https://git-wip-us.apache.org/repos/asf/thrift/?p=thrift.git;a=tree;f=tutorial">here</a>.
</p>
+ </li>
+ </ul>
+ </p>
+ <br />
+ <p>
+ To learn more about Apache Thrift <a
href="/static/files/thrift-20070401.pdf">Read the Whitepaper</a>
+ </p>
+ </div>
+ <div class="span3 well center pull-right">
+ <h2>Download</h2>
+ <p>Apache Thrift v{{ conf.current_release }}</p>
+ <p>
+ <a class="btn btn-large" href="{{ conf.mirror_url }}/thrift/{{
conf.current_release }}/thrift-{{ conf.current_release }}.tar.gz">
+ Download <small>v{{ conf.current_release }}</small>
+ </a>
+ </p>
+ <p>
+ <small>
+ <a href="{{ conf.release_url }}/{{ conf.current_release }}/thrift-{{
conf.current_release }}.tar.gz.md5">MD5</a>
+ </small>
+ |
+ <small>
+ <a href="{{ conf.release_url }}/{{ conf.current_release }}/thrift-{{
conf.current_release }}.tar.gz.asc">PGP</a>
+ </small>
+ </p>
+ <p>
+ <h4>[<a href="/download">Other Downloads</a>]</h4>
+ </p>
+ </div>
+</div>
+<hr /></p>
+<h3>Example</h3>
+
+<p>Apache Thrift allows you to define data types and service interfaces in a
simple definition file. Taking that file as input, the compiler generates code
to be used to easily build RPC clients and servers that communicate seamlessly
across programming languages. Instead of writing a load of boilerplate code to
serialize and transport your objects and invoke remote methods, you can get
right down to business.</p>
+
+<p>The following example is a simple service to store user objects for a web
front end.</p>
+
+<div class="tabbable">
+ <ul class="nav nav-tabs">
+ <li class="active"><a href="#1" data-toggle="tab">Thrift Definition
File</a></li>
+ <li><a href="#2" data-toggle="tab">Python Client</a></li>
+ <li><a href="#3" data-toggle="tab">Java Server</a></li>
+ </ul>
+ <div class="tab-content">
+ <div class="tab-pane active" id="1">
+{{ snippetA.fetch|markdown }}
+ </div>
+ <div class="tab-pane" id="2">
+{{ snippetB.fetch|markdown }}
+ </div>
+ <div class="tab-pane" id="3">
+{{ snippetC.fetch|markdown }}
+ </div>
+ </div>
+</div>
+
+<p>{% endblock %}</p>
</div>
<div class="container">
<hr>