changeset 45:2ff373d2571a

add decentralisation schemas + script for listing the plugins
author souliane <souliane@mailoo.org>
date Thu, 28 May 2015 00:33:02 +0200
parents 459795d1ab31
children 2b82a4eb40a6
files schemas/decentralisation/1_physical.dia schemas/decentralisation/1_physical.svg schemas/decentralisation/2_logical_centralised.dia schemas/decentralisation/2_logical_centralised.svg schemas/decentralisation/3_logical_decentralised.dia schemas/decentralisation/3_logical_decentralised.svg schemas/decentralisation/4_logical_decentralised_self_hosting.dia schemas/decentralisation/4_logical_decentralised_self_hosting.svg scripts/list_plugins/list_plugins.py
diffstat 9 files changed, 665 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
Binary file schemas/decentralisation/1_physical.dia has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/schemas/decentralisation/1_physical.svg	Thu May 28 00:33:02 2015 +0200
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/PR-SVG-20010719/DTD/svg10.dtd">
+<svg width="23cm" height="18cm" viewBox="18 -282 444 356" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <g>
+    <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="100" y1="-200" x2="60" y2="-260"/>
+    <path style="fill: #000000" d="M 60 -260 C 62.0801,-261.387 65.547,-260.693 66.9338,-258.613 C 68.3205,-256.533 67.6271,-253.066 65.547,-251.679 C 63.4669,-250.293 60,-250.986 58.6132,-253.066 C 57.2265,-255.146 57.9199,-258.613 60,-260z"/>
+    <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 60 -260 C 62.0801,-261.387 65.547,-260.693 66.9338,-258.613 C 68.3205,-256.533 67.6271,-253.066 65.547,-251.679 C 63.4669,-250.293 60,-250.986 58.6132,-253.066 C 57.2265,-255.146 57.9199,-258.613 60,-260"/>
+  </g>
+  <g>
+    <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="100" y1="-200" x2="160" y2="-280"/>
+    <path style="fill: #000000" d="M 160 -280 C 162,-278.5 162.5,-275 161,-273 C 159.5,-271 156,-270.5 154,-272 C 152,-273.5 151.5,-277 153,-279 C 154.5,-281 158,-281.5 160,-280z"/>
+    <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 160 -280 C 162,-278.5 162.5,-275 161,-273 C 159.5,-271 156,-270.5 154,-272 C 152,-273.5 151.5,-277 153,-279 C 154.5,-281 158,-281.5 160,-280"/>
+  </g>
+  <g>
+    <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="100" y1="-200" x2="20" y2="-160"/>
+    <path style="fill: #000000" d="M 20 -160 C 18.882,-162.236 20,-165.59 22.2361,-166.708 C 24.4721,-167.826 27.8262,-166.708 28.9443,-164.472 C 30.0623,-162.236 28.9443,-158.882 26.7082,-157.764 C 24.4721,-156.646 21.118,-157.764 20,-160z"/>
+    <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 20 -160 C 18.882,-162.236 20,-165.59 22.2361,-166.708 C 24.4721,-167.826 27.8262,-166.708 28.9443,-164.472 C 30.0623,-162.236 28.9443,-158.882 26.7082,-157.764 C 24.4721,-156.646 21.118,-157.764 20,-160"/>
+  </g>
+  <g>
+    <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="100" y1="-200" x2="140" y2="-40"/>
+    <path style="fill: #000000" d="M 140 -40 C 137.575,-39.3937 134.543,-41.2127 133.937,-43.638 C 133.33,-46.0634 135.149,-49.0951 137.575,-49.7014 C 140,-50.3078 143.032,-48.4887 143.638,-46.0634 C 144.244,-43.638 142.425,-40.6063 140,-40z"/>
+    <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 140 -40 C 137.575,-39.3937 134.543,-41.2127 133.937,-43.638 C 133.33,-46.0634 135.149,-49.0951 137.575,-49.7014 C 140,-50.3078 143.032,-48.4887 143.638,-46.0634 C 144.244,-43.638 142.425,-40.6063 140,-40"/>
+  </g>
+  <g>
+    <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="300" y1="-200" x2="400" y2="-220"/>
+    <path style="fill: #000000" d="M 400 -220 C 400.49,-217.549 398.529,-214.607 396.078,-214.117 C 393.626,-213.626 390.684,-215.587 390.194,-218.039 C 389.704,-220.49 391.665,-223.432 394.117,-223.922 C 396.568,-224.413 399.51,-222.451 400,-220z"/>
+    <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 400 -220 C 400.49,-217.549 398.529,-214.607 396.078,-214.117 C 393.626,-213.626 390.684,-215.587 390.194,-218.039 C 389.704,-220.49 391.665,-223.432 394.117,-223.922 C 396.568,-224.413 399.51,-222.451 400,-220"/>
+  </g>
+  <g>
+    <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="300" y1="-200" x2="260" y2="-260"/>
+    <path style="fill: #000000" d="M 260 -260 C 262.08,-261.387 265.547,-260.693 266.934,-258.613 C 268.321,-256.533 267.627,-253.066 265.547,-251.679 C 263.467,-250.293 260,-250.986 258.613,-253.066 C 257.226,-255.146 257.92,-258.613 260,-260z"/>
+    <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 260 -260 C 262.08,-261.387 265.547,-260.693 266.934,-258.613 C 268.321,-256.533 267.627,-253.066 265.547,-251.679 C 263.467,-250.293 260,-250.986 258.613,-253.066 C 257.226,-255.146 257.92,-258.613 260,-260"/>
+  </g>
+  <g>
+    <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="300" y1="-200" x2="360" y2="-240"/>
+    <path style="fill: #000000" d="M 360 -240 C 361.387,-237.92 360.693,-234.453 358.613,-233.066 C 356.533,-231.679 353.066,-232.373 351.679,-234.453 C 350.293,-236.533 350.986,-240 353.066,-241.387 C 355.146,-242.774 358.613,-242.08 360,-240z"/>
+    <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 360 -240 C 361.387,-237.92 360.693,-234.453 358.613,-233.066 C 356.533,-231.679 353.066,-232.373 351.679,-234.453 C 350.293,-236.533 350.986,-240 353.066,-241.387 C 355.146,-242.774 358.613,-242.08 360,-240"/>
+  </g>
+  <g>
+    <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="380" y1="-80" x2="300" y2="-60"/>
+    <path style="fill: #000000" d="M 300 -60 C 299.394,-62.4254 301.213,-65.4571 303.638,-66.0634 C 306.063,-66.6697 309.095,-64.8507 309.701,-62.4254 C 310.308,-60 308.489,-56.9683 306.063,-56.362 C 303.638,-55.7556 300.606,-57.5746 300,-60z"/>
+    <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 300 -60 C 299.394,-62.4254 301.213,-65.4571 303.638,-66.0634 C 306.063,-66.6697 309.095,-64.8507 309.701,-62.4254 C 310.308,-60 308.489,-56.9683 306.063,-56.362 C 303.638,-55.7556 300.606,-57.5746 300,-60"/>
+  </g>
+  <g>
+    <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="380" y1="-80" x2="360" y2="-20"/>
+    <path style="fill: #000000" d="M 360 -20 C 357.628,-20.7906 356.047,-23.9528 356.838,-26.3246 C 357.628,-28.6963 360.791,-30.2774 363.162,-29.4868 C 365.534,-28.6963 367.115,-25.534 366.325,-23.1623 C 365.534,-20.7906 362.372,-19.2094 360,-20z"/>
+    <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 360 -20 C 357.628,-20.7906 356.047,-23.9528 356.838,-26.3246 C 357.628,-28.6963 360.791,-30.2774 363.162,-29.4868 C 365.534,-28.6963 367.115,-25.534 366.325,-23.1623 C 365.534,-20.7906 362.372,-19.2094 360,-20"/>
+  </g>
+  <g>
+    <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="380" y1="-80" x2="440" y2="-40"/>
+    <path style="fill: #000000" d="M 440 -40 C 438.613,-37.9199 435.146,-37.2265 433.066,-38.6132 C 430.986,-40 430.293,-43.4669 431.679,-45.547 C 433.066,-47.6271 436.533,-48.3205 438.613,-46.9338 C 440.693,-45.547 441.387,-42.0801 440,-40z"/>
+    <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 440 -40 C 438.613,-37.9199 435.146,-37.2265 433.066,-38.6132 C 430.986,-40 430.293,-43.4669 431.679,-45.547 C 433.066,-47.6271 436.533,-48.3205 438.613,-46.9338 C 440.693,-45.547 441.387,-42.0801 440,-40"/>
+  </g>
+  <g>
+    <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="380" y1="-80" x2="460" y2="-180"/>
+    <path style="fill: #000000" d="M 460 -180 C 461.952,-178.438 462.343,-174.924 460.781,-172.972 C 459.219,-171.02 455.705,-170.63 453.753,-172.191 C 451.801,-173.753 451.41,-177.267 452.972,-179.219 C 454.534,-181.171 458.048,-181.562 460,-180z"/>
+    <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 460 -180 C 461.952,-178.438 462.343,-174.924 460.781,-172.972 C 459.219,-171.02 455.705,-170.63 453.753,-172.191 C 451.801,-173.753 451.41,-177.267 452.972,-179.219 C 454.534,-181.171 458.048,-181.562 460,-180"/>
+  </g>
+  <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke-dasharray: 4; stroke: #000000" x1="100" y1="-200" x2="300" y2="-200"/>
+  <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke-dasharray: 4; stroke: #000000" x1="300" y1="-200" x2="380" y2="-80"/>
+  <g>
+    <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="100" y1="-200" x2="60" y2="-100"/>
+    <path style="fill: #000000" d="M 60 -100 C 57.6788,-100.928 56.2861,-104.178 57.2146,-106.499 C 58.143,-108.821 61.3927,-110.213 63.7139,-109.285 C 66.0351,-108.356 67.4278,-105.107 66.4993,-102.785 C 65.5709,-100.464 62.3212,-99.0715 60,-100z"/>
+    <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 60 -100 C 57.6788,-100.928 56.2861,-104.178 57.2146,-106.499 C 58.143,-108.821 61.3927,-110.213 63.7139,-109.285 C 66.0351,-108.356 67.4278,-105.107 66.4993,-102.785 C 65.5709,-100.464 62.3212,-99.0715 60,-100"/>
+  </g>
+  <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke-dasharray: 4; stroke: #000000" x1="97.7654" y1="-200.434" x2="381.124" y2="-79.8272"/>
+  <g>
+    <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="239.445" y1="-140.131" x2="200" y2="-100"/>
+    <path style="fill: #000000" d="M 200 -100 C 198.217,-101.752 198.187,-105.288 199.939,-107.071 C 201.692,-108.854 205.227,-108.884 207.01,-107.132 C 208.793,-105.379 208.823,-101.844 207.071,-100.061 C 205.318,-98.278 201.783,-98.2475 200,-100z"/>
+    <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 200 -100 C 198.217,-101.752 198.187,-105.288 199.939,-107.071 C 201.692,-108.854 205.227,-108.884 207.01,-107.132 C 208.793,-105.379 208.823,-101.844 207.071,-100.061 C 205.318,-98.278 201.783,-98.2475 200,-100"/>
+  </g>
+  <g>
+    <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="239.445" y1="-140.131" x2="260" y2="-100"/>
+    <path style="fill: #000000" d="M 260 -100 C 257.775,-98.8603 254.41,-99.9457 253.27,-102.171 C 252.131,-104.396 253.216,-107.761 255.441,-108.9 C 257.666,-110.04 261.031,-108.955 262.171,-106.73 C 263.31,-104.505 262.225,-101.14 260,-100z"/>
+    <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 260 -100 C 257.775,-98.8603 254.41,-99.9457 253.27,-102.171 C 252.131,-104.396 253.216,-107.761 255.441,-108.9 C 257.666,-110.04 261.031,-108.955 262.171,-106.73 C 263.31,-104.505 262.225,-101.14 260,-100"/>
+  </g>
+  <g>
+    <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="239.445" y1="-140.131" x2="260" y2="-160"/>
+    <path style="fill: #000000" d="M 260 -160 C 261.738,-158.202 261.678,-154.667 259.88,-152.93 C 258.083,-151.192 254.548,-151.252 252.81,-153.05 C 251.072,-154.847 251.132,-158.382 252.93,-160.12 C 254.727,-161.857 258.262,-161.798 260,-160z"/>
+    <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 260 -160 C 261.738,-158.202 261.678,-154.667 259.88,-152.93 C 258.083,-151.192 254.548,-151.252 252.81,-153.05 C 251.072,-154.847 251.132,-158.382 252.93,-160.12 C 254.727,-161.857 258.262,-161.798 260,-160"/>
+  </g>
+  <g>
+    <ellipse style="fill: #ffffff" cx="100" cy="-200" rx="5" ry="5"/>
+    <ellipse style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" cx="100" cy="-200" rx="5" ry="5"/>
+  </g>
+  <g>
+    <ellipse style="fill: #ffffff" cx="300" cy="-200" rx="5" ry="5"/>
+    <ellipse style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" cx="300" cy="-200" rx="5" ry="5"/>
+  </g>
+  <g>
+    <ellipse style="fill: #ffffff" cx="380" cy="-80" rx="5" ry="5"/>
+    <ellipse style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" cx="380" cy="-80" rx="5" ry="5"/>
+  </g>
+  <g>
+    <ellipse style="fill: #ffffff" cx="240" cy="-140" rx="5" ry="5"/>
+    <ellipse style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" cx="240" cy="-140" rx="5" ry="5"/>
+  </g>
+  <g>
+    <ellipse style="fill: #000000" cx="25" cy="5" rx="5" ry="5"/>
+    <ellipse style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" cx="25" cy="5" rx="5" ry="5"/>
+  </g>
+  <g>
+    <ellipse style="fill: #ffffff" cx="25" cy="25" rx="5" ry="5"/>
+    <ellipse style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" cx="25" cy="25" rx="5" ry="5"/>
+  </g>
+  <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="20" y1="50" x2="60" y2="50"/>
+  <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke-dasharray: 4; stroke: #000000" x1="20" y1="70" x2="60" y2="70"/>
+  <text font-size="12.7998" style="fill: #000000;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="50" y="10">
+    <tspan x="50" y="10">Internet user (client)</tspan>
+  </text>
+  <text font-size="12.7998" style="fill: #000000;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="50" y="30">
+    <tspan x="50" y="30">Internet service provider (server)</tspan>
+  </text>
+  <text font-size="12.7998" style="fill: #000000;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="80" y="50">
+    <tspan x="80" y="50">client-to-server physical link</tspan>
+  </text>
+  <text font-size="12.7998" style="fill: #000000;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="80" y="70">
+    <tspan x="80" y="70">server-to-server physical link</tspan>
+  </text>
+  <text font-size="12.7998" style="fill: #000000;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="142.956" y="6.57602">
+    <tspan x="142.956" y="6.57602"></tspan>
+  </text>
+</svg>
Binary file schemas/decentralisation/2_logical_centralised.dia has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/schemas/decentralisation/2_logical_centralised.svg	Thu May 28 00:33:02 2015 +0200
@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/PR-SVG-20010719/DTD/svg10.dtd">
+<svg width="23cm" height="15cm" viewBox="18 -282 444 296" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <g>
+    <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="100" y1="-200" x2="60" y2="-260"/>
+    <path style="fill: #000000" d="M 60 -260 C 62.0801,-261.387 65.547,-260.693 66.9338,-258.613 C 68.3205,-256.533 67.6271,-253.066 65.547,-251.679 C 63.4669,-250.293 60,-250.986 58.6132,-253.066 C 57.2265,-255.146 57.9199,-258.613 60,-260z"/>
+    <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 60 -260 C 62.0801,-261.387 65.547,-260.693 66.9338,-258.613 C 68.3205,-256.533 67.6271,-253.066 65.547,-251.679 C 63.4669,-250.293 60,-250.986 58.6132,-253.066 C 57.2265,-255.146 57.9199,-258.613 60,-260"/>
+  </g>
+  <g>
+    <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="100" y1="-200" x2="160" y2="-280"/>
+    <path style="fill: #000000" d="M 160 -280 C 162,-278.5 162.5,-275 161,-273 C 159.5,-271 156,-270.5 154,-272 C 152,-273.5 151.5,-277 153,-279 C 154.5,-281 158,-281.5 160,-280z"/>
+    <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 160 -280 C 162,-278.5 162.5,-275 161,-273 C 159.5,-271 156,-270.5 154,-272 C 152,-273.5 151.5,-277 153,-279 C 154.5,-281 158,-281.5 160,-280"/>
+  </g>
+  <g>
+    <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="100" y1="-200" x2="20" y2="-160"/>
+    <path style="fill: #000000" d="M 20 -160 C 18.882,-162.236 20,-165.59 22.2361,-166.708 C 24.4721,-167.826 27.8262,-166.708 28.9443,-164.472 C 30.0623,-162.236 28.9443,-158.882 26.7082,-157.764 C 24.4721,-156.646 21.118,-157.764 20,-160z"/>
+    <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 20 -160 C 18.882,-162.236 20,-165.59 22.2361,-166.708 C 24.4721,-167.826 27.8262,-166.708 28.9443,-164.472 C 30.0623,-162.236 28.9443,-158.882 26.7082,-157.764 C 24.4721,-156.646 21.118,-157.764 20,-160"/>
+  </g>
+  <g>
+    <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="100" y1="-200" x2="140" y2="-40"/>
+    <path style="fill: #000000" d="M 140 -40 C 137.575,-39.3937 134.543,-41.2127 133.937,-43.638 C 133.33,-46.0634 135.149,-49.0951 137.575,-49.7014 C 140,-50.3078 143.032,-48.4887 143.638,-46.0634 C 144.244,-43.638 142.425,-40.6063 140,-40z"/>
+    <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 140 -40 C 137.575,-39.3937 134.543,-41.2127 133.937,-43.638 C 133.33,-46.0634 135.149,-49.0951 137.575,-49.7014 C 140,-50.3078 143.032,-48.4887 143.638,-46.0634 C 144.244,-43.638 142.425,-40.6063 140,-40"/>
+  </g>
+  <g>
+    <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="300" y1="-200" x2="400" y2="-220"/>
+    <path style="fill: #000000" d="M 400 -220 C 400.49,-217.549 398.529,-214.607 396.078,-214.117 C 393.626,-213.626 390.684,-215.587 390.194,-218.039 C 389.704,-220.49 391.665,-223.432 394.117,-223.922 C 396.568,-224.413 399.51,-222.451 400,-220z"/>
+    <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 400 -220 C 400.49,-217.549 398.529,-214.607 396.078,-214.117 C 393.626,-213.626 390.684,-215.587 390.194,-218.039 C 389.704,-220.49 391.665,-223.432 394.117,-223.922 C 396.568,-224.413 399.51,-222.451 400,-220"/>
+  </g>
+  <g>
+    <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="300" y1="-200" x2="260" y2="-260"/>
+    <path style="fill: #000000" d="M 260 -260 C 262.08,-261.387 265.547,-260.693 266.934,-258.613 C 268.321,-256.533 267.627,-253.066 265.547,-251.679 C 263.467,-250.293 260,-250.986 258.613,-253.066 C 257.226,-255.146 257.92,-258.613 260,-260z"/>
+    <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 260 -260 C 262.08,-261.387 265.547,-260.693 266.934,-258.613 C 268.321,-256.533 267.627,-253.066 265.547,-251.679 C 263.467,-250.293 260,-250.986 258.613,-253.066 C 257.226,-255.146 257.92,-258.613 260,-260"/>
+  </g>
+  <g>
+    <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="300" y1="-200" x2="360" y2="-240"/>
+    <path style="fill: #000000" d="M 360 -240 C 361.387,-237.92 360.693,-234.453 358.613,-233.066 C 356.533,-231.679 353.066,-232.373 351.679,-234.453 C 350.293,-236.533 350.986,-240 353.066,-241.387 C 355.146,-242.774 358.613,-242.08 360,-240z"/>
+    <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 360 -240 C 361.387,-237.92 360.693,-234.453 358.613,-233.066 C 356.533,-231.679 353.066,-232.373 351.679,-234.453 C 350.293,-236.533 350.986,-240 353.066,-241.387 C 355.146,-242.774 358.613,-242.08 360,-240"/>
+  </g>
+  <g>
+    <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="380" y1="-80" x2="300" y2="-60"/>
+    <path style="fill: #000000" d="M 300 -60 C 299.394,-62.4254 301.213,-65.4571 303.638,-66.0634 C 306.063,-66.6697 309.095,-64.8507 309.701,-62.4254 C 310.308,-60 308.489,-56.9683 306.063,-56.362 C 303.638,-55.7556 300.606,-57.5746 300,-60z"/>
+    <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 300 -60 C 299.394,-62.4254 301.213,-65.4571 303.638,-66.0634 C 306.063,-66.6697 309.095,-64.8507 309.701,-62.4254 C 310.308,-60 308.489,-56.9683 306.063,-56.362 C 303.638,-55.7556 300.606,-57.5746 300,-60"/>
+  </g>
+  <g>
+    <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="380" y1="-80" x2="360" y2="-20"/>
+    <path style="fill: #000000" d="M 360 -20 C 357.628,-20.7906 356.047,-23.9528 356.838,-26.3246 C 357.628,-28.6963 360.791,-30.2774 363.162,-29.4868 C 365.534,-28.6963 367.115,-25.534 366.325,-23.1623 C 365.534,-20.7906 362.372,-19.2094 360,-20z"/>
+    <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 360 -20 C 357.628,-20.7906 356.047,-23.9528 356.838,-26.3246 C 357.628,-28.6963 360.791,-30.2774 363.162,-29.4868 C 365.534,-28.6963 367.115,-25.534 366.325,-23.1623 C 365.534,-20.7906 362.372,-19.2094 360,-20"/>
+  </g>
+  <g>
+    <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="380" y1="-80" x2="440" y2="-40"/>
+    <path style="fill: #000000" d="M 440 -40 C 438.613,-37.9199 435.146,-37.2265 433.066,-38.6132 C 430.986,-40 430.293,-43.4669 431.679,-45.547 C 433.066,-47.6271 436.533,-48.3205 438.613,-46.9338 C 440.693,-45.547 441.387,-42.0801 440,-40z"/>
+    <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 440 -40 C 438.613,-37.9199 435.146,-37.2265 433.066,-38.6132 C 430.986,-40 430.293,-43.4669 431.679,-45.547 C 433.066,-47.6271 436.533,-48.3205 438.613,-46.9338 C 440.693,-45.547 441.387,-42.0801 440,-40"/>
+  </g>
+  <g>
+    <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="380" y1="-80" x2="460" y2="-180"/>
+    <path style="fill: #000000" d="M 460 -180 C 461.952,-178.438 462.343,-174.924 460.781,-172.972 C 459.219,-171.02 455.705,-170.63 453.753,-172.191 C 451.801,-173.753 451.41,-177.267 452.972,-179.219 C 454.534,-181.171 458.048,-181.562 460,-180z"/>
+    <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 460 -180 C 461.952,-178.438 462.343,-174.924 460.781,-172.972 C 459.219,-171.02 455.705,-170.63 453.753,-172.191 C 451.801,-173.753 451.41,-177.267 452.972,-179.219 C 454.534,-181.171 458.048,-181.562 460,-180"/>
+  </g>
+  <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke-dasharray: 4; stroke: #000000" x1="100" y1="-200" x2="300" y2="-200"/>
+  <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke-dasharray: 4; stroke: #000000" x1="300" y1="-200" x2="380" y2="-80"/>
+  <g>
+    <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="100" y1="-200" x2="60" y2="-100"/>
+    <path style="fill: #000000" d="M 60 -100 C 57.6788,-100.928 56.2861,-104.178 57.2146,-106.499 C 58.143,-108.821 61.3927,-110.213 63.7139,-109.285 C 66.0351,-108.356 67.4278,-105.107 66.4993,-102.785 C 65.5709,-100.464 62.3212,-99.0715 60,-100z"/>
+    <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 60 -100 C 57.6788,-100.928 56.2861,-104.178 57.2146,-106.499 C 58.143,-108.821 61.3927,-110.213 63.7139,-109.285 C 66.0351,-108.356 67.4278,-105.107 66.4993,-102.785 C 65.5709,-100.464 62.3212,-99.0715 60,-100"/>
+  </g>
+  <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke-dasharray: 4; stroke: #000000" x1="97.7654" y1="-200.434" x2="381.124" y2="-79.8272"/>
+  <g>
+    <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="239.444" y1="-140.131" x2="200" y2="-100"/>
+    <path style="fill: #000000" d="M 200 -100 C 198.217,-101.752 198.187,-105.288 199.939,-107.071 C 201.691,-108.854 205.227,-108.884 207.01,-107.132 C 208.793,-105.379 208.823,-101.844 207.071,-100.061 C 205.318,-98.2781 201.783,-98.2476 200,-100z"/>
+    <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 200 -100 C 198.217,-101.752 198.187,-105.288 199.939,-107.071 C 201.691,-108.854 205.227,-108.884 207.01,-107.132 C 208.793,-105.379 208.823,-101.844 207.071,-100.061 C 205.318,-98.2781 201.783,-98.2476 200,-100"/>
+  </g>
+  <g>
+    <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="239.444" y1="-140.131" x2="260" y2="-100"/>
+    <path style="fill: #000000" d="M 260 -100 C 257.775,-98.8603 254.41,-99.9456 253.27,-102.171 C 252.131,-104.396 253.216,-107.761 255.441,-108.9 C 257.666,-110.04 261.031,-108.955 262.171,-106.73 C 263.31,-104.505 262.225,-101.14 260,-100z"/>
+    <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 260 -100 C 257.775,-98.8603 254.41,-99.9456 253.27,-102.171 C 252.131,-104.396 253.216,-107.761 255.441,-108.9 C 257.666,-110.04 261.031,-108.955 262.171,-106.73 C 263.31,-104.505 262.225,-101.14 260,-100"/>
+  </g>
+  <g>
+    <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="239.444" y1="-140.131" x2="260" y2="-160"/>
+    <path style="fill: #000000" d="M 260 -160 C 261.737,-158.202 261.677,-154.667 259.88,-152.93 C 258.082,-151.192 254.547,-151.253 252.81,-153.05 C 251.072,-154.848 251.132,-158.383 252.93,-160.12 C 254.727,-161.858 258.263,-161.798 260,-160z"/>
+    <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 260 -160 C 261.737,-158.202 261.677,-154.667 259.88,-152.93 C 258.082,-151.192 254.547,-151.253 252.81,-153.05 C 251.072,-154.848 251.132,-158.383 252.93,-160.12 C 254.727,-161.858 258.263,-161.798 260,-160"/>
+  </g>
+  <g>
+    <ellipse style="fill: #ffffff" cx="100" cy="-200" rx="5" ry="5"/>
+    <ellipse style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" cx="100" cy="-200" rx="5" ry="5"/>
+  </g>
+  <g>
+    <ellipse style="fill: #ffffff" cx="300" cy="-200" rx="5" ry="5"/>
+    <ellipse style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" cx="300" cy="-200" rx="5" ry="5"/>
+  </g>
+  <g>
+    <ellipse style="fill: #ffffff" cx="380" cy="-80" rx="5" ry="5"/>
+    <ellipse style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" cx="380" cy="-80" rx="5" ry="5"/>
+  </g>
+  <g>
+    <ellipse style="fill: #ffffff" cx="240" cy="-140" rx="5" ry="5"/>
+    <ellipse style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" cx="240" cy="-140" rx="5" ry="5"/>
+  </g>
+  <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #ff0000" x1="20" y1="10" x2="60" y2="10"/>
+  <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="70" y="10">
+    <tspan x="70" y="10">client-to-server logical link (centralised)</tspan>
+  </text>
+  <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #ff0000" x1="296.675" y1="-204.988" x2="260" y2="-260"/>
+  <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #ff0000" x1="304.988" y1="-203.325" x2="360" y2="-240"/>
+  <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #ff0000" x1="305.856" y1="-201.301" x2="390" y2="-220"/>
+  <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #ff0000" x1="294.796" y1="-202.974" x2="160" y2="-280"/>
+  <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #ff0000" x1="294.185" y1="-201.454" x2="60" y2="-260"/>
+  <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #ff0000" x1="294.059" y1="-199.12" x2="30" y2="-160"/>
+  <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #ff0000" x1="294.456" y1="-197.69" x2="60" y2="-100"/>
+  <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #ff0000" x1="295.757" y1="-195.757" x2="140" y2="-40"/>
+  <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #ff0000" x1="297.771" y1="-194.427" x2="260" y2="-100"/>
+  <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #ff0000" x1="300" y1="-194.258" x2="300" y2="-60"/>
+  <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #ff0000" x1="301.899" y1="-194.304" x2="360" y2="-20"/>
+  <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #ff0000" x1="303.952" y1="-195.483" x2="440" y2="-40"/>
+  <text font-size="12.8" style="fill: #ff0000;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="90" y="10">
+    <tspan x="90" y="10"></tspan>
+  </text>
+  <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="118" y="4.25">
+    <tspan x="118" y="4.25"></tspan>
+  </text>
+  <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="205.772" y="2.6725">
+    <tspan x="205.772" y="2.6725"></tspan>
+  </text>
+  <text font-size="12.7998" style="fill: #90ee90;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="352" y="5.5">
+    <tspan x="352" y="5.5"></tspan>
+  </text>
+</svg>
Binary file schemas/decentralisation/3_logical_decentralised.dia has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/schemas/decentralisation/3_logical_decentralised.svg	Thu May 28 00:33:02 2015 +0200
@@ -0,0 +1,147 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/PR-SVG-20010719/DTD/svg10.dtd">
+<svg width="23cm" height="16cm" viewBox="18 -282 444 316" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <g>
+    <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="100" y1="-200" x2="60" y2="-260"/>
+    <path style="fill: #000000" d="M 60 -260 C 62.0801,-261.387 65.547,-260.693 66.9338,-258.613 C 68.3205,-256.533 67.6271,-253.066 65.547,-251.679 C 63.4669,-250.293 60,-250.986 58.6132,-253.066 C 57.2265,-255.146 57.9199,-258.613 60,-260z"/>
+    <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 60 -260 C 62.0801,-261.387 65.547,-260.693 66.9338,-258.613 C 68.3205,-256.533 67.6271,-253.066 65.547,-251.679 C 63.4669,-250.293 60,-250.986 58.6132,-253.066 C 57.2265,-255.146 57.9199,-258.613 60,-260"/>
+  </g>
+  <g>
+    <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="100" y1="-200" x2="160" y2="-280"/>
+    <path style="fill: #000000" d="M 160 -280 C 162,-278.5 162.5,-275 161,-273 C 159.5,-271 156,-270.5 154,-272 C 152,-273.5 151.5,-277 153,-279 C 154.5,-281 158,-281.5 160,-280z"/>
+    <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 160 -280 C 162,-278.5 162.5,-275 161,-273 C 159.5,-271 156,-270.5 154,-272 C 152,-273.5 151.5,-277 153,-279 C 154.5,-281 158,-281.5 160,-280"/>
+  </g>
+  <g>
+    <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="100" y1="-200" x2="20" y2="-160"/>
+    <path style="fill: #000000" d="M 20 -160 C 18.882,-162.236 20,-165.59 22.2361,-166.708 C 24.4721,-167.826 27.8262,-166.708 28.9443,-164.472 C 30.0623,-162.236 28.9443,-158.882 26.7082,-157.764 C 24.4721,-156.646 21.118,-157.764 20,-160z"/>
+    <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 20 -160 C 18.882,-162.236 20,-165.59 22.2361,-166.708 C 24.4721,-167.826 27.8262,-166.708 28.9443,-164.472 C 30.0623,-162.236 28.9443,-158.882 26.7082,-157.764 C 24.4721,-156.646 21.118,-157.764 20,-160"/>
+  </g>
+  <g>
+    <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="100" y1="-200" x2="140" y2="-40"/>
+    <path style="fill: #000000" d="M 140 -40 C 137.575,-39.3937 134.543,-41.2127 133.937,-43.638 C 133.33,-46.0634 135.149,-49.0951 137.575,-49.7014 C 140,-50.3078 143.032,-48.4887 143.638,-46.0634 C 144.244,-43.638 142.425,-40.6063 140,-40z"/>
+    <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 140 -40 C 137.575,-39.3937 134.543,-41.2127 133.937,-43.638 C 133.33,-46.0634 135.149,-49.0951 137.575,-49.7014 C 140,-50.3078 143.032,-48.4887 143.638,-46.0634 C 144.244,-43.638 142.425,-40.6063 140,-40"/>
+  </g>
+  <g>
+    <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="300" y1="-200" x2="400" y2="-220"/>
+    <path style="fill: #000000" d="M 400 -220 C 400.49,-217.549 398.529,-214.607 396.078,-214.117 C 393.626,-213.626 390.684,-215.587 390.194,-218.039 C 389.704,-220.49 391.665,-223.432 394.117,-223.922 C 396.568,-224.413 399.51,-222.451 400,-220z"/>
+    <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 400 -220 C 400.49,-217.549 398.529,-214.607 396.078,-214.117 C 393.626,-213.626 390.684,-215.587 390.194,-218.039 C 389.704,-220.49 391.665,-223.432 394.117,-223.922 C 396.568,-224.413 399.51,-222.451 400,-220"/>
+  </g>
+  <g>
+    <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="300" y1="-200" x2="260" y2="-260"/>
+    <path style="fill: #000000" d="M 260 -260 C 262.08,-261.387 265.547,-260.693 266.934,-258.613 C 268.321,-256.533 267.627,-253.066 265.547,-251.679 C 263.467,-250.293 260,-250.986 258.613,-253.066 C 257.226,-255.146 257.92,-258.613 260,-260z"/>
+    <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 260 -260 C 262.08,-261.387 265.547,-260.693 266.934,-258.613 C 268.321,-256.533 267.627,-253.066 265.547,-251.679 C 263.467,-250.293 260,-250.986 258.613,-253.066 C 257.226,-255.146 257.92,-258.613 260,-260"/>
+  </g>
+  <g>
+    <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="300" y1="-200" x2="360" y2="-240"/>
+    <path style="fill: #000000" d="M 360 -240 C 361.387,-237.92 360.693,-234.453 358.613,-233.066 C 356.533,-231.679 353.066,-232.373 351.679,-234.453 C 350.293,-236.533 350.986,-240 353.066,-241.387 C 355.146,-242.774 358.613,-242.08 360,-240z"/>
+    <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 360 -240 C 361.387,-237.92 360.693,-234.453 358.613,-233.066 C 356.533,-231.679 353.066,-232.373 351.679,-234.453 C 350.293,-236.533 350.986,-240 353.066,-241.387 C 355.146,-242.774 358.613,-242.08 360,-240"/>
+  </g>
+  <g>
+    <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="380" y1="-80" x2="300" y2="-60"/>
+    <path style="fill: #000000" d="M 300 -60 C 299.394,-62.4254 301.213,-65.4571 303.638,-66.0634 C 306.063,-66.6697 309.095,-64.8507 309.701,-62.4254 C 310.308,-60 308.489,-56.9683 306.063,-56.362 C 303.638,-55.7556 300.606,-57.5746 300,-60z"/>
+    <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 300 -60 C 299.394,-62.4254 301.213,-65.4571 303.638,-66.0634 C 306.063,-66.6697 309.095,-64.8507 309.701,-62.4254 C 310.308,-60 308.489,-56.9683 306.063,-56.362 C 303.638,-55.7556 300.606,-57.5746 300,-60"/>
+  </g>
+  <g>
+    <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="380" y1="-80" x2="360" y2="-20"/>
+    <path style="fill: #000000" d="M 360 -20 C 357.628,-20.7906 356.047,-23.9528 356.838,-26.3246 C 357.628,-28.6963 360.791,-30.2774 363.162,-29.4868 C 365.534,-28.6963 367.115,-25.534 366.325,-23.1623 C 365.534,-20.7906 362.372,-19.2094 360,-20z"/>
+    <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 360 -20 C 357.628,-20.7906 356.047,-23.9528 356.838,-26.3246 C 357.628,-28.6963 360.791,-30.2774 363.162,-29.4868 C 365.534,-28.6963 367.115,-25.534 366.325,-23.1623 C 365.534,-20.7906 362.372,-19.2094 360,-20"/>
+  </g>
+  <g>
+    <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="380" y1="-80" x2="440" y2="-40"/>
+    <path style="fill: #000000" d="M 440 -40 C 438.613,-37.9199 435.146,-37.2265 433.066,-38.6132 C 430.986,-40 430.293,-43.4669 431.679,-45.547 C 433.066,-47.6271 436.533,-48.3205 438.613,-46.9338 C 440.693,-45.547 441.387,-42.0801 440,-40z"/>
+    <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 440 -40 C 438.613,-37.9199 435.146,-37.2265 433.066,-38.6132 C 430.986,-40 430.293,-43.4669 431.679,-45.547 C 433.066,-47.6271 436.533,-48.3205 438.613,-46.9338 C 440.693,-45.547 441.387,-42.0801 440,-40"/>
+  </g>
+  <g>
+    <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="380" y1="-80" x2="460" y2="-180"/>
+    <path style="fill: #000000" d="M 460 -180 C 461.952,-178.438 462.343,-174.924 460.781,-172.972 C 459.219,-171.02 455.705,-170.63 453.753,-172.191 C 451.801,-173.753 451.41,-177.267 452.972,-179.219 C 454.534,-181.171 458.048,-181.562 460,-180z"/>
+    <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 460 -180 C 461.952,-178.438 462.343,-174.924 460.781,-172.972 C 459.219,-171.02 455.705,-170.63 453.753,-172.191 C 451.801,-173.753 451.41,-177.267 452.972,-179.219 C 454.534,-181.171 458.048,-181.562 460,-180"/>
+  </g>
+  <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke-dasharray: 4; stroke: #90ee90" x1="100" y1="-200" x2="300" y2="-200"/>
+  <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke-dasharray: 4; stroke: #90ee90" x1="300" y1="-200" x2="380" y2="-80"/>
+  <g>
+    <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="100" y1="-200" x2="60" y2="-100"/>
+    <path style="fill: #000000" d="M 60 -100 C 57.6788,-100.928 56.2861,-104.178 57.2146,-106.499 C 58.143,-108.821 61.3927,-110.213 63.7139,-109.285 C 66.0351,-108.356 67.4278,-105.107 66.4993,-102.785 C 65.5709,-100.464 62.3212,-99.0715 60,-100z"/>
+    <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 60 -100 C 57.6788,-100.928 56.2861,-104.178 57.2146,-106.499 C 58.143,-108.821 61.3927,-110.213 63.7139,-109.285 C 66.0351,-108.356 67.4278,-105.107 66.4993,-102.785 C 65.5709,-100.464 62.3212,-99.0715 60,-100"/>
+  </g>
+  <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke-dasharray: 4; stroke: #90ee90" x1="97.7654" y1="-200.434" x2="381.124" y2="-79.8272"/>
+  <g>
+    <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="239.445" y1="-140.131" x2="200" y2="-100"/>
+    <path style="fill: #000000" d="M 200 -100 C 198.217,-101.752 198.187,-105.288 199.939,-107.071 C 201.692,-108.854 205.227,-108.884 207.01,-107.132 C 208.793,-105.379 208.823,-101.844 207.071,-100.061 C 205.318,-98.278 201.783,-98.2475 200,-100z"/>
+    <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 200 -100 C 198.217,-101.752 198.187,-105.288 199.939,-107.071 C 201.692,-108.854 205.227,-108.884 207.01,-107.132 C 208.793,-105.379 208.823,-101.844 207.071,-100.061 C 205.318,-98.278 201.783,-98.2475 200,-100"/>
+  </g>
+  <g>
+    <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="239.445" y1="-140.131" x2="260" y2="-100"/>
+    <path style="fill: #000000" d="M 260 -100 C 257.775,-98.8603 254.41,-99.9457 253.27,-102.171 C 252.131,-104.396 253.216,-107.761 255.441,-108.9 C 257.666,-110.04 261.031,-108.955 262.171,-106.73 C 263.31,-104.505 262.225,-101.14 260,-100z"/>
+    <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 260 -100 C 257.775,-98.8603 254.41,-99.9457 253.27,-102.171 C 252.131,-104.396 253.216,-107.761 255.441,-108.9 C 257.666,-110.04 261.031,-108.955 262.171,-106.73 C 263.31,-104.505 262.225,-101.14 260,-100"/>
+  </g>
+  <g>
+    <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="239.445" y1="-140.131" x2="260" y2="-160"/>
+    <path style="fill: #000000" d="M 260 -160 C 261.738,-158.202 261.678,-154.667 259.88,-152.93 C 258.083,-151.192 254.548,-151.252 252.81,-153.05 C 251.072,-154.847 251.132,-158.382 252.93,-160.12 C 254.727,-161.857 258.262,-161.798 260,-160z"/>
+    <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 260 -160 C 261.738,-158.202 261.678,-154.667 259.88,-152.93 C 258.083,-151.192 254.548,-151.252 252.81,-153.05 C 251.072,-154.847 251.132,-158.382 252.93,-160.12 C 254.727,-161.857 258.262,-161.798 260,-160"/>
+  </g>
+  <g>
+    <ellipse style="fill: #ffffff" cx="100" cy="-200" rx="5" ry="5"/>
+    <ellipse style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" cx="100" cy="-200" rx="5" ry="5"/>
+  </g>
+  <g>
+    <ellipse style="fill: #ffffff" cx="300" cy="-200" rx="5" ry="5"/>
+    <ellipse style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" cx="300" cy="-200" rx="5" ry="5"/>
+  </g>
+  <g>
+    <ellipse style="fill: #ffffff" cx="380" cy="-80" rx="5" ry="5"/>
+    <ellipse style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" cx="380" cy="-80" rx="5" ry="5"/>
+  </g>
+  <g>
+    <ellipse style="fill: #ffffff" cx="240" cy="-140" rx="5" ry="5"/>
+    <ellipse style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" cx="240" cy="-140" rx="5" ry="5"/>
+  </g>
+  <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #90ee90" x1="20" y1="10" x2="60" y2="10"/>
+  <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="70" y="10">
+    <tspan x="70" y="10">client-to-server logical link (decentralised)</tspan>
+  </text>
+  <text font-size="12.8" style="fill: #ff0000;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="90" y="10">
+    <tspan x="90" y="10"></tspan>
+  </text>
+  <text font-size="12.7998" style="fill: #000000;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="118" y="4.25">
+    <tspan x="118" y="4.25"></tspan>
+  </text>
+  <text font-size="12.7998" style="fill: #000000;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="205.772" y="2.6725">
+    <tspan x="205.772" y="2.6725"></tspan>
+  </text>
+  <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #90ee90" x1="296.675" y1="-204.988" x2="260" y2="-260"/>
+  <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #90ee90" x1="304.988" y1="-203.325" x2="360" y2="-240"/>
+  <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #90ee90" x1="305.872" y1="-201.174" x2="400" y2="-220"/>
+  <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #90ee90" x1="103.589" y1="-204.785" x2="160" y2="-280"/>
+  <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #90ee90" x1="96.6748" y1="-204.988" x2="60" y2="-260"/>
+  <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #90ee90" x1="94.6387" y1="-197.319" x2="20" y2="-160"/>
+  <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #90ee90" x1="97.771" y1="-194.427" x2="60" y2="-100"/>
+  <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #90ee90" x1="101.458" y1="-194.17" x2="140" y2="-40"/>
+  <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #90ee90" x1="235.757" y1="-135.757" x2="200" y2="-100"/>
+  <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #90ee90" x1="242.681" y1="-134.639" x2="260" y2="-100"/>
+  <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #90ee90" x1="239.445" y1="-140.131" x2="260" y2="-160"/>
+  <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #90ee90" x1="374.17" y1="-78.5425" x2="300" y2="-60"/>
+  <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #90ee90" x1="378.103" y1="-74.3091" x2="360" y2="-20"/>
+  <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #90ee90" x1="384.988" y1="-76.6748" x2="440" y2="-40"/>
+  <text font-size="12.7998" style="fill: #90ee90;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="290" y="10">
+    <tspan x="290" y="10"></tspan>
+  </text>
+  <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke-dasharray: 4; stroke: #90ee90" x1="20" y1="30" x2="60" y2="30"/>
+  <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="70" y="30">
+    <tspan x="70" y="30">server-to-server logical link (decentralised)</tspan>
+  </text>
+  <text font-size="12.8" style="fill: #ff0000;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="90" y="30">
+    <tspan x="90" y="30"></tspan>
+  </text>
+  <text font-size="12.7998" style="fill: #000000;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="118" y="24.25">
+    <tspan x="118" y="24.25"></tspan>
+  </text>
+  <text font-size="12.7998" style="fill: #000000;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="205.772" y="22.6725">
+    <tspan x="205.772" y="22.6725"></tspan>
+  </text>
+  <text font-size="12.7998" style="fill: #90ee90;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="290" y="30">
+    <tspan x="290" y="30"></tspan>
+  </text>
+  <text font-size="12.7998" style="fill: #90ee90;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="80" y="30">
+    <tspan x="80" y="30"></tspan>
+  </text>
+</svg>
Binary file schemas/decentralisation/4_logical_decentralised_self_hosting.dia has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/schemas/decentralisation/4_logical_decentralised_self_hosting.svg	Thu May 28 00:33:02 2015 +0200
@@ -0,0 +1,160 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/PR-SVG-20010719/DTD/svg10.dtd">
+<svg width="23cm" height="15cm" viewBox="18 -282 445 296" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <g>
+    <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="100" y1="-200" x2="60" y2="-260"/>
+    <path style="fill: #000000" d="M 60 -260 C 62.0801,-261.387 65.547,-260.693 66.9338,-258.613 C 68.3205,-256.533 67.6271,-253.066 65.547,-251.679 C 63.4669,-250.293 60,-250.986 58.6132,-253.066 C 57.2265,-255.146 57.9199,-258.613 60,-260z"/>
+    <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 60 -260 C 62.0801,-261.387 65.547,-260.693 66.9338,-258.613 C 68.3205,-256.533 67.6271,-253.066 65.547,-251.679 C 63.4669,-250.293 60,-250.986 58.6132,-253.066 C 57.2265,-255.146 57.9199,-258.613 60,-260"/>
+  </g>
+  <g>
+    <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="100" y1="-200" x2="160" y2="-280"/>
+    <path style="fill: #000000" d="M 160 -280 C 162,-278.5 162.5,-275 161,-273 C 159.5,-271 156,-270.5 154,-272 C 152,-273.5 151.5,-277 153,-279 C 154.5,-281 158,-281.5 160,-280z"/>
+    <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 160 -280 C 162,-278.5 162.5,-275 161,-273 C 159.5,-271 156,-270.5 154,-272 C 152,-273.5 151.5,-277 153,-279 C 154.5,-281 158,-281.5 160,-280"/>
+  </g>
+  <g>
+    <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="100" y1="-200" x2="20" y2="-160"/>
+    <path style="fill: #000000" d="M 20 -160 C 18.882,-162.236 20,-165.59 22.2361,-166.708 C 24.4721,-167.826 27.8262,-166.708 28.9443,-164.472 C 30.0623,-162.236 28.9443,-158.882 26.7082,-157.764 C 24.4721,-156.646 21.118,-157.764 20,-160z"/>
+    <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 20 -160 C 18.882,-162.236 20,-165.59 22.2361,-166.708 C 24.4721,-167.826 27.8262,-166.708 28.9443,-164.472 C 30.0623,-162.236 28.9443,-158.882 26.7082,-157.764 C 24.4721,-156.646 21.118,-157.764 20,-160"/>
+  </g>
+  <g>
+    <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="100" y1="-200" x2="140" y2="-40"/>
+    <path style="fill: #000000" d="M 140 -40 C 137.575,-39.3937 134.543,-41.2127 133.937,-43.638 C 133.33,-46.0634 135.149,-49.0951 137.575,-49.7014 C 140,-50.3078 143.032,-48.4887 143.638,-46.0634 C 144.244,-43.638 142.425,-40.6063 140,-40z"/>
+    <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 140 -40 C 137.575,-39.3937 134.543,-41.2127 133.937,-43.638 C 133.33,-46.0634 135.149,-49.0951 137.575,-49.7014 C 140,-50.3078 143.032,-48.4887 143.638,-46.0634 C 144.244,-43.638 142.425,-40.6063 140,-40"/>
+  </g>
+  <g>
+    <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="300" y1="-200" x2="400" y2="-220"/>
+    <path style="fill: #000000" d="M 400 -220 C 400.49,-217.549 398.529,-214.607 396.078,-214.117 C 393.626,-213.626 390.684,-215.587 390.194,-218.039 C 389.704,-220.49 391.665,-223.432 394.117,-223.922 C 396.568,-224.413 399.51,-222.451 400,-220z"/>
+    <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 400 -220 C 400.49,-217.549 398.529,-214.607 396.078,-214.117 C 393.626,-213.626 390.684,-215.587 390.194,-218.039 C 389.704,-220.49 391.665,-223.432 394.117,-223.922 C 396.568,-224.413 399.51,-222.451 400,-220"/>
+  </g>
+  <g>
+    <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="300" y1="-200" x2="260" y2="-260"/>
+    <path style="fill: #000000" d="M 260 -260 C 262.08,-261.387 265.547,-260.693 266.934,-258.613 C 268.321,-256.533 267.627,-253.066 265.547,-251.679 C 263.467,-250.293 260,-250.986 258.613,-253.066 C 257.226,-255.146 257.92,-258.613 260,-260z"/>
+    <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 260 -260 C 262.08,-261.387 265.547,-260.693 266.934,-258.613 C 268.321,-256.533 267.627,-253.066 265.547,-251.679 C 263.467,-250.293 260,-250.986 258.613,-253.066 C 257.226,-255.146 257.92,-258.613 260,-260"/>
+  </g>
+  <g>
+    <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="300" y1="-200" x2="360" y2="-240"/>
+    <path style="fill: #000000" d="M 360 -240 C 361.387,-237.92 360.693,-234.453 358.613,-233.066 C 356.533,-231.679 353.066,-232.373 351.679,-234.453 C 350.293,-236.533 350.986,-240 353.066,-241.387 C 355.146,-242.774 358.613,-242.08 360,-240z"/>
+    <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 360 -240 C 361.387,-237.92 360.693,-234.453 358.613,-233.066 C 356.533,-231.679 353.066,-232.373 351.679,-234.453 C 350.293,-236.533 350.986,-240 353.066,-241.387 C 355.146,-242.774 358.613,-242.08 360,-240"/>
+  </g>
+  <g>
+    <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="380" y1="-80" x2="300" y2="-60"/>
+    <path style="fill: #000000" d="M 300 -60 C 299.394,-62.4254 301.213,-65.4571 303.638,-66.0634 C 306.063,-66.6697 309.095,-64.8507 309.701,-62.4254 C 310.308,-60 308.489,-56.9683 306.063,-56.362 C 303.638,-55.7556 300.606,-57.5746 300,-60z"/>
+    <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 300 -60 C 299.394,-62.4254 301.213,-65.4571 303.638,-66.0634 C 306.063,-66.6697 309.095,-64.8507 309.701,-62.4254 C 310.308,-60 308.489,-56.9683 306.063,-56.362 C 303.638,-55.7556 300.606,-57.5746 300,-60"/>
+  </g>
+  <g>
+    <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="380" y1="-80" x2="360" y2="-20"/>
+    <path style="fill: #000000" d="M 360 -20 C 357.628,-20.7906 356.047,-23.9528 356.838,-26.3246 C 357.628,-28.6963 360.791,-30.2774 363.162,-29.4868 C 365.534,-28.6963 367.115,-25.534 366.325,-23.1623 C 365.534,-20.7906 362.372,-19.2094 360,-20z"/>
+    <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 360 -20 C 357.628,-20.7906 356.047,-23.9528 356.838,-26.3246 C 357.628,-28.6963 360.791,-30.2774 363.162,-29.4868 C 365.534,-28.6963 367.115,-25.534 366.325,-23.1623 C 365.534,-20.7906 362.372,-19.2094 360,-20"/>
+  </g>
+  <g>
+    <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="380" y1="-80" x2="440" y2="-40"/>
+    <path style="fill: #000000" d="M 440 -40 C 438.613,-37.9199 435.146,-37.2265 433.066,-38.6132 C 430.986,-40 430.293,-43.4669 431.679,-45.547 C 433.066,-47.6271 436.533,-48.3205 438.613,-46.9338 C 440.693,-45.547 441.387,-42.0801 440,-40z"/>
+    <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 440 -40 C 438.613,-37.9199 435.146,-37.2265 433.066,-38.6132 C 430.986,-40 430.293,-43.4669 431.679,-45.547 C 433.066,-47.6271 436.533,-48.3205 438.613,-46.9338 C 440.693,-45.547 441.387,-42.0801 440,-40"/>
+  </g>
+  <g>
+    <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="380" y1="-80" x2="460" y2="-180"/>
+    <path style="fill: #000000" d="M 460 -180 C 461.952,-178.438 462.343,-174.924 460.781,-172.972 C 459.219,-171.02 455.705,-170.63 453.753,-172.191 C 451.801,-173.753 451.41,-177.267 452.972,-179.219 C 454.534,-181.171 458.048,-181.562 460,-180z"/>
+    <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 460 -180 C 461.952,-178.438 462.343,-174.924 460.781,-172.972 C 459.219,-171.02 455.705,-170.63 453.753,-172.191 C 451.801,-173.753 451.41,-177.267 452.972,-179.219 C 454.534,-181.171 458.048,-181.562 460,-180"/>
+  </g>
+  <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke-dasharray: 4; stroke: #90ee90" x1="100" y1="-200" x2="300" y2="-200"/>
+  <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke-dasharray: 4; stroke: #90ee90" x1="300" y1="-200" x2="380" y2="-80"/>
+  <g>
+    <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="100" y1="-200" x2="60" y2="-100"/>
+    <path style="fill: #000000" d="M 60 -100 C 57.6788,-100.928 56.2861,-104.178 57.2146,-106.499 C 58.143,-108.821 61.3927,-110.213 63.7139,-109.285 C 66.0351,-108.356 67.4278,-105.107 66.4993,-102.785 C 65.5709,-100.464 62.3212,-99.0715 60,-100z"/>
+    <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 60 -100 C 57.6788,-100.928 56.2861,-104.178 57.2146,-106.499 C 58.143,-108.821 61.3927,-110.213 63.7139,-109.285 C 66.0351,-108.356 67.4278,-105.107 66.4993,-102.785 C 65.5709,-100.464 62.3212,-99.0715 60,-100"/>
+  </g>
+  <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke-dasharray: 4; stroke: #90ee90" x1="97.7654" y1="-200.434" x2="381.124" y2="-79.8272"/>
+  <g>
+    <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="239.445" y1="-140.131" x2="200" y2="-100"/>
+    <path style="fill: #000000" d="M 200 -100 C 198.217,-101.752 198.187,-105.288 199.939,-107.071 C 201.692,-108.854 205.227,-108.884 207.01,-107.132 C 208.793,-105.379 208.823,-101.844 207.071,-100.061 C 205.318,-98.278 201.783,-98.2475 200,-100z"/>
+    <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 200 -100 C 198.217,-101.752 198.187,-105.288 199.939,-107.071 C 201.692,-108.854 205.227,-108.884 207.01,-107.132 C 208.793,-105.379 208.823,-101.844 207.071,-100.061 C 205.318,-98.278 201.783,-98.2475 200,-100"/>
+  </g>
+  <g>
+    <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="239.445" y1="-140.131" x2="260" y2="-100"/>
+    <path style="fill: #000000" d="M 260 -100 C 257.775,-98.8603 254.41,-99.9457 253.27,-102.171 C 252.131,-104.396 253.216,-107.761 255.441,-108.9 C 257.666,-110.04 261.031,-108.955 262.171,-106.73 C 263.31,-104.505 262.225,-101.14 260,-100z"/>
+    <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 260 -100 C 257.775,-98.8603 254.41,-99.9457 253.27,-102.171 C 252.131,-104.396 253.216,-107.761 255.441,-108.9 C 257.666,-110.04 261.031,-108.955 262.171,-106.73 C 263.31,-104.505 262.225,-101.14 260,-100"/>
+  </g>
+  <g>
+    <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="239.445" y1="-140.131" x2="260" y2="-160"/>
+    <path style="fill: #000000" d="M 260 -160 C 261.738,-158.202 261.678,-154.667 259.88,-152.93 C 258.083,-151.192 254.548,-151.252 252.81,-153.05 C 251.072,-154.847 251.132,-158.382 252.93,-160.12 C 254.727,-161.857 258.262,-161.798 260,-160z"/>
+    <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 260 -160 C 261.738,-158.202 261.678,-154.667 259.88,-152.93 C 258.083,-151.192 254.548,-151.252 252.81,-153.05 C 251.072,-154.847 251.132,-158.382 252.93,-160.12 C 254.727,-161.857 258.262,-161.798 260,-160"/>
+  </g>
+  <g>
+    <ellipse style="fill: #ffffff" cx="100" cy="-200" rx="5" ry="5"/>
+    <ellipse style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" cx="100" cy="-200" rx="5" ry="5"/>
+  </g>
+  <g>
+    <ellipse style="fill: #ffffff" cx="300" cy="-200" rx="5" ry="5"/>
+    <ellipse style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" cx="300" cy="-200" rx="5" ry="5"/>
+  </g>
+  <g>
+    <ellipse style="fill: #ffffff" cx="380" cy="-80" rx="5" ry="5"/>
+    <ellipse style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" cx="380" cy="-80" rx="5" ry="5"/>
+  </g>
+  <g>
+    <ellipse style="fill: #ffffff" cx="240" cy="-140" rx="5" ry="5"/>
+    <ellipse style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" cx="240" cy="-140" rx="5" ry="5"/>
+  </g>
+  <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="50" y="10">
+    <tspan x="50" y="10">Internet user hosting his own communication server</tspan>
+  </text>
+  <text font-size="12.8" style="fill: #ff0000;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="90" y="10">
+    <tspan x="90" y="10"></tspan>
+  </text>
+  <text font-size="12.7998" style="fill: #000000;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="118" y="4.25">
+    <tspan x="118" y="4.25"></tspan>
+  </text>
+  <text font-size="12.7998" style="fill: #000000;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="205.772" y="2.6725">
+    <tspan x="205.772" y="2.6725"></tspan>
+  </text>
+  <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #90ee90" x1="296.675" y1="-204.988" x2="260" y2="-260"/>
+  <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #90ee90" x1="304.988" y1="-203.325" x2="360" y2="-240"/>
+  <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #90ee90" x1="305.872" y1="-201.174" x2="400" y2="-220"/>
+  <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #90ee90" x1="103.589" y1="-204.785" x2="160" y2="-280"/>
+  <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #90ee90" x1="96.6748" y1="-204.988" x2="60" y2="-260"/>
+  <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #90ee90" x1="94.6387" y1="-197.319" x2="20" y2="-160"/>
+  <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #90ee90" x1="97.771" y1="-194.427" x2="60" y2="-100"/>
+  <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #90ee90" x1="101.458" y1="-194.17" x2="140" y2="-40"/>
+  <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #90ee90" x1="235.757" y1="-135.757" x2="200" y2="-100"/>
+  <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #90ee90" x1="242.681" y1="-134.639" x2="260" y2="-100"/>
+  <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #90ee90" x1="239.445" y1="-140.131" x2="260" y2="-160"/>
+  <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #90ee90" x1="374.17" y1="-78.5425" x2="300" y2="-60"/>
+  <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #90ee90" x1="378.103" y1="-74.3091" x2="360" y2="-20"/>
+  <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #90ee90" x1="384.988" y1="-76.6748" x2="440" y2="-40"/>
+  <text font-size="12.7998" style="fill: #90ee90;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="290" y="10">
+    <tspan x="290" y="10"></tspan>
+  </text>
+  <text font-size="12.8" style="fill: #ff0000;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="90" y="30">
+    <tspan x="90" y="30"></tspan>
+  </text>
+  <text font-size="12.7998" style="fill: #000000;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="118" y="24.25">
+    <tspan x="118" y="24.25"></tspan>
+  </text>
+  <text font-size="12.7998" style="fill: #000000;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="205.772" y="22.6725">
+    <tspan x="205.772" y="22.6725"></tspan>
+  </text>
+  <text font-size="12.7998" style="fill: #90ee90;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="290" y="30">
+    <tspan x="290" y="30"></tspan>
+  </text>
+  <text font-size="12.7998" style="fill: #90ee90;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="80" y="30">
+    <tspan x="80" y="30"></tspan>
+  </text>
+  <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke-dasharray: 4; stroke: #90ee90" x1="455.887" y1="-176.327" x2="303.536" y2="-196.464"/>
+  <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke-dasharray: 4; stroke: #90ee90" x1="456.887" y1="-176.827" x2="245.507" y2="-140.935"/>
+  <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke-dasharray: 4; stroke: #90ee90" x1="456.387" y1="-175.827" x2="105.96" y2="-199.596"/>
+  <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke-dasharray: 4; stroke: #90ee90" x1="456.387" y1="-175.327" x2="383.753" y2="-84.6838"/>
+  <g>
+    <ellipse style="fill: #90ee90" cx="457" cy="-176.2" rx="5" ry="5"/>
+    <ellipse style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #90ee90" cx="457" cy="-176.2" rx="5" ry="5"/>
+  </g>
+  <g>
+    <ellipse style="fill: #90ee90" cx="25" cy="5" rx="5" ry="5"/>
+    <ellipse style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #90ee90" cx="25" cy="5" rx="5" ry="5"/>
+  </g>
+  <text font-size="12.7998" style="fill: #90ee90;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="130" y="10">
+    <tspan x="130" y="10"></tspan>
+  </text>
+  <text font-size="12.7998" style="fill: #90ee90;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="260" y="0">
+    <tspan x="260" y="0"></tspan>
+  </text>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/scripts/list_plugins/list_plugins.py	Thu May 28 00:33:02 2015 +0200
@@ -0,0 +1,109 @@
+#!/usr/bin/python
+# -*- coding: utf-8 -*-
+"""
+SàT website: Salut à Toi's presentation website
+Copyright (C) 2015  Jérôme Poisson (goffi@goffi.org)
+Copyright (C) 2015  Adrien Cossa (souliane@mailoo.org)
+
+This file is part of SàT website.
+
+SàT website is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Foobar is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+"""
+
+
+from sat import plugins
+import pkgutil
+
+WEBSITE = "/home/souliane/workspace/sat_website"
+
+HEADER = u"""
+{% comment %}
+SàT website: Salut à Toi's presentation website
+Copyright (C) 2012  Jérôme Poisson (goffi@goffi.org)
+Copyright (C) 2015  Adrien Cossa (souliane@mailoo.org)
+
+This file is part of SàT website.
+
+SàT website is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Foobar is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+
+
+NOTE: this file has been automatically generated by the following script:
+http://repos.goffi.org/sat_docs/file/tip/scripts/list_plugins/list_plugins.py
+
+Please avoid manual modification, try to update the script instead! Before /
+after a regeneration, don't forget to save / merge the manual modifications.
+
+{% endcomment %}
+{% load i18n %}
+"""
+
+import urllib2
+import lxml.html
+
+# use it to retrieve the XEP name from the official list
+XEPS_URL = "http://xmpp.org/xmpp-protocols/xmpp-extensions/"
+
+def get_infos():
+    result = {}
+    doc = lxml.html.parse(XEPS_URL)
+
+    for loader, module_name, is_pkg in  pkgutil.walk_packages(plugins.__path__):
+        module = loader.find_module(module_name).load_module(module_name)
+        infos = getattr(module, 'PLUGIN_INFO')
+
+        if infos['type'] == 'XEP':
+            name = infos['import_name']
+            url = "http://xmpp.org/extensions/%s.html" % name.lower()
+            key = "xep"
+            # use the XEP name as description
+            desc = doc.xpath("//tr[@id='%s']/td" % name.lower().replace("-", ""))[1].text
+        else:
+            name = '{% trans "' + infos['name'] + '" %}'
+            url = None
+            key = "exp"
+            desc = infos['description']
+            if desc.startswith('Implementation of '):
+                desc = desc[18:]
+        desc = '{% trans "' + desc.replace('"', '\\"') + '" %}'
+        result.setdefault(key, []).append((name, url, desc))
+
+    return result
+
+
+def print_infos(infos, file):
+    with open(file, 'w',) as f:
+        f.write(HEADER.encode("utf-8"))
+        for name, url, desc in infos:
+            name = ('<a href="%s" target="#">%s</a>' % (url, name)) if url else name
+            entry = u"""
+<div class="row">
+  <div class="col-md-2">%s</div>
+  <div class="col-md-7 feature">%s</div>
+</div>""" % (name, desc)
+            f.write(entry.encode("utf-8"))
+
+infos = get_infos()
+for type_ in ("xep", "exp"):
+    print_infos(infos[type_], "%s/templates/sat_website/specifications_%s.html" % (WEBSITE, type_))