Commit a858f0876a10ddb97454bf2b307c6397362f0a92

Authored by Larissa Reis
2 parents 7270935f b5ecb6a4

Merge branch 'master' into stoa

AUTHORS.md
... ... @@ -40,6 +40,7 @@ Alessandro Palmeira + João M. M. Silva <alessandro.palmeira@gmail.com>
40 40 Alessandro Palmeira + Paulo Meirelles <alessandro.palmeira@gmail.com>
41 41 Alessandro Palmeira + Paulo Meirelles + João M. M. da Silva <alessandro.palmeira@gmail.com>
42 42 Alessandro Palmeira + Rafael Manzo <alessandro.palmeira@gmail.com>
  43 +analosnak <analosnak@gmail.com>
43 44 Ana Losnak <analosnak@gmail.com>
44 45 Andre Bernardes <andrebsguedes@gmail.com>
45 46 Antonio Terceiro + Carlos Morais <terceiro@colivre.coop.br>
... ... @@ -81,7 +82,6 @@ Carlos Morais + Diego Araújo &lt;diegoamc90@gmail.com&gt;
81 82 Carlos Morais + Eduardo Morais <carlos88morais@gmail.com>
82 83 Carlos Morais + Paulo Meirelles <carlos88morais@gmail.com>
83 84 Carlos Morais + Pedro Leal <carlos88morais@gmail.com>
84   -Daniela Feitosa <dani@dohko.(none)>
85 85 Daniel Alves + Diego Araújo <danpaulalves@gmail.com>
86 86 Daniel Alves + Diego Araújo <diegoamc90@gmail.com>
87 87 Daniel Alves + Diego Araújo + Guilherme Rojas <danpaulalves@gmail.com>
... ... @@ -119,7 +119,6 @@ Diego Araújo + Renan Teruo &lt;diegoamc90@gmail.com&gt;
119 119 Diego Araujo + Rodrigo Souto + Rafael Manzo <rr.manzo@gmail.com>
120 120 Diego + Jefferson <diegoamc90@gmail.com>
121 121 Diego Martinez <diegoamc90@gmail.com>
122   -Diego Martinez <diego@diego-K55A.(none)>
123 122 Diego + Renan <renanteruoc@gmail.com>
124 123 Eduardo Tourinho Edington <eduardo.edington@serpro.gov.br>
125 124 Evandro Jr <evandrojr@gmail.com>
... ... @@ -195,6 +194,7 @@ Luis David Aguilar Carlos &lt;ludwig9003@gmail.com&gt;
195 194 Luiz Fernando de Freitas Matos <luiz@luizff.matos@gmail.com>
196 195 Marcos Ramos <ms.ramos@outlook.com>
197 196 Martín Olivera <molivera@solar.org.ar>
  197 +Michal Čihař <michal@cihar.com>
198 198 Moises Machado <moises@colivre.coop.br>
199 199 Naíla Alves <naila@colivre.coop.br>
200 200 Nanda Lopes <nanda.listas+psl@gmail.com>
... ... @@ -221,6 +221,7 @@ Rafael Reggiani Manzo + João M. M. da Silva &lt;rr.manzo@gmail.com&gt;
221 221 Rafael Reggiani Manzo <rr.manzo@gmail.com>
222 222 Raphaël Rousseau <raph@r4f.org>
223 223 Raquel Lira <raquel.lira@gmail.com>
  224 +Raquel <rcordioli@gmail.com>
224 225 Renan Teruo + Caio Salgado <renanteruoc@gmail.com>
225 226 Renan Teruoc + Diego Araujo <renanteruoc@gmail.com>
226 227 Renan Teruo + Diego Araujo <renanteruoc@gmail.com>
... ... @@ -228,13 +229,13 @@ Renan Teruo + Diego Araújo &lt;renanteruoc@gmail.com&gt;
228 229 Renan Teruo + Paulo Meirelles <renanteruoc@gmail.com>
229 230 Renan Teruo + Rafael Manzo <renanteruoc@gmail.com>
230 231 Rodrigo Souto + Ana Losnak + Daniel Bucher + Caio Almeida + Leandro Nunes + Daniela Feitosa + Mariel Zasso <noosfero-br@listas.softwarelivre.org>
231   -Rodrigo Souto <diguliu@gmail.com>
232 232 Rodrigo Souto <rodrigo@colivre.coop.br>
233 233 Ronny Kursawe <kursawe.ronny@googlemail.com>
234 234 root <root@debian.sdr.serpro>
235 235 Samuel R. C. Vale <srcvale@holoscopio.com>
236 236 Tallys Martins <tallysmartins@gmail.com>
237 237 tallys <tallys@tallys.(none)>
  238 +Thiago Zoroastro <thiago.zoroastro@bol.com.br>
238 239 Valessio Brito <contato@valessiobrito.com.br>
239 240 Valessio Brito <contato@valessiobrito.info>
240 241 Valessio Brito <valessio@gmail.com>
... ...
DEVELOPMENT.md 0 → 100644
... ... @@ -0,0 +1,124 @@
  1 +# Noosfero Development Policy
  2 +
  3 +## Developer Roles
  4 +
  5 +* *Developers* are everyone that is contributing code to Noosfero.
  6 +* *Committers* are the people with direct commit access to the Noosfero source
  7 + code. They are responsible for reviewing contributions from other developers
  8 + and integrating them in the Noosfero code base. They are the members of the
  9 + [Noosfero group on Gitlab](https://gitlab.com/groups/noosfero/members).
  10 +* *Release managers* are the people that are managing the release of a new
  11 + Noosfero version and/or the maintainance work of an existing Noosfero stable
  12 + branch. See MAINTAINANCE.md for details on the maintaince policy.
  13 +
  14 +## Development process
  15 +
  16 +* Every new feature or non-trivial bugfix should be reviewed by at least one
  17 + committer. This must be the case even if the original author is a committer.
  18 +
  19 + * In the case the original author is a committer, he/she should feel free to
  20 + commit directly if after 1 week nobody has provided any kind of feedback.
  21 +
  22 + * Developers who are not committers should feel free to ping committers if
  23 + they do not get feedback on their contributions after 1 week.
  24 +
  25 + * On GitLab, one can just add a comment to the merge request; one can also
  26 + @-mention specific committers or other developers who have expertise on
  27 + the area of the contribution.
  28 +
  29 + * Committers should follow the activity of the project, and try to help
  30 + reviewing contributions from others as much as possible.
  31 +
  32 + * On GitLab one can get emails for all activity on a project by setting the
  33 + [notification settings](https://gitlab.com/profile/notifications) to
  34 + "watch".
  35 +
  36 + * Anyone can help by reviewing contributions. Committers are the only ones
  37 + who can give the final approval to a contribution, but everyone is welcome
  38 + to help with code review, testing, etc.
  39 +
  40 + * See note above about setting up notification on GitLab.
  41 +
  42 +* Committers should feel free to push trivial (or urgent) changes directly.
  43 + There are no strict rule on what makes a change trivial or urgent; committers
  44 + are expected to exercise good judgement on a case by case basis.
  45 +
  46 + * Usually changes to the database are not trivial.
  47 +
  48 +* In the case of unsolvable conflict between commiters regarding any change to
  49 + the code, the current release manager(s) will have the final say in the
  50 + matter.
  51 +
  52 +* Release managers are responsible for stablishing a release schedule, and
  53 + about deciding when and what to release.
  54 +
  55 + * Release managers should announce release schedules to the project mailing
  56 + lists in advance.
  57 +
  58 + * The release schedule may include a period of feature freeze, during which
  59 + no new features or any other changes that are not pre-approved by the
  60 + release manager must be committed to the repository.
  61 +
  62 + * Committers must respect the release schedule and feature freezes.
  63 +
  64 +## Maintainance process
  65 +
  66 +### Not all feature releases will be maintained as a stable release
  67 +
  68 +We will be choosing specific release series to be maintained as stable
  69 +releases.
  70 +
  71 +This means that a given release is not guaranteed to be maintained as a stable
  72 +release, but does *not* mean it won't be. Any committer (or anyone, really) can
  73 +decide to maintain a given release as stable and seek help from others to do
  74 +so.
  75 +
  76 +### No merges from stable branches to master
  77 +
  78 +*All* changes must be submitted against the master branch first, and when
  79 +applicable, backported to the desired stable releases. Exceptions to this rules
  80 +are bug fixes that only apply to a given stable branch and not to master.
  81 +
  82 +In the past we had non-trivial changes accepted into stable releases while
  83 +master was way ahead (e.g. during the rails3 migration period), that made the
  84 +merge back into master very painful. By eliminating the need to do these
  85 +merges, we save time for the people responsible for the release, and eliminate
  86 +the possibility of human errors or oversights causing changes to be accepted
  87 +into stable that will be a problem to merge back into master.
  88 +
  89 +By getting all fixes in master first, we improve the chances that a future
  90 +release will not present regressions against bugs that should already be fixed,
  91 +but the fixes got lost in a big, complicated merge (and those won't exist
  92 +anymore, at least not from stable branches to master).
  93 +
  94 +After a fix gets into master, backporting changes into a stable release branch
  95 +is the responsibility of whoever is maintaing that branch, and those interested
  96 +in it. The stable branch release manager(s) are entitled the final say on any
  97 +matters related to that branch.
  98 +
  99 +## Apendix A: how to become a committer
  100 +
  101 +Every developer that wants to be a committer should create [an issue on
  102 +Gitlab](https://gitlab.com/noosfero/noosfero/issues) requesting to be added as
  103 +a committer. This request must include information about the requestor's
  104 +previous contributions to the project.
  105 +
  106 +If 2 or more commiters consider second the request, the requestor is accepted
  107 +as new commiter and added to the Noosfero group.
  108 +
  109 +The existing committers are free to choose whatever criteria they want to
  110 +second the request, but they must be sure that the new committer is a
  111 +responsible developer and knows what she/he is doing. They must be aware that
  112 +seconding these requests means seconding the actions of the new committer: if
  113 +the new committer screw up, her/his seconds screwed up.
  114 +
  115 +## Apendix B: how to become a release manager
  116 +
  117 +A new release manager for the development version of Noosfero (i.e. the one
  118 +that includes new features, a.k.a. the master branch) is apointed by the
  119 +current release manager, and must be a committer first.
  120 +
  121 +Release managers for stable branches are self-appointed, i.e. whoever takes the
  122 +work takes the role. In case of a conflict (e.g. 2+ different people want to do
  123 +the work but can't agree on working together), the development release manager
  124 +decides.
... ...
app/helpers/content_viewer_helper.rb
... ... @@ -10,7 +10,7 @@ module ContentViewerHelper
10 10 end
11 11  
12 12 def number_of_comments(article)
13   - display_number_of_comments(article.comments_count - article.spam_comments_count)
  13 + display_number_of_comments(article.comments_count - article.spam_comments_count.to_i)
14 14 end
15 15  
16 16 def article_title(article, args = {})
... ...
config/noosfero.yml.dist
... ... @@ -5,7 +5,7 @@ development:
5 5 addthis_pub: your-user-name
6 6 addthis_logo: http://localhost:3000/images/logo-200x50.png
7 7 addthis_options: favorites, email, digg, delicious, technorati, slashdot, twitter, more
8   - gravatar: wavatar
  8 + gravatar: mm
9 9 googlemaps_initial_zoom: 4
10 10 exception_recipients: [admin@example.com]
11 11 max_upload_size: 5MB
... ...
debian/changelog
  1 +noosfero (1.0) wheezy; urgency=low
  2 +
  3 + * Noosfero 1.0 \o/
  4 +
  5 + -- Antonio Terceiro <terceiro@colivre.coop.br> Mon, 22 Dec 2014 10:52:21 -0300
  6 +
1 7 noosfero (1.0~rc4) wheezy-test; urgency=low
2 8  
3 9 * Fourth release candidate
... ...
debian/noosfero.yml
1 1 # See an example of this file at:
2 2 # /usr/share/doc/noosfero/examples/
3 3 production:
4   - gravatar: wavatar
  4 + gravatar: mm
... ...
lib/noosfero/version.rb
1 1 module Noosfero
2 2 PROJECT = 'noosfero'
3   - VERSION = '1.0~rc4'
  3 + VERSION = '1.0'
4 4 end
... ...
lib/tasks/release.rake
... ... @@ -83,7 +83,7 @@ EOF
83 83 begin
84 84 File.open("AUTHORS.md", 'w') do |output|
85 85 output.puts AUTHORS_HEADER
86   - output.puts `git log --pretty=format:'%aN <%aE>' | sort | uniq`
  86 + output.puts `git log --no-merges --pretty=format:'%aN <%aE>' | sort | uniq`
87 87 output.puts AUTHORS_FOOTER
88 88 end
89 89 commit_changes(['AUTHORS.md'], 'Updating authors file') if !pendencies_on_authors[:ok]
... ...
script/noosfero-plugins
... ... @@ -79,7 +79,22 @@ run(){
79 79  
80 80 _enable(){
81 81 plugin="$1"
82   - source="$available_plugins_dir/$plugin"
  82 +
  83 + if [ -d "$available_plugins_dir/$plugin" ]; then
  84 + source="$available_plugins_dir/$plugin"
  85 + linksource="../../plugins/$plugin"
  86 + else
  87 + if [ ! -d "$plugin" ]; then
  88 + echo "E: $plugin not found (needs to be an existing directory)"
  89 + return
  90 + fi
  91 +
  92 + # out-of-tree plugins
  93 + source="$plugin"
  94 + linksource="$source"
  95 + plugin=$(basename "$plugin")
  96 + fi
  97 +
83 98 target="$enabled_plugins_dir/$plugin"
84 99 base="$base_plugins_dir/$plugin"
85 100 run "$source/before_enable.rb"
... ... @@ -110,7 +125,7 @@ _enable(){
110 125 fi
111 126 fi
112 127 if [ "$installation_ok" = true ] && [ "$dependencies_ok" = true ]; then
113   - ln -s "$source" "$target"
  128 + ln -s "$linksource" "$target"
114 129 plugins_public_dir="$NOOSFERO_DIR/public/plugins"
115 130 plugins_features_dir="$NOOSFERO_DIR/features/plugins"
116 131 test -d "$target/public" && ln -s "$target/public" "$plugins_public_dir/$plugin"
... ...
test/unit/content_viewer_helper_test.rb
... ... @@ -83,6 +83,14 @@ class ContentViewerHelperTest &lt; ActionView::TestCase
83 83 assert_equal '', result
84 84 end
85 85  
  86 + should 'not crash if spam_comments_count is nil' do
  87 + article = TextileArticle.new(:name => 'post for test', :body => 'post for test', :profile => profile)
  88 + article.stubs(:comments_count).returns(10)
  89 + article.stubs(:spam_comments_count).returns(nil)
  90 + result = number_of_comments(article)
  91 + assert_match /10 comments/, result
  92 + end
  93 +
86 94 should 'not list feed article' do
87 95 profile.articles << build(Blog, :name => 'Blog test', :profile => profile)
88 96 assert_includes profile.blog.children.map{|i| i.class}, RssFeed
... ...
util/debian-install/install
... ... @@ -76,3 +76,6 @@ else
76 76 apt-cache policy noosfero
77 77 apt-get install -qy noosfero noosfero-apache
78 78 fi
  79 +
  80 +a2dissite 000-default
  81 +service apache2 reload
... ...