Ah, I missed that one.

I'm completely new to git and github, so how do I perform a pull
request?

I just forked the communityengine with "git clone --depth 1
git://github.com/bborn/communityengine.git vendor/plugins/
community_engine".

Where do I go from here?

On 18 Jan., 20:39, "Carl Fyffe" <[email protected]> wrote:
> You are right, no one has used CE in Postgres. The docs even say as
> much. This list of changes is great, but if you sent a pull request
> with passing tests that would be even better. Awesome work.
>
> On 1/18/09, jak4 <[email protected]> wrote:
>
>
>
> > Hi,
>
> > I'm a little bit confused. Did no one ever run CE with a PostgreSQL
> > database? It really seems so unlikely.
>
> > Well, I made the following modifications to let it Start-Up and pass
> > almost all tests. Two tests are failing, but I couldn't figure out
> > what goes wrong. The same code in irb produces the expected results.
>
> > a) as stated in my first post: the values "0" and "1" (within the
> > fixtures) are not correctly
> > translated to their boolean Postgresql values. I assume that
> > ActiveRecord by convention doesn't touch Integer values. Therefore
> > those values have to be replaced with true/false and ActiveRecord will
> > take care of substituting the correct values for the underlying
> > database.
>
> > b) the second error from my first post: the following modification to
> > User.rb / find_by_activity took care of that. What I did was just
> > returning the user_id for activity. ActiveRecord builds a model from
> > the data, albeit a non-functional one.
> >     activities = Activity.since(options[:since]).find(:all,
> >       :select => 'activities.user_id, count(*) as count',
> >       :group => 'activities.user_id',
> >       :conditions => "#{options[:require_avatar] ? ' users.avatar_id
> > IS NOT NULL' : nil}",
> >       :order => 'count DESC',
> >       :joins => "LEFT JOIN users ON users.id = activities.user_id",
> >       :limit => options[:limit]
> >       )
> >     activities.map{|a| find(a.user_id) }
>
> > c) in post.rb row 33. A named scope with '1' as a condition became
> >     named_scope :by_featured_writers, :conditions =>
> > ["users.featured_writer = ?", true], :include => :user
>
> > d) Migration 022_create_contests: the two columns 'begin' and 'end'
> > should/can not be used. According to this:
> >http://www.postgresql.org/docs/7.3/static/sql-keywords-appendix.html
> >    are both keywords reserved in SQL99 and SQL92, but only 'end' is
> > used within PostgreSQL. This means select statements involving a
> > column named 'begin' will work in PostgreSQL but those statements
> > containing 'end' will fail.
> >    Changed the migration to: 'begin_date' and 'end_date'
>
> > d1) in Class Contests, replacing of begin/end accordingly
>
> > e) Migration 060_still_more_indexes creates an index over two columns,
> > but drops the index 'taggable_id' defined in migration
> > 045_adding_indexes. Modified remove_index in 060_still_more_indexes to
> > drop the defined index.
> >    remove_index :taggings, :column => [:taggable_id, :taggable_type]
>
> > f) base_controller.rb / popular_tags: changed group by clause
> >    sql += " GROUP BY tags.id, tags.name"
>
> > g) user.rb / named_scopse: 0/1 instead of true/false
> >    named_scope :featured, :conditions => ["users.featured_writer = ?",
> > true]
> >    named_scope :featured, :conditions => ["users.featured_writer = ?",
> > true]
>
> > h) in comment.rb / previous_commenters_to_notify: the ":group =>
> > "users.id" seems to be not necessary. Furthermore it generates a
> > PostgreSQL error.
>
> > i) posts_controller.rb / popular: changed group by clause
> >    WHERE tags.id = taggings.tag_id GROUP BY tags.id, tags.name");
>
> > j) tag.rb / related_tags: changed group by clause (twice)
> >    GROUP BY tags.id, tags.name
> >    sql += " GROUP BY tags.id, tags.name"
>
> > k) contest / validates_presence_of: modified to reflect table changes
>
> > validates_presence_of :begin_date, :end_date, :title, :banner_title,
> > :banner_subtitle
>
> > k1) contests_controller_test.rb / test_should_create_contest: begin/
> > end changed accordingly
> >   post :create, :contest => {:title => 'created from
> > tests', :banner_title => 'created from tests', :banner_subtitle =>
> > 'created from tests', :begin_date => 500.days.ago.to_s, :end_date =>
> > 0.days.ago.to_s }
>
> > k2) contests_controller_test.rb / test_should_require_title: begin/end
> > changed accordingly
> >    post :create, :contest => {:banner_title => 'created from
> > tests', :banner_subtitle => 'created from tests', :begin_date =>
> > 500.days.ago.to_s, :end_date => 0.days.ago.to_s }
>
> > k3) contest_test.rb / test_transform_post: begin/end changed
> > accordingly
> >    cat = Contest.new(:begin_date => Time.now, :end_date => Time.now +
> > 30.days, :title => 'test contest', :banner_title => 'test
> > contest', :banner_subtitle => 'test contest', :raw_post => "<script></
> > script>")
>
> > k4) contests.yml: begin/end changed accordingly
> >       begin_date: <%= 500.days.ago.to_s :db %>
> >       end_date: <%= 1.days.ago.to_s :db %>
>
> >       bggin_date: <%= 500.days.ago.to_s :db %>
> >       end_date: <%= (0.days.ago + 4.days).to_s :db %>
>
> > k5) views/contests/new.html.erb: begin/end changed accordingly
> >    <p><%= f.date_select :begin_date %></p>
> >    <p><%= f.date_select :end_date %></p>
>
> > k6) views/contests/edit.html.erb: begin/end changed accordingly
> >            <p><%= f.date_select :begin_date %></p>
> >    <p><%= f.date_select :end_date %></p>
>
> > k7) contest.rb / start_time && end_time: begin/end changed accordingly
> >    self.begin_date
> >    self.end_date
>
> > k8) views/contests/show.html.erb: begin/end changed accordingly
> >    <h3>From <%= @contest.begin_date.strftime("%B %d, %Y") %> To <%=
> > @contest.end_date.strftime("%B %d, %Y") %></h3>
>
> > k9) contest.rb / active?: begin/end changed accordingly
> >    (self.begin_date < Time.now ) and (self.end_date > Time.now )
>
> > l) Migration 010_create_invitations.rb: fk referencing user_id is
> > defined as string, changed to integer
> >     t.column "user_id", :integer
>
> > m) clippings_controller_test.rb / test_should_create_clipping: tags
> > returned for clipping are not in the same order as they where
> > specified at creation. Current test fails since it expects the same
> > order. Added sort to sort the tags after retrieval
> >    assert_equal ['tag1', 'tag2'], clipping.tag_list.sort
>
> > m1) clippings_controller_test.rb / test_should_update_clipping: same
> > as m, added sort
> >     assert_equal ['tagX', 'tagY'], clipping.tag_list.sort
>
> > n) post.rb / find_most_commented: group by
> >    :group => self.columns.map{|column| self.table_name + "." +
> > column.name}.join(","),
>
> > o) Migration 047_add_polls.rb: fk user_id defined as string, changed
> > to integer
> >    t.column :user_id, :integer
>
> > p) topics.controller_test.rb /
> > test_sticky_and_locked_protected_from_non_admin: I'm not sure about
> > this, but it seems, that the object was not correctly referenced to be
> > found/instantiated during the test. Added forums(..) around the
> > object.
> >    assert ! users(:joe).moderator_of?(forums(:rails))
>
> > q) users_controller_test.rb / test_should_activate_user: I think
> > setting the activation code to nil is not the way to go. Instead it
> > should be a fairly unique string.
> >    users(:quentin).activation_code = ':quentin_activation_code'
>
> > r) post_test.rb / test_update_poll: The test tried to update a poll
> > created by fixture. I guess, this poll already had some answers (not
> > empty) since it would get updated. The new poll is now created for a
> > post which doesn't already have a poll.
> >    assert posts(:not_funny_post).create_poll({:question => 'Who can
> > have a great time?'}, ['I can', 'You can', 'No one can'])
>
> >     assert posts(:not_funny_post).update_poll({:question => 'Who can
> > have a terrible time?'}, ['Foo', 'Bar'])
>
> >     assert_equal 'Who can have a terrible time?', posts
> > (:not_funny_post).poll.question
> >     assert_equal 'Foo', posts
> > (:not_funny_post).poll.choices.first.description
> >     assert_equal 'Bar', posts
> > (:not_funny_post).poll.choices.last.description
>
> > s) clipping_test.rb / test_should_get_clipping_image: wrong assertion
> > data? One clipping is created but the assert_difference expects 4
> > additional?
> >     assert_difference Asset, :count, 1 do
>
> > On 17 Jan., 12:47, jak4 <[email protected]> wrote:
> >> Hi,
>
> >> I just started playing around with CE. Unfortunately there seems to be
> >> some problems with Postgresql.
>
> >> First, the values "0" and "1" (within the fixtures) are not correctly
> >> translated to their boolean Postgresql values. Whatever went wrong
> >> there, changing those values to "false" and "true" took care of that.
>
> >> Second and more severe is the error thrown by Postgresql for the
> >> following statement:
> >>   SELECT *, count(*) as count FROM "activities"  LEFT JOIN users ON
> >> users.id = activities.user_id WHERE (activities.created_at >
> >> '2009-01-10 11:21:33.504753')  GROUP BY activities.user_id ORDER BY
> >> count DESC LIMIT 5
>
> >> Postgresql states that: ERROR: column "activities.id" must appear in
> >> the GROUP BY clause or be used in an aggregate function.
>
> >> And of course this makes sense, since Postgresql could only guess the
> >> other values need for the "Select *" part of the query.
>
> >> Any ideas on how this could be fixed?
>
> >> Best regards
> >>   Johannes
>
>
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"CommunityEngine" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/communityengine?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to