Switch to unified view

a/README.markdown b/README.markdown
1
# Sandbox Creation
1
# Sandbox Creation
2
2
3
We'll use [VirtualBox](http://www.virtualbox.org) and [Ubuntu 10.10](http://ubuntu.com) to create a disposable sandbox for Forge development/testing.
3
We'll use [VirtualBox](http://www.virtualbox.org) and [Ubuntu 10.10](http://ubuntu.com) to create a disposable sandbox for Forge development/testing.
4
4
5
* Download and install [VirtualBox](http://www.virtualbox.org/wiki/Downloads) for your platform.
5
* Download and install [VirtualBox](http://www.virtualbox.org/wiki/Downloads) for your platform.
6
  
6
7
* Download a minimal [Ubuntu 10.10](https://help.ubuntu.com/community/Installation/MinimalCD) ISO (~15MB).
7
* Download a minimal [Ubuntu 10.10](https://help.ubuntu.com/community/Installation/MinimalCD) ISO (~15MB).
8
  
8
9
* Create a new virtual machine in Virtual Box, selecting Ubuntu (64 bit) as the OS type.  The rest of the wizards' defaults are fine.
9
* Create a new virtual machine in Virtual Box, selecting Ubuntu (64 bit) as the OS type.  The rest of the wizards' defaults are fine.
10
  
10
11
* When you launch the virtual machine for the first time, you will be prompted to attach your installation media.  Browse to the `mini.iso` that you downloaded earlier.
11
* When you launch the virtual machine for the first time, you will be prompted to attach your installation media.  Browse to the `mini.iso` that you downloaded earlier.
12
  
12
13
* Consult [available documentation](https://help.ubuntu.com/) for help installing Ubuntu.
13
* Consult [available documentation](https://help.ubuntu.com/) for help installing Ubuntu.
14
  
14
15
15
16
# Forge Installation
16
# Forge Installation
17
17
18
Before we begin, you'll need the following additional packages in order to checkout the Forge source code.
18
Before we begin, you'll need the following additional packages in order to work with the Forge source code.
19
19
20
    ~$ sudo apt-get install git-core mercurial
20
    ~$ sudo apt-get install git-core gitweb subversion python-svn libtidy-0.99-0
21
21
22
You'll also need additional development packages in order to compile some of the modules.
22
You'll also need additional development packages in order to compile some of the modules.
23
23
24
    ~$ sudo apt-get install default-jdk python-dev libssl-dev libldap2-dev libsasl2-dev
24
    ~$ sudo apt-get install default-jdk python-dev libssl-dev libldap2-dev libsasl2-dev
25
25
26
Running the test suite requires additional packages.
26
And finally our document-oriented database, MongoDB, and our messaging server, RabbitMQ.
27
27
28
    ~$ sudo apt-get install libtidy-0.99-0 gitweb
29
30
... and our messaging server, RabbitMQ.
31
32
    ~$ sudo apt-get install rabbitmq-server
28
    ~$ sudo apt-get install mongodb rabbitmq-server
33
34
And finally our document-oriented database, MongoDB.
35
36
    ~$ sudo apt-get install mongodb
37
38
29
39
## Setting up a virtual python environment
30
## Setting up a virtual python environment
40
31
41
The first step to installing the Forge platform is installing a virtual environment via `virtualenv`.  This helps keep our distribution python installation clean.
32
The first step to installing the Forge platform is installing a virtual environment via `virtualenv`.  This helps keep our distribution python installation clean.
42
33
43
    ~$ sudo apt-get install python-setuptools
34
    ~$ sudo apt-get install python-setuptools
44
    ~$ sudo easy_install-2.6 -U virtualenv
35
    ~$ sudo easy_install-2.6 -U virtualenv
45
36
46
Once you have virtualenv installed, you need to create a virtual environment.  We'll call our Forge environment 'anvil'.
37
Once you have virtualenv installed, you need to create a virtual environment.  We'll call our Forge environment 'anvil'.
47
38
48
    ~$ virtualenv --no-site-packages anvil
39
    ~$ virtualenv anvil
49
40
50
This gives us a nice, clean environment into which we can install all the forge dependencies.  In order to use the virtual environment, you'll need to activate it.  You'll need to do this whenever you're working on the Forge codebase so you may want to consider adding it to your `~/.bashrc` file.
41
This gives us a nice, clean environment into which we can install all the forge dependencies.  In order to use the virtual environment, you'll need to activate it.  You'll need to do this whenever you're working on the Forge codebase so you may want to consider adding it to your `~/.bashrc` file.
51
42
52
    ~$ . anvil/bin/activate
43
    ~$ . anvil/bin/activate
53
44
...
...
84
Hopefully everything completed without errors.  We'll also need to create a place for Forge to store any SCM repositories that a project might create.
75
Hopefully everything completed without errors.  We'll also need to create a place for Forge to store any SCM repositories that a project might create.
85
76
86
    for SCM in git svn hg
77
    for SCM in git svn hg
87
    do
78
    do
88
        mkdir -p ~/var/scm/$SCM
79
        mkdir -p ~/var/scm/$SCM
89
        chmod -R 777 ~/var/scm
80
        chmod 777 ~/var/scm/$SCM
90
        sudo ln -s ~/var/scm/$SCM /
81
        sudo ln -s ~/var/scm/$SCM /
91
    done
82
    done
92
83
93
84
94
## Initializing the environment
85
## Initializing the environment
...
...
143
    (anvil)~/src/forge/Allura$ nohup paster smtp_server development.ini > ~/logs/smtp.log &
134
    (anvil)~/src/forge/Allura$ nohup paster smtp_server development.ini > ~/logs/smtp.log &
144
135
145
136
146
### TurboGears application server
137
### TurboGears application server
147
138
148
One of the modules we need for Subversion integration is not available in egg format, however the distribution copy will work fine.
149
150
    (anvil)~$ sudo apt-get install python-svn
151
    (anvil)~$ echo '/usr/lib/python2.6/dist-packages' >> ~/anvil/lib/python2.6/site-packages/setuptools.pth
152
153
In order to initialize the forge database, you'll need to run the following:
139
In order to initialize the Forge database, you'll need to run the following:
154
140
155
    (anvil)~/src/forge/Allura$ paster setup-app development.ini
141
    (anvil)~/src/forge/Allura$ paster setup-app development.ini
156
142
157
This shouldn't take too long, but it will start the reactor server doing tons of stuff in the background.  It should complete in 5-6 minutes.  Once this is done, you can start the application server.
143
This shouldn't take too long, but it will start the reactor server doing tons of stuff in the background.  It should complete in 5-6 minutes.  Once this is done, you can start the application server.
158
144
...
...
173
    (anvil)~/src/forge/Allura/docs$ make html
159
    (anvil)~/src/forge/Allura/docs$ make html
174
160
175
You will also want to give the test suite a run, to verify there were no problems with the installation.
161
You will also want to give the test suite a run, to verify there were no problems with the installation.
176
162
177
    (anvil)~$ cd ~/src/forge
163
    (anvil)~$ cd ~/src/forge
164
    (anvil)~/src/forge$ export ALLURA_VALIDATION=none
178
    (anvil)~/src/forge$ ./run_tests
165
    (anvil)~/src/forge$ ./run_tests
179
166
180
Happy hacking!
167
Happy hacking!
181
168
182
169
183
# Current Local Tweaks
170
# Current Local Tweaks
184
171
185
[#1405] Remove sf.phpsession from forge/Allura/setup.py
172
[#1411] Edit forge/Allura/development.ini, change theme=sftheme to theme=allura
186
187
    diff --git a/Allura/setup.py b/Allura/setup.py
188
    index f9fc0c4..ea1eb16 100644
189
    --- a/Allura/setup.py
190
    +++ b/Allura/setup.py
191
    @@ -37,7 +37,6 @@ setup(
192
             "EasyWidgets >= 0.1.1",
193
             "PIL >= 1.1.7",
194
             "iso8601",
195
    -        "sf.phpsession==0.1",
196
             "chardet==1.0.1",
197
             "feedparser>=4.1,<=4.2",
198
             "oauth2==1.2.0",
199
200
173
201
[#1407] Remove all rtstats traces from Allura/development.ini
174
[#1407] Remove all rtstats traces from Allura/development.ini
202
175
203
     diff --git a/Allura/development.ini b/Allura/development.ini
176
     diff --git a/Allura/development.ini b/Allura/development.ini
204
     index 71c3166..0496619 100644
177
     index 71c3166..0496619 100644