Commit 57116ca5dc6651a17ccdd525ae84c38fa5146870
1 parent
42a922ed
Exists in
master
and in
28 other branches
ActionItem1210: putting the English version as default
Showing
2 changed files
with
174 additions
and
174 deletions
Show diff stats
... | ... | @@ -0,0 +1,174 @@ |
1 | += Noosfero: a free web-based social platform | |
2 | + | |
3 | +== Setting up a Noosfero development/test environment | |
4 | + | |
5 | +Noosfero is written in Ruby with the "Rails framework":http://www.rubyonrails.org, | |
6 | +so the process of setting it up is pretty similar to other Rails applications. | |
7 | + | |
8 | +=== Requirements | |
9 | + | |
10 | +noosfero is intended to be run in Debian stable. It can work in other environments, but we do not test on them. | |
11 | + | |
12 | +You need to have git installed, as well as: | |
13 | + | |
14 | +* Ruby: http://www.ruby-lang.org/ | |
15 | +* Rake: http://rake.rubyforge.org/ | |
16 | +* Ruby-GetText: http://www.yotabanana.com/hiki/ruby-gettext.html?ruby-gettext (at least version 1.9.0) | |
17 | +* Ruby-sqlite3: http://rubyforge.org/projects/sqlite-ruby | |
18 | +* rcov: http://eigenclass.org/hiki/rcov | |
19 | +* Ferret: http://ferret.davebalmain.com/trac | |
20 | +* RMagick: http://rmagick.rubyforge.org/ | |
21 | +* RedCloth: http://whytheluckystiff.net/ruby/redcloth/ | |
22 | +* will_paginate: http://github.com/mislav/will_paginate/wikis | |
23 | +* contacts: http://github.com/cardmagic/contacts/tree/master | |
24 | +* iso-codes: http://pkg-isocodes.alioth.debian.org/ | |
25 | +* feedparser: http://packages.debian.org/sid/libfeedparser-ruby | |
26 | +* Mongrel: http://mongrel.rubyforge.org/ | |
27 | +* tango-icon-theme: http://tango.freedesktop.org/Tango_Icon_Library | |
28 | + | |
29 | +There are Debian packages available for all of them but contacts. Try: | |
30 | + | |
31 | + # aptitude install subversion ruby rake libgettext-ruby1.8 libsqlite3-ruby rcov librmagick-ruby libredcloth-ruby libwill-paginate-ruby iso-codes libfeedparser-ruby libferret-ruby mongrel mongrel-cluster tango-icon-theme | |
32 | + | |
33 | +contacts is bundled together with noosfero for now, so you don't need to install it. | |
34 | + | |
35 | +If you have problems with the setup, use the development mailing list. In | |
36 | +special its possible that the requirements list above is not complete. | |
37 | + | |
38 | +=== Setting up a production environment | |
39 | + | |
40 | +* install memcached. Study whether you need to raise the ammount of memory it uses for caching, depending on the demand you expect for your site. | |
41 | +* copy config/ferret_server.yml.dist to config/ferret_server.yml.dist | |
42 | +* configure the mongrel cluster: `mongrel_rails cluster::configure` | |
43 | +** then edit config/mongrel_cluster.yml to suit your environment. Make sure your apache configuration matches the mongrel cluster configuration, specially in respect to the ports and numbers of mongrel instances. | |
44 | +* create needed temporary directories: | |
45 | + mkdir tmp | |
46 | + mkdir tmp/pids | |
47 | + mkdir log | |
48 | +* create database (example using PostgreSQL, YMMV) | |
49 | + | |
50 | + root user | |
51 | + ========= | |
52 | + # sudo apt-get install postgresql libpgsql-ruby | |
53 | + # su - postgres | |
54 | + | |
55 | + postgres user | |
56 | + ============= | |
57 | + postgres@HOST:~$ createuser noosfero | |
58 | + Shall the new role be a superuser? (y/n) n | |
59 | + Shall the new role be allowed to create databases? (y/n) y | |
60 | + Shall the new role be allowed to create more new roles? (y/n) n | |
61 | + | |
62 | + noosfero_user | |
63 | + ============= | |
64 | + createdb noosfero_production | |
65 | + createdb noosfero_development | |
66 | + createdb noosfero_test | |
67 | + | |
68 | +* configure database access in config/database.yml | |
69 | + | |
70 | +* test database access: | |
71 | +** first create the development database | |
72 | + rake db:schema:load | |
73 | +** if everything goes right, then create the production database: | |
74 | + RAILS_ENV=production rake db:schema:load | |
75 | + | |
76 | +* create sample data: | |
77 | + RAILS_ENV=production rake db:populate | |
78 | + | |
79 | +* compile the translations: | |
80 | + rake makemo | |
81 | + | |
82 | +* start the server: | |
83 | + ./script/production start | |
84 | + | |
85 | +* to stop the server: | |
86 | + | |
87 | + ./script/production stop | |
88 | + | |
89 | +* to restart the server: | |
90 | + | |
91 | + ./script/production restart | |
92 | + | |
93 | +=== Boostraping a test environment | |
94 | + | |
95 | +You can copy and paste the commands below into a terminal (please review the | |
96 | +commands and make sure you understand what you are doing): | |
97 | + | |
98 | + # checkout the code from repository | |
99 | + git clone git://git.colivre.coop.br/noosfero.git | |
100 | + # enter the directory | |
101 | + cd noosfero | |
102 | + # copy a sample config file | |
103 | + cp config/database.yml.sqlite3 config/database.yml | |
104 | + # create the database: | |
105 | + rake db:migrate | |
106 | + # compile translations: | |
107 | + rake makemo | |
108 | + # create some test data: | |
109 | + ./script/populate | |
110 | + # install the test dependences: | |
111 | + aptitude install libtidy-ruby libhpricot-ruby libmocha-ruby imagemagick | |
112 | + # run the automated test suite to make sure your environment is sane: | |
113 | + rake test | |
114 | + | |
115 | +You should now be ready to go. Issue the following command to start the Rails | |
116 | +development server: | |
117 | + | |
118 | + ./script/server | |
119 | + | |
120 | +The server will be available at http://localhost:3000/ . If you want to use | |
121 | +another port than 3000, you can use the -p option of ./script/server: | |
122 | + | |
123 | + ./script/server -p 9999 | |
124 | + | |
125 | +The above command makes the server available at http://localhost:9999/ | |
126 | + | |
127 | +The populate script creates some test users, one of them has login 'ze' and | |
128 | +password 'test'. You can use it or you can register a new user. | |
129 | + | |
130 | +== Reporting bugs | |
131 | + | |
132 | +Use Noosfero Tracker application at http://www.colivre.coop.br/Noosfero. | |
133 | + | |
134 | +== Helping with development | |
135 | + | |
136 | +* It's recommended that you subscribe to the development mailing | |
137 | + list: http://ynternet.net/mailman/listinfo/noosfero | |
138 | +* If you have a patch, create an appropriate action item | |
139 | + (bugs/requirement/enhancement) in the Tracker web (see "Reporting bugs" | |
140 | + above) of type. | |
141 | + | |
142 | +== Releasing noosfero | |
143 | + | |
144 | +To prepare a release of noosfero, you must follow the steps below: | |
145 | + | |
146 | +* finish all requirements and bugs assigned to the to-be-released version | |
147 | +* make sure all tests pass | |
148 | +* write release notes at the version's wiki topic. | |
149 | +* generate package with <tt>rake package</tt>. Your tarball will be under the pkg/ | |
150 | + directory, named as noosfero-${VERSION}.tar.gz | |
151 | +* test that the package contains everything that is needed: explode the tarball | |
152 | + in a temporary directory, copy config/database.yml.sqlite3 to | |
153 | + config/database.yml, and make <tt>rake db:migrate</tt> and <tt>rake test</tt>. If | |
154 | + everything is ok, you are done. If not, maybe some files are not going into | |
155 | + the tarball. See lib/tasks/package.rake, probably you'll need to change it. | |
156 | +* Go to the version's wiki topic and edit it to reflect the new reality. | |
157 | +* Attach the generated package to that topic. Before attaching calculate the md5 of the package (with mu5sum and paste the MD5 hash as comment in the attachment form) | |
158 | +* Download the attached and verify the MD5 hash | |
159 | +* create a git tag for the released version with <tt>git tag</tt>. | |
160 | +* IMMEDIATELY change the version in lib/noosfero.rb to the next version. (e.g. | |
161 | + 0.2.0 -> 0.3.0) | |
162 | +* update an eventual demonstration version that you run. | |
163 | +* write an announcement e-mail to the relevant maimling lists pointing to the release notes, and maybe to the demonstration version. | |
164 | + | |
165 | +If you had any problem during these steps, you can do <tt>rake clobber_package</tt> to | |
166 | +completely delete the generated packages and start the process again. | |
167 | + | |
168 | +== Working with translations | |
169 | + | |
170 | +* Update translation files: <tt>rake updatepo</tt>. Then <tt>git commit</tt> them. | |
171 | +* Send the PO files to the translators. | |
172 | +* Get the PO files back from translators, put in po/ under the correct language | |
173 | + name (e.,g. po/pt_BR/) and <tt>git commit</tt>. | |
174 | +* test translations: <tt>rake makemo</tt> and browse the application on the web. | ... | ... |
doc/README_FOR_APP.en
... | ... | @@ -1,174 +0,0 @@ |
1 | -= Noosfero: a free web-based social platform | |
2 | - | |
3 | -== Setting up a Noosfero development/test environment | |
4 | - | |
5 | -Noosfero is written in Ruby with the "Rails framework":http://www.rubyonrails.org, | |
6 | -so the process of setting it up is pretty similar to other Rails applications. | |
7 | - | |
8 | -=== Requirements | |
9 | - | |
10 | -noosfero is intended to be run in Debian stable. It can work in other environments, but we do not test on them. | |
11 | - | |
12 | -You need to have git installed, as well as: | |
13 | - | |
14 | -* Ruby: http://www.ruby-lang.org/ | |
15 | -* Rake: http://rake.rubyforge.org/ | |
16 | -* Ruby-GetText: http://www.yotabanana.com/hiki/ruby-gettext.html?ruby-gettext (at least version 1.9.0) | |
17 | -* Ruby-sqlite3: http://rubyforge.org/projects/sqlite-ruby | |
18 | -* rcov: http://eigenclass.org/hiki/rcov | |
19 | -* Ferret: http://ferret.davebalmain.com/trac | |
20 | -* RMagick: http://rmagick.rubyforge.org/ | |
21 | -* RedCloth: http://whytheluckystiff.net/ruby/redcloth/ | |
22 | -* will_paginate: http://github.com/mislav/will_paginate/wikis | |
23 | -* contacts: http://github.com/cardmagic/contacts/tree/master | |
24 | -* iso-codes: http://pkg-isocodes.alioth.debian.org/ | |
25 | -* feedparser: http://packages.debian.org/sid/libfeedparser-ruby | |
26 | -* Mongrel: http://mongrel.rubyforge.org/ | |
27 | -* tango-icon-theme: http://tango.freedesktop.org/Tango_Icon_Library | |
28 | - | |
29 | -There are Debian packages available for all of them but contacts. Try: | |
30 | - | |
31 | - # aptitude install subversion ruby rake libgettext-ruby1.8 libsqlite3-ruby rcov librmagick-ruby libredcloth-ruby libwill-paginate-ruby iso-codes libfeedparser-ruby libferret-ruby mongrel mongrel-cluster tango-icon-theme | |
32 | - | |
33 | -contacts is bundled together with noosfero for now, so you don't need to install it. | |
34 | - | |
35 | -If you have problems with the setup, use the development mailing list. In | |
36 | -special its possible that the requirements list above is not complete. | |
37 | - | |
38 | -=== Setting up a production environment | |
39 | - | |
40 | -* install memcached. Study whether you need to raise the ammount of memory it uses for caching, depending on the demand you expect for your site. | |
41 | -* copy config/ferret_server.yml.dist to config/ferret_server.yml.dist | |
42 | -* configure the mongrel cluster: `mongrel_rails cluster::configure` | |
43 | -** then edit config/mongrel_cluster.yml to suit your environment. Make sure your apache configuration matches the mongrel cluster configuration, specially in respect to the ports and numbers of mongrel instances. | |
44 | -* create needed temporary directories: | |
45 | - mkdir tmp | |
46 | - mkdir tmp/pids | |
47 | - mkdir log | |
48 | -* create database (example using PostgreSQL, YMMV) | |
49 | - | |
50 | - root user | |
51 | - ========= | |
52 | - # sudo apt-get install postgresql libpgsql-ruby | |
53 | - # su - postgres | |
54 | - | |
55 | - postgres user | |
56 | - ============= | |
57 | - postgres@HOST:~$ createuser noosfero | |
58 | - Shall the new role be a superuser? (y/n) n | |
59 | - Shall the new role be allowed to create databases? (y/n) y | |
60 | - Shall the new role be allowed to create more new roles? (y/n) n | |
61 | - | |
62 | - noosfero_user | |
63 | - ============= | |
64 | - createdb noosfero_production | |
65 | - createdb noosfero_development | |
66 | - createdb noosfero_test | |
67 | - | |
68 | -* configure database access in config/database.yml | |
69 | - | |
70 | -* test database access: | |
71 | -** first create the development database | |
72 | - rake db:schema:load | |
73 | -** if everything goes right, then create the production database: | |
74 | - RAILS_ENV=production rake db:schema:load | |
75 | - | |
76 | -* create sample data: | |
77 | - RAILS_ENV=production rake db:populate | |
78 | - | |
79 | -* compile the translations: | |
80 | - rake makemo | |
81 | - | |
82 | -* start the server: | |
83 | - ./script/production start | |
84 | - | |
85 | -* to stop the server: | |
86 | - | |
87 | - ./script/production stop | |
88 | - | |
89 | -* to restart the server: | |
90 | - | |
91 | - ./script/production restart | |
92 | - | |
93 | -=== Boostraping a test environment | |
94 | - | |
95 | -You can copy and paste the commands below into a terminal (please review the | |
96 | -commands and make sure you understand what you are doing): | |
97 | - | |
98 | - # checkout the code from repository | |
99 | - git clone git://git.colivre.coop.br/noosfero.git | |
100 | - # enter the directory | |
101 | - cd noosfero | |
102 | - # copy a sample config file | |
103 | - cp config/database.yml.sqlite3 config/database.yml | |
104 | - # create the database: | |
105 | - rake db:migrate | |
106 | - # compile translations: | |
107 | - rake makemo | |
108 | - # create some test data: | |
109 | - ./script/populate | |
110 | - # install the test dependences: | |
111 | - aptitude install libtidy-ruby libhpricot-ruby libmocha-ruby imagemagick | |
112 | - # run the automated test suite to make sure your environment is sane: | |
113 | - rake test | |
114 | - | |
115 | -You should now be ready to go. Issue the following command to start the Rails | |
116 | -development server: | |
117 | - | |
118 | - ./script/server | |
119 | - | |
120 | -The server will be available at http://localhost:3000/ . If you want to use | |
121 | -another port than 3000, you can use the -p option of ./script/server: | |
122 | - | |
123 | - ./script/server -p 9999 | |
124 | - | |
125 | -The above command makes the server available at http://localhost:9999/ | |
126 | - | |
127 | -The populate script creates some test users, one of them has login 'ze' and | |
128 | -password 'test'. You can use it or you can register a new user. | |
129 | - | |
130 | -== Reporting bugs | |
131 | - | |
132 | -Use Noosfero Tracker application at http://www.colivre.coop.br/Noosfero. | |
133 | - | |
134 | -== Helping with development | |
135 | - | |
136 | -* It's recommended that you subscribe to the development mailing | |
137 | - list: http://ynternet.net/mailman/listinfo/noosfero | |
138 | -* If you have a patch, create an appropriate action item | |
139 | - (bugs/requirement/enhancement) in the Tracker web (see "Reporting bugs" | |
140 | - above) of type. | |
141 | - | |
142 | -== Releasing noosfero | |
143 | - | |
144 | -To prepare a release of noosfero, you must follow the steps below: | |
145 | - | |
146 | -* finish all requirements and bugs assigned to the to-be-released version | |
147 | -* make sure all tests pass | |
148 | -* write release notes at the version's wiki topic. | |
149 | -* generate package with <tt>rake package</tt>. Your tarball will be under the pkg/ | |
150 | - directory, named as noosfero-${VERSION}.tar.gz | |
151 | -* test that the package contains everything that is needed: explode the tarball | |
152 | - in a temporary directory, copy config/database.yml.sqlite3 to | |
153 | - config/database.yml, and make <tt>rake db:migrate</tt> and <tt>rake test</tt>. If | |
154 | - everything is ok, you are done. If not, maybe some files are not going into | |
155 | - the tarball. See lib/tasks/package.rake, probably you'll need to change it. | |
156 | -* Go to the version's wiki topic and edit it to reflect the new reality. | |
157 | -* Attach the generated package to that topic. Before attaching calculate the md5 of the package (with mu5sum and paste the MD5 hash as comment in the attachment form) | |
158 | -* Download the attached and verify the MD5 hash | |
159 | -* create a git tag for the released version with <tt>git tag</tt>. | |
160 | -* IMMEDIATELY change the version in lib/noosfero.rb to the next version. (e.g. | |
161 | - 0.2.0 -> 0.3.0) | |
162 | -* update an eventual demonstration version that you run. | |
163 | -* write an announcement e-mail to the relevant maimling lists pointing to the release notes, and maybe to the demonstration version. | |
164 | - | |
165 | -If you had any problem during these steps, you can do <tt>rake clobber_package</tt> to | |
166 | -completely delete the generated packages and start the process again. | |
167 | - | |
168 | -== Working with translations | |
169 | - | |
170 | -* Update translation files: <tt>rake updatepo</tt>. Then <tt>git commit</tt> them. | |
171 | -* Send the PO files to the translators. | |
172 | -* Get the PO files back from translators, put in po/ under the correct language | |
173 | - name (e.,g. po/pt_BR/) and <tt>git commit</tt>. | |
174 | -* test translations: <tt>rake makemo</tt> and browse the application on the web. |