Commit 57116ca5dc6651a17ccdd525ae84c38fa5146870
1 parent
42a922ed
Exists in
master
and in
29 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. |