Open Development List
Getting the source code
There are two ways to get the source code.
git repository
git clone git://git.colivre.coop.br/noosfero.git
or if you are in a network managed by fascists, you can use
git clone http://git.colivre.coop.br/repos/noosfero.git
(this is slower, and worse in several aspects)
Tarballs
On topic
MilestoneItems look to Achieved milestones and click on the tarball version wanted.
How to run the system
To run the system first solve the dependencies problems and follow the steps on Running the system.
System Dependencies
Here we describe some dependencies of the system and how to solve it.
The installation command line are refereed to the Debian system, some package names may be changed or not exists on Ubuntu.
Rake
The ruby build program
aptitude install rake
RubyGems
yeah...
aptitude install rubygems
RCov
More information about rcov:
http://eigenclass.org/hiki.rb?rcov+0.1.0+prerelease
aptitude install rcov
Ferret
By now, you can find it only on sid repository.
If you do not use Debian Sid, you can install the package from the source with this command:
apt-src install -i libferret-ruby
If you need, the source code of this package is here:
http://svn.debian.org/wsvn/pkg-ruby-extras/packages-wip/
You can also install this lib with gem, using the command:
gem install ferret
GetText
The internationalization solution used by Noosfero is GetText. So it's a dependence of the system.
aptitude install libgettext-ruby libgettext-ruby-util liblocale-ruby
ImageMagick
To convert the images uploaded for the Noosfero.
aptitude install imagemagick librmagick-ruby
SQLite (optional)
You may want to make a home test. SQLite is a easy good choice.
aptitude install libsqlite3-ruby
Will Paginate
aptitude install libwill-paginate-ruby
About the system
Configure Database
See the file:
config/database.yml
and config your database.
We sugest sqlite3 database to development. So using sqlite3 your database.yml file will be something like this:
# MySQL (default setup). Versions 4.1 and 5.0 are recommended.
#
# Install the MySQL driver:
# gem install mysql
# On MacOS X:
# gem install mysql -- --include=/usr/local/lib
# On Windows:
# There is no gem for Windows. Install mysql.so from RubyForApache.
# http://rubyforge.org/projects/rubyforapache
#
# And be sure to use new-style password hashing:
# http://dev.mysql.com/doc/refman/5.0/en/old-client.html
development:
adapter: sqlite3
database: tmp/noosfero_development.db
# Warning: The database defined as 'test' will be erased and
# re-generated from your development database when you run 'rake'.
# Do not set this db to the same as development or production.
test:
adapter: sqlite3
database: tmp/noosfero_test.db
production:
adapter: sqlite3
database: tmp/noosfero_production.db
Configuring Enviroment
On file:
config/envoriment.rb
Look at the line with the content
# ENV['RAILS_ENV'] ||= 'production'
In this case the line is commented so the system is going to use the development database to run. If it was uncomment the system is going to run on production mode using the production database.
Running the system
run the command:
rake db:schema:load
rake db:populate
The first of the commands above will install Noosfero's database schema in your
database, and the second one will create some initial data (default
environment, user roles etc).
If everything is all right, run the script
./script/server
The webrick server will run on port 3000.
Open your Firefox

on the address
http://localhost:3000
Test Dependencies
Mocha
Mocha is a mocking and stubbing library for Ruby (stuff we use for testing the system)
aptitude install libmocha-ruby
Tidy
Tidy HTML Validator:
aptitude install libtidy-ruby
Hpricot
Hpricot HTML Parser:
aptitude install libhpricot-ruby
Running the Test
Run the command:
rake db:test:prepare
to create and prepare the database test.
After this run the command:
rake test