Switch to unified view

a/Allura/docs/platform.rst b/Allura/docs/platform.rst
...
...
11
---------------------------------------------------------------------
11
---------------------------------------------------------------------
12
12
13
Before we get into the details of how to extend the Allura platform, perhaps 
13
Before we get into the details of how to extend the Allura platform, perhaps 
14
it would be smart to explain some of the big pieces and why there are there. 
14
it would be smart to explain some of the big pieces and why there are there. 
15
15
16
We wanted PyForge tools to be fast, we needed them to scale, and we had some
16
We wanted Allura tools to be fast, we needed them to scale, and we had some
17
complex requirements for data storage and extensibility.  So, we needed a 
17
complex requirements for data storage and extensibility.  So, we needed a 
18
**fast,** flexible, and easy to use data persistence system.  
18
**fast,** flexible, and easy to use data persistence system.  
19
19
20
We were very impressed by the general message architecture of Roundup, but we 
20
We were very impressed by the general message architecture of Roundup, but we 
21
wanted to extend it from just email messages to include scm commits, and we 
21
wanted to extend it from just email messages to include scm commits, and we 
...
...
37
  platform level data.  
37
  platform level data.  
38
38
39
In spite of the power and flexibility of the Roundup HyperTable 
39
In spite of the power and flexibility of the Roundup HyperTable 
40
implementation, we had some concerns about performance and scalability.
40
implementation, we had some concerns about performance and scalability.
41
41
42
Fortunately several of the PyForge authors (including me) used MongoDB 
42
Fortunately several of the Allura authors (including me) used MongoDB 
43
in rewriting the download flow of SourceForge.net, and knew that it could 
43
in rewriting the download flow of SourceForge.net, and knew that it could 
44
handle huge loads (we saturated a 2gb network connection on the server 
44
handle huge loads (we saturated a 2gb network connection on the server 
45
with 6% cpu utilization).
45
with 6% cpu utilization).
46
46
47
We also knew that MongoDB's flexible replication system would allow us 
47
We also knew that MongoDB's flexible replication system would allow us 
...
...
76
set of hooks -- **reactors** -- that are not allowed to change the
76
set of hooks -- **reactors** -- that are not allowed to change the
77
message, but can do things like send e-mail or push a new kind of event 
77
message, but can do things like send e-mail or push a new kind of event 
78
onto another queue. 
78
onto another queue. 
79
 
79
 
80
Nearly everything in Roundup is implemented as either an auditor or a reactor,
80
Nearly everything in Roundup is implemented as either an auditor or a reactor,
81
and PyForge definitely steals that idea and runs with it. 
81
and Allura definitely steals that idea and runs with it. 
82
82
83
TODO: Finish reactor overview (after reactor code is written).
83
TODO: Finish reactor overview (after reactor code is written).
84
84
85
85
86
Application Tools
86
Application Tools
...
...
92
92
93
.. image:: _static/images/tools.png
93
.. image:: _static/images/tools.png
94
   :alt: App Tools
94
   :alt: App Tools
95
   :align: right
95
   :align: right
96
96
97
When you write PyForge tools, you'll get lots of stuff for free:
97
When you write Allura tools, you'll get lots of stuff for free:
98
98
99
* Search-ability of your Artifacts
99
* Search-ability of your Artifacts
100
* Artifact versioning for accountability and transparency
100
* Artifact versioning for accountability and transparency
101
* Ability to extend existing Artifacts
101
* Ability to extend existing Artifacts
102
* Reuse central User/group/permission management
102
* Reuse central User/group/permission management