Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

second commit

  • Loading branch information...
commit e8943c9a962b1f4498446f2c0682906013eb4495 1 parent e011990
@peterbe authored
View
590 all.svg
@@ -0,0 +1,590 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 2.25.20090626.0445 (20090626.0445)
+ -->
+<!-- Title: name Pages: 1 -->
+<svg width="1370pt" height="1295pt"
+ viewBox="0.00 0.00 1370.00 1295.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph1" class="graph" transform="scale(1 1) rotate(0) translate(4 1291)">
+<title>name</title>
+<polygon fill="white" stroke="white" points="-4,5 -4,-1291 1367,-1291 1367,5 -4,5"/>
+<g id="graph2" class="cluster"><title>cluster_shipping_models</title>
+<polyline fill="none" stroke="#698b22" points="20,-422 467,-422 "/>
+<path fill="none" stroke="#698b22" d="M467,-422C473,-422 479,-428 479,-434"/>
+<polyline fill="none" stroke="#698b22" points="479,-434 479,-1267 "/>
+<path fill="none" stroke="#698b22" d="M479,-1267C479,-1273 473,-1279 467,-1279"/>
+<polyline fill="none" stroke="#698b22" points="467,-1279 20,-1279 "/>
+<path fill="none" stroke="#698b22" d="M20,-1279C14,-1279 8,-1273 8,-1267"/>
+<polyline fill="none" stroke="#698b22" points="8,-1267 8,-434 "/>
+<path fill="none" stroke="#698b22" d="M8,-434C8,-428 14,-422 20,-422"/>
+<text text-anchor="start" x="217" y="-1261.2" font-family="Helvetica Bold" font-size="12.00">shipping</text>
+</g>
+<g id="graph3" class="cluster"><title>cluster_life_models</title>
+<polyline fill="none" stroke="#698b22" points="499,-8 896,-8 "/>
+<path fill="none" stroke="#698b22" d="M896,-8C902,-8 908,-14 908,-20"/>
+<polyline fill="none" stroke="#698b22" points="908,-20 908,-535 "/>
+<path fill="none" stroke="#698b22" d="M908,-535C908,-541 902,-547 896,-547"/>
+<polyline fill="none" stroke="#698b22" points="896,-547 499,-547 "/>
+<path fill="none" stroke="#698b22" d="M499,-547C493,-547 487,-541 487,-535"/>
+<polyline fill="none" stroke="#698b22" points="487,-535 487,-20 "/>
+<path fill="none" stroke="#698b22" d="M487,-20C487,-14 493,-8 499,-8"/>
+<text text-anchor="start" x="688" y="-529.2" font-family="Helvetica Bold" font-size="12.00">life</text>
+</g>
+<g id="graph4" class="cluster"><title>cluster_l10nstats_models</title>
+<polyline fill="none" stroke="#698b22" points="928,-422 1288,-422 "/>
+<path fill="none" stroke="#698b22" d="M1288,-422C1294,-422 1300,-428 1300,-434"/>
+<polyline fill="none" stroke="#698b22" points="1300,-434 1300,-964 "/>
+<path fill="none" stroke="#698b22" d="M1300,-964C1300,-970 1294,-976 1288,-976"/>
+<polyline fill="none" stroke="#698b22" points="1288,-976 928,-976 "/>
+<path fill="none" stroke="#698b22" d="M928,-976C922,-976 916,-970 916,-964"/>
+<polyline fill="none" stroke="#698b22" points="916,-964 916,-434 "/>
+<path fill="none" stroke="#698b22" d="M916,-434C916,-428 922,-422 928,-422"/>
+<text text-anchor="start" x="1080" y="-958.2" font-family="Helvetica Bold" font-size="12.00">l10nstats</text>
+</g>
+<!-- shipping_models_Application -->
+<g id="node2" class="node"><title>shipping_models_Application</title>
+<polygon fill="palegoldenrod" stroke="palegoldenrod" points="275.5,-434.5 275.5,-487.5 348.5,-487.5 348.5,-434.5 275.5,-434.5"/>
+<polygon fill="#698b22" stroke="#698b22" points="276,-470 276,-487 349,-487 349,-470 276,-470"/>
+<text text-anchor="start" x="290" y="-476.633" font-family="Helvetica Bold" font-size="8.00" fill="white">Application</text>
+<text text-anchor="start" x="278" y="-462.133" font-family="Helvetica Bold" font-size="8.00" fill="#7b7b7b">id</text>
+<text text-anchor="start" x="306" y="-462.133" font-family="Helvetica Bold" font-size="8.00" fill="#7b7b7b">AutoField</text>
+<text text-anchor="start" x="278" y="-450.133" font-family="Helvetica Bold" font-size="8.00">name</text>
+<text text-anchor="start" x="306" y="-450.133" font-family="Helvetica Bold" font-size="8.00">CharField</text>
+<text text-anchor="start" x="278" y="-438.133" font-family="Helvetica Bold" font-size="8.00">code</text>
+<text text-anchor="start" x="306" y="-438.133" font-family="Helvetica Bold" font-size="8.00">CharField</text>
+</g>
+<!-- shipping_models_AppVersion -->
+<g id="node3" class="node"><title>shipping_models_AppVersion</title>
+<polygon fill="palegoldenrod" stroke="palegoldenrod" points="262,-647.5 262,-736.5 362,-736.5 362,-647.5 262,-647.5"/>
+<polygon fill="#698b22" stroke="#698b22" points="262,-719 262,-736 362,-736 362,-719 262,-719"/>
+<text text-anchor="start" x="288" y="-725.633" font-family="Helvetica Bold" font-size="8.00" fill="white">AppVersion</text>
+<text text-anchor="start" x="264" y="-711.133" font-family="Helvetica Bold" font-size="8.00" fill="#7b7b7b">id</text>
+<text text-anchor="start" x="312" y="-711.133" font-family="Helvetica Bold" font-size="8.00" fill="#7b7b7b">AutoField</text>
+<text text-anchor="start" x="264" y="-699.133" font-family="Helvetica Bold" font-size="8.00">app</text>
+<text text-anchor="start" x="312" y="-699.133" font-family="Helvetica Bold" font-size="8.00">ForeignKey</text>
+<text text-anchor="start" x="264" y="-687.133" font-family="Helvetica Bold" font-size="8.00">version</text>
+<text text-anchor="start" x="312" y="-687.133" font-family="Helvetica Bold" font-size="8.00">CharField</text>
+<text text-anchor="start" x="264" y="-675.133" font-family="Helvetica Bold" font-size="8.00" fill="#7b7b7b">code</text>
+<text text-anchor="start" x="312" y="-675.133" font-family="Helvetica Bold" font-size="8.00" fill="#7b7b7b">CharField</text>
+<text text-anchor="start" x="264" y="-663.133" font-family="Helvetica Bold" font-size="8.00" fill="#7b7b7b">codename</text>
+<text text-anchor="start" x="312" y="-663.133" font-family="Helvetica Bold" font-size="8.00" fill="#7b7b7b">CharField</text>
+<text text-anchor="start" x="264" y="-651.133" font-family="Helvetica Bold" font-size="8.00">tree</text>
+<text text-anchor="start" x="312" y="-651.133" font-family="Helvetica Bold" font-size="8.00">ForeignKey</text>
+</g>
+<!-- shipping_models_AppVersion&#45;&gt;shipping_models_Application -->
+<g id="edge5" class="edge"><title>shipping_models_AppVersion&#45;&gt;shipping_models_Application</title>
+<path fill="none" stroke="black" d="M312,-643.293C312,-601.251 312,-541.218 312,-501.695"/>
+<polygon fill="black" stroke="black" points="315.5,-501.618 312,-491.618 308.5,-501.618 315.5,-501.618"/>
+<text text-anchor="middle" x="319" y="-557.3" font-family="Helvetica,sans-Serif" font-size="8.00">app</text>
+</g>
+<!-- life_models_Tree -->
+<g id="node17" class="node"><title>life_models_Tree</title>
+<polygon fill="palegoldenrod" stroke="palegoldenrod" points="503,-428.5 503,-493.5 637,-493.5 637,-428.5 503,-428.5"/>
+<polygon fill="#698b22" stroke="#698b22" points="503,-476 503,-493 637,-493 637,-476 503,-476"/>
+<text text-anchor="start" x="560" y="-482.633" font-family="Helvetica Bold" font-size="8.00" fill="white">Tree</text>
+<text text-anchor="start" x="505" y="-468.133" font-family="Helvetica Bold" font-size="8.00" fill="#7b7b7b">id</text>
+<text text-anchor="start" x="559" y="-468.133" font-family="Helvetica Bold" font-size="8.00" fill="#7b7b7b">AutoField</text>
+<text text-anchor="start" x="505" y="-456.133" font-family="Helvetica Bold" font-size="8.00">code</text>
+<text text-anchor="start" x="559" y="-456.133" font-family="Helvetica Bold" font-size="8.00">CharField</text>
+<text text-anchor="start" x="505" y="-444.133" font-family="Helvetica Bold" font-size="8.00">l10n</text>
+<text text-anchor="start" x="559" y="-444.133" font-family="Helvetica Bold" font-size="8.00">ForeignKey</text>
+<text text-anchor="start" x="505" y="-432.133" font-family="Helvetica Bold" font-size="8.00">repositories</text>
+<text text-anchor="start" x="559" y="-432.133" font-family="Helvetica Bold" font-size="8.00">ManyToManyField</text>
+</g>
+<!-- shipping_models_AppVersion&#45;&gt;life_models_Tree -->
+<g id="edge7" class="edge"><title>shipping_models_AppVersion&#45;&gt;life_models_Tree</title>
+<path fill="none" stroke="black" d="M324.17,-643.2C334.509,-612.561 352.65,-575.156 383,-555 401.571,-542.667 462.734,-556.288 483,-547 503.408,-537.647 521.796,-521.356 536.352,-505.451"/>
+<polygon fill="black" stroke="black" points="539.193,-507.521 543.182,-497.706 533.943,-502.891 539.193,-507.521"/>
+<text text-anchor="middle" x="390" y="-557.3" font-family="Helvetica,sans-Serif" font-size="8.00">tree</text>
+</g>
+<!-- shipping_models_Signoff -->
+<g id="node4" class="node"><title>shipping_models_Signoff</title>
+<polygon fill="palegoldenrod" stroke="palegoldenrod" points="254,-851.5 254,-940.5 370,-940.5 370,-851.5 254,-851.5"/>
+<polygon fill="#698b22" stroke="#698b22" points="254,-923 254,-940 370,-940 370,-923 254,-923"/>
+<text text-anchor="start" x="297.5" y="-929.633" font-family="Helvetica Bold" font-size="8.00" fill="white">Signoff</text>
+<text text-anchor="start" x="256" y="-915.133" font-family="Helvetica Bold" font-size="8.00" fill="#7b7b7b">id</text>
+<text text-anchor="start" x="307" y="-915.133" font-family="Helvetica Bold" font-size="8.00" fill="#7b7b7b">AutoField</text>
+<text text-anchor="start" x="256" y="-903.133" font-family="Helvetica Bold" font-size="8.00">push</text>
+<text text-anchor="start" x="307" y="-903.133" font-family="Helvetica Bold" font-size="8.00">ForeignKey</text>
+<text text-anchor="start" x="256" y="-891.133" font-family="Helvetica Bold" font-size="8.00">appversion</text>
+<text text-anchor="start" x="307" y="-891.133" font-family="Helvetica Bold" font-size="8.00">ForeignKey</text>
+<text text-anchor="start" x="256" y="-879.133" font-family="Helvetica Bold" font-size="8.00">author</text>
+<text text-anchor="start" x="307" y="-879.133" font-family="Helvetica Bold" font-size="8.00">ForeignKey</text>
+<text text-anchor="start" x="256" y="-867.133" font-family="Helvetica Bold" font-size="8.00">when</text>
+<text text-anchor="start" x="307" y="-867.133" font-family="Helvetica Bold" font-size="8.00">DateTimeField</text>
+<text text-anchor="start" x="256" y="-855.133" font-family="Helvetica Bold" font-size="8.00">locale</text>
+<text text-anchor="start" x="307" y="-855.133" font-family="Helvetica Bold" font-size="8.00">ForeignKey</text>
+</g>
+<!-- shipping_models_Signoff&#45;&gt;shipping_models_AppVersion -->
+<g id="edge11" class="edge"><title>shipping_models_Signoff&#45;&gt;shipping_models_AppVersion</title>
+<path fill="none" stroke="black" d="M312,-847.396C312,-818.385 312,-781.348 312,-750.709"/>
+<polygon fill="black" stroke="black" points="315.5,-750.585 312,-740.585 308.5,-750.585 315.5,-750.585"/>
+<text text-anchor="middle" x="331.5" y="-821.3" font-family="Helvetica,sans-Serif" font-size="8.00">appversion</text>
+</g>
+<!-- life_models_Locale -->
+<g id="node11" class="node"><title>life_models_Locale</title>
+<polygon fill="palegoldenrod" stroke="palegoldenrod" points="502.5,-134.5 502.5,-199.5 577.5,-199.5 577.5,-134.5 502.5,-134.5"/>
+<polygon fill="#698b22" stroke="#698b22" points="503,-182 503,-199 578,-199 578,-182 503,-182"/>
+<text text-anchor="start" x="527" y="-188.633" font-family="Helvetica Bold" font-size="8.00" fill="white">Locale</text>
+<text text-anchor="start" x="505" y="-174.133" font-family="Helvetica Bold" font-size="8.00" fill="#7b7b7b">id</text>
+<text text-anchor="start" x="535" y="-174.133" font-family="Helvetica Bold" font-size="8.00" fill="#7b7b7b">AutoField</text>
+<text text-anchor="start" x="505" y="-162.133" font-family="Helvetica Bold" font-size="8.00">code</text>
+<text text-anchor="start" x="535" y="-162.133" font-family="Helvetica Bold" font-size="8.00">CharField</text>
+<text text-anchor="start" x="505" y="-150.133" font-family="Helvetica Bold" font-size="8.00" fill="#7b7b7b">name</text>
+<text text-anchor="start" x="535" y="-150.133" font-family="Helvetica Bold" font-size="8.00" fill="#7b7b7b">CharField</text>
+<text text-anchor="start" x="505" y="-138.133" font-family="Helvetica Bold" font-size="8.00" fill="#7b7b7b">native</text>
+<text text-anchor="start" x="535" y="-138.133" font-family="Helvetica Bold" font-size="8.00" fill="#7b7b7b">CharField</text>
+</g>
+<!-- shipping_models_Signoff&#45;&gt;life_models_Locale -->
+<g id="edge15" class="edge"><title>shipping_models_Signoff&#45;&gt;life_models_Locale</title>
+<path fill="none" stroke="black" d="M261.158,-847.371C226.551,-808.883 187,-751.813 187,-692 187,-692 187,-692 187,-317 187,-253.025 385.875,-200.58 485.078,-178.399"/>
+<polygon fill="black" stroke="black" points="485.924,-181.797 494.934,-176.222 484.414,-174.962 485.924,-181.797"/>
+<text text-anchor="middle" x="197" y="-458.3" font-family="Helvetica,sans-Serif" font-size="8.00">locale</text>
+</g>
+<!-- life_models_Push -->
+<g id="node16" class="node"><title>life_models_Push</title>
+<polygon fill="palegoldenrod" stroke="palegoldenrod" points="670.5,-416.5 670.5,-505.5 809.5,-505.5 809.5,-416.5 670.5,-416.5"/>
+<polygon fill="#698b22" stroke="#698b22" points="671,-488 671,-505 810,-505 810,-488 671,-488"/>
+<text text-anchor="start" x="730" y="-494.633" font-family="Helvetica Bold" font-size="8.00" fill="white">Push</text>
+<text text-anchor="start" x="673" y="-480.133" font-family="Helvetica Bold" font-size="8.00" fill="#7b7b7b">id</text>
+<text text-anchor="start" x="725" y="-480.133" font-family="Helvetica Bold" font-size="8.00" fill="#7b7b7b">AutoField</text>
+<text text-anchor="start" x="673" y="-468.133" font-family="Helvetica Bold" font-size="8.00">repository</text>
+<text text-anchor="start" x="725" y="-468.133" font-family="Helvetica Bold" font-size="8.00">ForeignKey</text>
+<text text-anchor="start" x="673" y="-456.133" font-family="Helvetica Bold" font-size="8.00">user</text>
+<text text-anchor="start" x="725" y="-456.133" font-family="Helvetica Bold" font-size="8.00">CharField</text>
+<text text-anchor="start" x="673" y="-444.133" font-family="Helvetica Bold" font-size="8.00">push_date</text>
+<text text-anchor="start" x="725" y="-444.133" font-family="Helvetica Bold" font-size="8.00">DateTimeField</text>
+<text text-anchor="start" x="673" y="-432.133" font-family="Helvetica Bold" font-size="8.00">push_id</text>
+<text text-anchor="start" x="725" y="-432.133" font-family="Helvetica Bold" font-size="8.00">PositiveIntegerField</text>
+<text text-anchor="start" x="673" y="-420.133" font-family="Helvetica Bold" font-size="8.00">changesets</text>
+<text text-anchor="start" x="725" y="-420.133" font-family="Helvetica Bold" font-size="8.00">ManyToManyField</text>
+</g>
+<!-- shipping_models_Signoff&#45;&gt;life_models_Push -->
+<g id="edge9" class="edge"><title>shipping_models_Signoff&#45;&gt;life_models_Push</title>
+<path fill="none" stroke="black" d="M353.217,-847.416C363.227,-833.261 372.817,-817.218 379,-801 396.37,-755.437 370.021,-617.973 404,-583 482.225,-502.486 553.622,-597.259 654,-547 668.854,-539.563 682.7,-528.575 694.755,-516.921"/>
+<polygon fill="black" stroke="black" points="697.458,-519.166 702.022,-509.604 692.492,-514.232 697.458,-519.166"/>
+<text text-anchor="middle" x="412.5" y="-689.3" font-family="Helvetica,sans-Serif" font-size="8.00">push</text>
+</g>
+<!-- django_contrib_auth_models_User -->
+<g id="node28" class="node"><title>django_contrib_auth_models_User</title>
+<polygon fill="palegoldenrod" stroke="palegoldenrod" points="499.5,-683.5 499.5,-700.5 528.5,-700.5 528.5,-683.5 499.5,-683.5"/>
+<polygon fill="#698b22" stroke="#698b22" points="500,-683 500,-700 529,-700 529,-683 500,-683"/>
+<text text-anchor="start" x="504.5" y="-689.633" font-family="Helvetica Bold" font-size="8.00" fill="white">User</text>
+</g>
+<!-- shipping_models_Signoff&#45;&gt;django_contrib_auth_models_User -->
+<g id="edge13" class="edge"><title>shipping_models_Signoff&#45;&gt;django_contrib_auth_models_User</title>
+<path fill="none" stroke="black" d="M378.089,-849.202C379.396,-848.451 380.701,-847.716 382,-847 425.202,-823.197 451.259,-838.756 483,-801 502.103,-778.277 509.457,-744.473 512.275,-720.544"/>
+<polygon fill="black" stroke="black" points="515.785,-720.614 513.276,-710.32 508.818,-719.932 515.785,-720.614"/>
+<text text-anchor="middle" x="474.5" y="-821.3" font-family="Helvetica,sans-Serif" font-size="8.00">author</text>
+</g>
+<!-- shipping_models_Action -->
+<g id="node5" class="node"><title>shipping_models_Action</title>
+<polygon fill="palegoldenrod" stroke="palegoldenrod" points="355,-1016.5 355,-1105.5 463,-1105.5 463,-1016.5 355,-1016.5"/>
+<polygon fill="#698b22" stroke="#698b22" points="355,-1088 355,-1105 463,-1105 463,-1088 355,-1088"/>
+<text text-anchor="start" x="396" y="-1094.63" font-family="Helvetica Bold" font-size="8.00" fill="white">Action</text>
+<text text-anchor="start" x="357" y="-1080.13" font-family="Helvetica Bold" font-size="8.00" fill="#7b7b7b">id</text>
+<text text-anchor="start" x="400" y="-1080.13" font-family="Helvetica Bold" font-size="8.00" fill="#7b7b7b">AutoField</text>
+<text text-anchor="start" x="357" y="-1068.13" font-family="Helvetica Bold" font-size="8.00">signoff</text>
+<text text-anchor="start" x="400" y="-1068.13" font-family="Helvetica Bold" font-size="8.00">ForeignKey</text>
+<text text-anchor="start" x="357" y="-1056.13" font-family="Helvetica Bold" font-size="8.00">flag</text>
+<text text-anchor="start" x="400" y="-1056.13" font-family="Helvetica Bold" font-size="8.00">IntegerField</text>
+<text text-anchor="start" x="357" y="-1044.13" font-family="Helvetica Bold" font-size="8.00">author</text>
+<text text-anchor="start" x="400" y="-1044.13" font-family="Helvetica Bold" font-size="8.00">ForeignKey</text>
+<text text-anchor="start" x="357" y="-1032.13" font-family="Helvetica Bold" font-size="8.00">when</text>
+<text text-anchor="start" x="400" y="-1032.13" font-family="Helvetica Bold" font-size="8.00">DateTimeField</text>
+<text text-anchor="start" x="357" y="-1020.13" font-family="Helvetica Bold" font-size="8.00" fill="#7b7b7b">comment</text>
+<text text-anchor="start" x="400" y="-1020.13" font-family="Helvetica Bold" font-size="8.00" fill="#7b7b7b">TextField</text>
+</g>
+<!-- shipping_models_Action&#45;&gt;shipping_models_Signoff -->
+<g id="edge17" class="edge"><title>shipping_models_Action&#45;&gt;shipping_models_Signoff</title>
+<path fill="none" stroke="black" d="M369.058,-1012.15C364.784,-1006.18 360.665,-1000.04 357,-994 349.427,-981.514 342.291,-967.539 336.029,-954.142"/>
+<polygon fill="black" stroke="black" points="339.182,-952.621 331.838,-944.984 332.817,-955.534 339.182,-952.621"/>
+<text text-anchor="middle" x="368.5" y="-986.3" font-family="Helvetica,sans-Serif" font-size="8.00">signoff</text>
+</g>
+<!-- shipping_models_Action&#45;&gt;django_contrib_auth_models_User -->
+<g id="edge19" class="edge"><title>shipping_models_Action&#45;&gt;django_contrib_auth_models_User</title>
+<path fill="none" stroke="black" d="M428.574,-1012.38C446.654,-965.93 473.18,-893.613 490,-829 499.613,-792.073 506.503,-748.533 510.369,-720.614"/>
+<polygon fill="black" stroke="black" points="513.882,-720.752 511.748,-710.374 506.944,-719.818 513.882,-720.752"/>
+<text text-anchor="middle" x="496.5" y="-893.3" font-family="Helvetica,sans-Serif" font-size="8.00">author</text>
+</g>
+<!-- shipping_models_Snapshot -->
+<g id="node6" class="node"><title>shipping_models_Snapshot</title>
+<polygon fill="palegoldenrod" stroke="palegoldenrod" points="174,-1028.5 174,-1093.5 262,-1093.5 262,-1028.5 174,-1028.5"/>
+<polygon fill="#698b22" stroke="#698b22" points="174,-1076 174,-1093 262,-1093 262,-1076 174,-1076"/>
+<text text-anchor="start" x="198.5" y="-1082.63" font-family="Helvetica Bold" font-size="8.00" fill="white">Snapshot</text>
+<text text-anchor="start" x="176" y="-1068.13" font-family="Helvetica Bold" font-size="8.00" fill="#7b7b7b">id</text>
+<text text-anchor="start" x="209" y="-1068.13" font-family="Helvetica Bold" font-size="8.00" fill="#7b7b7b">AutoField</text>
+<text text-anchor="start" x="176" y="-1056.13" font-family="Helvetica Bold" font-size="8.00">signoff</text>
+<text text-anchor="start" x="209" y="-1056.13" font-family="Helvetica Bold" font-size="8.00">ForeignKey</text>
+<text text-anchor="start" x="176" y="-1044.13" font-family="Helvetica Bold" font-size="8.00">test</text>
+<text text-anchor="start" x="209" y="-1044.13" font-family="Helvetica Bold" font-size="8.00">IntegerField</text>
+<text text-anchor="start" x="176" y="-1032.13" font-family="Helvetica Bold" font-size="8.00">tid</text>
+<text text-anchor="start" x="209" y="-1032.13" font-family="Helvetica Bold" font-size="8.00">IntegerField</text>
+</g>
+<!-- shipping_models_Snapshot&#45;&gt;shipping_models_Signoff -->
+<g id="edge21" class="edge"><title>shipping_models_Snapshot&#45;&gt;shipping_models_Signoff</title>
+<path fill="none" stroke="black" d="M238.862,-1024.38C250.708,-1003.59 265.803,-977.091 279.199,-953.576"/>
+<polygon fill="black" stroke="black" points="282.331,-955.149 284.24,-944.728 276.249,-951.684 282.331,-955.149"/>
+<text text-anchor="middle" x="271.5" y="-986.3" font-family="Helvetica,sans-Serif" font-size="8.00">signoff</text>
+</g>
+<!-- shipping_models_Milestone -->
+<g id="node7" class="node"><title>shipping_models_Milestone</title>
+<polygon fill="palegoldenrod" stroke="palegoldenrod" points="23.5,-1016.5 23.5,-1105.5 140.5,-1105.5 140.5,-1016.5 23.5,-1016.5"/>
+<polygon fill="#698b22" stroke="#698b22" points="24,-1088 24,-1105 141,-1105 141,-1088 24,-1088"/>
+<text text-anchor="start" x="62.5" y="-1094.63" font-family="Helvetica Bold" font-size="8.00" fill="white">Milestone</text>
+<text text-anchor="start" x="26" y="-1080.13" font-family="Helvetica Bold" font-size="8.00" fill="#7b7b7b">id</text>
+<text text-anchor="start" x="63" y="-1080.13" font-family="Helvetica Bold" font-size="8.00" fill="#7b7b7b">AutoField</text>
+<text text-anchor="start" x="26" y="-1068.13" font-family="Helvetica Bold" font-size="8.00">code</text>
+<text text-anchor="start" x="63" y="-1068.13" font-family="Helvetica Bold" font-size="8.00">CharField</text>
+<text text-anchor="start" x="26" y="-1056.13" font-family="Helvetica Bold" font-size="8.00">name</text>
+<text text-anchor="start" x="63" y="-1056.13" font-family="Helvetica Bold" font-size="8.00">CharField</text>
+<text text-anchor="start" x="26" y="-1044.13" font-family="Helvetica Bold" font-size="8.00">appver</text>
+<text text-anchor="start" x="63" y="-1044.13" font-family="Helvetica Bold" font-size="8.00">ForeignKey</text>
+<text text-anchor="start" x="26" y="-1032.13" font-family="Helvetica Bold" font-size="8.00">status</text>
+<text text-anchor="start" x="63" y="-1032.13" font-family="Helvetica Bold" font-size="8.00">IntegerField</text>
+<text text-anchor="start" x="26" y="-1020.13" font-family="Helvetica Bold" font-size="8.00" fill="#7b7b7b">signoffs</text>
+<text text-anchor="start" x="63" y="-1020.13" font-family="Helvetica Bold" font-size="8.00" fill="#7b7b7b">ManyToManyField</text>
+</g>
+<!-- shipping_models_Milestone&#45;&gt;shipping_models_AppVersion -->
+<g id="edge23" class="edge"><title>shipping_models_Milestone&#45;&gt;shipping_models_AppVersion</title>
+<path fill="none" stroke="black" d="M111.057,-1012.33C137.162,-968.801 176.703,-903.371 212,-847 232.418,-814.391 255.696,-778.251 274.653,-749.077"/>
+<polygon fill="black" stroke="black" points="277.615,-750.942 280.133,-740.651 271.747,-747.125 277.615,-750.942"/>
+<text text-anchor="middle" x="224.5" y="-893.3" font-family="Helvetica,sans-Serif" font-size="8.00">appver</text>
+</g>
+<!-- shipping_models_Milestone&#45;&gt;shipping_models_Signoff -->
+<g id="edge25" class="edge"><title>shipping_models_Milestone&#45;&gt;shipping_models_Signoff</title>
+<path fill="none" stroke="black" d="M157.314,-1012.22C179.167,-1002.15 187.019,-1003.21 205,-994 225.706,-983.394 245.398,-967.685 262.113,-951.937"/>
+<polygon fill="black" stroke="black" points="155.653,-1009.13 148.202,-1016.67 158.724,-1015.42 155.653,-1009.13"/>
+<polygon fill="black" stroke="black" points="264.823,-954.185 269.577,-944.716 259.956,-949.154 264.823,-954.185"/>
+<text text-anchor="middle" x="235.5" y="-986.3" font-family="Helvetica,sans-Serif" font-size="8.00">signoffs</text>
+</g>
+<!-- shipping_models_Milestone_Signoffs -->
+<g id="node8" class="node"><title>shipping_models_Milestone_Signoffs</title>
+<polygon fill="palegoldenrod" stroke="palegoldenrod" points="211.5,-1172.5 211.5,-1225.5 308.5,-1225.5 308.5,-1172.5 211.5,-1172.5"/>
+<polygon fill="#698b22" stroke="#698b22" points="212,-1208 212,-1225 309,-1225 309,-1208 212,-1208"/>
+<text text-anchor="start" x="221" y="-1214.63" font-family="Helvetica Bold" font-size="8.00" fill="white">Milestone_Signoffs</text>
+<text text-anchor="start" x="214" y="-1200.13" font-family="Helvetica Bold" font-size="8.00" fill="#7b7b7b">id</text>
+<text text-anchor="start" x="259" y="-1200.13" font-family="Helvetica Bold" font-size="8.00" fill="#7b7b7b">AutoField</text>
+<text text-anchor="start" x="214" y="-1188.13" font-family="Helvetica Bold" font-size="8.00">milestone</text>
+<text text-anchor="start" x="259" y="-1188.13" font-family="Helvetica Bold" font-size="8.00">ForeignKey</text>
+<text text-anchor="start" x="214" y="-1176.13" font-family="Helvetica Bold" font-size="8.00">signoff</text>
+<text text-anchor="start" x="259" y="-1176.13" font-family="Helvetica Bold" font-size="8.00">ForeignKey</text>
+</g>
+<!-- shipping_models_Milestone_Signoffs&#45;&gt;shipping_models_Signoff -->
+<g id="edge29" class="edge"><title>shipping_models_Milestone_Signoffs&#45;&gt;shipping_models_Signoff</title>
+<path fill="none" stroke="black" d="M267.031,-1168.2C270.818,-1151.1 275.432,-1129.42 279,-1110 288.62,-1057.63 297.697,-997.698 303.887,-954.605"/>
+<polygon fill="black" stroke="black" points="307.37,-954.973 305.319,-944.579 300.44,-953.983 307.37,-954.973"/>
+<text text-anchor="middle" x="307.5" y="-1058.3" font-family="Helvetica,sans-Serif" font-size="8.00">signoff</text>
+</g>
+<!-- shipping_models_Milestone_Signoffs&#45;&gt;shipping_models_Milestone -->
+<g id="edge27" class="edge"><title>shipping_models_Milestone_Signoffs&#45;&gt;shipping_models_Milestone</title>
+<path fill="none" stroke="black" d="M220.496,-1168.37C200.614,-1152.96 175.901,-1133.8 152.877,-1115.95"/>
+<polygon fill="black" stroke="black" points="154.862,-1113.06 144.815,-1109.7 150.573,-1118.59 154.862,-1113.06"/>
+<text text-anchor="middle" x="194" y="-1130.3" font-family="Helvetica,sans-Serif" font-size="8.00">milestone</text>
+</g>
+<!-- shipping_models_Event -->
+<g id="node9" class="node"><title>shipping_models_Event</title>
+<polygon fill="palegoldenrod" stroke="palegoldenrod" points="32,-1160.5 32,-1237.5 132,-1237.5 132,-1160.5 32,-1160.5"/>
+<polygon fill="#698b22" stroke="#698b22" points="32,-1220 32,-1237 132,-1237 132,-1220 32,-1220"/>
+<text text-anchor="start" x="70" y="-1226.63" font-family="Helvetica Bold" font-size="8.00" fill="white">Event</text>
+<text text-anchor="start" x="34" y="-1212.13" font-family="Helvetica Bold" font-size="8.00" fill="#7b7b7b">id</text>
+<text text-anchor="start" x="79" y="-1212.13" font-family="Helvetica Bold" font-size="8.00" fill="#7b7b7b">AutoField</text>
+<text text-anchor="start" x="34" y="-1200.13" font-family="Helvetica Bold" font-size="8.00">name</text>
+<text text-anchor="start" x="79" y="-1200.13" font-family="Helvetica Bold" font-size="8.00">CharField</text>
+<text text-anchor="start" x="34" y="-1188.13" font-family="Helvetica Bold" font-size="8.00">type</text>
+<text text-anchor="start" x="79" y="-1188.13" font-family="Helvetica Bold" font-size="8.00">IntegerField</text>
+<text text-anchor="start" x="34" y="-1176.13" font-family="Helvetica Bold" font-size="8.00">date</text>
+<text text-anchor="start" x="79" y="-1176.13" font-family="Helvetica Bold" font-size="8.00">DateField</text>
+<text text-anchor="start" x="34" y="-1164.13" font-family="Helvetica Bold" font-size="8.00">milestone</text>
+<text text-anchor="start" x="79" y="-1164.13" font-family="Helvetica Bold" font-size="8.00">ForeignKey</text>
+</g>
+<!-- shipping_models_Event&#45;&gt;shipping_models_Milestone -->
+<g id="edge31" class="edge"><title>shipping_models_Event&#45;&gt;shipping_models_Milestone</title>
+<path fill="none" stroke="black" d="M82,-1156.47C82,-1144.96 82,-1132.3 82,-1120.06"/>
+<polygon fill="black" stroke="black" points="85.5001,-1119.91 82,-1109.91 78.5001,-1119.91 85.5001,-1119.91"/>
+<text text-anchor="middle" x="99" y="-1130.3" font-family="Helvetica,sans-Serif" font-size="8.00">milestone</text>
+</g>
+<!-- life_models_Branch -->
+<g id="node12" class="node"><title>life_models_Branch</title>
+<polygon fill="palegoldenrod" stroke="palegoldenrod" points="746,-20.5 746,-61.5 818,-61.5 818,-20.5 746,-20.5"/>
+<polygon fill="#698b22" stroke="#698b22" points="746,-44 746,-61 818,-61 818,-44 746,-44"/>
+<text text-anchor="start" x="767.5" y="-50.6333" font-family="Helvetica Bold" font-size="8.00" fill="white">Branch</text>
+<text text-anchor="start" x="748" y="-36.1333" font-family="Helvetica Bold" font-size="8.00" fill="#7b7b7b">id</text>
+<text text-anchor="start" x="776" y="-36.1333" font-family="Helvetica Bold" font-size="8.00" fill="#7b7b7b">AutoField</text>
+<text text-anchor="start" x="748" y="-24.1333" font-family="Helvetica Bold" font-size="8.00">name</text>
+<text text-anchor="start" x="776" y="-24.1333" font-family="Helvetica Bold" font-size="8.00">TextField</text>
+</g>
+<!-- life_models_Changeset -->
+<g id="node13" class="node"><title>life_models_Changeset</title>
+<polygon fill="palegoldenrod" stroke="palegoldenrod" points="717,-116.5 717,-217.5 847,-217.5 847,-116.5 717,-116.5"/>
+<polygon fill="#698b22" stroke="#698b22" points="717,-200 717,-217 847,-217 847,-200 717,-200"/>
+<text text-anchor="start" x="759.5" y="-206.633" font-family="Helvetica Bold" font-size="8.00" fill="white">Changeset</text>
+<text text-anchor="start" x="719" y="-192.133" font-family="Helvetica Bold" font-size="8.00" fill="#7b7b7b">id</text>
+<text text-anchor="start" x="769" y="-192.133" font-family="Helvetica Bold" font-size="8.00" fill="#7b7b7b">AutoField</text>
+<text text-anchor="start" x="719" y="-180.133" font-family="Helvetica Bold" font-size="8.00">revision</text>
+<text text-anchor="start" x="769" y="-180.133" font-family="Helvetica Bold" font-size="8.00">CharField</text>
+<text text-anchor="start" x="719" y="-168.133" font-family="Helvetica Bold" font-size="8.00">user</text>
+<text text-anchor="start" x="769" y="-168.133" font-family="Helvetica Bold" font-size="8.00">CharField</text>
+<text text-anchor="start" x="719" y="-156.133" font-family="Helvetica Bold" font-size="8.00">description</text>
+<text text-anchor="start" x="769" y="-156.133" font-family="Helvetica Bold" font-size="8.00">TextField</text>
+<text text-anchor="start" x="719" y="-144.133" font-family="Helvetica Bold" font-size="8.00">branch</text>
+<text text-anchor="start" x="769" y="-144.133" font-family="Helvetica Bold" font-size="8.00">ForeignKey</text>
+<text text-anchor="start" x="719" y="-132.133" font-family="Helvetica Bold" font-size="8.00">files</text>
+<text text-anchor="start" x="769" y="-132.133" font-family="Helvetica Bold" font-size="8.00">ManyToManyField</text>
+<text text-anchor="start" x="719" y="-120.133" font-family="Helvetica Bold" font-size="8.00">parents</text>
+<text text-anchor="start" x="769" y="-120.133" font-family="Helvetica Bold" font-size="8.00">ManyToManyField</text>
+</g>
+<!-- life_models_Changeset&#45;&gt;life_models_Branch -->
+<g id="edge33" class="edge"><title>life_models_Changeset&#45;&gt;life_models_Branch</title>
+<path fill="none" stroke="black" d="M766.651,-112.115C765.585,-102.741 765.459,-93.0956 767,-84 767.483,-81.1498 768.134,-78.2366 768.895,-75.3366"/>
+<polygon fill="black" stroke="black" points="772.283,-76.2229 771.823,-65.638 765.582,-74.1996 772.283,-76.2229"/>
+<text text-anchor="middle" x="779.5" y="-86.3" font-family="Helvetica,sans-Serif" font-size="8.00">branch</text>
+</g>
+<!-- life_models_Changeset&#45;&gt;life_models_Changeset -->
+<g id="edge37" class="edge"><title>life_models_Changeset&#45;&gt;life_models_Changeset</title>
+<path fill="none" stroke="black" d="M864.783,-177.22C869.913,-174.806 873,-171.399 873,-167 873,-162.601 869.913,-159.194 864.783,-156.78"/>
+<polygon fill="black" stroke="black" points="863.704,-173.89 855.19,-180.197 865.779,-180.575 863.704,-173.89"/>
+<polygon fill="black" stroke="black" points="865.779,-153.425 855.19,-153.803 863.704,-160.11 865.779,-153.425"/>
+<text text-anchor="middle" x="886.5" y="-164.3" font-family="Helvetica,sans-Serif" font-size="8.00">parents</text>
+</g>
+<!-- mbdb_models_File -->
+<g id="node40" class="node"><title>mbdb_models_File</title>
+<polygon fill="palegoldenrod" stroke="palegoldenrod" points="930.5,-32.5 930.5,-49.5 955.5,-49.5 955.5,-32.5 930.5,-32.5"/>
+<polygon fill="#698b22" stroke="#698b22" points="931,-32 931,-49 956,-49 956,-32 931,-32"/>
+<text text-anchor="start" x="936" y="-38.6333" font-family="Helvetica Bold" font-size="8.00" fill="white">File</text>
+</g>
+<!-- life_models_Changeset&#45;&gt;mbdb_models_File -->
+<g id="edge35" class="edge"><title>life_models_Changeset&#45;&gt;mbdb_models_File</title>
+<path fill="none" stroke="black" d="M860.909,-106.062C877.811,-92.9062 895.534,-79.0339 912,-66 912.264,-65.7908 912.53,-65.5805 912.796,-65.3692"/>
+<polygon fill="black" stroke="black" points="858.432,-103.554 852.687,-112.456 862.729,-109.08 858.432,-103.554"/>
+<polygon fill="black" stroke="black" points="915.053,-68.046 920.688,-59.0736 910.688,-62.5739 915.053,-68.046"/>
+<text text-anchor="middle" x="895" y="-86.3" font-family="Helvetica,sans-Serif" font-size="8.00">files</text>
+</g>
+<!-- life_models_Forest -->
+<g id="node14" class="node"><title>life_models_Forest</title>
+<polygon fill="palegoldenrod" stroke="palegoldenrod" points="610.5,-140.5 610.5,-193.5 683.5,-193.5 683.5,-140.5 610.5,-140.5"/>
+<polygon fill="#698b22" stroke="#698b22" points="611,-176 611,-193 684,-193 684,-176 611,-176"/>
+<text text-anchor="start" x="634" y="-182.633" font-family="Helvetica Bold" font-size="8.00" fill="white">Forest</text>
+<text text-anchor="start" x="613" y="-168.133" font-family="Helvetica Bold" font-size="8.00" fill="#7b7b7b">id</text>
+<text text-anchor="start" x="641" y="-168.133" font-family="Helvetica Bold" font-size="8.00" fill="#7b7b7b">AutoField</text>
+<text text-anchor="start" x="613" y="-156.133" font-family="Helvetica Bold" font-size="8.00">name</text>
+<text text-anchor="start" x="641" y="-156.133" font-family="Helvetica Bold" font-size="8.00">CharField</text>
+<text text-anchor="start" x="613" y="-144.133" font-family="Helvetica Bold" font-size="8.00">url</text>
+<text text-anchor="start" x="641" y="-144.133" font-family="Helvetica Bold" font-size="8.00">URLField</text>
+</g>
+<!-- life_models_Repository -->
+<g id="node15" class="node"><title>life_models_Repository</title>
+<polygon fill="palegoldenrod" stroke="palegoldenrod" points="607,-272.5 607,-361.5 739,-361.5 739,-272.5 607,-272.5"/>
+<polygon fill="#698b22" stroke="#698b22" points="607,-344 607,-361 739,-361 739,-344 607,-344"/>
+<text text-anchor="start" x="650.5" y="-350.633" font-family="Helvetica Bold" font-size="8.00" fill="white">Repository</text>
+<text text-anchor="start" x="609" y="-336.133" font-family="Helvetica Bold" font-size="8.00" fill="#7b7b7b">id</text>
+<text text-anchor="start" x="661" y="-336.133" font-family="Helvetica Bold" font-size="8.00" fill="#7b7b7b">AutoField</text>
+<text text-anchor="start" x="609" y="-324.133" font-family="Helvetica Bold" font-size="8.00">name</text>
+<text text-anchor="start" x="661" y="-324.133" font-family="Helvetica Bold" font-size="8.00">CharField</text>
+<text text-anchor="start" x="609" y="-312.133" font-family="Helvetica Bold" font-size="8.00">url</text>
+<text text-anchor="start" x="661" y="-312.133" font-family="Helvetica Bold" font-size="8.00">URLField</text>
+<text text-anchor="start" x="609" y="-300.133" font-family="Helvetica Bold" font-size="8.00" fill="#7b7b7b">forest</text>
+<text text-anchor="start" x="661" y="-300.133" font-family="Helvetica Bold" font-size="8.00" fill="#7b7b7b">ForeignKey</text>
+<text text-anchor="start" x="609" y="-288.133" font-family="Helvetica Bold" font-size="8.00" fill="#7b7b7b">locale</text>
+<text text-anchor="start" x="661" y="-288.133" font-family="Helvetica Bold" font-size="8.00" fill="#7b7b7b">ForeignKey</text>
+<text text-anchor="start" x="609" y="-276.133" font-family="Helvetica Bold" font-size="8.00">changesets</text>
+<text text-anchor="start" x="661" y="-276.133" font-family="Helvetica Bold" font-size="8.00">ManyToManyField</text>
+</g>
+<!-- life_models_Repository&#45;&gt;life_models_Locale -->
+<g id="edge41" class="edge"><title>life_models_Repository&#45;&gt;life_models_Locale</title>
+<path fill="none" stroke="black" d="M629.819,-268.299C613.492,-249.886 595.018,-229.051 579.088,-211.084"/>
+<polygon fill="black" stroke="black" points="581.684,-208.736 572.43,-203.576 576.446,-213.38 581.684,-208.736"/>
+<text text-anchor="middle" x="621" y="-242.3" font-family="Helvetica,sans-Serif" font-size="8.00">locale</text>
+</g>
+<!-- life_models_Repository&#45;&gt;life_models_Changeset -->
+<g id="edge43" class="edge"><title>life_models_Repository&#45;&gt;life_models_Changeset</title>
+<path fill="none" stroke="black" d="M714.319,-260.138C721.474,-250.293 728.951,-240.003 736.216,-230.005"/>
+<polygon fill="black" stroke="black" points="711.436,-258.152 708.389,-268.299 717.099,-262.267 711.436,-258.152"/>
+<polygon fill="black" stroke="black" points="739.21,-231.839 742.257,-221.692 733.547,-227.724 739.21,-231.839"/>
+<text text-anchor="middle" x="748.5" y="-242.3" font-family="Helvetica,sans-Serif" font-size="8.00">changesets</text>
+</g>
+<!-- life_models_Repository&#45;&gt;life_models_Forest -->
+<g id="edge39" class="edge"><title>life_models_Repository&#45;&gt;life_models_Forest</title>
+<path fill="none" stroke="black" d="M664.559,-268.299C661.156,-248.667 657.275,-226.281 654.03,-207.555"/>
+<polygon fill="black" stroke="black" points="657.455,-206.825 652.299,-197.569 650.558,-208.02 657.455,-206.825"/>
+<text text-anchor="middle" x="671" y="-242.3" font-family="Helvetica,sans-Serif" font-size="8.00">forest</text>
+</g>
+<!-- life_models_Push&#45;&gt;life_models_Changeset -->
+<g id="edge47" class="edge"><title>life_models_Push&#45;&gt;life_models_Changeset</title>
+<path fill="none" stroke="black" d="M750.15,-401.973C757.189,-359.735 766.439,-301.477 773,-250 773.751,-244.105 774.493,-237.969 775.208,-231.821"/>
+<polygon fill="black" stroke="black" points="746.657,-401.641 748.457,-412.082 753.561,-402.797 746.657,-401.641"/>
+<polygon fill="black" stroke="black" points="778.729,-231.835 776.385,-221.503 771.774,-231.042 778.729,-231.835"/>
+<text text-anchor="middle" x="791.5" y="-314.3" font-family="Helvetica,sans-Serif" font-size="8.00">changesets</text>
+</g>
+<!-- life_models_Push&#45;&gt;life_models_Repository -->
+<g id="edge45" class="edge"><title>life_models_Push&#45;&gt;life_models_Repository</title>
+<path fill="none" stroke="black" d="M717.317,-412.248C711.75,-400.285 705.738,-387.362 699.991,-375.01"/>
+<polygon fill="black" stroke="black" points="703.052,-373.292 695.66,-365.702 696.705,-376.245 703.052,-373.292"/>
+<text text-anchor="middle" x="726.5" y="-386.3" font-family="Helvetica,sans-Serif" font-size="8.00">repository</text>
+</g>
+<!-- life_models_Tree&#45;&gt;life_models_Forest -->
+<g id="edge49" class="edge"><title>life_models_Tree&#45;&gt;life_models_Forest</title>
+<path fill="none" stroke="black" d="M564.721,-424.337C560.422,-384.679 557.572,-320.134 575,-268 582.578,-245.33 597.121,-223.331 611.164,-205.683"/>
+<polygon fill="black" stroke="black" points="613.917,-207.845 617.554,-197.894 608.506,-203.405 613.917,-207.845"/>
+<text text-anchor="middle" x="582.5" y="-314.3" font-family="Helvetica,sans-Serif" font-size="8.00">l10n</text>
+</g>
+<!-- life_models_Tree&#45;&gt;life_models_Repository -->
+<g id="edge51" class="edge"><title>life_models_Tree&#45;&gt;life_models_Repository</title>
+<path fill="none" stroke="black" d="M602.104,-416.116C611.693,-402.711 622.332,-387.837 632.39,-373.774"/>
+<polygon fill="black" stroke="black" points="599.229,-414.12 596.258,-424.29 604.922,-418.193 599.229,-414.12"/>
+<polygon fill="black" stroke="black" points="635.262,-375.776 638.233,-365.606 629.569,-371.703 635.262,-375.776"/>
+<text text-anchor="middle" x="645.5" y="-386.3" font-family="Helvetica,sans-Serif" font-size="8.00">repositories</text>
+</g>
+<!-- l10nstats_models_ModuleCount -->
+<g id="node19" class="node"><title>l10nstats_models_ModuleCount</title>
+<polygon fill="palegoldenrod" stroke="palegoldenrod" points="932,-434.5 932,-487.5 1020,-487.5 1020,-434.5 932,-434.5"/>
+<polygon fill="#698b22" stroke="#698b22" points="932,-470 932,-487 1020,-487 1020,-470 932,-470"/>
+<text text-anchor="start" x="948.5" y="-476.633" font-family="Helvetica Bold" font-size="8.00" fill="white">ModuleCount</text>
+<text text-anchor="start" x="934" y="-462.133" font-family="Helvetica Bold" font-size="8.00" fill="#7b7b7b">id</text>
+<text text-anchor="start" x="967" y="-462.133" font-family="Helvetica Bold" font-size="8.00" fill="#7b7b7b">AutoField</text>
+<text text-anchor="start" x="934" y="-450.133" font-family="Helvetica Bold" font-size="8.00">name</text>
+<text text-anchor="start" x="967" y="-450.133" font-family="Helvetica Bold" font-size="8.00">CharField</text>
+<text text-anchor="start" x="934" y="-438.133" font-family="Helvetica Bold" font-size="8.00">count</text>
+<text text-anchor="start" x="967" y="-438.133" font-family="Helvetica Bold" font-size="8.00">IntegerField</text>
+</g>
+<!-- l10nstats_models_Run -->
+<g id="node20" class="node"><title>l10nstats_models_Run</title>
+<polygon fill="palegoldenrod" stroke="palegoldenrod" points="988.5,-587.5 988.5,-796.5 1153.5,-796.5 1153.5,-587.5 988.5,-587.5"/>
+<polygon fill="#698b22" stroke="#698b22" points="989,-779 989,-796 1154,-796 1154,-779 989,-779"/>
+<text text-anchor="start" x="1063" y="-785.633" font-family="Helvetica Bold" font-size="8.00" fill="white">Run</text>
+<text text-anchor="start" x="991" y="-771.133" font-family="Helvetica Bold" font-size="8.00" fill="#7b7b7b">id</text>
+<text text-anchor="start" x="1076" y="-771.133" font-family="Helvetica Bold" font-size="8.00" fill="#7b7b7b">AutoField</text>
+<text text-anchor="start" x="991" y="-759.133" font-family="Helvetica Bold" font-size="8.00">locale</text>
+<text text-anchor="start" x="1076" y="-759.133" font-family="Helvetica Bold" font-size="8.00">ForeignKey</text>
+<text text-anchor="start" x="991" y="-747.133" font-family="Helvetica Bold" font-size="8.00">tree</text>
+<text text-anchor="start" x="1076" y="-747.133" font-family="Helvetica Bold" font-size="8.00">ForeignKey</text>
+<text text-anchor="start" x="991" y="-735.133" font-family="Helvetica Bold" font-size="8.00" fill="#7b7b7b">build</text>
+<text text-anchor="start" x="1076" y="-735.133" font-family="Helvetica Bold" font-size="8.00" fill="#7b7b7b">OneToOneField</text>
+<text text-anchor="start" x="991" y="-723.133" font-family="Helvetica Bold" font-size="8.00" fill="#7b7b7b">srctime</text>
+<text text-anchor="start" x="1076" y="-723.133" font-family="Helvetica Bold" font-size="8.00" fill="#7b7b7b">DateTimeField</text>
+<text text-anchor="start" x="991" y="-711.133" font-family="Helvetica Bold" font-size="8.00">missing</text>
+<text text-anchor="start" x="1076" y="-711.133" font-family="Helvetica Bold" font-size="8.00">IntegerField</text>
+<text text-anchor="start" x="991" y="-699.133" font-family="Helvetica Bold" font-size="8.00">missingInFiles</text>
+<text text-anchor="start" x="1076" y="-699.133" font-family="Helvetica Bold" font-size="8.00">IntegerField</text>
+<text text-anchor="start" x="991" y="-687.133" font-family="Helvetica Bold" font-size="8.00">obsolete</text>
+<text text-anchor="start" x="1076" y="-687.133" font-family="Helvetica Bold" font-size="8.00">IntegerField</text>
+<text text-anchor="start" x="991" y="-675.133" font-family="Helvetica Bold" font-size="8.00">total</text>
+<text text-anchor="start" x="1076" y="-675.133" font-family="Helvetica Bold" font-size="8.00">IntegerField</text>
+<text text-anchor="start" x="991" y="-663.133" font-family="Helvetica Bold" font-size="8.00">changed</text>
+<text text-anchor="start" x="1076" y="-663.133" font-family="Helvetica Bold" font-size="8.00">IntegerField</text>
+<text text-anchor="start" x="991" y="-651.133" font-family="Helvetica Bold" font-size="8.00">unchanged</text>
+<text text-anchor="start" x="1076" y="-651.133" font-family="Helvetica Bold" font-size="8.00">IntegerField</text>
+<text text-anchor="start" x="991" y="-639.133" font-family="Helvetica Bold" font-size="8.00">keys</text>
+<text text-anchor="start" x="1076" y="-639.133" font-family="Helvetica Bold" font-size="8.00">IntegerField</text>
+<text text-anchor="start" x="991" y="-627.133" font-family="Helvetica Bold" font-size="8.00">errors</text>
+<text text-anchor="start" x="1076" y="-627.133" font-family="Helvetica Bold" font-size="8.00">IntegerField</text>
+<text text-anchor="start" x="991" y="-615.133" font-family="Helvetica Bold" font-size="8.00">completion</text>
+<text text-anchor="start" x="1076" y="-615.133" font-family="Helvetica Bold" font-size="8.00">SmallIntegerField</text>
+<text text-anchor="start" x="991" y="-603.133" font-family="Helvetica Bold" font-size="8.00">unchangedmodules</text>
+<text text-anchor="start" x="1076" y="-603.133" font-family="Helvetica Bold" font-size="8.00">ManyToManyField</text>
+<text text-anchor="start" x="991" y="-591.133" font-family="Helvetica Bold" font-size="8.00">revisions</text>
+<text text-anchor="start" x="1076" y="-591.133" font-family="Helvetica Bold" font-size="8.00">ManyToManyField</text>
+</g>
+<!-- l10nstats_models_Run&#45;&gt;life_models_Locale -->
+<g id="edge53" class="edge"><title>l10nstats_models_Run&#45;&gt;life_models_Locale</title>
+<path fill="none" stroke="black" d="M1078.76,-583.165C1077.71,-528.137 1068.46,-462.501 1037,-412 962.961,-293.134 905.083,-286.53 773,-240 697.586,-213.433 666.087,-256.591 594,-222 587.759,-219.005 581.834,-214.974 576.354,-210.449"/>
+<polygon fill="black" stroke="black" points="578.433,-207.612 568.657,-203.528 573.753,-212.817 578.433,-207.612"/>
+<text text-anchor="middle" x="1036" y="-386.3" font-family="Helvetica,sans-Serif" font-size="8.00">locale</text>
+</g>
+<!-- l10nstats_models_Run&#45;&gt;life_models_Changeset -->
+<g id="edge61" class="edge"><title>l10nstats_models_Run&#45;&gt;life_models_Changeset</title>
+<path fill="none" stroke="black" d="M1087.65,-573.351C1101.21,-456.666 1112.23,-289.103 1072,-240 1045.98,-208.243 941.435,-187.863 865.314,-176.924"/>
+<polygon fill="black" stroke="black" points="1084.16,-573.078 1086.46,-583.42 1091.11,-573.9 1084.16,-573.078"/>
+<polygon fill="black" stroke="black" points="865.632,-173.434 855.242,-175.507 864.657,-180.366 865.632,-173.434"/>
+<text text-anchor="middle" x="1115.5" y="-386.3" font-family="Helvetica,sans-Serif" font-size="8.00">revisions</text>
+</g>
+<!-- l10nstats_models_Run&#45;&gt;life_models_Tree -->
+<g id="edge55" class="edge"><title>l10nstats_models_Run&#45;&gt;life_models_Tree</title>
+<path fill="none" stroke="black" d="M980.947,-585.177C979.642,-584.425 978.326,-583.699 977,-583 849.219,-515.649 783.807,-610.358 654,-547 634.336,-537.402 616.689,-521.241 602.706,-505.502"/>
+<polygon fill="black" stroke="black" points="605.306,-503.159 596.143,-497.841 599.99,-507.712 605.306,-503.159"/>
+<text text-anchor="middle" x="934" y="-557.3" font-family="Helvetica,sans-Serif" font-size="8.00">tree</text>
+</g>
+<!-- l10nstats_models_Run&#45;&gt;l10nstats_models_ModuleCount -->
+<g id="edge59" class="edge"><title>l10nstats_models_Run&#45;&gt;l10nstats_models_ModuleCount</title>
+<path fill="none" stroke="black" d="M977.33,-573.925C976.125,-570.968 975.012,-567.992 974,-565 967.232,-544.989 967.067,-521.551 968.883,-501.996"/>
+<polygon fill="black" stroke="black" points="974.228,-575.565 981.471,-583.297 980.63,-572.736 974.228,-575.565"/>
+<polygon fill="black" stroke="black" points="972.382,-502.201 970.028,-491.871 965.427,-501.415 972.382,-502.201"/>
+<text text-anchor="middle" x="1009" y="-557.3" font-family="Helvetica,sans-Serif" font-size="8.00">unchangedmodules</text>
+</g>
+<!-- mbdb_models_Build -->
+<g id="node52" class="node"><title>mbdb_models_Build</title>
+<polygon fill="palegoldenrod" stroke="palegoldenrod" points="1319.5,-452.5 1319.5,-469.5 1350.5,-469.5 1350.5,-452.5 1319.5,-452.5"/>
+<polygon fill="#698b22" stroke="#698b22" points="1320,-452 1320,-469 1351,-469 1351,-452 1320,-452"/>
+<text text-anchor="start" x="1325" y="-458.633" font-family="Helvetica Bold" font-size="8.00" fill="white">Build</text>
+</g>
+<!-- l10nstats_models_Run&#45;&gt;mbdb_models_Build -->
+<g id="edge57" class="edge"><title>l10nstats_models_Run&#45;&gt;mbdb_models_Build</title>
+<path fill="none" stroke="black" d="M1161.03,-653.912C1209.22,-629.533 1266.25,-593.678 1304,-547 1317.52,-530.288 1325.41,-507.192 1329.84,-489.142"/>
+<polygon fill="black" stroke="black" points="1333.3,-489.707 1332.07,-479.184 1326.47,-488.178 1333.3,-489.707"/>
+<text text-anchor="middle" x="1302.5" y="-557.3" font-family="Helvetica,sans-Serif" font-size="8.00">build</text>
+</g>
+<!-- l10nstats_models_Run_Revisions -->
+<g id="node21" class="node"><title>l10nstats_models_Run_Revisions</title>
+<polygon fill="palegoldenrod" stroke="palegoldenrod" points="932,-869.5 932,-922.5 1032,-922.5 1032,-869.5 932,-869.5"/>
+<polygon fill="#698b22" stroke="#698b22" points="932,-905 932,-922 1032,-922 1032,-905 932,-905"/>
+<text text-anchor="start" x="951" y="-911.633" font-family="Helvetica Bold" font-size="8.00" fill="white">Run_Revisions</text>
+<text text-anchor="start" x="934" y="-897.133" font-family="Helvetica Bold" font-size="8.00" fill="#7b7b7b">id</text>
+<text text-anchor="start" x="982" y="-897.133" font-family="Helvetica Bold" font-size="8.00" fill="#7b7b7b">AutoField</text>
+<text text-anchor="start" x="934" y="-885.133" font-family="Helvetica Bold" font-size="8.00">run</text>
+<text text-anchor="start" x="982" y="-885.133" font-family="Helvetica Bold" font-size="8.00">ForeignKey</text>
+<text text-anchor="start" x="934" y="-873.133" font-family="Helvetica Bold" font-size="8.00">changeset</text>
+<text text-anchor="start" x="982" y="-873.133" font-family="Helvetica Bold" font-size="8.00">ForeignKey</text>
+</g>
+<!-- l10nstats_models_Run_Revisions&#45;&gt;life_models_Changeset -->
+<g id="edge65" class="edge"><title>l10nstats_models_Run_Revisions&#45;&gt;life_models_Changeset</title>
+<path fill="none" stroke="black" d="M949.574,-865.444C913.733,-828.205 861,-761.591 861,-692 861,-692 861,-692 861,-317 861,-286.194 847.794,-255.503 832.181,-229.984"/>
+<polygon fill="black" stroke="black" points="835.128,-228.096 826.809,-221.535 829.221,-231.852 835.128,-228.096"/>
+<text text-anchor="middle" x="879.5" y="-458.3" font-family="Helvetica,sans-Serif" font-size="8.00">changeset</text>
+</g>
+<!-- l10nstats_models_Run_Revisions&#45;&gt;l10nstats_models_Run -->
+<g id="edge63" class="edge"><title>l10nstats_models_Run_Revisions&#45;&gt;l10nstats_models_Run</title>
+<path fill="none" stroke="black" d="M995.324,-865.459C1001.97,-850.23 1010.48,-830.729 1019.37,-810.334"/>
+<polygon fill="black" stroke="black" points="1022.69,-811.478 1023.48,-800.913 1016.28,-808.679 1022.69,-811.478"/>
+<text text-anchor="middle" x="1020" y="-821.3" font-family="Helvetica,sans-Serif" font-size="8.00">run</text>
+</g>
+<!-- l10nstats_models_UnchangedInFile -->
+<g id="node22" class="node"><title>l10nstats_models_UnchangedInFile</title>
+<polygon fill="palegoldenrod" stroke="palegoldenrod" points="1188,-857.5 1188,-934.5 1284,-934.5 1284,-857.5 1188,-857.5"/>
+<polygon fill="#698b22" stroke="#698b22" points="1188,-917 1188,-934 1284,-934 1284,-917 1188,-917"/>
+<text text-anchor="start" x="1200.5" y="-923.633" font-family="Helvetica Bold" font-size="8.00" fill="white">UnchangedInFile</text>
+<text text-anchor="start" x="1190" y="-909.133" font-family="Helvetica Bold" font-size="8.00" fill="#7b7b7b">id</text>
+<text text-anchor="start" x="1231" y="-909.133" font-family="Helvetica Bold" font-size="8.00" fill="#7b7b7b">AutoField</text>
+<text text-anchor="start" x="1190" y="-897.133" font-family="Helvetica Bold" font-size="8.00">module</text>
+<text text-anchor="start" x="1231" y="-897.133" font-family="Helvetica Bold" font-size="8.00">CharField</text>
+<text text-anchor="start" x="1190" y="-885.133" font-family="Helvetica Bold" font-size="8.00">file</text>
+<text text-anchor="start" x="1231" y="-885.133" font-family="Helvetica Bold" font-size="8.00">CharField</text>
+<text text-anchor="start" x="1190" y="-873.133" font-family="Helvetica Bold" font-size="8.00">count</text>
+<text text-anchor="start" x="1231" y="-873.133" font-family="Helvetica Bold" font-size="8.00">IntegerField</text>
+<text text-anchor="start" x="1190" y="-861.133" font-family="Helvetica Bold" font-size="8.00">run</text>
+<text text-anchor="start" x="1231" y="-861.133" font-family="Helvetica Bold" font-size="8.00">ForeignKey</text>
+</g>
+<!-- l10nstats_models_UnchangedInFile&#45;&gt;l10nstats_models_Run -->
+<g id="edge67" class="edge"><title>l10nstats_models_UnchangedInFile&#45;&gt;l10nstats_models_Run</title>
+<path fill="none" stroke="black" d="M1201.41,-853.235C1190.61,-839.881 1178.13,-824.454 1165.26,-808.546"/>
+<polygon fill="black" stroke="black" points="1167.93,-806.278 1158.92,-800.704 1162.49,-810.68 1167.93,-806.278"/>
+<text text-anchor="middle" x="1183" y="-821.3" font-family="Helvetica,sans-Serif" font-size="8.00">run</text>
+</g>
+<!-- l10nstats_models_Active -->
+<g id="node23" class="node"><title>l10nstats_models_Active</title>
+<polygon fill="palegoldenrod" stroke="palegoldenrod" points="1065.5,-875.5 1065.5,-916.5 1154.5,-916.5 1154.5,-875.5 1065.5,-875.5"/>
+<polygon fill="#698b22" stroke="#698b22" points="1066,-899 1066,-916 1155,-916 1155,-899 1066,-899"/>
+<text text-anchor="start" x="1098" y="-905.633" font-family="Helvetica Bold" font-size="8.00" fill="white">Active</text>
+<text text-anchor="start" x="1068" y="-891.133" font-family="Helvetica Bold" font-size="8.00" fill="#7b7b7b">id</text>
+<text text-anchor="start" x="1087" y="-891.133" font-family="Helvetica Bold" font-size="8.00" fill="#7b7b7b">AutoField</text>
+<text text-anchor="start" x="1068" y="-879.133" font-family="Helvetica Bold" font-size="8.00">run</text>
+<text text-anchor="start" x="1087" y="-879.133" font-family="Helvetica Bold" font-size="8.00">OneToOneField</text>
+</g>
+<!-- l10nstats_models_Active&#45;&gt;l10nstats_models_Run -->
+<g id="edge69" class="edge"><title>l10nstats_models_Active&#45;&gt;l10nstats_models_Run</title>
+<path fill="none" stroke="black" d="M1105.3,-871.393C1102.26,-855.537 1098.08,-833.628 1093.67,-810.557"/>
+<polygon fill="black" stroke="black" points="1097.08,-809.778 1091.76,-800.613 1090.2,-811.093 1097.08,-809.778"/>
+<text text-anchor="middle" x="1102" y="-821.3" font-family="Helvetica,sans-Serif" font-size="8.00">run</text>
+</g>
+</g>
+</svg>
View
BIN  databasediagram.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN  databasediagram_1000x945.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
11 index.rst
@@ -15,15 +15,21 @@ localizers to navigate to get stuff done.
This documentation is about the `elmo django application
<https://github.com/mozilla/elmo>`_ and how it works and why it works
-like it works.
+like it works.
+All code is available here: https://github.com/mozilla/elmo
+
+The production is available here: https://l10n-stage-sj.mozilla.org/
Contents:
.. toctree::
:maxdepth: 2
-
+
+ overview
life
+ shipping
+ l10nstats
Indices and tables
@@ -32,4 +38,3 @@ Indices and tables
* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`
-
View
8 l10nstats.rst
@@ -0,0 +1,8 @@
+.. index:: l10nstats
+
+.. _l10nstats-chapter:
+
+L10nstats
+=========
+
+
View
20 life.rst
@@ -10,3 +10,23 @@ app that defines the most fundamental models of elmo. It basically
reflects the state of translation work done and to be done. All other
applications depend on this app for interactions.
+Let's delve into some of the key models:
+
+Locale
+------
+
+Key fields:
+
+* ``code`` - e.g. "nn-NO"
+* ``name`` - e.g. "Norweigian (Nynorsk)"
+* ``native`` - e.g. "Norsk nynorsk"
+
+Every repository and every shipping signoff references a locale. It's
+
+Changeset
+---------
+
+Key fields:
+
+* ``revision`` - e.g. "9b2a99adc05e53cd4010de512f50118594756650"
+* (TODO: any more "key" fields here?)
View
39 overview.rst
@@ -0,0 +1,39 @@
+.. index:: overview
+
+.. _overview-chapter:
+
+Overview
+========
+
+.. image:: databasediagram_1000x945.png
+
+(image originally from http://people.mozilla.org/~axel/all.svg)
+
+
+As you can see in this database diagram, Elmo consists of 3 major parts:
+
+* :ref:`life-chapter`
+* :ref:`shipping-chapter`
+* :ref:`l10nstats-chapter`
+
+Their names imply what they each do and deal with. There are other
+various tools that aren't directly part of these major apps but are
+also important. For example, the privacy app (TODO: figure out whether
+to bother documenting this).
+
+Basically the whole database model is based around the structure that
+is used in Mozilla to develop Firefox, Thunderbird, etc. but instead
+of source code to the running programs, it's definition files
+containing translatable strings. An example of a translatable string
+file can for example look like this::
+
+ <!-- Tab context menu -->
+ <!ENTITY reloadTab.label "Oppdater fane">
+ <!ENTITY reloadTab.accesskey "O">
+ <!ENTITY reloadAllTabs.label "Oppdater alle fanene">
+ <!ENTITY reloadAllTabs.accesskey "d">
+ <!ENTITY closeOtherTabs.label "Lat att andre faner">
+ <!ENTITY closeOtherTabs.accesskey "a">
+
+(this is the `Norwegian (nn-NO) source for browser.dtd
+<http://hg.mozilla.org/l10n-central/nn-NO/file/d2b41af23354/browser/chrome/browser/browser.dtd>`_)
View
7 shipping.rst
@@ -0,0 +1,7 @@
+.. index:: shipping
+
+.. _shipping-chapter:
+
+Shipping
+========
+
Please sign in to comment.
Something went wrong with that request. Please try again.