Compatible with redmine 2.1.x? #86

Closed
cforce opened this Issue Dec 6, 2012 · 24 comments

Comments

Projects
None yet
7 participants
@cforce

cforce commented Dec 6, 2012

No description provided.

@drewkeller

This comment has been minimized.

Show comment Hide comment
@drewkeller

drewkeller Dec 9, 2012

Contributor

I made a fork for doing some work on this (redmine 2.0 branch) using redmine 2.1..3.
https://github.com/drewkeller/redmine_better_gantt_chart/tree/redmine_2.0

Contributor

drewkeller commented Dec 9, 2012

I made a fork for doing some work on this (redmine 2.0 branch) using redmine 2.1..3.
https://github.com/drewkeller/redmine_better_gantt_chart/tree/redmine_2.0

@cforce

This comment has been minimized.

Show comment Hide comment
@cforce

cforce Dec 10, 2012

I test with redmine 2.1.4 and error raises

Started GET "/projects/spielwiese/issues/gantt" for
Processing by GanttsController#show as HTML
Parameters: {"project_id"=>"spielwiese"}
Current user: 00001276 (id=3)
Rendered queries/_filters.html.erb (128.0ms)
PRINTINTINTINTINT
PRINTINTINTINTINT
PRINTINTINTINTINT
PRINTINTINTINTINT
PRINTINTINTINTINT
PRINTINTINTINTINT
Rendered plugins/redmine_better_gantt_chart/app/views/gantts/show.html.erb within layouts/base (3019.0ms)
Completed 500 Internal Server Error in 3618ms

ActionView::Template::Error (undefined method gantt_calendar_for' for #<#<Class:0x1ba6404>:0x1fc7cf1>): 73: 74: # Width of the entire chart 75: g_width = ((@gantt.work_days_in(@gantt.date_to, @gantt.date_from) + 1) * zoom).to_i 76: @gantt.render(:top => headers_height + 8, 77: :zoom => zoom, 78: :g_width => g_width, 79: :subject_width => subject_width) app/models/project.rb:713:inproject_tree'
app/models/project.rb:709:in `project_tree'

cforce commented Dec 10, 2012

I test with redmine 2.1.4 and error raises

Started GET "/projects/spielwiese/issues/gantt" for
Processing by GanttsController#show as HTML
Parameters: {"project_id"=>"spielwiese"}
Current user: 00001276 (id=3)
Rendered queries/_filters.html.erb (128.0ms)
PRINTINTINTINTINT
PRINTINTINTINTINT
PRINTINTINTINTINT
PRINTINTINTINTINT
PRINTINTINTINTINT
PRINTINTINTINTINT
Rendered plugins/redmine_better_gantt_chart/app/views/gantts/show.html.erb within layouts/base (3019.0ms)
Completed 500 Internal Server Error in 3618ms

ActionView::Template::Error (undefined method gantt_calendar_for' for #<#<Class:0x1ba6404>:0x1fc7cf1>): 73: 74: # Width of the entire chart 75: g_width = ((@gantt.work_days_in(@gantt.date_to, @gantt.date_from) + 1) * zoom).to_i 76: @gantt.render(:top => headers_height + 8, 77: :zoom => zoom, 78: :g_width => g_width, 79: :subject_width => subject_width) app/models/project.rb:713:inproject_tree'
app/models/project.rb:709:in `project_tree'

@kulesa

This comment has been minimized.

Show comment Hide comment
@kulesa

kulesa Dec 10, 2012

Owner

Hey @drewkeller, thanks for your efforts! I guess the branch is a work-in-progress? I just tested it and had few errors.
Could you make a pull request once it is ready to be merged?

Owner

kulesa commented Dec 10, 2012

Hey @drewkeller, thanks for your efforts! I guess the branch is a work-in-progress? I just tested it and had few errors.
Could you make a pull request once it is ready to be merged?

@drewkeller

This comment has been minimized.

Show comment Hide comment
@drewkeller

drewkeller Dec 10, 2012

Contributor

It's working for me without errors. I don't have very many tasks,
though. If you can provide more information about your errors, I can see
if I can figure something out, but I don't really write things in Ruby,
so I'm not sure how successful I will be unless I can actually see an
error happen.

On 12/10/2012 11:29 AM, Alexey Kuleshov wrote:

Hey @drewkeller https://github.com/drewkeller, thanks for your
efforts! I guess the branch is a work-in-progress? I just tested it
and had few errors.
Could you make a pull request once it is ready to be merged?


Reply to this email directly or view it on GitHub
#86 (comment).

Contributor

drewkeller commented Dec 10, 2012

It's working for me without errors. I don't have very many tasks,
though. If you can provide more information about your errors, I can see
if I can figure something out, but I don't really write things in Ruby,
so I'm not sure how successful I will be unless I can actually see an
error happen.

On 12/10/2012 11:29 AM, Alexey Kuleshov wrote:

Hey @drewkeller https://github.com/drewkeller, thanks for your
efforts! I guess the branch is a work-in-progress? I just tested it
and had few errors.
Could you make a pull request once it is ready to be merged?


Reply to this email directly or view it on GitHub
#86 (comment).

@drewkeller

This comment has been minimized.

Show comment Hide comment
@drewkeller

drewkeller Dec 11, 2012

Contributor

I'm not really sure, but I'm guessing "gantt_calendar_for" must be
getting called as part of the chain called by the render function on
line 76. Which sounds to me like Ruby can't find it even though it's in
application_helper_patch.rb. That file is included when patches.rb is
called by init.rb. You restarted redmine after installing the plugin,
right? To be safe, I usually also migrate plugins, clear the cache and
clear sessions after installing a plugin.

On 12/10/2012 10:50 AM, Terence Miller wrote:

I test with redmine 2.1.4 and error raises

Started GET "/projects/spielwiese/issues/gantt" for
Processing by GanttsController#show as HTML
Parameters: {"project_id"=>"spielwiese"}
Current user: 00001276 (id=3)
Rendered queries/_filters.html.erb (128.0ms)
PRINTINTINTINTINT
PRINTINTINTINTINT
PRINTINTINTINTINT
PRINTINTINTINTINT
PRINTINTINTINTINT
PRINTINTINTINTINT
Rendered
plugins/redmine_better_gantt_chart/app/views/gantts/show.html.erb
within layouts/base (3019.0ms)
Completed 500 Internal Server Error in 3618ms

ActionView::Template::Error (undefined method |gantt_calendar_for' for
#<#Class:0x1ba6404:0x1fc7cf1>):
73:
74: # Width of the entire chart
75: g_width = ((@gantt.work_days_in(@gantt.date_to, @gantt.date_from)

    1. * zoom).to_i
      76: @gantt.render(:top => headers_height + 8,
      77: :zoom => zoom,
      78: :g_width => g_width,
      79: :subject_width => subject_width)
      app/models/project.rb:713:in|project_tree'
      app/models/project.rb:709:in `project_tree'


Reply to this email directly or view it on GitHub
#86 (comment).

Contributor

drewkeller commented Dec 11, 2012

I'm not really sure, but I'm guessing "gantt_calendar_for" must be
getting called as part of the chain called by the render function on
line 76. Which sounds to me like Ruby can't find it even though it's in
application_helper_patch.rb. That file is included when patches.rb is
called by init.rb. You restarted redmine after installing the plugin,
right? To be safe, I usually also migrate plugins, clear the cache and
clear sessions after installing a plugin.

On 12/10/2012 10:50 AM, Terence Miller wrote:

I test with redmine 2.1.4 and error raises

Started GET "/projects/spielwiese/issues/gantt" for
Processing by GanttsController#show as HTML
Parameters: {"project_id"=>"spielwiese"}
Current user: 00001276 (id=3)
Rendered queries/_filters.html.erb (128.0ms)
PRINTINTINTINTINT
PRINTINTINTINTINT
PRINTINTINTINTINT
PRINTINTINTINTINT
PRINTINTINTINTINT
PRINTINTINTINTINT
Rendered
plugins/redmine_better_gantt_chart/app/views/gantts/show.html.erb
within layouts/base (3019.0ms)
Completed 500 Internal Server Error in 3618ms

ActionView::Template::Error (undefined method |gantt_calendar_for' for
#<#Class:0x1ba6404:0x1fc7cf1>):
73:
74: # Width of the entire chart
75: g_width = ((@gantt.work_days_in(@gantt.date_to, @gantt.date_from)

    1. * zoom).to_i
      76: @gantt.render(:top => headers_height + 8,
      77: :zoom => zoom,
      78: :g_width => g_width,
      79: :subject_width => subject_width)
      app/models/project.rb:713:in|project_tree'
      app/models/project.rb:709:in `project_tree'


Reply to this email directly or view it on GitHub
#86 (comment).

@cforce

This comment has been minimized.

Show comment Hide comment
@cforce

cforce Dec 11, 2012

I executed following for RAILS_ENV=production

rake tmp:cache:clear
rake tmp:sessions:clear
rake redmine:plugins:migrate

Using last Commit on branch redmine_2.0 of https://github.com/drewkeller/redmine_better_gantt_chart

SHA-1: 6243784

  • * Some minor adjustments in html output, added screenshots, removed debug messages

In init.rb i see "require_dependency 'redmine_better_gantt_chart/patches' "
An there is a file "redmine_better_gantt_chart\lib\redmine_better_gantt_chart\patches.rb"

Here again the log file:

DEPRECATION WARNING: Passing the format in the template name is deprecated. Please pass render with :formats => [:atom] instead. (called from realtime at /home/sidfunktion/.rvm/rubies/jruby-1.7.0/lib/ruby/1.9/benchmark.rb:295)
Rendered common/feed.atom.builder (70.0ms)
Completed 500 Internal Server Error in 1181ms

ActionView::Template::Error (undefined method absolute_base_url' for Redmine::Utils:Module): 24: xml.email(author.mail) if author.is_a?(User) && !author.mail.blank? && !author.pref.hide_mail 25: end if author 26: xml.content "type" => "html" do 27: xml.text! textilizable(item, :event_description, :only_path => false) 28: end 29: end 30: end app/views/common/feed.atom.builder:27:in_app_views_common_feed_atom_builder___1955938774_40300'
app/views/common/feed.atom.builder:26:in _app_views_common_feed_atom_builder___1955938774_40300' app/views/common/feed.atom.builder:11:in_app_views_common_feed_atom_builder___1955938774_40300'
app/views/common/feed.atom.builder:10:in _app_views_common_feed_atom_builder___1955938774_40300' app/views/common/feed.atom.builder:2:in_app_views_common_feed_atom_builder___1955938774_40300'
app/controllers/application_controller.rb:405:in render_feed' app/controllers/activities_controller.rb:56:inindex'
app/controllers/activities_controller.rb:44:in `index'

Started GET "/projects/spielwiese/issues/gantt" for 172.25.252.99 at 2012-12-11 15:15:28 +0100
Processing by GanttsController#show as HTML
Parameters: {"project_id"=>"spielwiese"}
Current user: 00001276 (id=3)
Rendered queries/_filters.html.erb (132.0ms)
Rendered plugins/redmine_better_gantt_chart/app/views/gantts/show.html.erb within layouts/base (2589.0ms)
Completed 500 Internal Server Error in 3299ms

ActionView::Template::Error (undefined method gantt_calendar_for' for #<#<Class:0xa951fa>:0x44ffb5>): 73: 74: # Width of the entire chart 75: g_width = ((@gantt.work_days_in(@gantt.date_to, @gantt.date_from) + 1) * zoom).to_i 76: @gantt.render(:top => headers_height + 8, 77: :zoom => zoom, 78: :g_width => g_width, 79: :subject_width => subject_width) app/models/project.rb:713:inproject_tree'
app/models/project.rb:709:in `project_tree'

cforce commented Dec 11, 2012

I executed following for RAILS_ENV=production

rake tmp:cache:clear
rake tmp:sessions:clear
rake redmine:plugins:migrate

Using last Commit on branch redmine_2.0 of https://github.com/drewkeller/redmine_better_gantt_chart

SHA-1: 6243784

  • * Some minor adjustments in html output, added screenshots, removed debug messages

In init.rb i see "require_dependency 'redmine_better_gantt_chart/patches' "
An there is a file "redmine_better_gantt_chart\lib\redmine_better_gantt_chart\patches.rb"

Here again the log file:

DEPRECATION WARNING: Passing the format in the template name is deprecated. Please pass render with :formats => [:atom] instead. (called from realtime at /home/sidfunktion/.rvm/rubies/jruby-1.7.0/lib/ruby/1.9/benchmark.rb:295)
Rendered common/feed.atom.builder (70.0ms)
Completed 500 Internal Server Error in 1181ms

ActionView::Template::Error (undefined method absolute_base_url' for Redmine::Utils:Module): 24: xml.email(author.mail) if author.is_a?(User) && !author.mail.blank? && !author.pref.hide_mail 25: end if author 26: xml.content "type" => "html" do 27: xml.text! textilizable(item, :event_description, :only_path => false) 28: end 29: end 30: end app/views/common/feed.atom.builder:27:in_app_views_common_feed_atom_builder___1955938774_40300'
app/views/common/feed.atom.builder:26:in _app_views_common_feed_atom_builder___1955938774_40300' app/views/common/feed.atom.builder:11:in_app_views_common_feed_atom_builder___1955938774_40300'
app/views/common/feed.atom.builder:10:in _app_views_common_feed_atom_builder___1955938774_40300' app/views/common/feed.atom.builder:2:in_app_views_common_feed_atom_builder___1955938774_40300'
app/controllers/application_controller.rb:405:in render_feed' app/controllers/activities_controller.rb:56:inindex'
app/controllers/activities_controller.rb:44:in `index'

Started GET "/projects/spielwiese/issues/gantt" for 172.25.252.99 at 2012-12-11 15:15:28 +0100
Processing by GanttsController#show as HTML
Parameters: {"project_id"=>"spielwiese"}
Current user: 00001276 (id=3)
Rendered queries/_filters.html.erb (132.0ms)
Rendered plugins/redmine_better_gantt_chart/app/views/gantts/show.html.erb within layouts/base (2589.0ms)
Completed 500 Internal Server Error in 3299ms

ActionView::Template::Error (undefined method gantt_calendar_for' for #<#<Class:0xa951fa>:0x44ffb5>): 73: 74: # Width of the entire chart 75: g_width = ((@gantt.work_days_in(@gantt.date_to, @gantt.date_from) + 1) * zoom).to_i 76: @gantt.render(:top => headers_height + 8, 77: :zoom => zoom, 78: :g_width => g_width, 79: :subject_width => subject_width) app/models/project.rb:713:inproject_tree'
app/models/project.rb:709:in `project_tree'

@drewkeller

This comment has been minimized.

Show comment Hide comment
@drewkeller

drewkeller Dec 11, 2012

Contributor

Yeah, you just gotta love Ruby's "secret" file locations. I'm pretty sure that reference is correct and ruby "knows" to look in the lib folder. I guess you could try moving the file or changing the reference in the code and see what happens.

Contributor

drewkeller commented Dec 11, 2012

Yeah, you just gotta love Ruby's "secret" file locations. I'm pretty sure that reference is correct and ruby "knows" to look in the lib folder. I guess you could try moving the file or changing the reference in the code and see what happens.

@andreav

This comment has been minimized.

Show comment Hide comment
@andreav

andreav Dec 12, 2012

I all,
I tested drewkeller's version on Readmine 2.2 but an error is raised during rake redmine:plugins:migrate command:
I report it here because there is no Issue queue on that repository:

undefined method reschedule_after' for classIssue'
/var/lib/gems/1.8/gems/activesupport-3.2.9/lib/active_support/core_ext/module/aliasing.rb:31:in alias_method' /var/lib/gems/1.8/gems/activesupport-3.2.9/lib/active_support/core_ext/module/aliasing.rb:31:inalias_method_chain'
/opt/redmine-2.2/plugins/redmine_better_gantt_chart/lib/redmine_better_gantt_chart/issue_dependency_patch.rb:8:in included' /opt/redmine-2.2/plugins/redmine_better_gantt_chart/lib/redmine_better_gantt_chart/issue_dependency_patch.rb:6:inclass_eval'
/opt/redmine-2.2/plugins/redmine_better_gantt_chart/lib/redmine_better_gantt_chart/issue_dependency_patch.rb:6:in included' /opt/redmine-2.2/plugins/redmine_better_gantt_chart/lib/redmine_better_gantt_chart/patches.rb:13:ininclude'
/opt/redmine-2.2/plugins/redmine_better_gantt_chart/lib/redmine_better_gantt_chart/patches.rb:13:in send' /opt/redmine-2.2/plugins/redmine_better_gantt_chart/lib/redmine_better_gantt_chart/patches.rb:13 /var/lib/gems/1.8/gems/activesupport-3.2.9/lib/active_support/dependencies.rb:251:inrequire'
/var/lib/gems/1.8/gems/activesupport-3.2.9/lib/active_support/dependencies.rb:251:in require' /var/lib/gems/1.8/gems/activesupport-3.2.9/lib/active_support/dependencies.rb:236:inload_dependency'
/var/lib/gems/1.8/gems/activesupport-3.2.9/lib/active_support/dependencies.rb:251:in require' /var/lib/gems/1.8/gems/activesupport-3.2.9/lib/active_support/dependencies.rb:359:inrequire_or_load'
/var/lib/gems/1.8/gems/activesupport-3.2.9/lib/active_support/dependencies.rb:313:in depend_on' /var/lib/gems/1.8/gems/activesupport-3.2.9/lib/active_support/dependencies.rb:225:inrequire_dependency'
/opt/redmine-2.2/plugins/redmine_better_gantt_chart/init.rb:6:in _callback_before_5' /var/lib/gems/1.8/gems/activesupport-3.2.9/lib/active_support/callbacks.rb:429:in_run__831708869__prepare__4__callbacks'
/var/lib/gems/1.8/gems/activesupport-3.2.9/lib/active_support/callbacks.rb:405:in send' /var/lib/gems/1.8/gems/activesupport-3.2.9/lib/active_support/callbacks.rb:405:in__run_callback'
/var/lib/gems/1.8/gems/activesupport-3.2.9/lib/active_support/callbacks.rb:385:in _run_prepare_callbacks' /var/lib/gems/1.8/gems/activesupport-3.2.9/lib/active_support/callbacks.rb:81:insend'
/var/lib/gems/1.8/gems/activesupport-3.2.9/lib/active_support/callbacks.rb:81:in run_callbacks' /var/lib/gems/1.8/gems/actionpack-3.2.9/lib/action_dispatch/middleware/reloader.rb:74:inprepare!'
/var/lib/gems/1.8/gems/actionpack-3.2.9/lib/action_dispatch/middleware/reloader.rb:48:in prepare!' /var/lib/gems/1.8/gems/railties-3.2.9/lib/rails/application/finisher.rb:47 /var/lib/gems/1.8/gems/railties-3.2.9/lib/rails/initializable.rb:30:ininstance_exec'
/var/lib/gems/1.8/gems/railties-3.2.9/lib/rails/initializable.rb:30:in run' /var/lib/gems/1.8/gems/railties-3.2.9/lib/rails/initializable.rb:55:inrun_initializers'
/var/lib/gems/1.8/gems/railties-3.2.9/lib/rails/initializable.rb:54:in each' /var/lib/gems/1.8/gems/railties-3.2.9/lib/rails/initializable.rb:54:inrun_initializers'
/var/lib/gems/1.8/gems/railties-3.2.9/lib/rails/application.rb:136:in initialize!' /var/lib/gems/1.8/gems/railties-3.2.9/lib/rails/railtie/configurable.rb:30:insend'
/var/lib/gems/1.8/gems/railties-3.2.9/lib/rails/railtie/configurable.rb:30:in method_missing' /opt/redmine-2.2/config/environment.rb:14 /var/lib/gems/1.8/gems/railties-3.2.9/lib/rails/application.rb:103:inrequire'
/var/lib/gems/1.8/gems/railties-3.2.9/lib/rails/application.rb:103:in require_environment!' /var/lib/gems/1.8/gems/railties-3.2.9/lib/rails/application.rb:297:ininitialize_tasks'
Tasks: TOP => redmine:plugins:migrate => environment

Thanks for both efforts.

andreav commented Dec 12, 2012

I all,
I tested drewkeller's version on Readmine 2.2 but an error is raised during rake redmine:plugins:migrate command:
I report it here because there is no Issue queue on that repository:

undefined method reschedule_after' for classIssue'
/var/lib/gems/1.8/gems/activesupport-3.2.9/lib/active_support/core_ext/module/aliasing.rb:31:in alias_method' /var/lib/gems/1.8/gems/activesupport-3.2.9/lib/active_support/core_ext/module/aliasing.rb:31:inalias_method_chain'
/opt/redmine-2.2/plugins/redmine_better_gantt_chart/lib/redmine_better_gantt_chart/issue_dependency_patch.rb:8:in included' /opt/redmine-2.2/plugins/redmine_better_gantt_chart/lib/redmine_better_gantt_chart/issue_dependency_patch.rb:6:inclass_eval'
/opt/redmine-2.2/plugins/redmine_better_gantt_chart/lib/redmine_better_gantt_chart/issue_dependency_patch.rb:6:in included' /opt/redmine-2.2/plugins/redmine_better_gantt_chart/lib/redmine_better_gantt_chart/patches.rb:13:ininclude'
/opt/redmine-2.2/plugins/redmine_better_gantt_chart/lib/redmine_better_gantt_chart/patches.rb:13:in send' /opt/redmine-2.2/plugins/redmine_better_gantt_chart/lib/redmine_better_gantt_chart/patches.rb:13 /var/lib/gems/1.8/gems/activesupport-3.2.9/lib/active_support/dependencies.rb:251:inrequire'
/var/lib/gems/1.8/gems/activesupport-3.2.9/lib/active_support/dependencies.rb:251:in require' /var/lib/gems/1.8/gems/activesupport-3.2.9/lib/active_support/dependencies.rb:236:inload_dependency'
/var/lib/gems/1.8/gems/activesupport-3.2.9/lib/active_support/dependencies.rb:251:in require' /var/lib/gems/1.8/gems/activesupport-3.2.9/lib/active_support/dependencies.rb:359:inrequire_or_load'
/var/lib/gems/1.8/gems/activesupport-3.2.9/lib/active_support/dependencies.rb:313:in depend_on' /var/lib/gems/1.8/gems/activesupport-3.2.9/lib/active_support/dependencies.rb:225:inrequire_dependency'
/opt/redmine-2.2/plugins/redmine_better_gantt_chart/init.rb:6:in _callback_before_5' /var/lib/gems/1.8/gems/activesupport-3.2.9/lib/active_support/callbacks.rb:429:in_run__831708869__prepare__4__callbacks'
/var/lib/gems/1.8/gems/activesupport-3.2.9/lib/active_support/callbacks.rb:405:in send' /var/lib/gems/1.8/gems/activesupport-3.2.9/lib/active_support/callbacks.rb:405:in__run_callback'
/var/lib/gems/1.8/gems/activesupport-3.2.9/lib/active_support/callbacks.rb:385:in _run_prepare_callbacks' /var/lib/gems/1.8/gems/activesupport-3.2.9/lib/active_support/callbacks.rb:81:insend'
/var/lib/gems/1.8/gems/activesupport-3.2.9/lib/active_support/callbacks.rb:81:in run_callbacks' /var/lib/gems/1.8/gems/actionpack-3.2.9/lib/action_dispatch/middleware/reloader.rb:74:inprepare!'
/var/lib/gems/1.8/gems/actionpack-3.2.9/lib/action_dispatch/middleware/reloader.rb:48:in prepare!' /var/lib/gems/1.8/gems/railties-3.2.9/lib/rails/application/finisher.rb:47 /var/lib/gems/1.8/gems/railties-3.2.9/lib/rails/initializable.rb:30:ininstance_exec'
/var/lib/gems/1.8/gems/railties-3.2.9/lib/rails/initializable.rb:30:in run' /var/lib/gems/1.8/gems/railties-3.2.9/lib/rails/initializable.rb:55:inrun_initializers'
/var/lib/gems/1.8/gems/railties-3.2.9/lib/rails/initializable.rb:54:in each' /var/lib/gems/1.8/gems/railties-3.2.9/lib/rails/initializable.rb:54:inrun_initializers'
/var/lib/gems/1.8/gems/railties-3.2.9/lib/rails/application.rb:136:in initialize!' /var/lib/gems/1.8/gems/railties-3.2.9/lib/rails/railtie/configurable.rb:30:insend'
/var/lib/gems/1.8/gems/railties-3.2.9/lib/rails/railtie/configurable.rb:30:in method_missing' /opt/redmine-2.2/config/environment.rb:14 /var/lib/gems/1.8/gems/railties-3.2.9/lib/rails/application.rb:103:inrequire'
/var/lib/gems/1.8/gems/railties-3.2.9/lib/rails/application.rb:103:in require_environment!' /var/lib/gems/1.8/gems/railties-3.2.9/lib/rails/application.rb:297:ininitialize_tasks'
Tasks: TOP => redmine:plugins:migrate => environment

Thanks for both efforts.

@cforce

This comment has been minimized.

Show comment Hide comment
@cforce

cforce Dec 12, 2012

Ok, i found one of the other plugins which makes trouble

see #87

cforce commented Dec 12, 2012

Ok, i found one of the other plugins which makes trouble

see #87

@drewkeller

This comment has been minimized.

Show comment Hide comment
@drewkeller

drewkeller Dec 12, 2012

Contributor

2.2.0? Hmm. Roadmap says it's due in 4 days. I guess I'll have to try it out.

Also of interest in the roadmap.... It looks like 2.3 is going to include drawing the arrows for the relations as shown in issue #3436 (http://www.redmine.org/issues/3436).

Contributor

drewkeller commented Dec 12, 2012

2.2.0? Hmm. Roadmap says it's due in 4 days. I guess I'll have to try it out.

Also of interest in the roadmap.... It looks like 2.3 is going to include drawing the arrows for the relations as shown in issue #3436 (http://www.redmine.org/issues/3436).

@andreav

This comment has been minimized.

Show comment Hide comment
@andreav

andreav Dec 13, 2012

I was just evaluating migration effort toward version 2.2 (which includes support for weekends and work days), but this plugin works very well on 2.1.4, and support them too, so I will stay on 2.14 at the moment!
Thank you.

andreav commented Dec 13, 2012

I was just evaluating migration effort toward version 2.2 (which includes support for weekends and work days), but this plugin works very well on 2.1.4, and support them too, so I will stay on 2.14 at the moment!
Thank you.

@elektrojohn

This comment has been minimized.

Show comment Hide comment
@elektrojohn

elektrojohn Dec 13, 2012

Im using a bitnami stack installation in a VM (redmine version 2.1.2 and according versions of Ruby and so on I suppose...)
I tried the branch redmine_2.0 from drewkeller without success. I get the error message "500 Internal Server Error" when I try to access the login page. When I remove the folder redmine_better_gantt_chart from the plugins directory and I restart redmine everything is working.

In the error.log from apache I found the following error message

[ pid=2074 thr=70214013415860 file=utils.rb:176 time=2012-12-13 12:31:57.574 ]: *** Exception PhusionPassenger::UnknownError in PhusionPassenger::ClassicRails::ApplicationSpawner (Could not find gem 'rspec (~> 2.10.0) ruby' in any of the gem sources listed in your Gemfile. (Bundler::GemNotFound)) (process 2074, thread #):
    from /opt/bitnami/ruby/lib/ruby/gems/1.8/gems/bundler-1.0.21/lib/bundler/resolver.rb:280:in `resolve'
    from /opt/bitnami/ruby/lib/ruby/gems/1.8/gems/bundler-1.0.21/lib/bundler/resolver.rb:160:in `start'
    from /opt/bitnami/ruby/lib/ruby/gems/1.8/gems/bundler-1.0.21/lib/bundler/resolver.rb:128:in `resolve'
    from /opt/bitnami/ruby/lib/ruby/gems/1.8/gems/bundler-1.0.21/lib/bundler/resolver.rb:127:in `catch'
    from /opt/bitnami/ruby/lib/ruby/gems/1.8/gems/bundler-1.0.21/lib/bundler/resolver.rb:127:in `resolve'
    from /opt/bitnami/ruby/lib/ruby/gems/1.8/gems/bundler-1.0.21/lib/bundler/definition.rb:151:in `resolve'
    from /opt/bitnami/ruby/lib/ruby/gems/1.8/gems/bundler-1.0.21/lib/bundler/definition.rb:90:in `specs'
    from /opt/bitnami/ruby/lib/ruby/gems/1.8/gems/bundler-1.0.21/lib/bundler/definition.rb:135:in `specs_for'
    from /opt/bitnami/ruby/lib/ruby/gems/1.8/gems/bundler-1.0.21/lib/bundler/definition.rb:124:in `requested_specs'
    from /opt/bitnami/ruby/lib/ruby/gems/1.8/gems/bundler-1.0.21/lib/bundler/environment.rb:23:in `requested_specs'
    from /opt/bitnami/ruby/lib/ruby/gems/1.8/gems/bundler-1.0.21/lib/bundler/runtime.rb:11:in `setup'
    from /opt/bitnami/ruby/lib/ruby/gems/1.8/gems/bundler-1.0.21/lib/bundler.rb:110:in `setup'
    from /opt/bitnami/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.17/lib/phusion_passenger/utils.rb:326:in `prepare_app_process'
    from /opt/bitnami/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.17/lib/phusion_passenger/classic_rails/application_spawner.rb:176:in `initialize_server'
    from /opt/bitnami/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.17/lib/phusion_passenger/utils.rb:563:in `report_app_init_status'
    from /opt/bitnami/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.17/lib/phusion_passenger/classic_rails/application_spawner.rb:174:in `initialize_server'
    from /opt/bitnami/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.17/lib/phusion_passenger/abstract_server.rb:204:in `start_synchronously'
    from /opt/bitnami/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.17/lib/phusion_passenger/abstract_server.rb:180:in `start'
    from /opt/bitnami/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.17/lib/phusion_passenger/classic_rails/application_spawner.rb:149:in `start'
    from /opt/bitnami/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.17/lib/phusion_passenger/spawn_manager.rb:219:in `spawn_rails_application'
    from /opt/bitnami/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.17/lib/phusion_passenger/abstract_server_collection.rb:132:in `lookup_or_add'
    from /opt/bitnami/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.17/lib/phusion_passenger/spawn_manager.rb:214:in `spawn_rails_application'
    from /opt/bitnami/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.17/lib/phusion_passenger/abstract_server_collection.rb:82:in `synchronize'
    from /opt/bitnami/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.17/lib/phusion_passenger/abstract_server_collection.rb:79:in `synchronize'
    from /opt/bitnami/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.17/lib/phusion_passenger/spawn_manager.rb:213:in `spawn_rails_application'
    from /opt/bitnami/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.17/lib/phusion_passenger/spawn_manager.rb:132:in `spawn_application'
    from /opt/bitnami/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.17/lib/phusion_passenger/spawn_manager.rb:275:in `handle_spawn_application'
    from /opt/bitnami/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.17/lib/phusion_passenger/abstract_server.rb:357:in `__send__'
    from /opt/bitnami/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.17/lib/phusion_passenger/abstract_server.rb:357:in `server_main_loop'
    from /opt/bitnami/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.17/lib/phusion_passenger/abstract_server.rb:206:in `start_synchronously'
    from /opt/bitnami/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.17/helper-scripts/passenger-spawn-server:99
[ pid=2130 thr=139914531530496 file=ext/apache2/Hooks.cpp:884 time=2012-12-13 12:31:57.680 ]: Unexpected error in mod_passenger: Cannot spawn application '/opt/bitnami/apache2/htdocs/../../apps/redmine/htdocs': An error occured while spawning the application.
  Backtrace:
     in 'virtual Passenger::SessionPtr Passenger::ApplicationPool::Client::get(const Passenger::PoolOptions&)' (Client.h:742)
     in 'Passenger::SessionPtr Hooks::getSession(const Passenger::PoolOptions&)' (Hooks.cpp:312)
     in 'int Hooks::handleRequest(request_rec*)' (Hooks.cpp:585)

I don't know anything about Ruby...
Any hints on how to solve this issue are appreciated.

Thanks in advance!

Im using a bitnami stack installation in a VM (redmine version 2.1.2 and according versions of Ruby and so on I suppose...)
I tried the branch redmine_2.0 from drewkeller without success. I get the error message "500 Internal Server Error" when I try to access the login page. When I remove the folder redmine_better_gantt_chart from the plugins directory and I restart redmine everything is working.

In the error.log from apache I found the following error message

[ pid=2074 thr=70214013415860 file=utils.rb:176 time=2012-12-13 12:31:57.574 ]: *** Exception PhusionPassenger::UnknownError in PhusionPassenger::ClassicRails::ApplicationSpawner (Could not find gem 'rspec (~> 2.10.0) ruby' in any of the gem sources listed in your Gemfile. (Bundler::GemNotFound)) (process 2074, thread #):
    from /opt/bitnami/ruby/lib/ruby/gems/1.8/gems/bundler-1.0.21/lib/bundler/resolver.rb:280:in `resolve'
    from /opt/bitnami/ruby/lib/ruby/gems/1.8/gems/bundler-1.0.21/lib/bundler/resolver.rb:160:in `start'
    from /opt/bitnami/ruby/lib/ruby/gems/1.8/gems/bundler-1.0.21/lib/bundler/resolver.rb:128:in `resolve'
    from /opt/bitnami/ruby/lib/ruby/gems/1.8/gems/bundler-1.0.21/lib/bundler/resolver.rb:127:in `catch'
    from /opt/bitnami/ruby/lib/ruby/gems/1.8/gems/bundler-1.0.21/lib/bundler/resolver.rb:127:in `resolve'
    from /opt/bitnami/ruby/lib/ruby/gems/1.8/gems/bundler-1.0.21/lib/bundler/definition.rb:151:in `resolve'
    from /opt/bitnami/ruby/lib/ruby/gems/1.8/gems/bundler-1.0.21/lib/bundler/definition.rb:90:in `specs'
    from /opt/bitnami/ruby/lib/ruby/gems/1.8/gems/bundler-1.0.21/lib/bundler/definition.rb:135:in `specs_for'
    from /opt/bitnami/ruby/lib/ruby/gems/1.8/gems/bundler-1.0.21/lib/bundler/definition.rb:124:in `requested_specs'
    from /opt/bitnami/ruby/lib/ruby/gems/1.8/gems/bundler-1.0.21/lib/bundler/environment.rb:23:in `requested_specs'
    from /opt/bitnami/ruby/lib/ruby/gems/1.8/gems/bundler-1.0.21/lib/bundler/runtime.rb:11:in `setup'
    from /opt/bitnami/ruby/lib/ruby/gems/1.8/gems/bundler-1.0.21/lib/bundler.rb:110:in `setup'
    from /opt/bitnami/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.17/lib/phusion_passenger/utils.rb:326:in `prepare_app_process'
    from /opt/bitnami/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.17/lib/phusion_passenger/classic_rails/application_spawner.rb:176:in `initialize_server'
    from /opt/bitnami/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.17/lib/phusion_passenger/utils.rb:563:in `report_app_init_status'
    from /opt/bitnami/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.17/lib/phusion_passenger/classic_rails/application_spawner.rb:174:in `initialize_server'
    from /opt/bitnami/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.17/lib/phusion_passenger/abstract_server.rb:204:in `start_synchronously'
    from /opt/bitnami/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.17/lib/phusion_passenger/abstract_server.rb:180:in `start'
    from /opt/bitnami/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.17/lib/phusion_passenger/classic_rails/application_spawner.rb:149:in `start'
    from /opt/bitnami/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.17/lib/phusion_passenger/spawn_manager.rb:219:in `spawn_rails_application'
    from /opt/bitnami/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.17/lib/phusion_passenger/abstract_server_collection.rb:132:in `lookup_or_add'
    from /opt/bitnami/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.17/lib/phusion_passenger/spawn_manager.rb:214:in `spawn_rails_application'
    from /opt/bitnami/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.17/lib/phusion_passenger/abstract_server_collection.rb:82:in `synchronize'
    from /opt/bitnami/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.17/lib/phusion_passenger/abstract_server_collection.rb:79:in `synchronize'
    from /opt/bitnami/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.17/lib/phusion_passenger/spawn_manager.rb:213:in `spawn_rails_application'
    from /opt/bitnami/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.17/lib/phusion_passenger/spawn_manager.rb:132:in `spawn_application'
    from /opt/bitnami/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.17/lib/phusion_passenger/spawn_manager.rb:275:in `handle_spawn_application'
    from /opt/bitnami/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.17/lib/phusion_passenger/abstract_server.rb:357:in `__send__'
    from /opt/bitnami/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.17/lib/phusion_passenger/abstract_server.rb:357:in `server_main_loop'
    from /opt/bitnami/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.17/lib/phusion_passenger/abstract_server.rb:206:in `start_synchronously'
    from /opt/bitnami/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.17/helper-scripts/passenger-spawn-server:99
[ pid=2130 thr=139914531530496 file=ext/apache2/Hooks.cpp:884 time=2012-12-13 12:31:57.680 ]: Unexpected error in mod_passenger: Cannot spawn application '/opt/bitnami/apache2/htdocs/../../apps/redmine/htdocs': An error occured while spawning the application.
  Backtrace:
     in 'virtual Passenger::SessionPtr Passenger::ApplicationPool::Client::get(const Passenger::PoolOptions&)' (Client.h:742)
     in 'Passenger::SessionPtr Hooks::getSession(const Passenger::PoolOptions&)' (Hooks.cpp:312)
     in 'int Hooks::handleRequest(request_rec*)' (Hooks.cpp:585)

I don't know anything about Ruby...
Any hints on how to solve this issue are appreciated.

Thanks in advance!

@drewkeller

This comment has been minimized.

Show comment Hide comment
@drewkeller

drewkeller Dec 13, 2012

Contributor

@andreav Thanks for the feedback!

@elektrojohn
Sounds like you need to run "bundle install" again. You need to do that whenever you install a plugin that needs extra ruby gems. CD to your redmine root directory and then run the same "bundle install" command that you used when you installed redmine (umm... maybe you didn't since you're on Bitnami?).

I'm not using Bitnami, so I don't know how correct this is (http://wiki.bitnami.org/Applications/BitNami_Redmine_Stack#How_to_install_a_plugin_on_Redmine.3f)
You might want to Google to figure out which "without" options you want here.

2. [...snip....] You should run this command from a use_redmine console:

$ cd installdir
$ ./use_redmine
$ cd apps/redmine/htdocs
$ bundle install --without postgresql test development

3. Restart Redmine application.

Frankly, I don't think the rspec gem is really needed so you could just delete that line from the plugin's gemfile. However, you'll probably get another error on the next extra gem encountered, so that's not really a fix. So bundle install is probably better.

Contributor

drewkeller commented Dec 13, 2012

@andreav Thanks for the feedback!

@elektrojohn
Sounds like you need to run "bundle install" again. You need to do that whenever you install a plugin that needs extra ruby gems. CD to your redmine root directory and then run the same "bundle install" command that you used when you installed redmine (umm... maybe you didn't since you're on Bitnami?).

I'm not using Bitnami, so I don't know how correct this is (http://wiki.bitnami.org/Applications/BitNami_Redmine_Stack#How_to_install_a_plugin_on_Redmine.3f)
You might want to Google to figure out which "without" options you want here.

2. [...snip....] You should run this command from a use_redmine console:

$ cd installdir
$ ./use_redmine
$ cd apps/redmine/htdocs
$ bundle install --without postgresql test development

3. Restart Redmine application.

Frankly, I don't think the rspec gem is really needed so you could just delete that line from the plugin's gemfile. However, you'll probably get another error on the next extra gem encountered, so that's not really a fix. So bundle install is probably better.

@kulesa

This comment has been minimized.

Show comment Hide comment
@kulesa

kulesa Dec 13, 2012

Owner

Frankly, it would be quite difficult to keep up with Redmine changes. For example, Issue#reschedule_after in 2.2 was renamed to reschedule_on, and that not to mention other related changes.

It looks like the core team is finally doing big rework of the Gantt chart, and very soon Redmine will have all features of the plugin. If the core Redmine will draw relations between issues, have correct rescheduling of related issues and support of workdays and weekends, the proper thing would be probably to abandon the plugin and contribute to the core instead.

@drewkeller, what do you think? Looking at the roadmap, Is there anything in the plugin that will still be missing in Redmine?

Owner

kulesa commented Dec 13, 2012

Frankly, it would be quite difficult to keep up with Redmine changes. For example, Issue#reschedule_after in 2.2 was renamed to reschedule_on, and that not to mention other related changes.

It looks like the core team is finally doing big rework of the Gantt chart, and very soon Redmine will have all features of the plugin. If the core Redmine will draw relations between issues, have correct rescheduling of related issues and support of workdays and weekends, the proper thing would be probably to abandon the plugin and contribute to the core instead.

@drewkeller, what do you think? Looking at the roadmap, Is there anything in the plugin that will still be missing in Redmine?

@andreav

This comment has been minimized.

Show comment Hide comment
@andreav

andreav Dec 13, 2012

In my opinion, there is still a big hole in the core:

"Group result by" feature, only present on issues page, is still missing on the gantt page.

When grouping by user, this feature would emulate the "Workload" plugin
(here:
https://github.com/dnoise/Redmine-Wordkload-Dnoise.git
or with more features here:
https://github.com/Rumega/Redmine-Workload-Dnoise.git)
Grouping by users is particularly useful when tasks are organized in sequential order (the one following the other, without holes between tasks).

At the moment, Workload plugin in not working on 2.1...i'm investigating..

andreav commented Dec 13, 2012

In my opinion, there is still a big hole in the core:

"Group result by" feature, only present on issues page, is still missing on the gantt page.

When grouping by user, this feature would emulate the "Workload" plugin
(here:
https://github.com/dnoise/Redmine-Wordkload-Dnoise.git
or with more features here:
https://github.com/Rumega/Redmine-Workload-Dnoise.git)
Grouping by users is particularly useful when tasks are organized in sequential order (the one following the other, without holes between tasks).

At the moment, Workload plugin in not working on 2.1...i'm investigating..

@drewkeller

This comment has been minimized.

Show comment Hide comment
@drewkeller

drewkeller Dec 13, 2012

Contributor

I haven't tried the 2.2 Gantt chart yet, so I'm not sure exactly what's included in it.

You can see the screenshots in my fork as a demonstration of most of the following (https://github.com/drewkeller/redmine_better_gantt_chart/tree/redmine_2.0/screenshots):

  • My fork incorporates the functionality provided by the patch in http://www.redmine.org/issues/2024, which makes the task bars draggable (very nice) and adds a column next to the description that shows the start and end date (can also edit them there, too). I don't see 2024 on the roadmap.
  • I added some logic that hides the weekends from the Gantt chart if "work on weekends" is turned off, which reduces the amount of space needed for the chart by 2/7ths. (Maybe the core does this now too?)
  • I added some improvements (IMHO) to the headings for various zoom levels to make them more user friendly:
    • At the "day" zoom, the day of the month is shown for each day (1-31, etc). So dates for things are more obvious.
    • At the "year" zoom, there is a heading for the year across the top and each month has its abbreviation (Jan, Feb, etc), instead of month number
    • At the "month" zoom and higher, month headings appear like "2012 Jan" instead of "2012-01.
  • Instead of a red line for "today" which appears to the left side or right side of whatever day is today, it is a bar which is the background color for all of the day (no guessing about which side of the line is significant) and also extends into the header
  • For items that are at 0% and 100%, don't show the percent complete. Cleaner chart.
  • One thing I thought of adding but haven't got around to is adding the right click menu that appears on the issues page to the Gantt page (perhaps the checkmarks, too). This would reduce the amount of navigate-find-click.

How well does it work to contribute things to core? Issue 2024 (with a patch) has been open for four years and has over 100 comments in it, and yet does not appear in the roadmap?

Contributor

drewkeller commented Dec 13, 2012

I haven't tried the 2.2 Gantt chart yet, so I'm not sure exactly what's included in it.

You can see the screenshots in my fork as a demonstration of most of the following (https://github.com/drewkeller/redmine_better_gantt_chart/tree/redmine_2.0/screenshots):

  • My fork incorporates the functionality provided by the patch in http://www.redmine.org/issues/2024, which makes the task bars draggable (very nice) and adds a column next to the description that shows the start and end date (can also edit them there, too). I don't see 2024 on the roadmap.
  • I added some logic that hides the weekends from the Gantt chart if "work on weekends" is turned off, which reduces the amount of space needed for the chart by 2/7ths. (Maybe the core does this now too?)
  • I added some improvements (IMHO) to the headings for various zoom levels to make them more user friendly:
    • At the "day" zoom, the day of the month is shown for each day (1-31, etc). So dates for things are more obvious.
    • At the "year" zoom, there is a heading for the year across the top and each month has its abbreviation (Jan, Feb, etc), instead of month number
    • At the "month" zoom and higher, month headings appear like "2012 Jan" instead of "2012-01.
  • Instead of a red line for "today" which appears to the left side or right side of whatever day is today, it is a bar which is the background color for all of the day (no guessing about which side of the line is significant) and also extends into the header
  • For items that are at 0% and 100%, don't show the percent complete. Cleaner chart.
  • One thing I thought of adding but haven't got around to is adding the right click menu that appears on the issues page to the Gantt page (perhaps the checkmarks, too). This would reduce the amount of navigate-find-click.

How well does it work to contribute things to core? Issue 2024 (with a patch) has been open for four years and has over 100 comments in it, and yet does not appear in the roadmap?

@kulesa

This comment has been minimized.

Show comment Hide comment
@kulesa

kulesa Dec 14, 2012

Owner

Well, that's quite a list. I have no experience contributing to Redmine, but I have the same impression that some patches don't get merged for years just because of either lack of interest from the core team members, or because of low quality of code of the patches, or because of the complexity of the proposed changes. I can understand why they would be hesitant to merge #2024: existing code of Gantt chart is a mess, and adding new major feature would just increase complexisty and make it harder to maintain. But still I think contributing to core is the right thing to do.

As for the question, to abandon the plugin or not, here is a comparision of major features of the plugin with core Redmine:

  • connection arrows on the chart - will be implemented in core Redmine soon, #3436.
  • support of work days and weekends, - implemented in 2.2.
  • sorting of issues on the Gantt chart, - don't know, needs to be tested.
  • rescheduling of related tasks - it looks it gets fixed now, but I am not sure they have covered all use cases that are implemented in the plugin, like rescheduling of child issues with their parents. This needs to be tested. Another question is did they fix speed of rescheduling of related issues. The plugin disables ActiveRecord callbacks and uses its own algorythm to reschedule related issues, while Redmine (at least old versions) relied on ActiveRecord callbacks, which made rescheduling non-functional on big number of related issues, because of stack overflow errors.

So far it looks like 50/50, and I need to take a closer look at the roadmap and the recent changes in core Redmine.

Owner

kulesa commented Dec 14, 2012

Well, that's quite a list. I have no experience contributing to Redmine, but I have the same impression that some patches don't get merged for years just because of either lack of interest from the core team members, or because of low quality of code of the patches, or because of the complexity of the proposed changes. I can understand why they would be hesitant to merge #2024: existing code of Gantt chart is a mess, and adding new major feature would just increase complexisty and make it harder to maintain. But still I think contributing to core is the right thing to do.

As for the question, to abandon the plugin or not, here is a comparision of major features of the plugin with core Redmine:

  • connection arrows on the chart - will be implemented in core Redmine soon, #3436.
  • support of work days and weekends, - implemented in 2.2.
  • sorting of issues on the Gantt chart, - don't know, needs to be tested.
  • rescheduling of related tasks - it looks it gets fixed now, but I am not sure they have covered all use cases that are implemented in the plugin, like rescheduling of child issues with their parents. This needs to be tested. Another question is did they fix speed of rescheduling of related issues. The plugin disables ActiveRecord callbacks and uses its own algorythm to reschedule related issues, while Redmine (at least old versions) relied on ActiveRecord callbacks, which made rescheduling non-functional on big number of related issues, because of stack overflow errors.

So far it looks like 50/50, and I need to take a closer look at the roadmap and the recent changes in core Redmine.

@andreav

This comment has been minimized.

Show comment Hide comment
@andreav

andreav Dec 17, 2012

Sorry @kulesa if i write this here, but I have no way to reach @drewkeller.

When I create two issues, and then set the second issue following the first one, the due date of the second issue is cropped (sliced) at Friday.

For instance:
issue A: 4 days starting from Monday
issue B: 4 days starting from Monday
issueB follows issueA

revaluated issueB due date stops on Friday.

I cannot find where Redmine (or the plugin) re-evaluates this date.

Please, help!

andreav commented Dec 17, 2012

Sorry @kulesa if i write this here, but I have no way to reach @drewkeller.

When I create two issues, and then set the second issue following the first one, the due date of the second issue is cropped (sliced) at Friday.

For instance:
issue A: 4 days starting from Monday
issue B: 4 days starting from Monday
issueB follows issueA

revaluated issueB due date stops on Friday.

I cannot find where Redmine (or the plugin) re-evaluates this date.

Please, help!

@drewkeller

This comment has been minimized.

Show comment Hide comment
@drewkeller

drewkeller Dec 17, 2012

Contributor

@andreav Did you get the plugin to work on redmine 2.2? Kulesa probably know better than me, but I will try to answer.... The plugin doesn't really do any reevaluation of dates when an issue is being saved, except for the case mentioned by kulesa in his 12/14 post. As for display in the html Gantt chart, I wrote a function called work_days_in() or somesuch where it gets the number of workdays between two dates. The original Calendar module has some code that I think does something similar (probably in a more ruby-ish way).

Contributor

drewkeller commented Dec 17, 2012

@andreav Did you get the plugin to work on redmine 2.2? Kulesa probably know better than me, but I will try to answer.... The plugin doesn't really do any reevaluation of dates when an issue is being saved, except for the case mentioned by kulesa in his 12/14 post. As for display in the html Gantt chart, I wrote a function called work_days_in() or somesuch where it gets the number of workdays between two dates. The original Calendar module has some code that I think does something similar (probably in a more ruby-ish way).

@kulesa

This comment has been minimized.

Show comment Hide comment
@kulesa

kulesa Dec 18, 2012

Owner

Well, actually the plugin should have rescheduled issueB to start on Friday, but this doesn't work on Redmine versions >= 2.0. And I don't know if it worth fixing, because it looks they are fixing rescheduling in core Redmine 2.2.

Owner

kulesa commented Dec 18, 2012

Well, actually the plugin should have rescheduled issueB to start on Friday, but this doesn't work on Redmine versions >= 2.0. And I don't know if it worth fixing, because it looks they are fixing rescheduling in core Redmine 2.2.

@andreav

This comment has been minimized.

Show comment Hide comment
@andreav

andreav Dec 18, 2012

@kulesa you are right, there is a fix in 2.2 but i think this is not the case.
If I try the same test from comment 19 on redmine 2.1 (without installing better gantt chart plugin), it seems to work (days are shifted forward, and issue duration is not changed).

However, I agree with you, this is a turbulent moment for gantt, dates and so on for redmine..it worths to wait until a more stable scenario before introducing fixes/patches..

I will try to port it on redmine 2.2 just as an exercise, but I don't know nothing about ruby and rails..so do not rely on me! ;)

Thank you both!

andreav commented Dec 18, 2012

@kulesa you are right, there is a fix in 2.2 but i think this is not the case.
If I try the same test from comment 19 on redmine 2.1 (without installing better gantt chart plugin), it seems to work (days are shifted forward, and issue duration is not changed).

However, I agree with you, this is a turbulent moment for gantt, dates and so on for redmine..it worths to wait until a more stable scenario before introducing fixes/patches..

I will try to port it on redmine 2.2 just as an exercise, but I don't know nothing about ruby and rails..so do not rely on me! ;)

Thank you both!

@smulrich

This comment has been minimized.

Show comment Hide comment
@smulrich

smulrich Feb 9, 2013

I'm very interested in this discussion and am hoping things have not stalled. Has anyone had luck with porting to 2.2? I installed 2.2 and was hoping for better gantt functionality. Issue sorting and scheduling of sub tasks is improved but I still find it lacking. I am primarily looking for click and drag of task bars (issue 2024). Having to go in and manually edit and change due dates of each individual task is incredibly time consuming. Has anyone had success with 2.2?

smulrich commented Feb 9, 2013

I'm very interested in this discussion and am hoping things have not stalled. Has anyone had luck with porting to 2.2? I installed 2.2 and was hoping for better gantt functionality. Issue sorting and scheduling of sub tasks is improved but I still find it lacking. I am primarily looking for click and drag of task bars (issue 2024). Having to go in and manually edit and change due dates of each individual task is incredibly time consuming. Has anyone had success with 2.2?

@smulrich

This comment has been minimized.

Show comment Hide comment
@smulrich

smulrich Feb 9, 2013

So, shockingly, I got this to run on redmine 2.2.2 using drewkeller's fork:
https://github.com/drewkeller/redmine_better_gantt_chart/tree/redmine_2.0

I haven't contributed to other peoples projects in github so I'm not sure how to push this. Here is what I did:

  1. Cloned the redmine_2.0 branch in my plugins directory.
  2. Created my own branch for experimentation
  3. Deleted GemFile and GemFile.lock.
  4. Renamed "reschedule_after" to "reschedule_on" and "reschedule_after_with_earlier_date" to "reschedule_on_with_earlier_date" in lib/redmine_better_gantt_chart/issue_dependency_patch.rb
    5: ran 'bundle exec rake redmine:plugins:migrate RAILS_ENV=production' from my redmine directory.
  5. Restart Redmine

This is completely untested but does load successfully. Good luck!

smulrich commented Feb 9, 2013

So, shockingly, I got this to run on redmine 2.2.2 using drewkeller's fork:
https://github.com/drewkeller/redmine_better_gantt_chart/tree/redmine_2.0

I haven't contributed to other peoples projects in github so I'm not sure how to push this. Here is what I did:

  1. Cloned the redmine_2.0 branch in my plugins directory.
  2. Created my own branch for experimentation
  3. Deleted GemFile and GemFile.lock.
  4. Renamed "reschedule_after" to "reschedule_on" and "reschedule_after_with_earlier_date" to "reschedule_on_with_earlier_date" in lib/redmine_better_gantt_chart/issue_dependency_patch.rb
    5: ran 'bundle exec rake redmine:plugins:migrate RAILS_ENV=production' from my redmine directory.
  5. Restart Redmine

This is completely untested but does load successfully. Good luck!

@vinceve

This comment has been minimized.

Show comment Hide comment
@vinceve

vinceve May 8, 2013

@smulrich tried this, on first sight this looks ok. However when I try to "drag" some issues around I get "Completed 400 Bad Request"

Started POST "/gantts/edit_gantt/i1" for 127.0.0.1 at 2013-05-08 11:07:23 +0200
Processing by GanttsController#edit_gantt as TEXT
  Parameters: {"day"=>"16", "date_from"=>"2013-05-01", "date_to"=>"2013-10-31", "zoom"=>"2", "project_id"=>"test", "id"=>"i1"}
  ←[1m←[35m (1.0ms)←[0m  SELECT MAX("settings"."updated_on") AS max_id FROM "settings"
  ←[1m←[36mUser Load (0.0ms)←[0m  ←[1mSELECT "users".* FROM "users" WHERE "users"."type" IN ('User', 'AnonymousUser') AND "users"."id" = ? AND (users.status = 1) LIMIT 1←[0m  [["id", 1]]
  Current user: admin (id=1)
  ←[1m←[35mProject Load (1.0ms)←[0m  SELECT "projects".* FROM "projects" WHERE "projects"."identifier" = 'test' LIMIT 1
  ←[1m←[36mEnabledModule Load (0.0ms)←[0m  ←[1mSELECT name FROM "enabled_modules" WHERE "enabled_modules"."project_id" = 1←[0m
  ←[1m←[35mUserPreference Load (0.0ms)←[0m  SELECT "user_preferences".* FROM "user_preferences" WHERE "user_preferences"."user_id" = 1 LIMIT 1
  ←[1m←[36mIssue Load (1.0ms)←[0m  ←[1mSELECT "issues".* FROM "issues" WHERE "issues"."id" = ? LIMIT 1←[0m  [["id", "1"]]
  ←[1m←[35mProject Load (0.0ms)←[0m  SELECT "projects".* FROM "projects" WHERE "projects"."id" IN (1)
  ←[1m←[36mTracker Load (0.0ms)←[0m  ←[1mSELECT "trackers".* FROM "trackers" WHERE "trackers"."id" IN (1)←[0m
  ←[1m←[35mIssueStatus Load (0.0ms)←[0m  SELECT "issue_statuses".* FROM "issue_statuses" WHERE "issue_statuses"."id" IN (1)
  ←[1m←[36mUser Load (0.0ms)←[0m  ←[1mSELECT "users".* FROM "users" WHERE "users"."type" IN ('User', 'AnonymousUser') AND "users"."id" IN (1)←[0m
  ←[1m←[35mIssuePriority Load (0.0ms)←[0m  SELECT "enumerations".* FROM "enumerations" WHERE "enumerations"."type" IN ('IssuePriority') AND "enumerations"."id" IN (2) ORDER BY enumerations.position ASC
  Rendered text template (0.0ms)
Completed 400 Bad Request in 17ms (Views: 0.0ms | ActiveRecord: 3.0ms)

Edit: after testing it some more and installing more plugins (burndown chart) I get this error:

ActionView::Template::Error (undefined method `gantt_calendar_for' for #<#<Class:0x68c1db0>:0x63094f8>):
    73:
    74:   # Width of the entire chart
    75:   g_width = ((@gantt.work_days_in(@gantt.date_to, @gantt.date_from) + 1) * zoom).to_i
    76:   @gantt.render(:top => headers_height + 8,
    77:                 :zoom => zoom,
    78:                 :g_width => g_width,
    79:                 :subject_width => subject_width)
  app/models/project.rb:723:in `block in project_tree'
  app/models/project.rb:719:in `each'
  app/models/project.rb:719:in `project_tree'

vinceve commented May 8, 2013

@smulrich tried this, on first sight this looks ok. However when I try to "drag" some issues around I get "Completed 400 Bad Request"

Started POST "/gantts/edit_gantt/i1" for 127.0.0.1 at 2013-05-08 11:07:23 +0200
Processing by GanttsController#edit_gantt as TEXT
  Parameters: {"day"=>"16", "date_from"=>"2013-05-01", "date_to"=>"2013-10-31", "zoom"=>"2", "project_id"=>"test", "id"=>"i1"}
  ←[1m←[35m (1.0ms)←[0m  SELECT MAX("settings"."updated_on") AS max_id FROM "settings"
  ←[1m←[36mUser Load (0.0ms)←[0m  ←[1mSELECT "users".* FROM "users" WHERE "users"."type" IN ('User', 'AnonymousUser') AND "users"."id" = ? AND (users.status = 1) LIMIT 1←[0m  [["id", 1]]
  Current user: admin (id=1)
  ←[1m←[35mProject Load (1.0ms)←[0m  SELECT "projects".* FROM "projects" WHERE "projects"."identifier" = 'test' LIMIT 1
  ←[1m←[36mEnabledModule Load (0.0ms)←[0m  ←[1mSELECT name FROM "enabled_modules" WHERE "enabled_modules"."project_id" = 1←[0m
  ←[1m←[35mUserPreference Load (0.0ms)←[0m  SELECT "user_preferences".* FROM "user_preferences" WHERE "user_preferences"."user_id" = 1 LIMIT 1
  ←[1m←[36mIssue Load (1.0ms)←[0m  ←[1mSELECT "issues".* FROM "issues" WHERE "issues"."id" = ? LIMIT 1←[0m  [["id", "1"]]
  ←[1m←[35mProject Load (0.0ms)←[0m  SELECT "projects".* FROM "projects" WHERE "projects"."id" IN (1)
  ←[1m←[36mTracker Load (0.0ms)←[0m  ←[1mSELECT "trackers".* FROM "trackers" WHERE "trackers"."id" IN (1)←[0m
  ←[1m←[35mIssueStatus Load (0.0ms)←[0m  SELECT "issue_statuses".* FROM "issue_statuses" WHERE "issue_statuses"."id" IN (1)
  ←[1m←[36mUser Load (0.0ms)←[0m  ←[1mSELECT "users".* FROM "users" WHERE "users"."type" IN ('User', 'AnonymousUser') AND "users"."id" IN (1)←[0m
  ←[1m←[35mIssuePriority Load (0.0ms)←[0m  SELECT "enumerations".* FROM "enumerations" WHERE "enumerations"."type" IN ('IssuePriority') AND "enumerations"."id" IN (2) ORDER BY enumerations.position ASC
  Rendered text template (0.0ms)
Completed 400 Bad Request in 17ms (Views: 0.0ms | ActiveRecord: 3.0ms)

Edit: after testing it some more and installing more plugins (burndown chart) I get this error:

ActionView::Template::Error (undefined method `gantt_calendar_for' for #<#<Class:0x68c1db0>:0x63094f8>):
    73:
    74:   # Width of the entire chart
    75:   g_width = ((@gantt.work_days_in(@gantt.date_to, @gantt.date_from) + 1) * zoom).to_i
    76:   @gantt.render(:top => headers_height + 8,
    77:                 :zoom => zoom,
    78:                 :g_width => g_width,
    79:                 :subject_width => subject_width)
  app/models/project.rb:723:in `block in project_tree'
  app/models/project.rb:719:in `each'
  app/models/project.rb:719:in `project_tree'

@kulesa kulesa closed this Aug 16, 2013

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment