diff options
author | Christian Grothoff <christian@grothoff.org> | 2020-02-24 14:22:41 +0100 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2020-02-24 14:22:41 +0100 |
commit | 7653b8cdeecd79ff38adf310ee9042190288999d (patch) | |
tree | dc71fc43369291100afa34d725718d2d9e9d8095 | |
parent | 3fb8954d50784190c44496c17f616ffc5034e7fe (diff) | |
download | www-7653b8cdeecd79ff38adf310ee9042190288999d.tar.gz www-7653b8cdeecd79ff38adf310ee9042190288999d.tar.bz2 www-7653b8cdeecd79ff38adf310ee9042190288999d.zip |
add links to buildbot and lcov results to docs page
-rw-r--r-- | icons/buildbot.svg | 13 | ||||
-rw-r--r-- | template/developers.html.j2 | 300 | ||||
-rw-r--r-- | template/docs.html.j2 | 16 |
3 files changed, 29 insertions, 300 deletions
diff --git a/icons/buildbot.svg b/icons/buildbot.svg new file mode 100644 index 00000000..23ae6c0e --- /dev/null +++ b/icons/buildbot.svg @@ -0,0 +1,13 @@ +<svg xmlns="http://www.w3.org/2000/svg" width="300" height="300" fill-rule="evenodd" aria-label="Nut" stroke-width="5" stroke="#000" stroke-linejoin="round"> + <defs> + <linearGradient id="a" x1="61.3" x2="61.3" y1="31.7" y2="194.3" gradientTransform="matrix(1.28514 0 0 .76264 1.5 .5)" gradientUnits="userSpaceOnUse"> + <stop offset="0%" stop-color="#8da6d8"/> + <stop offset="100%" stop-color="#2e5cb8"/> + </linearGradient> + </defs> + <path d="M10.7 205.4v-43l101.9 91.5v42.5z" fill="#24478f" stroke-width="4.9"/> + <path d="M112.7 254l139-33.7v43.2l-139 33.5v-43z" fill="#2e5cb8" stroke-width="4.9"/> + <path d="M251.8 220.3v43.2l37.2-125v-43z" fill="#193366" stroke-width="4.9"/> + <path d="M187.2 4L289 95.5l-37.2 124.8-139.2 33.5-101.8-91.4L48 37.5zm-3.5 72.6c32 16.7 43 53.6 24.4 82.5-18.4 28.8-59.6 38.7-91.8 22-32-16.5-43-53.6-24.4-82.4 18.3-28.9 59.4-38.9 91.7-22.2z" fill="#8da6d8" stroke-width="4.9"/> + <path d="M85.5 146a54.8 54.8 0 0 1 6-47.3c18.8-28.9 60-38.8 92-22 27.5 14.3 39.6 43.4 30.7 69.5a61.8 61.8 0 0 0-30.6-35c-32.2-16.6-73.4-6.7-92 22.2a57.4 57.4 0 0 0-6 12.8z" fill="url(#a)" stroke-width="4.9"/> +</svg> diff --git a/template/developers.html.j2 b/template/developers.html.j2 deleted file mode 100644 index 0a52128b..00000000 --- a/template/developers.html.j2 +++ /dev/null @@ -1,300 +0,0 @@ -{% extends "common/base.j2" %} -{% block body_content %} - <div class="jumbotron"> - <div class="text-center"> - <h1>{{ _("Taler for developers") }}</h1> - </div> - </div> - - <div class="container"> - <div class="row"> - <div class="col-lg-6"> - <h3>{{ _("Free") }}</h3> - - <p> - {% trans %} - GNU Taler is free software implementing an open - protocol. Anybody is welcome to integrate our reference - implementation into their applications. Different - components of Taler are being made available under - different licenses. The Affero GPLv3+ is used for the - exchange, the LGPLv3+ is used for reference code - demonstrating integration with merchant platforms, and - licenses like GPLv3+ are used for - wallets and related customer-facing software. We are - open for constructive suggestions for maximizing the - adoption of this payment platform. - {% endtrans %} - </p> - - </div> - <div class="col-lg-6"> - <h3>{{ _("RESTful") }}</h3> - - <p> - {% trans %} - Taler is designed to work on the Internet. To - ensure that Taler payments can work with - restrictive network setups, Taler uses a RESTful - protocol over HTTP or HTTPS. Taler's security does - not depend upon the use of HTTPS, but obviously - merchants may choose to offer HTTPS for consistency - and because it generally is better for privacy - compared to HTTP. Taler uses JSON to encode - structure data, making it easy to integrate Taler - with existing Web applications. Taler's protocol - is documented in detail at - {% endtrans %} - <a href="https://docs.taler.net/">docs.taler.net</a>. - </p> - </div> - </div> - </div> - - <div class="container-fluid c_acronym"> - <div class="container"> - <div class="row"> - <div class="col-lg-4"> - <h3>{{ _("Code") }}</h3> - - <p> - {% trans %} - Taler is currently primarily developed by a - research team at - {% endtrans %} - <a href="http://www.inria.fr/">Inria</a> - {% trans %} - and - {% endtrans %} - <a href="https://gnunet.org/">GNUnet</a>. - {% trans %} - However, contributions from anyone are welcome. Our Git - repositories can be cloned using the Git and HTTP access methods - against <tt>git.taler.net</tt> with the name of the respective - repository. A list of repositories can be found in our - {% endtrans %} - <a href="https://git.taler.net/">GitWeb</a>. - </p> - </div> - <div class="col-lg-4"> - <h3>{{ _("Documentation") }}</h3> - - <p> - {% trans %} - In addition to this website, the - {% endtrans %} - <a href="https://git.taler.net/">{{ _("documented code")}}</a> - {% trans %} - and the - {% endtrans %} - <a href="https://docs.taler.net/">{{ _("API documentation")}}</a>. - {% trans %} - Technical papers can be found in our - {% endtrans %} - <a href="{{ url_localized('bibliography.html') }}">{{ _("bibliography")}}</a>. - </p> - </div> - <div class="col-lg-4"> - <h3>{{ _("Discussion") }}</h3> - - <p> - {% trans %} - We have a mailing list for developer discussions. - You can subscribe to or read the list archive at - {% endtrans %} - <a href="http://lists.gnu.org/mailman/listinfo/taler">http://lists.gnu.org/mailman/listinfo/taler</a>. - </p> - </div> - </div> - <div class="row"> - <div class="col-lg-4"> - <h3>{{ _("Regression Testing") }}</h3> - - <p> - {% trans %} - We have - {% endtrans %} - <a href="https://buildbot.net/">Buildbot</a> - {% trans %} - automation tests to detect regressions and check for - portability at - {% endtrans %} - <a href="https://buildbot.taler.net/">buildbot.taler.net</a>. - </p> - </div> - <div class="col-lg-4" note="not yet operational"> - <h3>{{ _("Code Coverage Analysis") }}</h3> - - <p> - {% trans %} - We use - {% endtrans %} - <a href="http://ltp.sourceforge.net/coverage/lcov.php">LCOV</a> - {% trans %} - to analyze the code coverage of our tests, the - results are available at - {% endtrans %} - <a href="https://lcov.taler.net/">lcov.taler.net</a>. - </p> - </div> - </div> - </div> - </div> - - <div class="container-fluid"> - <div class="container"> - <h2>{{ _("Technical Presentation") }}</h2> - <div class="row"> - <div class="col-lg-4"> - <a href="{{ url('presentations/tech.pdf') }}"><img border=0 class="center-block" width=64 height=64 alt="PDF" src="{{ url_static('images/pdf.svg') }}"><br><p align="center">{{ _("Download") }}</p></a> - </div> - <div class="col-lg-4" id="canvas-left" style="display:none"> - <canvas id="the-canvas-left"></canvas> - </div> - <div class="col-lg-4" id="canvas-right" style="display:none"> - <canvas id="the-canvas-right"></canvas> - </div> - <script type="text/javascript" src="{{ url_dist('js/pdf.min.js') }}"></script> - <script type="text/javascript" src="{{ url_dist('js/pdf-view-tech.js') }}"></script> - </div> - </div> - </div> - - <div class="container"> - <div class="col-lg-12"> - <h3 id="overview">{{ _("Taler system overview") }}</h3> - - <p> - {% trans %} - The Taler system consists of protocols executed among - a number of actors as illustrated in the illustration on the right. - Typical transactions involve the following steps: - {% endtrans %} - </p> - - <img src="{{ url_static('images/taler-arch-full.svg') }}" alt="{{_("system overview")}}" style="float: right; margin: 50px 5px 5px 5px;" width="50%"> - <ol> - <li> - {% trans %} - A customer instructs his <b>bank</b> to - transfer funds from his account to the Taler - exchange (top left). In the subject of the - transaction, he includes an authentication - token from his electronic <b>wallet</b>. In - Taler terminology, the customer creates a - reserve at the exchange. - {% endtrans %} - </li> - - <li> - {% trans %} - Once the exchange has received the wire - transfer, it allows the customer's electronic - wallet to <b>withdraw</b> electronic coins. - The electronic coins are digital - representations of the original currency from - the transfer. It is important to note that the - exchange does not learn the "serial - numbers" of the coins created in this - process, so it cannot tell later which customer - purchased what at which merchant. The use of - Taler does not change the currency or the total - value of the funds (except for fees which the - exchange may charge for the service). - {% endtrans %} - </li> - - <li> - {% trans %} - Once the customer has the digital coins in his - wallet, the wallet can be used to <b>spend</b> - the coins with merchant portals that support - the Taler payment system and accept the - respective exchange as a business partner - (bottom arrow). This creates a digital contract - signed by the customer's coins and the - merchant. If necessary, the customer can later - use this digitally signed contract in a court - of law to prove the exact terms of the contract - and that he paid the respective amount. The - customer does not learn the banking details of - the merchant, and Taler does not require the - merchant to learn the identity of the - customer. Naturally, the customer can spend any - fraction of his digital coins (the system takes - care of customers getting change). - {% endtrans %} - </li> - - <li> - {% trans %} - Merchants receiving digital - coins <b>deposit</b> the respective claims - that resulted from the contract signing with - the customer at the exchange to redeem the - coins. The deposit step does not reveal the - details of the contract between the customer - and the merchant or the identity of the - customer to the exchange in any way. However, - the exchange does learn the identity of the - merchant via the provided bank routing - information. The merchant can, for example - when compelled by the state for taxation, - provide information linking the individual - deposit to the respective contract signed by - the customer. Thus, the exchange's database - allows the state to enforce that merchants pay - applicable taxes (and do not engage in illegal - contracts). - {% endtrans %} - </li> - - <li> - {% trans %} - Finally, the exchange transfers funds - corresponding to the digital coins redeemed by - the merchants to the merchant's <b>bank</b> - account. The exchange may combine multiple - small transactions into one larger bank - transfer. The merchant can query the exchange - about the relationship between the bank - transfers and the individual claims that were - deposited. - {% endtrans %} - </li> - - <li> - {% trans %} - Most importantly, the exchange keeps - cryptographic proofs that allow it to - demonstrate that it is operating correctly to - third parties. The system requires an - external <b>auditor</b>, such as a - government-appointed financial regulatory body, - to frequently verify the exchange's databases - and check that its bank balance matches the - total value of the remaining coins in - circulation. - {% endtrans %} - </li> - - <li> - {% trans %} - Without the auditor, the exchange operators - could embezzle funds they are holding in - reserve. Customers and merchants cannot cheat - each other or the exchange. If any party's - computers are compromised, the financial damage - is limited to the respective party and - proportional to the funds they have in - circulation during the period of the - compromise. - {% endtrans %} - </li> - </ol> - <div class="col"> - <img class="img-fluid" src="{{ url_static('images/diagram-complex.png') }}"> - </div> - </div> - </div> <!-- /container --> -{% endblock body_content %} diff --git a/template/docs.html.j2 b/template/docs.html.j2 index d78e4258..8c2fa5d6 100644 --- a/template/docs.html.j2 +++ b/template/docs.html.j2 @@ -230,6 +230,22 @@ {{ _("Git repositories for all of GNU Taler.") }} </div> + <div class="col-3"> + <a href="https://lcov.taler.net"> + <img src="{{ url('icons/icon-lcov.svg') }}" height=60> + <h3>{{ _("lcov results") }}</h3> + </a> + {{ _("Shows results of the code coverage analysis for our test suite.") }} + </div> +m + <div class="col-3"> + <a href="https://buildbot.taler.net"> + <img src="{{ url('icons/buildbot.svg') }}" height=60> + <h3>{{ _("Continuous integration") }}</h3> + </a> + {{ _("Continuous integration and deployment is managed by our Buildbot.") }} + </div> + </div> </div> |